Webhooks
Webhooks para Interações com Pix
Os webhooks da API do Pagou permitem receber notificações assíncronas sobre eventos relacionados a QRCodes Pix, como pagamentos confirmados ou estornos processados. Esta seção detalha os eventos qrcode.completed e qrcode.refunded, suas estruturas de payload, configuração do notification_url.
Visão Geral Técnica
A API do Pagou envia notificações via requisições HTTP POST para o notification_url configurado ao criar um QRCode Pix (via POST /v1/pix ou POST /v1/pix/due). Dois eventos estão disponíveis para Pix:
- qrcode.completed: Notifica quando um QRCode Pix é pago, transitando o status para - StatusCompleted.
- qrcode.refunded: Notifica quando um QRCode Pix é estornado, transitando o status para - StatusRefunded.
Os webhooks são enviados em formato JSON e requerem um endpoint HTTPS público no lado do cliente para processamento. Cada webhook inclui um campo event_name para identificar o evento e um objeto data com detalhes específicos. A API realiza até 10 tentativas de entrega do webhook, com intervalos exponenciais, até receber uma resposta 200 OK.
Especificações:
- Método: - POST
- Content-Type: - application/json
- URL: Configurada no campo - notification_urlao criar o QRCode.
- Eventos: - qrcode.completed,- qrcode.refunded.
Configuração do Webhook
- Definir o - notification_url: Ao criar um QRCode via- POST- /v1/pixou- POST- /v1/pix/due, inclua o campo- notification_url(ex.: https://your-webhook.com/notifications) no corpo da requisição (veja Criando um QRCode ou Criando um QRCode com Vencimento).
- Implementar o endpoint: Crie um endpoint HTTP - POSTno seu servidor para receber e processar os payloads JSON.
- Garantir HTTPS: Use um certificado SSL válido para o - notification_url.
Estrutura dos Webhooks
Evento: qrcode.completed
Notifica quando um QRCode Pix é pago, indicando que o status mudou para StatusCompleted.
Payload:
{
  "event_name": "qrcode.completed",
  "data": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "external_id": "ext-qr-12345",
    "transaction_id": "txn-789012",
    "e2e_id": "E123456789202401151030abcdef123456",
    "amount": 50.00,
    "payer": {
      "name": "João Silva",
      "document": "12345678901",
      "bank": {
        "code": "341",
        "name": "Banco Itaú",
        "agency": "1234",
        "account": "567890",
        "document": "12345678901"
      }
    },
    "description": "Payment for product or service"
  }
}Campos do Payload:
Campo
Tipo
Descrição
event_name
string
Nome do evento (qrcode.completed).
data
object
Dados do evento.
data.id
string
UUID do QRCode (ex.: 550e8400-e29b-41d4-a716-446655440000).
data.external_id
string
Identificador externo do QRCode .
data.transaction_id
string
ID da transação Pix (ex.: txn-789012).
data.e2e_id
string
ID end-to-end do Pix (ex.: E123456789202401151030abcdef123456).
data.amount
number
Valor pago em reais (ex.: 50.00).
data.payer
object
Dados do pagador.
data.payer.name
string
Nome do pagador (ex.: João Silva).
data.payer.document
string
CPF (11 dígitos) ou CNPJ (14 dígitos) do pagador.
data.payer.bank
object
Dados bancários do pagador.
data.payer.bank.code
string
Código do banco (ex.: 341 para Banco Itaú).
data.payer.bank.name
string
Nome do banco (ex.: Banco Itaú).
data.payer.bank.agency
string
Agência bancária (ex.: 1234).
data.payer.bank.account
string
Conta bancária (ex.: 567890).
data.payer.bank.document
string
CPF ou CNPJ do titular da conta (ex.: 12345678901).
data.description
string
Descrição do pagamento (ex.: Payment for product or service).
Evento: qrcode.refunded
Notifica quando um QRCode Pix é estornado, indicando que o status mudou para StatusRefunded.
Payload:
{
  "event_name": "qrcode.refunded",
  "data": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "transaction_id": "txn-789012",
    "amount": 25.00,
    "client_code": "CUST-001",
    "description": "Refund requested by customer"
  }
}Campos do Payload:
Campo
Tipo
Descrição
event_name
string
Nome do evento (qrcode.refunded).
data
object
Dados do evento.
data.id
string
UUID do QRCode (ex.: 550e8400-e29b-41d4-a716-446655440000).
data.transaction_id
string
ID da transação Pix (ex.: txn-789012).
data.amount
number
Valor estornado em reais (ex.: 25.00).
data.client_code
string
Identificador do cliente (ex.: CUST-001, equivalente a customer_id).
data.description
string
Descrição do estorno (ex.: Refund requested by customer).
Last updated
