Skip to main content
A tokenização transforma os dados sensíveis do cartão (PAN, CVV, portador) em um token opaco (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 /payin sem 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.
Tudo isso é gerenciado pelo SDK LegacyPay (legacy-pay.js) — você não precisa conhecer nem chamar nenhuma rota interna da plataforma.

Importando o SDK

A 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

Resposta:
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):
Quando a tokenização é exigida, enviar PAN/CVV bruto no /payin retorna 400 INVALID_DATA. Use sempre o token gerado pelo SDK.

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

Use document (CPF) — o SDK pede ao backend para identificar o cliente.

Cobrar com cartão salvo

Se a loja exige CVV em re-cobrança e você não passou, o método lança LegacyPayError("CVV_REQUIRED", ...).

Revogar cartão

O token sai de ACTIVE e a próxima /payin que tentar usá-lo é rejeitada.

Detectar capacidades da loja

Cada loja configurada na plataforma tem um perfil próprio — você só consulta o que está disponível. Os detalhes de implementação (qual adquirente está atrás, quais regras de fraude se aplicam) não são expostos ao integrador.

Erros possíveis

Detalhe para /payin (erros retornados pela API):
Token revogado ou expirado também é rejeitado com 400 ao tentar usá-lo no /payin.

Endpoints REST (referência)

O SDK abstrai estas rotas — documentadas aqui apenas para referência. Todas exigem a publicKey no header x-public-key.