FernandoAcosta.Netdocs

Adicionar suporte a outro gateway

2 min de leituraAtualizado há 5 dias

O plugin reconhece automaticamente mais de 25 gateways de pagamento brasileiros. Se o seu não está na lista, esse artigo mostra como mapear pra um dos códigos Ebit.

Os códigos do Ebit

Quatro tipos:

  • 05 — Cartão de Crédito
  • 08 — Boleto
  • 90 — Pix
  • 14 — Outros (fallback automático pros gateways não reconhecidos)

Veja métodos de pagamento detectados pra lista completa dos gateways nativos.

Identificar o slug do gateway

Cada gateway WooCommerce tem um slug interno. Pra descobrir o do seu:

  1. Faça um pedido de teste pagando com o gateway que você quer mapear.
  2. Vá em WooCommerce → Pedidos e abra o pedido.
  3. Veja o campo "Forma de pagamento" — o slug aparece em modo de edição (ex: meu-gateway-pix).

Alternativa via PHP: liste todos os ativos com WC()->payment_gateways->get_available_payment_gateways().

Mapear um gateway novo

Coloque o snippet no functions.php do tema-filho ou num plugin de snippets:

add_filter( 'wc_ebit_payment_type', function( $type, $order ) {
    $gateway = $order->get_payment_method();

    $mapa = array(
        'meu-gateway-pix'    => '90',
        'meu-gateway-boleto' => '08',
        'meu-gateway-cartao' => '05',
    );

    return $mapa[ $gateway ] ?? $type;
}, 10, 2 );

Caso especial: gateway com tipos múltiplos

Alguns gateways aceitam vários métodos no mesmo slug (PagSeguro faz isso, por exemplo). O tipo real fica num meta do pedido.

Modelo:

add_filter( 'wc_ebit_payment_type', function( $type, $order ) {
    if ( 'meu-gateway-multi' !== $order->get_payment_method() ) {
        return $type;
    }

    $tipo_real = $order->get_meta( '_meu_gateway_tipo' );

    switch ( $tipo_real ) {
        case 'pix':
            return '90';
        case 'boleto':
            return '08';
        case 'credit_card':
            return '05';
        default:
            return '14';
    }
}, 10, 2 );

Mapear bandeira do cartão

Pra cartão de crédito, o Ebit também aceita o código da bandeira (cardFlag). O padrão do plugin é 7 (Outros). Se seu gateway preenche um meta com a bandeira:

add_filter( 'wc_ebit_card_flag', function( $flag, $order ) {
    $bandeira = strtolower( (string) $order->get_meta( '_card_brand' ) );

    $codigos = array(
        'visa'        => 1,
        'mastercard'  => 2,
        'amex'        => 3,
        'diners'      => 4,
        'elo'         => 5,
        'hipercard'   => 6,
        // demais conforme tabela do Ebit
    );

    return $codigos[ $bandeira ] ?? $flag;
}, 10, 2 );
Confirme os códigos com o Ebit

A tabela exata de bandeiras é definida pelo Ebit. Confirme no painel ou na documentação técnica deles antes de subir pra produção. Códigos errados podem invalidar a pesquisa.

Validar o mapeamento

Depois de implementar:

  1. Faça um pedido de teste com o gateway mapeado.
  2. Abra a página de obrigado e inspecione o <param id="ebitParam"> pelo DevTools.
  3. Confirme que paymentType= traz o código esperado (05, 08 ou 90).

Se ainda cair em 14, o filtro não está sendo executado — confirme que o snippet foi salvo e que o slug do gateway bate com o que $order->get_payment_method() retorna.

Próximos passos

Foi útil?