Tokenização de cartão é a troca dos dados do cartão (número, validade e CVV) por um código aleatório, o token, que só tem valor dentro do gateway ou da bandeira que o gerou. A loja guarda e usa o token para cobrar, sem armazenar o cartão. Se vazar, o token não serve para comprar em outro lugar.
Se a pergunta é “o que é esse ctok_ / cardToken?”, este post fecha o conceito. A autenticação do titular fica no post par: o que é 3D Secure. O fluxo comercial de recompra está em one click buy.
O que é um token de cartão
Um token de cartão é um identificador que representa o plástico sem carregar o PAN (os 16 dígitos). O gateway (ou a bandeira) mantém o vínculo seguro entre token e cartão. Para a loja, o token é o que você persiste e reenvia nas cobranças.
Por que não serve para o fraudador “levar embora”:
- O token só funciona no ambiente que o emitiu (seu gateway / sua conta).
- Não dá para digitar o token no checkout de outra loja como se fosse o cartão.
- CVV e dado completo do plástico não ficam no seu banco.
Exemplo visual (valores fictícios):
4242 4242 4242 4242 → ctok_… (token de uso único da tentativa)
→ cardToken (token reutilizável do cartão salvo)Como a tokenização funciona, passo a passo
Fluxo típico com checkout transparente na AbacatePay (o mesmo desenho da página de 3DS no cartão):
- O cliente digita o cartão nos campos seguros do
abacatepay.js(ou na página de pagamento da AbacatePay). O dado não passa pelo seu servidor. - O script gera o token no navegador —
tokenize()devolve umctok_…(vale cerca de 60 segundos e uma cobrança só). Nessa chamada o 3DS também roda, quando o banco pede. - O backend cobra com o token —
POST /v2/transparents/createcom octok_. - A resposta traz um
cardTokenreutilizável — nas próximas cobranças do mesmo cartão (renovação de assinatura, upsell de 1 clique) você envia ocardToken, sem o cliente presente e sem 3DS de novo.
Esboço (sem chave real):
// Front: gera o token (e autentica com 3DS se o banco pedir)
const { token } = await checkout.tokenize({
name: "Paula Mendes",
email: "paula@exemplo.com",
taxId: "529.982.247-25",
});
// mande `token` (ctok_…) ao backend em até 60 s// Back: cobra com o token de uso único
const resposta = await fetch("https://api.abacatepay.com/v2/transparents/create", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.ABACATEPAY_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
method: "CARD",
data: {
amount: 129000,
token, // ctok_…
customer: { name, email, taxId },
},
}),
});
const { data } = await resposta.json();
// guarde data.cardToken para as próximas cobrançasDocumentação: abacatepay.js, cartão salvo, /desenvolvedores.
Tipos de token
| Tipo | Quem emite | Uso típico |
|---|---|---|
| Token do gateway | Seu gateway de pagamento | ctok_ de tentativa e cardToken reutilizável na conta |
| Network token (token da bandeira) | Visa, Mastercard etc. | Representa o cartão na rede; em muitos arranjos de mercado pode atualizar validade quando o plástico renova — conceito de mercado (Mastercard, documentação de network tokens) |
| Token de carteira digital | Apple / Google | Número de dispositivo / token da carteira; autenticação no aparelho |
Na AbacatePay, o que a integração expõe ao lojista/dev é o token do gateway (ctok_ e cardToken). Não afirmamos aqui uso de network token das bandeiras.
Tokenização e PCI DSS
PCI DSS (Payment Card Industry Data Security Standard) é o conjunto de requisitos de segurança para quem armazena, processa ou transmite dados de cartão — mantido pelo PCI Security Standards Council.
Em termos de mercado: quanto menos você toca no PAN (número do cartão), menor o que a loja precisa proteger no próprio ambiente. Por isso o desenho recomendado é:
- Campos de cartão no iframe / script do gateway
- Seu servidor recebe só o token
- Nunca gravar número + CVV no banco da loja
Isso é conceito de mercado (PCI SSC), não uma declaração do nível PCI da AbacatePay. A regra prática para o seu time: não armazene o cartão; armazene o token.
Onde a tokenização aparece no dia a dia
- Compra com 1 clique — o cliente já tem cartão tokenizado e paga de novo sem digitar: one click buy, upsell.
- Assinaturas e renovações — cobrança recorrente com o mesmo
cardToken: /assinaturas, pagamento recorrente. - Carteiras digitais — Apple Pay e Google Pay já nascem tokenizadas no aparelho; a autenticação é biometria ou senha do device.
Em todos os casos o ponto é o mesmo: a loja opera com referência segura, não com o plástico em texto claro.
Tokenização x criptografia x 3DS
| O que é | Relação com o cartão | |
|---|---|---|
| Criptografia | Embaralha o dado com chave; com a chave certa, reverte | O número ainda “existe” de forma recuperável |
| Tokenização | Substitui por código opaco, sem relação matemática útil com o PAN | O token só vale no emissor do token |
| 3DS | Autentica o titular com o banco | Não substitui token; confirma quem está pagando |
Resumo: criptografia protege o canal/dado reversível; tokenização remove o cartão do seu armazenamento operacional; 3DS responde “é o dono do cartão?”. Detalhe do protocolo: o que é 3D Secure. Antifraude (risco da tentativa) é outra camada: /antifraude.
Como tokenizar o cartão com a AbacatePay
- Use o checkout transparente com
abacatepay.js(ou checkout/link hospedado — a página já tokeniza). - Chame
tokenize()no clique de pagar — o 3DS acontece junto quando o banco pede (3DS no cartão). - Cobrar no backend com o
ctok_em até 60 s. - Persistir o
cardTokenda resposta para renovação e recompra.
Taxa: o cartão é ativado sob consulta. A taxa depende do prazo de recebimento que você escolhe na dashboard (D+1, D+7, D+15 ou D+30) e do número de parcelas: quanto mais longo o prazo, menor a taxa. No crédito à vista, vai de 5,42% + R$ 0,60 em D+1 a 3,5% + R$ 0,60 em D+30. O cartão começa em D+1 quando é ativado. Produto: /cartao. Precisa de CNPJ (MEI serve).
Cobre o cartão salvo sem guardar dado de cartão: fale com o time.
Perguntas frequentes
Tokenização é o mesmo que criptografia?
Não. Criptografia embaralha e pode ser revertida com a chave. Tokenização troca o cartão por um código que só o emissor do token resolve — sem relação matemática útil com o PAN para quem só tem o token.
Posso salvar o cartão do cliente no meu banco de dados?
Não o número do cartão (PAN) nem o CVV. Guarde o token (cardToken) e a referência do cliente, com consentimento explícito para recompra/assinatura.
O token funciona em outro gateway?
O token do gateway (como o cardToken da AbacatePay) em geral não é portável para outro provedor. Cada gateway emite e resolve o próprio token. Network tokens de bandeira são outro arranjo de mercado — não misture os dois.
Cartão tokenizado no Apple Pay é seguro?
A carteira usa token de dispositivo e autenticação no aparelho (Face ID, digital ou senha). O lojista não recebe o PAN digitado pelo cliente. Produto: Apple Pay.
Se o cartão vencer, o token para de funcionar?
Depende do tipo. Token só do gateway pode deixar de autorizar quando o plástico vence ou é reemitido, até o cliente cadastrar de novo. Network tokens de bandeira, em vários arranjos de mercado, podem atualizar a validade automaticamente — isso é conceito de mercado, não uma promessa de comportamento específico da AbacatePay.
Qual a diferença entre tokenização e 3DS?
Tokenização protege e referencia o dado do cartão. 3DS autentica o titular na compra. Guia: o que é 3D Secure.
Preciso de CNPJ para cobrar cartão na AbacatePay?
Sim. CNPJ é obrigatório; MEI serve. Cartão é ativado sob consulta: cartão sob consulta.
Cobre o cartão salvo sem guardar dado de cartão: fale com o time.
Leia também: o que é 3D Secure · one click buy · checkout transparente · 3DS no cartão · pagamento recorrente