Zero Auth
Quick Reference
WhatValidação de cartão sem cobrança
WhyConfirme que o cartão está ativo sem movimentar dinheiro
DifficultyBeginner
PrerequisitesAutenticação → Carteira
O Zero Auth realiza uma pré-autorização não-monetária para confirmar que um cartão está ativo, válido e com probabilidade de sucesso em uma cobrança futura. Nenhum fundo é retido, nenhum limite de crédito é afetado.
Por que zero auth
| Caso de uso | Detalhe |
|---|---|
| Setup de assinatura | Valide o cartão antes do primeiro ciclo de faturamento |
| Cartão em arquivo | Confirme que um cartão salvo ainda funciona antes do checkout |
| Pré-verificação de fraude | Detecte cartões inválidos ou roubados antes da autorização |
| Onboarding | Verifique o método de pagamento durante a criação da conta |
Endpoint
POST https://core-manager.a55.tech/api/v1/bank/wallet/zeroauth/
Campos da requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
wallet_uuid | string (UUID) | Sim | Contexto da carteira para roteamento |
holder_name | string | Sim | Nome no cartão |
card_number | string | Sim | Número da conta primária |
expiry_month | string | Sim | Mês com dois dígitos (01–12) |
expiry_year | string | Sim | Ano com quatro dígitos |
cvv | string | Sim | Código de segurança (3–4 dígitos) |
brand | string | Sim | Bandeira do cartão: Visa, Mastercard, AmericanExpress, Discover, DinersClub, JCB |
Exemplos
- cURL
- Python
- JavaScript
curl -sS -X POST 'https://core-manager.a55.tech/api/v1/bank/wallet/zeroauth/' \
-H 'Authorization: Bearer $ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"wallet_uuid": "1f937eb2-cf2c-421c-aa24-3f26519f42fa",
"holder_name": "Jane Doe",
"card_number": "4111111111111111",
"expiry_month": "12",
"expiry_year": "2030",
"cvv": "123",
"brand": "Visa"
}'
import os, requests
r = requests.post(
"https://core-manager.a55.tech/api/v1/bank/wallet/zeroauth/",
headers={"Authorization": f"Bearer {os.environ['ACCESS_TOKEN']}"},
json={
"wallet_uuid": "1f937eb2-cf2c-421c-aa24-3f26519f42fa",
"holder_name": "Jane Doe",
"card_number": "4111111111111111",
"expiry_month": "12",
"expiry_year": "2030",
"cvv": "123",
"brand": "Visa",
},
timeout=30,
)
data = r.json()
if data["is_valid"]:
print("Card is valid — proceed to tokenization or charge")
else:
print(f"Card rejected: code {data['code']}")
const res = await fetch('https://core-manager.a55.tech/api/v1/bank/wallet/zeroauth/', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.ACCESS_TOKEN}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
wallet_uuid: '1f937eb2-cf2c-421c-aa24-3f26519f42fa',
holder_name: 'Jane Doe',
card_number: '4111111111111111',
expiry_month: '12',
expiry_year: '2030',
cvv: '123',
brand: 'Visa',
}),
});
const { is_valid, code } = await res.json();
Resposta (válido)
{
"internal_uuid": "d96561ac-4331-4553-921c-d1b01c63521d",
"is_valid": true,
"code": "00"
}
Resposta (inválido)
{
"internal_uuid": "d96561ac-4331-4553-921c-d1b01c63521d",
"is_valid": false,
"code": "05"
}
Códigos de resposta
| Código | Descrição | Ação |
|---|---|---|
00 | Aprovado / cartão válido | Prossiga com tokenização ou pagamento |
05 | Não autorizado | Emissor recusou — peça ao portador que contate o banco |
14 | Número de cartão inválido | Verifique o formato do número (verificação Luhn) |
51 | Fundos insuficientes | Incomum para zero auth — tente novamente depois |
54 | Cartão expirado | Solicite um cartão com validade válida |
57 | Transação não permitida | Verifique a configuração do cartão ou use outro cartão |
62 | Cartão restrito | Cartão bloqueado pelo emissor |
63 | Violação de segurança | Possível incompatibilidade de CVV |
76 | Dados inválidos enviados | Revise os campos da requisição |
79 | Erro de autorização | Erro temporário do emissor — tente novamente depois |
N7 | Falha no CVV | Redigite o CVV; verifique o comprimento |
91 | Emissor indisponível | Problema de rede — tente novamente depois |
96 | Mau funcionamento do sistema | Erro genérico — tente novamente ou contate o suporte |
389 | Restrição de cadastro | Cartão restrito a nível de cadastro |
500 | Requisição inválida | Estrutura de requisição inválida |
Combine com tokenização
Execute o zero auth antes da tokenização explícita para armazenar apenas cartões confirmados como válidos.