Skip to content

Integração Banco Inter

O MIDDAG Account integra-se ao Banco Inter para suportar métodos de pagamento brasileiros: Pix (transferência instantânea) e Boleto (boleto bancário). A integração funciona através de um plugin complementar de gateway WooCommerce (woocommerce-banco-inter) que lida com a API bancária. O MIDDAG Account adiciona camadas de dados B2B sem modificar o plugin de gateway.

Arquitetura

O plugin de gateway (woocommerce-banco-inter) é um plugin WooCommerce independente que funciona em qualquer loja B2C. O MIDDAG Account conecta-se a ele via filtros e ações do WordPress para injetar dados da organização B2B e reagir a eventos de pagamento.

Configuração

A configuração é gerenciada inteiramente no plugin de gateway woocommerce-banco-inter:

VariávelDescrição
BANCO_INTER_CLIENT_IDID do cliente OAuth2
BANCO_INTER_CLIENT_SECRETSegredo do cliente OAuth2
BANCO_INTER_CERT_PATHCaminho para o arquivo .crt do certificado
BANCO_INTER_KEY_PATHCaminho para o arquivo .key da chave privada
BANCO_INTER_PIX_KEYChave Pix (CNPJ, e-mail, etc.)
BANCO_INTER_WEBHOOK_SECRETSegredo HMAC para válidação de webhook
BANCO_INTER_ENVIRONMENTsandbox ou production

O MIDDAG Account não gerencia essas credenciais. Elas pertencem ao plugin de gateway.

Fluxo de pagamento

Override B2B

Quando um pedido está vinculado a uma organização, o MIDDAG Account sobrescreve os dados do pagador com as informações jurídicas da organização:

  1. O pedido possui um meta _organization? Se não, o fluxo padrão B2C se aplica.
  2. A organização possui CNPJ (org_documentnumber1)? Se não, os dados de faturamento da pessoa física são utilizados.
  3. Se sim, a razão social, CNPJ e endereço da organização substituem os campos de faturamento individual.

Isso se aplica tanto a requisições de Boleto (13 campos) quanto de Pix (8 campos) enviadas à API do Banco Inter.

Pix

  • Tipo de pagamento: transferência instantânea via QR code.
  • Expiração: 30 minutos (configurável).
  • Campo devedor utiliza devedor.cnpj (14 dígitos) para organizações, devedor.cpf (11 dígitos) para pessoas físicas.

Boleto

  • Tipo de pagamento: boleto bancário com código de barras.
  • Expiração: data de vencimento da fatura + 3 dias.
  • Cancelamento automático: 5 dias após a data de vencimento.
  • Tipo do pagador definido como JURIDICA quando CNPJ está presente.

Webhooks

O plugin de gateway recebe webhooks do Banco Inter em:

POST /wc-api/banco-inter-webhook
Header: x-inter-webhook-signature: {HMAC-SHA256}

A assinatura do webhook é validada usando HMAC-SHA256. Assinaturas inválidas são rejeitadas.

Quando o pagamento é confirmado, o gateway dispara a ação woocommerce_payment_complete. O MIDDAG Account conecta-se a essa ação para:

  1. Atualizar o status da cotação vinculada para paid.
  2. Acionar o provisionamento de entitlement (criação automática de recursos derivados).
  3. Sincronizar o negócio no HubSpot como closed-won.

Reconciliação

Um cron job trata webhooks perdidos:

FrequênciaAção
A cada 30 minVerificar pedidos em espera há mais de 2 horas (Pix pode ter expirado)
DiárioVerificar boletos pendentes vencidos
DiárioVerificar se pedidos completos possuem cotações pagas correspondentes

Para cada pedido pendente encontrado, o plugin consulta o gateway (que consulta a API do Banco Inter) para obter o status atual e então aciona a ação apropriada: marcar como pago, cancelar ou continuar aguardando.

Cenários de expiração

CenárioAção do gatewayAção do plugin
Pix expirado (30 min)Status do pedido: failedCotação permanece como payment_pending
Pix pagoStatus do pedido: completedCotação definida como paid, sincronizado com HubSpot
Boleto vencido (D+3)Nenhuma ação (aguardando)Nenhuma ação
Boleto cancelado (D+5)Status do pedido: cancelledCotação definida como expired via cron
Boleto pagoStatus do pedido: completedCotação definida como paid, sincronizado com HubSpot