Z Zise Developers

单条收款人(含 upstream_status)

GET /v1/remit/payees/{id} scope: remittances:read
代会员调用 · 必带 x-on-behalf-of

列表是 keyset 游标且没有任何按 id 过滤的入参 —— 少了这个端点,

想回显一条老收款人只能一页页翻到底,或者自己缓存一份。

而缓存之后 name_mismatchupstream_status 这两位就永远停在

建档那一刻的值上,它们恰恰是建档之后才会变的

POST /v1/remit/payees 返回 outcome: review(户名与既有记录不一致)

之后想复查这条记录当前长什么样,问这里。

upstream_status:上游认不认这条收款人

我方的收款人是上游无关的实体(建档不碰上游),上游建档默认发生在

下单分发那一刻。这一位就是「那一步会不会成功」的提前答案:

  • not_submitted 还没往上游送过。这是新建收款人的正常状态

不是异常。想提前送,调 POST /v1/remit/payees/{id}/verify

  • pending 已送出,上游在验证。正常几分钟;
  • active 上游认了,可以出款。上游指南原文:

「Do not create payouts until the beneficiary is ACTIVE」;

  • failed 上游拒了这条数据本身,这是终态。

重试不会变对 —— 处置是让终端用户改收款人(重新建一条,

账户标识变了就是新主体),或联系我方;

  • deleted 上游那一侧的记录被删了;
  • unknown 我方此刻答不出这条线的上游身份(这条线没有启用的供应商,

或这个会员还没有个人线子账户)。这不是收款人的问题 ——

处置是先把那条线开通,所以它和 not_submitted 不是一回事。

⚠ 我方不下发是哪一家供应商、也不下发上游那条记录的 id。

statusactive / blocked)是我方本地的启停位,与上面这一位无关。

路径参数

字段类型必填说明
id string 必填 收款人号。pye_ 前缀可带可不带;剥掉后必须是纯数字。

查询参数

字段类型必填说明
line "express" | "pobo" 可选 按哪条线求 upstream_status同一条收款人在两条线下是两条独立的 上游记录(个人线走该会员自己的子账户上下文)。其余字段与它无关。
字段类型必填说明
x-on-behalf-of string 必填 代哪个会员调用。

响应

200OK
{
  "id": "pye_1042",
  "nickname": "房东",
  "entity_type": "INDIVIDUAL",
  "country": "GB",
  "currency": "GBP",
  "payment_method": "LOCAL",
  "clearing_system": "FASTER PAYMENTS",
  "summary": "Barclays ····4821",
  "bank_name": "Barclays",
  "account_holder": "MARY SMITH",
  "status": "active",
  "upstream_status": "active",
  "name_mismatch": false,
  "created_at": "2026-08-01T02:11:04Z"
}
404not_found 这个会员名下没有这条关联(或已经解除过了)。 id 不是数字也走这一档 —— 不区分是刻意的。
请求
curl -X GET 'https://api.zise.com/v1/remit/payees/{id}' \
  -H 'x-auth-token: Bearer $TOKEN' \
  -H 'x-on-behalf-of: $MEMBER_ID'
const res = await fetch("https://api.zise.com/v1/remit/payees/{id}", {
  method: "GET",
  headers: {
    "x-auth-token": "Bearer $TOKEN",
    "x-on-behalf-of": "$MEMBER_ID",
  },
});
// 金额按字符串读,别让它变成 number
const data = await res.json();
import requests

res = requests.get(
    "https://api.zise.com/v1/remit/payees/{id}",
    headers={
        "x-auth-token": "Bearer $TOKEN",
        "x-on-behalf-of": "$MEMBER_ID",
    },
)
# 金额用 Decimal(str(...)),不要 float
data = res.json()
req, _ := http.NewRequest("GET", "https://api.zise.com/v1/remit/payees/{id}",
    nil)
req.Header.Set("x-auth-token", "Bearer $TOKEN")
req.Header.Set("x-on-behalf-of", "$MEMBER_ID")
res, err := http.DefaultClient.Do(req)
// 金额字段用 string 接,不要 float64
HttpRequest req = HttpRequest.newBuilder()
    .uri(URI.create("https://api.zise.com/v1/remit/payees/{id}"))
    .header("x-auth-token", "Bearer $TOKEN")
    .header("x-on-behalf-of", "$MEMBER_ID")
    .method("GET", HttpRequest.BodyPublishers.noBody())
    .build();
// 金额字段用 String / BigDecimal,不要 double
$ch = curl_init('https://api.zise.com/v1/remit/payees/{id}');
curl_setopt_array($ch, [
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_HTTPHEADER => [
    'x-auth-token: Bearer $TOKEN',
    'x-on-behalf-of: $MEMBER_ID',
  ],
]);
$res = curl_exec($ch);
// 金额用 bcmath / 字符串,不要 floatval
200
{
  "id": "pye_1042",
  "nickname": "房东",
  "entity_type": "INDIVIDUAL",
  "country": "GB",
  "currency": "GBP",
  "payment_method": "LOCAL",
  "clearing_system": "FASTER PAYMENTS",
  "summary": "Barclays ····4821",
  "bank_name": "Barclays",
  "account_holder": "MARY SMITH",
  "status": "active",
  "upstream_status": "active",
  "name_mismatch": false,
  "created_at": "2026-08-01T02:11:04Z"
}