Z Zise Developers

站内转账的经营配置(限额 · 费率 · 备注长度)

GET /v1/transfers/config scope: transfers:read
商户自身

做转账界面之前先读这一条,别在你那侧写死任何一个数。

GET /v1/transfers/recipient-types 是这一条的子集,保留是为了不改已经接了的商户;新接入直接用这一条。

── fee_payer 决定用户看到的是哪两个数 ──

  • sender 外扣:发起方共扣 amount + fee,收款方实收 amount
  • receiver 内扣:发起方共扣 amount,收款方实收 amount − fee

两种模式下确认页要显示的数完全不同,试算区必须跟着切。

── 金额一律是最小单位整数串 ──位数 = 该资产的 ledger_scaleGET /v1/assets 里有)。"" 表示不限(我方内部用 0 表示不限,这里转成空串,免得你把「不限」当成「上限是 0」)。

require_step_up 为 true 时,POST /v1/transfers 会先回step_up_required + hosted_url。把那一跳提前画进你的流程。

参数

这个端点不收任何参数 —— 路径、查询、请求体都没有。鉴权头(x-auth-token)与代会员头 (x-on-behalf-of)的通用约定见 鉴权与签名

响应

200不分页。金额一律是最小单位整数串"" = 不限。
{
  "enabled": true,
  "recipient_types": [
    "uid",
    "email"
  ],
  "reveal_receiver_name": true,
  "require_step_up": true,
  "memo_max_len": 50,
  "min_interval_sec": 3,
  "assets": [
    {
      "asset": "USDT",
      "fee_mode": "none",
      "fee_payer": "sender",
      "fee_bps": 0,
      "fee_fixed": "0",
      "fee_min": "0",
      "fee_max": "",
      "min_amount": "1000000",
      "max_amount": "",
      "daily_amount_limit": "",
      "daily_count_limit": 0,
      "sender_min_kyc": 1,
      "receiver_min_kyc": 0
    }
  ]
}
403insufficient_scope —— 这把 Key 没有 transfers:read
请求
curl -X GET 'https://api.zise.com/v1/transfers/config' \
  -H 'x-auth-token: Bearer $TOKEN'
const res = await fetch("https://api.zise.com/v1/transfers/config", {
  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/config",
    headers={
        "x-auth-token": "Bearer $TOKEN",
    },
)
# 金额用 Decimal(str(...)),不要 float
data = res.json()
req, _ := http.NewRequest("GET", "https://api.zise.com/v1/transfers/config",
    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/transfers/config"))
    .header("x-auth-token", "Bearer $TOKEN")
    .method("GET", HttpRequest.BodyPublishers.noBody())
    .build();
// 金额字段用 String / BigDecimal,不要 double
$ch = curl_init('https://api.zise.com/v1/transfers/config');
curl_setopt_array($ch, [
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_HTTPHEADER => [
    'x-auth-token: Bearer $TOKEN',
  ],
]);
$res = curl_exec($ch);
// 金额用 bcmath / 字符串,不要 floatval
200
{
  "enabled": true,
  "recipient_types": [
    "uid",
    "email"
  ],
  "reveal_receiver_name": true,
  "require_step_up": true,
  "memo_max_len": 50,
  "min_interval_sec": 3,
  "assets": [
    {
      "asset": "USDT",
      "fee_mode": "none",
      "fee_payer": "sender",
      "fee_bps": 0,
      "fee_fixed": "0",
      "fee_min": "0",
      "fee_max": "",
      "min_amount": "1000000",
      "max_amount": "",
      "daily_amount_limit": "",
      "daily_count_limit": 0,
      "sender_min_kyc": 1,
      "receiver_min_kyc": 0
    }
  ]
}