Skip to main content
POST
Abrir sessão 3DS do checkout
Abre uma sessão 3D Secure para pagar uma sessão de checkout com cartão. O valor não é seu para informar: a Upag usa o que a confirmação vai cobrar (itens, bumps aceitos e cupom, ou o valor da fatura se a primeira tentativa já aconteceu), para que o que o banco autentica seja o que é cobrado. Fluxo no navegador, com o clientSecret da sessão de checkout:
  1. Tokenize o cartão (upag.cards.create) e chame este endpoint com o card.id.
  2. Autentique com o clientSecret da sessão 3DS devolvido aqui: upag.threeDSecure.authenticate({ clientSecret }).
  3. Confirme com charge.threeDSecureSession igual ao id devolvido.
Enquanto o 3D Secure não estiver habilitado para a conta (account.threeDSecureEnabled na visão do pagador), a rota responde 404. Permissão: checkout_session.write. Aceita a chave secreta ou o clientSecret da sessão de checkout. Limite do navegador: 20 por minuto por IP.
Os exemplos usam o sandbox (https://api.upag.dev/v1). Em produção use https://api.upag.io/v1 com sk_live_…; no navegador, o upag-js usa só a chave pública.

Endpoint

Parâmetros

string (uuid)
required
ID da sessão de checkout. Precisa estar open, dentro do prazo, e aceitar card.
string (uuid)
required
UUID de um cartão tokenizado.
integer
default:"1"
Número de parcelas, de 1 a 12.
string (uuid) | object
required
O pagador, no mesmo formato de Confirmar. Do navegador, só os dados (não um UUID).
array
default:"[]"
UUIDs dos bumps da sessão que o pagador aceitou. Ignorados quando a sessão já tem fatura.
O corpo não aceita outros campos.

Resposta

201 Created. O clientSecret aparece só aqui. Campos da sessão 3DS em Sessões 3D Secure.
Response

Erros