Skip to main content
curl -X GET "https://api.chargefy.io/v1/checkout-sessions/cs_123" \
  -H "Authorization: Bearer {{API_KEY}}"
{
  "id": "cs_123",
  "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": "9f4c2a1b8e3d7f06a5c4b2e1d8f3a6b09c5e2a1f4b7d8c3e6a9f1d2c4b5e8a0f",
  "created_at": "2026-05-19T18:31:00Z",
  "currency": "brl",
  "customer": "cus_123",
  "customer_document": "12345678901",
  "customer_document_type": "cpf",
  "customer_email": "ada@example.com",
  "customer_name": "Ada Lovelace",
  "discount": null,
  "expires_at": "2026-05-20T18:31:00Z",
  "invoice_creation": false,
  "line_items": [
    {
      "id": "li_123",
      "amount_discount": 0,
      "amount_subtotal": 19990,
      "amount_tax": 0,
      "amount_total": 19990,
      "currency": "brl",
      "description": "Plano Pro mensal",
      "metadata": {},
      "position": 0,
      "price": "price_123",
      "price_data": null,
      "product": "prod_123",
      "quantity": 1,
      "recurring_interval": null,
      "recurring_interval_count": null,
      "unit_amount": 19990
    }
  ],
  "livemode": true,
  "metadata": {
    "order_id": "ord_123"
  },
  "mode": "payment",
  "payment_data": null,
  "payment_method_collection": "always",
  "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": "open",
  "submit_type": "auto",
  "subscription": null,
  "success_url": "https://example.com/success",
  "template": null,
  "url": "https://pay.chargefy.io/session/9f4c2a1b8e3d7f06a5c4b2e1d8f3a6b09c5e2a1f4b7d8c3e6a9f1d2c4b5e8a0f"
}
Use a consulta autenticada por ID no seu servidor ou painel administrativo. Use a consulta pública por client_secret somente no browser do comprador, quando não pode existir API key no frontend.
LeituraEndpointAutenticaçãoUso típico
Por IDGET /v1/checkout-sessions/{id}API key com escopo readservidor, painel administrativo, reconciliação
Por client_secretGET /v1/checkout-sessions/public/{client_secret}nenhuma; o client_secret autentica a sessãohosted page ou checkout frontend custom

Consulta por ID

Retorna o objeto checkout.session completo pelo ID da sessão. A API key da própria organização atua diretamente. A API key de plataforma exige o header Organization: <organization_id> apontando para uma organização conectada ativa.

Parâmetros de caminho

id
string
required
ID da checkout session (cs_*).
curl -X GET "https://api.chargefy.io/v1/checkout-sessions/cs_123" \
  -H "Authorization: Bearer {{API_KEY}}"

Resposta

Retorna o mesmo DTO de POST /v1/checkout-sessions. O campo payment_data fica null antes da confirmação e aparece preenchido quando a sessão já foi confirmada.
{
  "id": "cs_123",
  "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": "9f4c2a1b8e3d7f06a5c4b2e1d8f3a6b09c5e2a1f4b7d8c3e6a9f1d2c4b5e8a0f",
  "created_at": "2026-05-19T18:31:00Z",
  "currency": "brl",
  "customer": "cus_123",
  "customer_document": "12345678901",
  "customer_document_type": "cpf",
  "customer_email": "ada@example.com",
  "customer_name": "Ada Lovelace",
  "discount": null,
  "expires_at": "2026-05-20T18:31:00Z",
  "invoice_creation": false,
  "line_items": [
    {
      "id": "li_123",
      "amount_discount": 0,
      "amount_subtotal": 19990,
      "amount_tax": 0,
      "amount_total": 19990,
      "currency": "brl",
      "description": "Plano Pro mensal",
      "metadata": {},
      "position": 0,
      "price": "price_123",
      "price_data": null,
      "product": "prod_123",
      "quantity": 1,
      "recurring_interval": null,
      "recurring_interval_count": null,
      "unit_amount": 19990
    }
  ],
  "livemode": true,
  "metadata": {
    "order_id": "ord_123"
  },
  "mode": "payment",
  "payment_data": null,
  "payment_method_collection": "always",
  "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": "open",
  "submit_type": "auto",
  "subscription": null,
  "success_url": "https://example.com/success",
  "template": null,
  "url": "https://pay.chargefy.io/session/9f4c2a1b8e3d7f06a5c4b2e1d8f3a6b09c5e2a1f4b7d8c3e6a9f1d2c4b5e8a0f"
}

Consulta pública por client_secret

Endpoint de leitura para o browser do comprador. Não envie Authorization; o client_secret na URL é a credencial da sessão.

Parâmetros de caminho

client_secret
string
required
Secret opaco da checkout session, retornado no campo client_secret do create.
curl -X GET "https://api.chargefy.io/v1/checkout-sessions/public/{{CLIENT_SECRET}}"
Não exponha o Authorization da sua API key no browser. A rota pública por client_secret existe para carregar e acompanhar a sessão sem credencial de servidor.

Resposta pública

Retorna o mesmo objeto checkout.session da leitura por ID. Por alimentar a página hospedada, a leitura pública também inclui campos de renderização resolvidos no servidor.
branding
object
Identidade visual + identidade do lojista, resolvidas para a página hospedada. É a mescla entre os defaults da organização, o branding_settings da sessão e o fallback do sistema. Inclui as cores (brand_color, accent_color), theme, border_style, font_family, além de logo_url (logo do lojista no header) e business_name (nome exibido no header e no texto de autorização).
due_date
string | null
Alias público de expires_at, usado pela hosted page.
installment_options
object | null
Opções de parcelamento calculadas para o valor atual da sessão. Objeto com max (número máximo de parcelas permitido) e options (mapa por bandeira, cada item com installments, per_installment, total e fee_bps).
next_action
object | null
Detalhes de próxima ação quando a resposta tiver dados de exibição para um método assíncrono. Na leitura antes do confirm, normalmente é null.
template
string | null
Template visual resolvido para renderização da hosted page.
branding não substitui branding_settings: branding_settings é o override cru salvo na sessão; branding é o resultado já resolvido para renderização. A leitura autenticada por ID não inclui esses campos de renderer.
Para PIX e boleto, status: "complete" significa que o comprador submeteu o formulário, não que o pagamento foi compensado. Acompanhe payment_status (unpaid -> paid) ou ouça o webhook checkout.session.async.payment.succeeded.

Erros

HTTPRazão
400client_secret ausente ou corpo inválido na rota pública
401API key ausente, mal formada ou inválida na rota por ID
403API key de plataforma sem Organization, ou Organization sem vínculo ativo
404Checkout session não encontrada
{
  "error": {
    "code": "resource_missing",
    "message": "Checkout session not found",
    "type": "invalid_request_error"
  }
}