Z Zise Developers

银行目录搜索(BIC / 行名 → 行名 + 地址)

GET /v1/remit/swift-search scope: remittances:read
商户自身

搜一下选中,银行名称与地址自动带出。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": ""
    }
  ]
}
429rate_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 接,不要 float64
HttpRequest 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": ""
    }
  ]
}