Referência dos principais hooks que alteram o envio do checkout e a apresentação dos meios de pagamento.
Hooks podem mudar o payload enviado ao gateway ou o comportamento do pedido. Teste o checkout e o pagamento em staging antes de aplicar em produção.
Meios de pagamento
wc_smart_checkout_gateway_icon
Altera o ícone de um gateway.
add_filter( 'wc_smart_checkout_gateway_icon', function( $icon, $gateway ) {
if ( 'interpix' === $gateway->id ) {
return '<span class="gateway-badge">Imediato!</span>';
}
return $icon;
}, 100, 2 );
wc_smart_checkout_payment_methods_list
Altera a lista de gateways exibida pelo checkout.
add_filter( 'wc_smart_checkout_payment_methods_list', function( $methods ) {
return $methods;
} );
wc_smart_checkout_credit_card_icon_keys
Altera as bandeiras exibidas na identificação de pagamento com cartão.
add_filter( 'wc_smart_checkout_credit_card_icon_keys', function( $keys ) {
$keys[] = 'elo';
return $keys;
} );
wc_smart_checkout_payment_discounts_apply_discount
Decide se o desconto configurado para o gateway deve ser aplicado ao carrinho.
add_filter( 'wc_smart_checkout_payment_discounts_apply_discount', function( $should_apply, $cart ) {
return $should_apply;
}, 10, 2 );
wc_smart_checkout_gateway_discounts_settings
Altera o array de configurações usado pelos descontos por gateway.
add_filter( 'wc_smart_checkout_gateway_discounts_settings', function( $settings, $section_id ) {
return $settings;
}, 10, 2 );
Processamento do checkout
wc_smart_checkout_checkout_result
Altera o resultado depois que o WooCommerce processa o checkout e antes de o JSON voltar ao navegador.
add_filter( 'wc_smart_checkout_checkout_result', function( $result ) {
return $result;
} );
wc_smart_checkout_default_logged_in_step
Define a etapa inicial para clientes autenticados. O padrão é shipping_address.
add_filter( 'wc_smart_checkout_default_logged_in_step', function() {
return 'payment';
} );
wc_smart_checkout_cart_total
Altera o total de referência usado pelo sistema de descontos por meio de pagamento.
add_filter( 'wc_smart_checkout_cart_total', function( $total, $cart ) {
return $total;
}, 10, 2 );
wc_smart_checkout_allow_item_quantity_change
Decide se a quantidade de um item pode ser alterada no checkout.
add_filter( 'wc_smart_checkout_allow_item_quantity_change', function( $allow, $cart_item ) {
return $allow;
}, 10, 2 );
wc_smart_checkout_quantity_input_min
Define a quantidade mínima. Retorne 0 para permitir a remoção do item.
add_filter( 'wc_smart_checkout_quantity_input_min', '__return_zero' );
Labels e páginas de pagamento
wc_smart_checkout_label_overlay
Decide se os campos usam labels sobrepostas.
add_filter( 'wc_smart_checkout_label_overlay', function( $enabled ) {
return $enabled;
} );
wc_smart_checkout_order_details_bank_slip_page
Exibe itens, total e endereço na página de boleto. O padrão é false.
add_filter( 'wc_smart_checkout_order_details_bank_slip_page', '__return_true' );
O filtro também recebe o objeto WC_Order como segundo parâmetro.
Order Bump
wc_smart_checkout_disable_order_bump_for_pay_page
Controla o Order Bump na página pública de pagar pedido. O padrão é true, portanto o recurso fica oculto nessa página.
add_filter( 'wc_smart_checkout_disable_order_bump_for_pay_page', '__return_false' );
wc_smart_checkout_customize_order_bump_fields e _sections
Permitem adicionar campos e seções ao painel de configuração do Order Bump.
add_filter( 'wc_smart_checkout_customize_order_bump_sections', function( $sections ) {
$sections['minha_secao'] = array(
'title' => 'Minha seção',
'priority' => 50,
);
return $sections;
} );
Veja também Snippets úteis para exemplos completos e casos de diagnóstico.