upag-js
Pacote npm oficial para o browser. Código em github.com/upag/upag-js.
Instalação
Script tag (sem bundler)
dist/v1/upag.min.js é um arquivo único que define window.UpagJs, sem type="module":
Inicialização e host
pk_test_ usa https://api.upag.dev/v1 (sandbox) e qualquer outra chave usa https://api.upag.io/v1. Passe { publicKey, baseURL, timeout } para sobrescrever o host (baseURL precisa ser https, exceto localhost). O ambiente resolvido fica em upag.environment ('sandbox' | 'production').
Checkout do pagador
Uma chave publicável não cria sessões nem lista o catálogo. A página do pagador parte do código de um link de pagamento (sem autenticação) e usa oclientSecret devolvido uma única vez por start para ler e pagar a sessão. Veja o fluxo em Checkout hospedado.
Teste grátis
Quandosession.trial existe e session.amount é 0, nada é cobrado hoje: guarde um cartão para a primeira cobrança em vez de enviar charge (opcional se session.paymentMethodCollection for 'if_required'). Veja Teste grátis.
Cartões
Tokeniza um cartão e devolve um id para o servidor criar a cobrança. Número e CVV nunca são devolvidos.create é a única operação de cartão que uma chave publicável pode fazer. Listar, obter e remover exigem a chave secreta, no servidor. Referência: Criar cartão.
Antifraude
Instanciar o cliente no browser inicia o coletor de dispositivo. EnviesessionId() como meta.session_id na cobrança de cartão e chame rotate() antes de uma nova tentativa.
3D Secure
Autentica um cartão salvo com o banco do comprador antes da cobrança. O servidor abre a sessão com a chave secreta (Criar sessão 3DS) e o browser só conclui, com oclientSecret da sessão. O SDK coleta os dados do dispositivo e abre o desafio quando o banco exige.
clientSecret fora de logs e URLs. authenticate só roda no browser (não em SSR) e uma autenticação por vez. Fluxo completo: Cartão com 3DS.
Frameworks
Erros
Falhas são lançadas com detalhes:
Erros devolvidos pela API trazem o
code dela (por exemplo session_expired, unauthorized, too_many_attempts).
Referência dos métodos
Boas práticas de segurança
- Use chaves publicáveis no front-end e tokenização de cartão.
- Valide tudo também no backend e use HTTPS em produção.
- Nunca use chaves secretas no front-end nem guarde dados de cartão.
Onde ir depois
Cartão com 3DS
Browser e servidor, passo a passo.
Checkout hospedado
Link, sessão e confirmação.
SDK Node.js
Criar links, sessões e cobranças no servidor.
Índice de SDKs
Comparativo
upag / upag-js.