银行目录搜索(BIC / 行名 → 行名 + 地址)
商户自身
搜一下选中,银行名称与地址自动带出。SWIFT 走廊的收款人要填
swift_code / bank_name / bank_address 三项,没有这个端点
你只能让终端用户手打。
⚠ 手打的 BIC 错一位本地校不出来(我方只校格式),它会一路活到
我方分发那一刻被上游拒 —— 而上游对收款人的拒绝是终态,
且那时用户的钱已经冻上了。这个端点是那一类问题最便宜的堵法。
⚠ 数据源是第三方银行目录,与出款上游无关。它只用来预填:
用户仍可改,最终以他提交的为准。我方不拿它去校验或覆盖已填值
(目录里 address 有 null,行名也未必与收款人对账单上的写法一致,
而真正决定这笔钱到不到的是上游)。
⚠ unavailable: true 与「没搜到」是两件事,别渲染成同一句话。
前者是我方没配目录 key 或目录调不通;把它显示成「查无此银行」,
就是把我方的问题说成用户填错了。
查询串短于 6 个字符且不像 BIC 时我方不出网(一两个字符能匹配
上千家行),返回 banks: [] + unavailable: false。
做输入联想时请自己做防抖。
查询参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
q |
string | 必填 | BIC(8 或 11 位)或银行名称片段。行名超过 64 字符会被截断。 |
country |
string | 可选 | 两位大写国家码。只在按行名搜时生效(按 BIC 搜时忽略)。 |
响应
200OK
{
"unavailable": false,
"banks": [
{
"swift_code": "BUKBGB22",
"bank_name": "BARCLAYS BANK PLC",
"address": "1 CHURCHILL PLACE",
"city": "LONDON",
"country_code": "GB",
"branch": ""
}
]
}429
rate_limited 独立的一道闸(每商户 300 次/分钟)。目录是按次
计费的外部资源,而你后面是全部终端用户在边打字边搜。请求
curl -X GET 'https://api.zise.com/v1/remit/swift-search' \
-H 'x-auth-token: Bearer $TOKEN'const res = await fetch("https://api.zise.com/v1/remit/swift-search", {
method: "GET",
headers: {
"x-auth-token": "Bearer $TOKEN",
},
});
// 金额按字符串读,别让它变成 number
const data = await res.json();import requests
res = requests.get(
"https://api.zise.com/v1/remit/swift-search",
headers={
"x-auth-token": "Bearer $TOKEN",
},
)
# 金额用 Decimal(str(...)),不要 float
data = res.json()req, _ := http.NewRequest("GET", "https://api.zise.com/v1/remit/swift-search",
nil)
req.Header.Set("x-auth-token", "Bearer $TOKEN")
res, err := http.DefaultClient.Do(req)
// 金额字段用 string 接,不要 float64HttpRequest req = HttpRequest.newBuilder()
.uri(URI.create("https://api.zise.com/v1/remit/swift-search"))
.header("x-auth-token", "Bearer $TOKEN")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
// 金额字段用 String / BigDecimal,不要 double$ch = curl_init('https://api.zise.com/v1/remit/swift-search');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'x-auth-token: Bearer $TOKEN',
],
]);
$res = curl_exec($ch);
// 金额用 bcmath / 字符串,不要 floatval
200
{
"unavailable": false,
"banks": [
{
"swift_code": "BUKBGB22",
"bank_name": "BARCLAYS BANK PLC",
"address": "1 CHURCHILL PLACE",
"city": "LONDON",
"country_code": "GB",
"branch": ""
}
]
}