Pular para o conteúdo principal

Tokenizar cartão

POST/api/v1/bank/wallet/tokenization/Bearer Token

Cabeçalhos da requisição

CabeçalhoValorObrigatório
AuthorizationBearer {A55_ACCESS_TOKEN}Sim
Content-Typeapplication/jsonSim
Idempotency-KeyUUID v4Recomendado

Corpo da requisição

CampoTipoObrigatórioDescrição
wallet_uuidstring (UUID)SimID da carteira
merchant_uuidstring (UUID)SimID do merchant
cardobjectSimInformações do cartão a tokenizar
card.holder_namestringSimNome do titular como impresso no cartão
card.numberstringSimNúmero do cartão (PAN), 13–16 dígitos
card.expiry_monthstringSimMês de validade (0112), 2 dígitos
card.expiry_yearstringSimAno de validade (YYYY), 4 dígitos
card.cvvstringSimCódigo de segurança (CVV), 3 dígitos
Tratamento de dados do cartão

Ao enviar dados brutos do cartão, a A55 os criptografa e armazena em cofre imediatamente após o recebimento. Se preferir não manipular dados de cartão no seu backend, use o SDK A55Pay ou a Página de Checkout.


Campos da resposta

CampoTipoDescrição
token_uuidstring (UUID)Identificador de token reutilizável para cobranças futuras
card_brandstringBandeira do cartão (visa, mastercard, amex, elo)
card_last_fourstringÚltimos 4 dígitos do cartão
card_expiry_monthstringMês de validade
card_expiry_yearstringAno de validade
statusstringactive em caso de sucesso
created_atstringTimestamp de criação ISO 8601

Exemplo de resposta

{
"token_uuid": "d7641ce9-9411-432c-bb25-240ce7dd3cef",
"card_brand": "visa",
"card_last_four": "3191",
"card_expiry_month": "12",
"card_expiry_year": "2030",
"status": "active",
"created_at": "2026-03-21T14:30:00-03:00"
}

Códigos de status HTTP

StatusDescrição
200Cartão tokenizado com sucesso
400Dados do cartão inválidos ou campos obrigatórios ausentes
401Token Bearer inválido ou expirado
403Permissões insuficientes para esta carteira
404Carteira não encontrada
409Cartão já tokenizado para esta carteira
422Validação do cartão falhou (número inválido, expirado)
429Limite de requisições excedido
500Erro interno do servidor — tente novamente com backoff exponencial

Exemplos de código

curl -s -X POST https://sandbox.api.a55.tech/api/v1/bank/wallet/tokenization/ \
-H "Authorization: Bearer $A55_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: 880e8400-e29b-41d4-a716-446655440003" \
-d '{
"wallet_uuid": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"merchant_uuid": "d6f921ef-5bdd-4ebf-a065-bd38de839bd1",
"card": {
"holder_name": "MARIA SILVA",
"number": "4024007153763191",
"expiry_month": "12",
"expiry_year": "2030",
"cvv": "123"
}
}'

Simulação em sandbox

Em sandbox, os resultados de tokenização seguem as mesmas regras de cartões de teste das cobranças. Um enrollment bem-sucedido retorna HTTP 200 com token_uuid; falhas retornam HTTP 400 com card_tokenization_failed.

Requer tokenization_enabled: true no merchant. Entre em contato com seu account manager para habilitar.


Exemplo de resposta de erro

{
"status": "error",
"message": [
{
"code": "INVALID_CARD_NUMBER",
"source": "validation",
"description": "Card number failed Luhn check"
}
]
}