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/.