Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.chargefy.io/llms.txt

Use this file to discover all available pages before exploring further.

Quando dispara

  • Comprador conclui o confirm na hosted page (ou no seu frontend custom)
  • Cartão: aprovação síncrona, data.payment_status === "paid"
  • PIX/boleto: confirmação síncrona do form, data.payment_status === "unpaid" — pagamento real ainda vai chegar via async_payment_succeeded

Ação esperada

  • Cartão (payment_status: "paid") → marcar pedido como pago, liberar produto/serviço
  • PIX/boleto (payment_status: "unpaid") → marcar pedido como em-processamento. Não envie produto ainda. Espere o async_payment_succeeded
  • Em ambos: salvar data.customer_id (resolvido nesse momento) pra cruzamento futuro

Envelope

{
  "type": "checkout.session.completed",
  "id": "evt_8h3K2pQ9mN4tR7vL",
  "created_at": "2026-05-03T18:35:00Z",
  "data": {
    "id": "id_111",
    "client_secret": "9f4c2a1b8e3d7f06a5c4b2e1d8f3a6b09c5e2a1f4b7d8c3e6a9f1d2c4b5e8a0f",
    "url": "https://pay.chargefy.io/session/...",
    "status": "complete",
    "mode": "payment",
    "payment_status": "paid",
    "currency": "brl",
    "amount_subtotal": 19990,
    "amount_discount": 0,
    "amount_tax": 0,
    "amount_total": 19990,
    "organization_id": "id_222",
    "customer_id": "id_555",
    "customer_email": "nome@email.com",
    "customer_name": "Cliente",
    "customer_tax_id": "123.456.789-00",
    "success_url": "https://meusite.com/sucesso",
    "cancel_url": null,
    "allow_discount_codes": true,
    "require_billing_address": false,
    "no_fees_installments": false,
    "discount_id": null,
    "livemode": true,
    "payment_method_types": ["credit_card", "pix", "boleto"],
    "metadata": { "order_id": "ord_123" },
    "expires_at": "2026-05-04T18:31:00Z",
    "created_at": "2026-05-03T18:31:00Z",
    "line_items": [ /* ... */ ],
    "payment_data": {
      "payment_method": "credit_card",
      "status": "succeeded",
      "installments": 3
    }
  }
}
data.payment_data traz os campos do método (PIX QR, boleto barcode, ou parcelas do cartão). Veja POST .../confirm pra cada variante.