Skip to main content
POST
Criar sessão de checkout
Abre uma sessão de checkout para um ou mais preços. Ela fica open por 24 horas, a menos que você envie expiresAt. A sessão criada com a chave secreta não tem clientSecret: ela é para você pagar do seu servidor com Confirmar. Para uma página de pagamento no navegador do cliente, crie um link de pagamento e abra a sessão com Iniciar sessão. Permissão: checkout_session.write. Apenas chave secreta (sk_…).
Os exemplos usam o sandbox (https://api.upag.dev/v1). Em produção use https://api.upag.io/v1 com sk_live_….

Endpoint

Com teste grátis

Para itens recorrentes, subscriptionData define o teste da assinatura que a sessão vai criar. Veja o fluxo completo em Teste grátis.

Parâmetros

array
required
Pelo menos um item. Os preços não podem se repetir (nem entre items e bumps), precisam estar na mesma moeda e, se recorrentes, ter o mesmo intervalo.
  • price (obrigatório): UUID do preço.
  • quantity (obrigatório): inteiro ≥ 1.
string (uuid)
UUID de um cliente da conta. Se omitido, o cliente é definido na confirmação.
array
Ofertas extras que o pagador pode aceitar na confirmação (bumps de Confirmar).
  • price (obrigatório): UUID do preço.
  • quantity: inteiro ≥ 1. Padrão 1.
  • title: até 255 caracteres.
  • description: texto livre.
array
pix e/ou card. Padrão ["pix", "card"]. Mínimo 1.
string (url)
URL de retorno depois do pagamento.
string (url)
URL de retorno se o pagador desistir.
string
default:"auto"
auto, required ou none.
boolean
default:"false"
Se permite aplicar um cupom à sessão.
object
Teste da assinatura criada pelos itens recorrentes. Exige pelo menos um item recorrente.
  • trial: { interval, intervalCount } com interval day, week ou month. Duração máxima de 730 dias (day até 730, week até 104, month até 24). Contada a partir da criação da assinatura.
  • trialEnd: data fixa de fim, com pelo menos 48 horas a partir de agora. Aceita ISO 8601 ou Unix em segundos. Não pode ser enviada junto com trial.
  • trialSettings.endBehavior.missingPaymentMethod: create_invoice (padrão: cobra o primeiro período por Pix) ou cancel. É o que acontece quando o teste acaba sem método de pagamento.
string
default:"always"
always ou if_required. Com if_required, uma sessão sem nada a pagar hoje pode ser confirmada sem cartão. Com always e um teste, card precisa estar em paymentMethods.
string
ISO 8601, no futuro. Padrão: 24 horas a partir de agora. null faz a sessão nunca expirar.

Resposta

201 Created com a sessão.
Response

Erros