FernandoAcosta.Net

Referência de hooks

2 min de leituraAtualizado há 14 horas1.0.0

Filtros, funções e templates da versão 1.0.0. Todos os filtros com $order recebem null no checkout, quando o pedido ainda não existe; use wc_mercado_pago_get_order_product_ids( $order ) pra saber os produtos.

Onde colocar o código

No functions.php do tema filho ou num plugin de snippets, como o Code Snippets.

Parcelamento

Filtro Parâmetros Retorno
wc_mercado_pago_max_installments $max, $total, $order, $gateway Máximo de parcelas (1 a 24)
wc_mercado_pago_installments_settings $settings, $total, $order, $gateway Array com max_installments, free_installments, interest_rate, interest_type (price ou simple) e smallest_installment
wc_mercado_pago_custom_installments [], $total, $order, $gateway [ parcelas => valor da parcela ]. Substitui as opções calculadas
wc_mercado_pago_installments $installments, $total, $order, $gateway Lista final. Remover uma chave tira a opção; a mesma lista valida o pagamento no servidor
wc_mercado_pago_default_installments 1, $installments, $total, $order, $gateway Parcela já selecionada. Se não existir na lista, vale a primeira
wc_mercado_pago_cash_discount_percent $percent, $order, $gateway, $total % de desconto no 1x (0 a 99)

Regras que valem pra qualquer lista: opção parcelada com total menor que o pedido é descartada; no 1x, a diferença vira desconto à vista.

Exemplo: parcelas fixas pra um produto

add_filter( 'wc_mercado_pago_custom_installments', function ( $custom, $total, $order ) {
  if ( in_array( 123, wc_mercado_pago_get_order_product_ids( $order ), true ) ) {
    return [ 1 => 1499, 12 => 149 ];
  }

  return $custom;
}, 10, 3 );

3DS

Filtro Parâmetros Retorno
wc_mercado_pago_3ds_required $required, $order, $gateway, $total true pra usar 3DS neste pedido. Padrão: 3DS ligado e total maior ou igual ao Valor mínimo para 3DS
wc_mercado_pago_3ds_mode $mode, $order, $gateway optional (o banco decide) ou mandatory (obrigatória)

Pagamento e pedido

Filtro Parâmetros Retorno
wc_mercado_pago_payment_data $data, $order, $gateway Corpo enviado em POST /v1/orders
wc_mercado_pago_order_document $number, $order CPF ou CNPJ só com números. Padrão: metas _billing_cpf e _billing_cnpj
wc_mercado_pago_payment_summary $summary, $order, $mp_order Resumo do pagamento mostrado ao cliente
wc_mercado_pago_show_payment_summary true, $order, $gateway false esconde o resumo na página de pedido recebido

Visual

Filtro Parâmetros Retorno
wc_mercado_pago_enqueue_styles true, $name false não carrega o CSS credit-card ou payment-summary
wc_mercado_pago_credit_card_script_params $params Parâmetros e mensagens do JavaScript do cartão

Tudo o que o plugin desenha usa prefixo próprio: classes wc-mp-card-* e wc-mp-summary-*, atributos data-wc-mp-*, ids wc-mp-* e variáveis CSS --wc-mp-card-*.

Funções

  • wc_mercado_pago_get_payment_summary( $order ) — status e dados do cartão, Pix ou boleto do pedido.
  • wc_mercado_pago_get_order_product_ids( $order = null ) — IDs dos produtos do pedido ou, no checkout, do carrinho.

Templates

Ficam em templates/checkout/ (credit-card.php, pix.php, boleto.php, payment-summary.php). Pra alterar, copie pra seu-tema/woocommerce/wc-mercado-pago/checkout/.

Foi útil?