Skip to main content

Quando dispara

  • Boleto venceu sem ser compensado
  • PIX gerado expirou (janela de pagamento fechou)
Só dispara depois de checkout.session.completed ter sido emitido com payment_status: "unpaid". Cartão não passa por esse evento.

Ação esperada

  • Marcar pedido como falho
  • Notificar o comprador (email/SMS) que o pagamento não foi confirmado
  • data.object.payment_status permanece "unpaid"

Payload

{
  "id": "evt_8h3K2pQ9mN4tR7vL",
  "object": "event",
  "created_at": "2026-05-13T03:00:00Z",
  "data": {
    "object": {
      "id": "id_111",
      "object": "checkout.session",
      "allow_discount_codes": true,
      "amount_discount": 0,
      "amount_subtotal": 19990,
      "amount_tax": 0,
      "amount_total": 19990,
      "branding_settings": null,
      "cancel_url": null,
      "client_secret": "...",
      "created_at": "2026-05-03T18:31:00Z",
      "currency": "brl",
      "customer": "id_555",
      "customer_document": "123.456.789-00",
      "customer_document_type": "cpf",
      "customer_email": "nome@email.com",
      "customer_name": "Cliente",
      "discount": null,
      "expires_at": "2026-05-04T18:31:00Z",
      "invoice_creation": false,
      "line_items": [],
      "livemode": true,
      "metadata": {
        "order_id": "ord_123"
      },
      "mode": "payment",
      "payment_data": {
        "barcode": "23793.38128 60082.345678 90000.123456 7 89230000019990",
        "digitable_line": "23791234567890123456789012345678901234567890",
        "due_date": "2026-05-10T03:00:00Z",
        "payment_method": "boleto",
        "pdf_url": "https://api.chargefy.io/boletos/abc123.pdf",
        "status": "failed"
      },
      "payment_method_options": {
        "credit_card": {
          "installments": {
            "has_interest": true,
            "max_count": 12
          }
        }
      },
      "payment_method_types": ["credit_card", "pix", "boleto"],
      "payment_status": "unpaid",
      "require_billing_address": false,
      "require_document": true,
      "require_phone": false,
      "status": "complete",
      "submit_type": "auto",
      "subscription": null,
      "success_url": "https://meusite.com/sucesso",
      "template": null,
      "url": "https://pay.chargefy.io/session/..."
    }
  },
  "livemode": true,
  "organization": "org_123",
  "request": {
    "id": null
  },
  "type": "checkout.session.async.payment.failed"
}
data.object é o DTO completo de PublicCheckoutSession.