收款人标识方式白名单(由服务端下发)
商户自身
不要写死这个清单。 它由平台按商户配置(uid / email / phone),
传一个没开的类型一律被拒 —— 旧工程的客户端给了「手机号」而后端只认
会员号与邮箱,选它必失败。
缺省是最保守的一档(只有 uid):配置解析不出来时我方不兜底成全开,
那是把一个配置错误变成一次能力扩张。
⚠ 选了 phone 就必须传 E.164(带 + 与国家码)。我方会先归一化再查,
归一化不出来直接当「查无此人」—— 收款方库里存的是归一化后的形态,
用户输的 13800138000 永远匹配不到 +8613800138000。
响应
200不分页;
label 是中文人话,你的界面可以直接用。{
"data": [
{
"type": "uid",
"label": "会员号"
},
{
"type": "email",
"label": "邮箱"
}
],
"next_cursor": null,
"has_more": false
}403
insufficient_scope —— 这把 Key 没有 transfers:read请求
curl -X GET 'https://api.zise.com/v1/transfers/recipient-types' \
-H 'x-auth-token: Bearer $TOKEN'const res = await fetch("https://api.zise.com/v1/transfers/recipient-types", {
method: "GET",
headers: {
"x-auth-token": "Bearer $TOKEN",
},
});
// 金额按字符串读,别让它变成 number
const data = await res.json();import requests
res = requests.get(
"https://api.zise.com/v1/transfers/recipient-types",
headers={
"x-auth-token": "Bearer $TOKEN",
},
)
# 金额用 Decimal(str(...)),不要 float
data = res.json()req, _ := http.NewRequest("GET", "https://api.zise.com/v1/transfers/recipient-types",
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/transfers/recipient-types"))
.header("x-auth-token", "Bearer $TOKEN")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
// 金额字段用 String / BigDecimal,不要 double$ch = curl_init('https://api.zise.com/v1/transfers/recipient-types');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'x-auth-token: Bearer $TOKEN',
],
]);
$res = curl_exec($ch);
// 金额用 bcmath / 字符串,不要 floatval
200
{
"data": [
{
"type": "uid",
"label": "会员号"
},
{
"type": "email",
"label": "邮箱"
}
],
"next_cursor": null,
"has_more": false
}