Z Zise Developers
PATCH /v1/cards/{id}/limits

设置用户自定义限额(0 = 未自设,落到产品上限)

Scope cards:write 代会员调用 · 必带 x-on-behalf-of

0 的语义是「这一层不设限」,不是「一分都不许刷」。

新卡三项恒为 0,此时生效值落到产品级 max_*。把 0 写成 0 是无操作,

想收紧就填一个正数。

不足一个货币单位的限额一律拒(USD 卡填 "0.5" 会被拒)。

上游那三个字段是整数,而 0 在它那边意味着「不限」—— 悄悄取整的结果是

「用户把限额往严里拧,实际效果是彻底放开」,方向正好相反。

三层之间必须自洽:单笔 ≤ 日 ≤ 月(0 不参与比较)。不校验的话用户能存下

「单笔 5000 / 日 100」,然后在收银台被拒付且看不出是哪一层拒的。

200 只表示「我方已记下」。 限额是异步推给上游的,且**只许往严的

方向落地**(调低成功了才记,调高失败了保持原值)。别把 200 当成

「上游已生效」。

省略某一项 = 保持原值(不是清零)。

前置条件

  • 卡不在 closed / closing / expired
  • 每一项不超过产品级 max_*

路径参数

字段类型必填说明
id string 必填 卡 id
字段类型必填说明
x-on-behalf-of string 必填 代哪个会员调用

请求体

字段类型必填说明
single string 可选 单笔限额,卡本币十进制串。省略 = 保持原值;"0" = 不设限。USD:"500.00"
daily string 可选 单日限额。必须 ≥ single(两者都非 0 时)。
monthly string 可选 单月限额。必须 ≥ daily(两者都非 0 时)。

响应

200我方已记下,正在异步下发上游
{
  "id": "crd_9f2c1b7a-3d51-4a2e-9c08-6b1f0d4e77aa",
  "accepted": true
}
400state_invalid 卡已注销/过期 · product_not_available 产品不可用 ⚠ 超过产品上限、三层不自洽、不足一个货币单位、金额串非法, 目前都以 500 api_error 返回(内部有码,未登记进对外目录)。 这四种全是入参问题,重试不会变好。
404not_found 卡不存在或不在这个会员名下
调用样例
curl -X PATCH 'https://api.zise.com/v1/cards/{id}/limits' \
  -H 'authorization: Bearer $TOKEN' \
  -H 'x-zise-merchant: $MERCHANT_ID' \
  -H 'x-on-behalf-of: $MEMBER_ID' \
  -H 'content-type: application/json' \
  -d '{
    "single": "500.00",
    "daily": "2000.00",
    "monthly": "10000.00"
  }'
const res = await fetch(
  "https://api.zise.com/v1/cards/{id}/limits",
  {
    method: "PATCH",
    headers: {
      "authorization": "Bearer $TOKEN",
      "x-zise-merchant": "MERCHANT_ID",
      "x-on-behalf-of": "MEMBER_ID",
      "content-type": "application/json"
    },
    body: JSON.stringify({
      "single": "500.00",
      "daily": "2000.00",
      "monthly": "10000.00"
    }),
  },
);
// 金额一律按字符串读,不要 JSON.parse 成 number
const data = await res.json();
import requests

res = requests.patch(
    "https://api.zise.com/v1/cards/{id}/limits",
    headers={
        "authorization": "Bearer $TOKEN",
        "x-zise-merchant": "$MERCHANT_ID",
        "x-on-behalf-of": "$MEMBER_ID",
        "content-type": "application/json"
    },
    json={
        "single": "500.00",
        "daily": "2000.00",
        "monthly": "10000.00"
    },
)
# 金额用 Decimal(str(...)),不要 float
data = res.json()