Skip to main content

Visão Geral

O evento PAYMENT é disparado quando o status de um cobrança PIX In é atualizado na plataforma. O webhook é enviado quando:
  • Um cobrança muda de status (ex: PENDINGPAID, PAIDREFUNDED)

Headers do Webhook

X-Webhook-Event: PAYMENT
X-Webhook-Timestamp: 2024-01-15T10:30:00Z
X-Webhook-Signature: abc123def456...
Content-Type: application/json

Estrutura do Payload

{
  "event": "PAYMENT",
  "timestamp": "2024-01-15T10:30:00Z",
  "data": {
    "uuid": "770e8400-e29b-41d4-a716-446655440000",
    "value": 250,
    "total_value": 255,
    "fees": 5,
    "currency": "BRL",
    "status": "PAID",
    "type": "PIX",
    "payment": {
      "uuid": "880e8400-e29b-41d4-a716-446655440001",
      "value": "250.00",
      "type": "QR_DYNAMIC",
      "status": "COMPLETED",
      "payload": "00020101021226570014br.gov.bcb.pix2535qr.plowf.com/qr/v2/cob/770e8400-e29b-41d4-a71652040000530398654062500.005802BR5912Empresa_Demo6009Sao_Paulo62290525770e8400e29b41d4a716446663041A2B",
      "pix": {
        "sender": {
          "name": "João Silva",
          "document": "12345678901",
          "account_number": "00123456",
          "account_agency": "0001",
          "bank": {
            "code": "341",
            "name": "ITAÚ UNIBANCO S.A.",
            "ispb": "60701190"
          },
          "account_type": "CHECKING"
        },
        "receiver": {
          "name": "Empresa Demo LTDA",
          "document": "12345678000190",
          "account_number": "9876543",
          "account_agency": "0001",
          "bank": {
            "code": "",
            "name": "PLOWF IP LTDA.",
            "ispb": "00000000"
          },
          "account_type": "CHECKING"
        },
        "txid": "770e8400e29b41d4a716446655440000",
        "value": "250.00",
        "type": "QR_DYNAMIC",
        "pix_key": "1234567890",
        "transaction": {
          "uuid": "990e8400-e29b-41d4-a716-446655440002",
          "value": "250.00",
          "movement_type": "IN",
          "type": "EXTERNAL_TRANSFER",
          "status": "SETTLED",
          "end_to_end": "E6070119020240101100500000000001",
          "settled_at": "2024-01-01T10:05:00.000000Z",
          "created_at": "2024-01-01T10:02:00.000000Z",
          "updated_at": "2024-01-01T10:05:00.000000Z"
        },
        "status": "COMPLETED",
        "expires_at": "2024-03-01T10:00:00.000000Z",
        "created_at": "2024-01-01T10:00:00.000000Z",
        "updated_at": "2024-01-01T10:05:00.000000Z"
      },
      "verify_sender": false,
      "expires_at": "2024-03-01T10:00:00.000000Z",
      "created_at": "2024-01-01T10:00:00.000000Z",
      "updated_at": "2024-01-01T10:05:00.000000Z"
    },
    "external_ref": "PED-001",
    "final_beneficiary": {
      "name": "Maria Santos",
      "document": "98765432100"
    },
    "splits": [
      {
        "uuid": "990e8400-e29b-41d4-a716-446655440002",
        "type": "PERCENTAGE",
        "value": 10,
        "status": "CREDITED",
        "recipient_account": {
          "uuid": "550e8400-e29b-41d4-a716-446655440000",
          "name": "Empresa Parceira LTDA"
        }
      }
    ],
    "history": [
      {
        "status": "PENDING",
        "created_at": "2024-01-01T10:00:00Z"
      },
      {
        "status": "PROCESSING",
        "created_at": "2024-01-01T10:02:00Z"
      },
      {
        "status": "PAID",
        "created_at": "2024-01-01T10:05:00Z"
      }
    ],
    "created_at": "2024-01-01T10:00:00Z",
    "updated_at": "2024-01-01T10:05:00Z"
  }
}

Campos do Payload

event
string
Tipo do evento. Sempre "PAYMENT" para este webhook.
timestamp
datetime
Timestamp ISO 8601 do momento em que o webhook foi enviado.
data
object
Dados da cobrança atualizada.

Status Possíveis

Os status possíveis para um cobrança são:
  • PENDING - Aguardando pagamento
  • PAID - Cobrança paga
  • FAILED - Cobrança falhou
  • REFUNDED - Cobrança estornada
  • PARTIALLY_REFUNDED - Cobrança estornada parcialmente
  • CANCELLED - Cobrança cancelada
  • EXPIRED - Cobrança expirada
  • PROCESSING - Cobrança em processamento
Use o campo uuid para identificar unicamente a cobrança e implementar idempotência no seu endpoint.