Criar nova sessão de checkout
Criar nova sessão de checkout na sua conta. A sessão permite que um cliente complete um pagamento ou assinatura através de uma interface web.
O cliente é opcional. Você pode:
- Enviar
customer_idpara vincular um cliente já existente. - Enviar
customercom os dados para criar um cliente junto com a sessão. - Omitir ambos: a sessão é criada sem cliente vinculado e o próprio comprador
preencherá os dados (nome, CPF/CNPJ, e-mail e telefone) ao acessar a
urlretornada. Nesse caso,customer,invoice,subscriptioneamountvoltamnullna resposta e são preenchidos somente após o comprador finalizar o cadastro.
Validação de line_items e discounts ocorre em todos os casos — uma sessão sem
cliente também recebe 404 RESOURCE_MISSING para price_id inexistente e 422
para TOO_MANY_LINE_ITEMS / DISCOUNT_EXCEEDS_SUBTOTAL.
Limite de taxa: 5 requisições por minuto por chave de API.
Authorizations
A chave de API usada para autenticar a requisição e identificar a sua conta.
Exemplo: Authorization: ApiKey my-secure-key
Body
Dados da sessão de checkout que será criada
Response
Operação realizada com sucesso
ID único da sessão de checkout, no formato TypeID com prefixo cs_.
^cs_[0-9a-z]{26}$"cs_01h455vb4pex5vsknk084sn02c"
Tipo do objeto. Sempre 'checkout_session'.
checkout_session "checkout_session"
Valor total em centavos. null quando o cliente ainda não foi informado e
a fatura não foi gerada.
9990
Timestamp Unix da criação da sessão.
1704672000
Código da moeda (ISO 4217). Sempre 'brl' (Real brasileiro).
brl "brl"
ID do cliente vinculado à sessão, no formato TypeID com prefixo cus_.
null quando customer_id/customer não foram enviados na criação — o
comprador preenche os dados na página de checkout e o cliente é criado
nesse momento.
"cus_01h455vb4pex5vsknk084sn02p"
Timestamp Unix do prazo que a sessão publicou. Uma sessão nasce com uma
hora de validade. Este campo não muda quando a sessão é encerrada, então
uma sessão encerrada com
POST /api/v1/checkout/sessions/{id}/expire carrega status expired
com um expires_at ainda no futuro. Leia status para saber se a
sessão aceita pagamento.
1704675600
ID da fatura gerada para a sessão, no formato TypeID com prefixo in_.
null enquanto o cliente não foi informado — a fatura é criada depois que
o comprador preenche os dados na página de checkout.
"in_01h455vb4pex5vsknk084sn02q"
Itens da sessão, como foram registrados na criação. O preço aparece como
ID; o valor cobrado está em amount.
Indica ambiente de produção (true) ou sandbox (false). Dados de sandbox são limpos periodicamente.
true
Modo da sessão.
- payment: Cobrança avulsa.
- subscription: Assinatura recorrente.
payment, subscription "subscription"
Situação da sessão, derivada do prazo de validade, do encerramento e da conclusão.
- open: Aceita pagamento.
- complete: Paga; permanece assim mesmo depois do prazo.
- expired: Encerrada sem pagamento, pelo prazo vencido ou pelo merchant.
open, complete, expired "open"
URL para onde o comprador vai depois de pagar.
"https://example.com/success"
URL da sessão de checkout para redirecionar o cliente.
"https://besimplo.com/checkout/sessions/cs_01h455vb4pex5vsknk084sn02c"
Descontos aplicados à sessão. Ausente quando a sessão não tem desconto.
Código externo para integração com outros sistemas. Único por conta.
"CHECKOUT-SESSION-XYZ"
Metadados enviados na criação, devolvidos como foram armazenados. A API aceita uma lista de objetos livres; uma sessão criada sem metadados devolve um objeto vazio.
ID da cobrança vinculada à sessão, no formato TypeID com prefixo pi_.
null enquanto nenhuma cobrança foi gerada.
"pi_01h455vb4pex5vsknk084sn02r"
URL para onde o comprador volta se cancelar o checkout.
"https://example.com/return"
ID da assinatura criada pela sessão, no formato TypeID com prefixo sub_.
Presente apenas no modo subscription e depois que a fatura foi criada.
"sub_01h455vb4pex5vsknk084sn02s"

