可用走廊(按商户授权过滤)
「走廊」= 收款国家 × 到账币种 × 收款方式 × 清算网络。它是这条线上
一切的前置:字段契约按它求值、收款人按它建档、订单按收款人自带的
那一份走廊分发。
一条走廊有四段:country × currency × payment_method ×
clearing_systems[]。前三段是选择器,清算网络是选完之后的第四个选项
—— 库里按清算网络逐行存,本接口把它们聚合成数组。
建收款人必须带上其中一个(clearing_system),四段缺一段
GET /v1/remit/payee-form-schema 与 POST /v1/remit/payees 都会回
corridor_not_supported,而那句文案读起来像「我方不开这条走廊」。
⚠ clearing_system 的值原样回灌,一个字母都别改(上游实测返回
FASTER PAYMENTS,它自己的文档写的是 Faster Payments)。
entity_type(个人 / 企业)不在这里 —— 它是收款人的维度,
由终端用户在建档时选,作为入参传给 payee-form-schema。
本接口 2026-08-13 之前的出参里有这个字段,那是个实现错误
(走廊表上根本没有这一列,副作用是本接口恒返回空清单)。
过滤规则,五道,全部在服务端:
1. enabled = 1 —— 我方开没开(自有决策);
2. upstream_gone_at IS NULL —— 上游还有没有(同步 cron 维护)。
缺了这一条,上游已经撤掉的走廊会继续挂在清单上,你的用户填完
收款人才在下单那步失败;
3. 商户授权 —— 你名下一条授权都没有时视为「全部可用」,配了授权
就只剩授权内的 (country, currency);
4. 我方结算币兑不出来的到账币种不出现(否则会在下单前置校验被
corridor_not_supported 拒回);
5. 受限辖区与我方建不出合法上游请求体的走廊不出现。
所以这份清单是你的清单,不是平台的全集,别缓存下来跨商户复用;
第 4 条还与 line 有关(两条线可以配不同结算币)。
⚠ 取数失败时返回的是 5xx(带 request_id)而不是空清单。
空清单只有一个意思:按上面五道过滤下来,你名下一条可用走廊都没有。
查询参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
line |
"express" | "pobo" | 可选 | 业务线。只影响第 4 道过滤(结算币可兑性)——
两条线可以配不同的结算币。认不出的值按 express 处理。 |
响应
has_more 恒为 false(枚举类清单不分页)。{
"data": [
{
"country": "GB",
"currency": "GBP",
"payment_method": "LOCAL",
"clearing_systems": [
"FASTER PAYMENTS",
"CHAPS"
]
},
{
"country": "SG",
"currency": "SGD",
"payment_method": "LOCAL",
"clearing_systems": [
"FAST"
]
}
],
"next_cursor": null,
"has_more": false
}insufficient_scope 这把 Key 没有 remittances:read。curl -X GET 'https://api.zise.com/v1/remit/corridors' \
-H 'x-auth-token: Bearer $TOKEN'const res = await fetch("https://api.zise.com/v1/remit/corridors", {
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/corridors",
headers={
"x-auth-token": "Bearer $TOKEN",
},
)
# 金额用 Decimal(str(...)),不要 float
data = res.json()req, _ := http.NewRequest("GET", "https://api.zise.com/v1/remit/corridors",
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/corridors"))
.header("x-auth-token", "Bearer $TOKEN")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
// 金额字段用 String / BigDecimal,不要 double$ch = curl_init('https://api.zise.com/v1/remit/corridors');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'x-auth-token: Bearer $TOKEN',
],
]);
$res = curl_exec($ch);
// 金额用 bcmath / 字符串,不要 floatval
{
"data": [
{
"country": "GB",
"currency": "GBP",
"payment_method": "LOCAL",
"clearing_systems": [
"FASTER PAYMENTS",
"CHAPS"
]
},
{
"country": "SG",
"currency": "SGD",
"payment_method": "LOCAL",
"clearing_systems": [
"FAST"
]
}
],
"next_cursor": null,
"has_more": false
}