您需要在本周验证卡BIN,以便您的结账、KYC或风险引擎可以决定如何路由、标记或丰富交易。通过本文,您将调用一个生产就绪的金融API来验证6位数的BIN,并读取卡品牌、类型和发行者元数据,您可以直接将其插入到您的流程中。
此API返回的内容及开发者使用它的原因
Zyla API Hub上的信用卡验证器 - BIN检查器API根据其BIN(前6位数字)返回有关支付卡的详细信息。您可以确认BIN是否有效,并读取包括card_brand、card_type、card_level、发行者元数据和ISO国家字段在内的字段。
典型的金融用例:
- 结账流程:提前确定卡品牌和类型以优化用户体验(例如,显示品牌徽标,调整字段掩码)。
- 欺诈/风险:根据发行者国家或不支持的类型阻止或审核交易。
- 路由:根据品牌或类型选择收单方或支付渠道。
- 分析:按品牌/类型对交易进行细分以进行报告。
您将通过Zyla API Hub访问此API,该平台提供一个帐户和密钥,覆盖超过10,000个公共API。市场中的身份验证是相同的,这简化了您的集成和维护。
在Zyla API Hub上开始
打开我们在此使用的金融类别API的市场列表并订阅。您通过订阅和配额获得使用权限(不是按调用付费)。您连接的第一个API可以从7天的试用或50个请求开始;请查看项目页面以获取当前访问选项。
- 访问API页面: 开始7天试用信用卡验证器 - BIN检查器API
- 点击订阅或开始免费试用(如可用),然后获取您的API密钥。
- 在每个请求中使用您的密钥与Authorization: Bearer YOUR_API_KEY头。
您可以在Zyla API Hub上浏览更多金融API和其他类别,并在市场中重用相同的密钥和订阅模型。
端点参考和cURL快速入门
以下是您进行BIN验证和丰富所需的单个端点。仅支持明确列出的参数;请勿添加其他参数。
- 端点:BIN检查器
- 方法:GET
- 请求URL:https://zylalabs.com/api/40/credit-card-validator-bin-checker-api/1885/bin-checker
- 所需查询参数:
- bin(字符串):6位数银行识别号码
身份验证:
- 头:Authorization: Bearer YOUR_API_KEY
官方cURL示例(复制/粘贴以验证您的设置):
curl -s -X GET "https://zylalabs.com/api/40/credit-card-validator-bin-checker-api/1885/bin-checker?bin=346350" \
-H "Authorization: Bearer YOUR_API_KEY"
官方JSON响应(您将解析的字段如下所示,完全与返回的内容相同):
{
"status": 200,
"success": true,
"isValid": true,
"message": "The BIN number is valid.",
"data": {
"bin_iin": "346350",
"card_brand": "AMERICAN EXPRESS",
"card_type": "CREDIT",
"card_level": "------",
"issuer_name_bank": "------",
"issuer_bank_website": "API Only",
"issuer_bank_phone": "API Only",
"iso_country_name": null,
"iso_country_code": null
}
}
您可能会使用的字段说明:
- isValid:接受或分支逻辑的布尔门,适用于未知/无效的BIN。
- data.card_brand:按品牌显示或路由(例如,AMERICAN EXPRESS)。
- data.card_type:CREDIT或DEBIT处理差异(例如,附加费规则,路由)。
- data.bin_iin:输入BIN的回显(用于日志记录和分析)。
- 发行者和ISO字段:可选丰富;以字符串或null形式呈现。
通过MCP从AI代理调用
如果您希望在兼容的IDE或客户端中与AI代理协调调用,Zyla通过其MCP端点公开市场API。配置您的MCP兼容客户端并指向MCP。使用您的Zyla API密钥与apikey查询参数用于MCP端点(即,apikey=YOUR_API_KEY)。在您工具的请求中,目标是相同的BIN检查器GET URL,并传递如上所示的bin查询字符串。响应体和字段与直接HTTP调用保持一致。
Python示例:验证BIN并分支您的流程
这个最小的Python代码片段调用上面的确切端点,读取isValid,然后根据card_brand和card_type进行分支。它被编写为可以直接复制粘贴到CLI工具或后端服务中以供立即使用。
import os
import requests
API_KEY = os.getenv("ZYLA_API_KEY", "YOUR_API_KEY")
URL = "https://zylalabs.com/api/40/credit-card-validator-bin-checker-api/1885/bin-checker"
params = {"bin": "346350"}
headers = {"Authorization": f"Bearer {API_KEY}"}
resp = requests.get(URL, params=params, headers=headers, timeout=15)
resp.raise_for_status()
data = resp.json()
# 快速检查
if not data.get("success"):
raise RuntimeError(f"请求未成功:{data}")
if not data.get("isValid"):
print("无效或未知的BIN。应用后备或阻止。")
else:
info = data.get("data", {})
brand = info.get("card_brand")
ctype = info.get("card_type")
issuer = info.get("issuer_name_bank")
iso_code = info.get("iso_country_code")
# 示例路由逻辑
if brand == "AMERICAN EXPRESS":
print("路由到AMEX兼容的收单方。")
elif brand in ("VISA", "MASTERCARD"):
print("路由到主流收单方A。")
else:
print("使用默认收单方B。")
# 示例合规/风险检查
if ctype == "CREDIT":
print("如适用,应用信用卡附加费逻辑。")
if iso_code is None:
print("发行者国家未知;考虑额外检查。")
# 记录或发出结构化事件
result = {
"bin": info.get("bin_iin"),
"brand": brand,
"type": ctype,
"issuer": issuer,
"iso_country_code": iso_code,
}
print("BIN查找结果:", result)
生产注意事项:
- 超时:10–20秒对于网络变化是合理的;根据您的SLO进行调整。
- 缓存:BIN数据相对稳定;按6位数BIN缓存数小时或数天以减少延迟和调用。
- 重试:在瞬态HTTP错误上实现幂等重试。
- PII:BIN不是PAN级别的PII,但仍需谨慎处理日志;切勿记录完整的卡号。
您可以测试和解析的响应示例
以下所有示例演示了官方响应形状。您可以在解析逻辑中依赖这些字段名称。
示例A
{
"status": 200,
"success": true,
"isValid": true,
"message": "The BIN number is valid.",
"data": {
"bin_iin": "346350",
"card_brand": "AMERICAN EXPRESS",
"card_type": "CREDIT",
"card_level": "------",
"issuer_name_bank": "------",
"issuer_bank_website": "API Only",
"issuer_bank_phone": "API Only",
"iso_country_name": null,
"iso_country_code": null
}
}
示例B(相同结构;验证您的JSON解析是否对null稳健)
{
"status": 200,
"success": true,
"isValid": true,
"message": "The BIN number is valid.",
"data": {
"bin_iin": "346350",
"card_brand": "AMERICAN EXPRESS",
"card_type": "CREDIT",
"card_level": "------",
"issuer_name_bank": "------",
"issuer_bank_website": "API Only",
"issuer_bank_phone": "API Only",
"iso_country_name": null,
"iso_country_code": null
}
}
示例C(在单元测试中使用以固定字段名称和类型)
{
"status": 200,
"success": true,
"isValid": true,
"message": "The BIN number is valid.",
"data": {
"bin_iin": "346350",
"card_brand": "AMERICAN EXPRESS",
"card_type": "CREDIT",
"card_level": "------",
"issuer_name_bank": "------",
"issuer_bank_website": "API Only",
"issuer_bank_phone": "API Only",
"iso_country_name": null,
"iso_country_code": null
}
}
示例D(以模式为中心:在深入数据之前读取顶级标志)
{
"status": 200,
"success": true,
"isValid": true,
"message": "The BIN number is valid.",
"data": {
"bin_iin": "346350",
"card_brand": "AMERICAN EXPRESS",
"card_type": "CREDIT",
"card_level": "------",
"issuer_name_bank": "------",
"issuer_bank_website": "API Only",
"issuer_bank_phone": "API Only",
"iso_country_name": null,
"iso_country_code": null
}
}
金融中的实际实现
将BIN检查器插入核心支付工作流程,以减少拒绝并改善决策:
- 结账用户体验:在用户输入第6位数字后,调用端点以确定card_brand并显示相关徽标或更新AMERICAN EXPRESS与其他品牌的输入掩码。
- 风险过滤器:如果isValid为false,在提交给处理器之前阻止或请求替代方法。
- 路由策略:对于card_type == CREDIT,发送到具有有利互换优化的收单方;对于DEBIT(如适用),以不同方式路由或提示PIN选项(如与您的堆栈相关)。
- 合规性:读取iso_country_code以通知地理限制或在发行者区域重要时进行额外的逐步验证。
- 客户支持工具:在您的内部订单查看器中显示BIN元数据,以便代理可以快速理解卡的上下文。
节省时间的工程细节:
- 仅在您确切拥有6位数字时调用API。不要在每次按键时调用。
- 按BIN键缓存;避免每用户重复。即使是一个简单的LRU缓存也可以显著减少延迟和使用。
- 为操作员仪表板提供消息。这是人性化的,有助于调试。
- 记录状态和成功字段。它们对于区分传输问题和域验证非常有用。
- 协调功能标志,以便在BIN服务不可用时,您可以根据风险姿态选择开放或关闭。
需要更多金融构建模块吗?在Zyla API Hub上探索其他类别和列表,并重用相同的市场密钥。
常见问题
所需的最小输入是什么?
您必须使用bin查询参数提供6位数的BIN到BIN检查器GET端点。
我如何进行身份验证?
在您发送到Zyla API Hub端点的每个请求中包含头Authorization: Bearer YOUR_API_KEY。
定价是按调用付费吗?
不。Zyla API使用订阅和配额。请查看市场项目页面以获取当前访问选项和定价。
有免费计划吗?
没有免费计划。对于您的第一个API,您可以在可用时从7天的试用或50个请求开始;请查看列表以获取详细信息。
我可以从代理或IDE助手调用这个吗?
可以。使用Zyla的MCP集成与您的密钥。配置您的MCP兼容客户端以访问相同的BIN检查器端点,并传递如上所示的bin。
准备在生产中验证BIN吗?在市场上订阅并立即开始您的集成: 开始7天试用信用卡验证器 - BIN检查器API。