Novus Pagamentos
  1. INVOICES
Novus Pagamentos
  • INVOICES
    • Webhooks - PIX-IN
    • Criação de Invoices
      POST
    • Buscar Invoices
      GET
  1. INVOICES

Webhooks - PIX-IN

🔄 Webhooks de Recebimento PIX (PIX-IN)#

Receba atualizações em tempo real sobre o status dos recebimentos PIX por meio de notificações de webhook.

🧭 Visão Geral#

Os webhooks permitem que sua aplicação receba notificações automáticas sempre que o status de um recebimento PIX for atualizado em nosso sistema. Em vez de consultar constantemente a API em busca de atualizações, os webhooks enviam os dados do pagamento diretamente para sua aplicação assim que o evento acontece.

🚀 Configurando Webhooks#

1.
O webhook é enviado através do campo postback_url fornecido na rota de Criação de Invoice/Cobrança.
2.
Você deve configurar um endpoint (URL) em seu servidor que esteja publicamente acessível para receber as requisições POST.

📬 Estrutura do Payload#

Quando o status de um recebimento PIX é alterado, nosso sistema envia uma requisição POST para a URL configurada, contendo um payload em formato JSON.
Os payloads variam de acordo com o status do pagamento:

⏳ Pagamento Pendente#

{
  "amount": 1000,
  "end_to_end_id": null,
  "external_id": null,
  "id": "156d9af1-6d30-4b18-8d6c-286b9c7535d6",
  "method": "pix",
  "payee": {
    "bank": {
      "account": "12345678",
      "agency": "1234",
      "digit": "9",
      "name": "Banco do Brasil",
      "type": "Conta Corrente"
    },
    "document": "12.345.678/0001-95",
    "name": "Empresa do Henrique",
    "pix_key": "hrbeiro10@gmail.com"
  },
  "payer": null,
  "status": "pending",
  "total": 1000
}

✅ Pagamento Confirmado/Pago#

{
  "id": "156d9af1-6d30-4b18-8d6c-286b9c7535d6",
  "status": "paid",
  "amount": 1000,
  "total": 1000,
  "method": "pix",
  "end_to_end_id": "E31872495202511071424mEbiri30MfF",
  "payer": {
    "cpf": "57546964000157",
    "document": "57546964000157",
    "end_to_end_id": "E31872495202511071424mEbiri30MfF",
    "is_real_payer": true,
    "name": "CARTHERO BRASIL INSTITUICAO DE PAGAMENTO LTDA"
  },
  "payee": {
    "bank": {
      "account": "12345678",
      "agency": "1234",
      "digit": "9",
      "name": "Banco do Brasil",
      "type": "Conta Corrente"
    },
    "document": "12.345.678/0001-95",
    "name": "Empresa do Henrique",
    "pix_key": "hrbeiro10@gmail.com"
  }
}

📋 Descrição dos Campos#

CampoTipoDescrição
idstringIdentificador único do pagamento (gerado pela API).
statusstringStatus atual da transação (ex: "pending", "paid").
amountintegerValor total da transação em centavos (ex: 1000 = R$ 10,00).
totalintegerValor total final da transação (pode coincidir com amount).
methodstringMétodo de pagamento utilizado (ex: "pix").
end_to_end_idstringIdentificador End-to-End da transação PIX (disponível após pagamento).
external_idstringIdentificador único da transação no seu sistema (enviado na requisição).
payerobjectObjeto contendo os dados do pagador (disponível após pagamento).
payer.cpfstringCPF do pagador.
payer.documentstringDocumento (CNPJ/CPF) do pagador.
payer.end_to_end_idstringEnd-to-End ID da transação.
payer.is_real_payerbooleanIndica se é o pagador real da transação.
payer.namestringNome do pagador.
payeeobjectObjeto contendo os dados do recebedor (favorecido).
payee.bankobjectDados bancários do recebedor.
payee.bank.accountstringNúmero da conta bancária do recebedor.
payee.bank.agencystringNúmero da agência bancária do recebedor.
payee.bank.digitstringDígito verificador da conta do recebedor.
payee.bank.namestringNome do banco do recebedor.
payee.bank.typestringTipo da conta bancária (ex: "Conta Corrente" ou "Conta Poupança").
payee.documentstringDocumento (CNPJ/CPF) do recebedor.
payee.namestringNome do recebedor.
payee.pix_keystringChave PIX do recebedor.

🔁 Respondendo a Webhooks#

Seu endpoint de webhook deve retornar um código HTTP 2xx (ex: 200, 202, 204) para confirmar o recebimento da notificação.
Se nosso sistema não receber uma resposta 2xx, ele tentará reenviar o webhook até 10 vezes, com intervalos crescentes entre as tentativas (exponential backoff).

🧪 Testando Webhooks (Em Desenvolvimento)#

Você pode testar sua implementação de webhooks usando o simulador de webhooks disponível no painel do desenvolvedor. Ele permite enviar payloads de teste para o seu endpoint sem precisar acionar eventos reais.

⚠️ Recomendações de Segurança#

1.
Verifique a autenticidade do webhook utilizando a assinatura (ex: X-Signature) enviada nos cabeçalhos da requisição.
2.
Implemente tratamento de erros adequado para as requisições recebidas.
3.
Use sempre HTTPS no endpoint do webhook.
4.
Configure monitoramento para acompanhar as entregas e falhas dos webhooks.

📅 Eventos e Status de Recebimento PIX#

Os webhooks são disparados em cada mudança de status do pagamento PIX.
Abaixo estão todos os status possíveis, incluindo os adicionais:
pending:
O QR Code PIX foi gerado e está aguardando o pagamento do cliente.
paid:
O pagamento foi recebido e confirmado com sucesso. O valor foi creditado na conta.
expired:
O pagamento não foi realizado dentro do prazo de validade configurado para a cobrança.
O QR Code ou link de pagamento perdeu a validade e não pode mais ser utilizado.
failed:
Ocorreu uma falha no processamento do pagamento.
Isso pode acontecer por instabilidade bancária, erro no fluxo de pagamento ou problemas temporários na instituição financeira.
cancelled:
A cobrança foi cancelada manualmente antes de ser paga.
Nenhum pagamento poderá ser feito utilizando essa cobrança.
refunded:
O pagamento foi realizado, mas o valor foi devolvido ao pagador.
Esse status indica que o recebedor solicitou ou processou um estorno.
chargeback:
Indica que houve uma contestação relacionada ao pagamento.
O banco do pagador abriu um processo de chargeback para analisar a transação, podendo resultar na devolução do valor.

💡 Informações Importantes#

O campo payer (dados do pagador) só estará disponível após a confirmação do pagamento (status paid).
O end_to_end_id é o identificador único da transação PIX fornecido pelo Banco Central e só estará disponível após o pagamento.
O campo is_real_payer indica se o pagador identificado pelo sistema PIX corresponde ao titular da conta que efetuou o pagamento.

Precisa de ajuda?
Entre em contato com nossa equipe de suporte para desenvolvedores para obter assistência.
Modificado em 2026-01-15 21:32:40
Próxima página
Criação de Invoices
Built with