Rishidocs

Hooks de checkout e pagamento

2 min de leituraAtualizado há 1 hora

Referência dos principais hooks que alteram o envio do checkout e a apresentação dos meios de pagamento.

Teste antes de usar

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.

Foi útil?