验证卡片(零额验证)
POST
/api/v1/bank/wallet/zeroauth/Bearer Token身份验证
需要 Bearer 令牌。参见身份验证。
请求字段
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
wallet_uuid | string (UUID) | 是 | 用于路由的钱包上下文 |
holder_name | string | 是 | 持卡人姓名 |
card_number | string | 是 | 主账号 |
expiry_month | string | 是 | 两位月份(01–12) |
expiry_year | string | 是 | 四位年份 |
cvv | string | 是 | 安全码(3–4 位) |
brand | string | 是 | Visa、Mastercard、AmericanExpress、Discover、DinersClub、JCB |
请求示例
- cURL
- Python
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": "张伟",
"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": "张伟",
"card_number": "4111111111111111",
"expiry_month": "12",
"expiry_year": "2030",
"cvv": "123",
"brand": "Visa",
},
timeout=30,
)
data = r.json()
if data["is_valid"]:
print("卡片有效——可进行令牌化")
else:
print(f"卡片被拒绝:代码 {data['code']}")
响应示例
- 有效卡
- 无效卡
- 受限
{
"internal_uuid": "d96561ac-4331-4553-921c-d1b01c63521d",
"is_valid": true,
"code": "00"
}
{
"internal_uuid": "d96561ac-4331-4553-921c-d1b01c63521d",
"is_valid": false,
"code": "57"
}
{
"internal_uuid": "d96561ac-4331-4553-921c-d1b01c63521d",
"is_valid": false,
"code": "389"
}
响应码
| 码 | 含义 | 操作建议 |
|---|---|---|
00 | 已批准 / 卡片有效 | 继续令牌化或扣款 |
05 | 拒绝交易 | 请持卡人联系银行 |
14 | 无效卡号 | 检查 Luhn 校验 |
54 | 卡片过期 | 请使用有效卡片 |
57 | 交易不允许 | 尝试使用其他卡片 |
62 | 受限卡片 | 卡片已被发卡行冻结 |
63 | 安全违规 | CVV 不匹配 |
N7 | CVV 验证失败 | 重新输入 CVV |
91 | 发卡行不可用 | 稍后重试 |
96 | 系统故障 | 重试或联系支持 |
389 | 注册限制 | 卡片受限 |
500 | 请求无效 | 修正请求体 |
说明
internal_uuid引用验证尝试,可用于支持工单- A55 安全处理 PAN 和 CVV;生产环境建议使用令牌
- 结合卡片令牌化使用,仅对已验证的卡片进行存储