Tokenizacao de Cartoes
Aprenda a tokenizar dados de cartao de credito de forma segura utilizando a API Vault. A tokenizacao permite processar pagamentos sem armazenar dados sensiveis.
PCI-DSS Compliance
Ao usar a tokenizacao do Vault, seus sistemas nao precisam de certificacao PCI-DSS para processar pagamentos.
Fluxo de tokenizacao
- 1
Cliente insere dados do cartao
Formulario seguro no frontend
- 2
Dados enviados ao Vault
Via HTTPS para o backend
- 3
Vault retorna token
Dados armazenados de forma segura
- 4
Use o token
Para pagamentos futuros
Implementacao
tokenize.jsjavascript
async function tokenizeCard(cardData) {
const response = await fetch('https://vault.axon.com/v1/tokens', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.AXON_API_KEY}`,
'Content-Type': 'application/json',
'Idempotency-Key': crypto.randomUUID(),
},
body: JSON.stringify({
card: {
number: cardData.number.replace(/\s/g, ''),
exp_month: parseInt(cardData.expiry.split('/')[0]),
exp_year: 2000 + parseInt(cardData.expiry.split('/')[1]),
cvv: cardData.cvv,
holder_name: cardData.holderName.toUpperCase(),
},
metadata: {
customer_id: cardData.customerId,
},
}),
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error.message);
}
return response.json();
}
// Uso
const token = await tokenizeCard({
number: '4111 1111 1111 1111',
expiry: '12/25',
cvv: '123',
holderName: 'JOAO SILVA',
customerId: 'cust_123',
});
console.log('Token:', token.id);Usando o token
payment.jsjavascript
async function processPayment(tokenId, amount) {
const response = await fetch('https://api.axon.com/v1/payments', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.AXON_API_KEY}`,
'Content-Type': 'application/json',
'Idempotency-Key': crypto.randomUUID(),
},
body: JSON.stringify({
token_id: tokenId,
amount: amount,
currency: 'BRL',
}),
});
return response.json();
}Boas praticas
- ✓Use sempre HTTPS
- ✓Nunca armazene dados do cartao em logs
- ✓Use chaves de idempotencia
- ✓Valide dados no frontend