Skip to main content
O número do cartão nunca precisa passar pelo seu servidor. O browser tokeniza o cartão com a chave publicável, seu servidor abre uma sessão 3D Secure com a chave secreta e cria a cobrança com o id do cartão.
Exemplos no sandbox (https://api.upag.dev/v1) com sk_test_ e pk_test_. Em produção use https://api.upag.io/v1 com sk_live_ e pk_live_. Para testar cenários de aprovação, recusa e desafio, veja o Simulador.

1. Tokenizar no browser

Número e CVV nunca voltam na resposta. Referência: Criar cartão.

2. Abrir a sessão 3DS no servidor

O amount deve ser exatamente o valor da cobrança (centavos), e installments o mesmo número de parcelas.
O cliente precisa ter email e phone. Referência: Criar sessão 3DS.

3. Autenticar no browser

O upag-js coleta os dados do dispositivo e, se o banco exigir, abre a janela de desafio.
upag-js
Chame authenticate apenas no browser (não em SSR) e uma autenticação por vez. Códigos de erro em SDK browser.

4. Criar a cobrança

A cobrança é processada na hora: status volta paid, in_review ou failed (com failureCode). A sessão autentica um cartão para um valor e um número de parcelas, e só pode ser usada por uma cobrança. Para antifraude, envie o IP do pagador (ipAddress) e o identificador de dispositivo gerado por upag.antifraud.sessionId() em meta.session_id. Gere um novo a cada tentativa (upag.antifraud.rotate()).

Limites

Ao estourar, a API responde 429 too_many_attempts com Retry-After.

Referências

Cobranças

Criar cobrança de cartão.

3D Secure

Sessões e estados.

SDK browser

cards, threeDSecure e antifraud.

Simulador

Cartões de teste.