cardTokenId para reutilização segura no seu backend. O endpoint exige o produto tokenization habilitado na conta do merchant.
Pré-requisitos
1
Produto habilitado
O produto Tokenization precisa estar habilitado para o seu merchant. A
ativação é feita pela equipe UvviPay; solicite ao seu contato comercial.
2
Credenciais de API
Use
client-id e client-secret no backend. Nunca exponha o
client-secret no front-end. Veja Autenticação.Como funciona
- Você envia
card+customerparaPOST /v1/vault/tokenize. - A UvviPay cria ou reutiliza o customer (
externalCustomerId) e o cartão. - Se já existir um token ativo para o mesmo customer e cartão, a API
devolve o
cardTokenIdexistente com HTTP 201. - Caso contrário, o cartão é guardado no Cofre e a API retorna o novo
cardTokenIdcom HTTP 201.
cardTokenId no seu sistema. Ele identifica o cartão no Cofre e pode ser usado para cobrar via POST /v1/payments sem reenviar PAN/CVV.
Chamadas concorrentes
Para o mesmo customer e cartão:- Se já houver token ativo, a API reutiliza o
cardTokenIdsem criar outro. - Chamadas concorrentes sem token ativo podem ambas acionar o provedor; a
persistência é serializada. Ao final, as respostas bem-sucedidas convergem
para o mesmo
cardTokenIdativo (HTTP 201).
cardTokenId
salvo no seu sistema sempre que possível.
Exemplo
Resposta (201)
Cobrando com o cardTokenId
Use o token noPOST /v1/payments enviando card.cardTokenId no lugar dos dados abertos do cartão, sem PAN, sem CVV e sem customer:
card.cardTokenIdnão pode ser combinado comnumber/cvv/holderName/expiração; nome do portador, validade e bandeira vêm do Cofre.customernão pode ser enviado comcard.cardTokenId; a cobrança usa o customer já vinculado ao token no Cofre e a transação fica ligada a esse customer.- A cobrança é sempre CIT (cliente presente). Não envie iniciação MIT neste endpoint.
- Token de outra conta, inativo ou inexistente responde 404.
- Recomendamos enviar
x-idempotency-keypara retry seguro.
Campos importantes
Rate limit
POST /v1/vault/tokenize tem limite de 30 requisições por minuto por IP.
Se exceder, a API responde HTTP 429 Too Many Requests.
Não há headers Retry-After nem X-RateLimit-* neste endpoint.
Retries
Dados sensíveis
Nunca registre em logs, métricas ou traces:- PAN completo (
card.number) - CVV/CVC (
card.securityCode) client-secret- network token completo ou criptogramas
Erros
Próximos passos
Guardar cartão no Cofre
Referência completa do endpoint
Cobrar com o token
POST /v1/payments com card.cardTokenId

