cvt_*) que você usa no lugar do cartão para criar pagamentos. O cartão real nunca passa pelo seu servidor — só o navegador do comprador e a LegacyPay enxergam os dados completos.
Com o token você:
- Cria transações em
/payinsem nunca tocar em PAN/CVV. - Cobra o mesmo cliente novamente (card-on-file) sem precisar guardar cartão.
- Permite que o comprador escolha entre cartões salvos em uma próxima compra.
legacy-pay.js) — você não precisa conhecer nem chamar nenhuma rota interna da plataforma.
Importando o SDK
publicKey (pk_live_* ou pk_test_*) é segura para ficar exposta no navegador. Nunca coloque a sk_live_* no front-end.
Criar token a partir do cartão
tokenizeCard() faz tokenização pura — não executa 3DS nem antifraude. Use prepareCardPayment() para o fluxo completo com 3DS e antifraude. Veja 3D Secure.Usar o token no /payin
Esse passo é feito no seu backend, com Basic Auth (pk + sk):
CVV e PCI-DSS
O CVV é capturado pelo SDK, enviado para a LegacyPay junto com a tokenização, e nunca persiste em banco. Ele fica disponível por até 5 minutos para a primeira/payin após a tokenização — depois disso, é descartado.
Para lojas onde o CVV precisa ser informado em cada cobrança (você descobre via client.getConfig(), campo capabilities.tokenization.cvvRequired), o comprador precisa digitar o CVV novamente em re-cobranças.
Card-on-file (cartões salvos)
Depois que o cliente paga uma primeira vez, o token continua válido até a data de expiração do cartão. Você pode listar cartões salvos do mesmo comprador, cobrar de novo e revogar quando o cliente pedir.Listar cartões salvos
document (CPF) — o SDK pede ao backend para identificar o cliente.
Cobrar com cartão salvo
LegacyPayError("CVV_REQUIRED", ...).
Revogar cartão
ACTIVE e a próxima /payin que tentar usá-lo é rejeitada.
Detectar capacidades da loja
Erros possíveis
Detalhe para
/payin (erros retornados pela API):
Token revogado ou expirado também é rejeitado com400ao tentar usá-lo no/payin.
Endpoints REST (referência)
O SDK abstrai estas rotas — documentadas aqui apenas para referência. Todas exigem apublicKey no header x-public-key.