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.

Endpoint público de leitura. Usado tipicamente pelo browser do comprador (na hosted page ou no seu próprio frontend de checkout) pra acompanhar o estado da sessão em tempo real, antes ou depois do confirm.

Autenticação

Nenhuma. O client_secret na URL é a credencial — não envie Authorization.
curl -X GET "https://api.chargefy.io/v1/checkout-sessions/public/{{CLIENT_SECRET}}"
Não exponha o Authorization da sua API key no browser. Esta família /public/:client_secret/* foi feita exatamente pra ser chamada client-side sem vazar credencial de servidor.

Resposta

Retorna o DTO completo da checkout session — mesmo shape que POST /v1/checkout-sessions devolve. Os campos customer_* ficam preenchidos depois que o comprador completa o form. O campo payment_data aparece após confirm. Veja referência completa de campos no Create.

Resposta de exemplo (sessão open, antes do confirm)

{
  "id": "id_111",
  "client_secret": "9f4c2a1b8e3d7f06a5c4b2e1d8f3a6b09c5e2a1f4b7d8c3e6a9f1d2c4b5e8a0f",
  "url": "https://pay.chargefy.io/session/9f4c2a1b8e3d7f06a5c4b2e1d8f3a6b09c5e2a1f4b7d8c3e6a9f1d2c4b5e8a0f",
  "status": "open",
  "mode": "payment",
  "payment_status": "unpaid",
  "currency": "brl",
  "amount_total": 19990,
  "amount_subtotal": 19990,
  "amount_discount": 0,
  "amount_tax": 0,
  "organization_id": "id_222",
  "customer_id": null,
  "customer_email": null,
  "customer_name": null,
  "customer_tax_id": null,
  "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": null
}

Resposta de exemplo (sessão complete, após confirm com PIX)

{
  "id": "id_111",
  "client_secret": "9f4c2a1b8e3d7f06a5c4b2e1d8f3a6b09c5e2a1f4b7d8c3e6a9f1d2c4b5e8a0f",
  "url": "https://pay.chargefy.io/session/...",
  "status": "complete",
  "mode": "payment",
  "payment_status": "unpaid",
  "currency": "brl",
  "amount_total": 19990,
  "amount_subtotal": 19990,
  "amount_discount": 0,
  "amount_tax": 0,
  "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": "pix",
    "status": "pending",
    "qr_code": "00020126360014BR.GOV.BCB.PIX0114+5511...",
    "qr_code_url": "https://api.chargefy.io/qr/abc123.png",
    "expiration_date": "2026-05-03T19:01:00Z"
  }
}
Para PIX e boleto, status: "complete" significa que o comprador submeteu o form, não que pagou. O pagamento real chega via webhook checkout.session.async_payment_succeeded. Acompanhe payment_status (unpaidpaid) ou ouça o webhook.

Erros

HTTPRazão
400client_secret ausente ou mal formado
404Checkout session não encontrada (secret inválido ou sessão soft-deletada)