Skip to content

代付接口

创建代付订单

请求地址

POST https://zhcpay.net/api/payment/pay?mchId={mchId}

IP 白名单

请求 IP 必须在商户的 PayIPWhiteList 白名单中,否则请求将被拒绝。

测试信息

国家测试商户号测试限额密钥 Key
印度17278083671-100e0dbdbe3b5f53a792ae6a7762cd61016

测试 Token,添加到请求头 Authorization

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtY2hJZCI6IjE3Mjc4MDgzNjciLCJpYXQiOjE3Mjc5MzI5NjB9.r9szkloixPMQdKs0lpx5g9TbLbY_Qo1PNqHMEB1CBvY

请求参数 (JSON Body)

参数名类型必填示例描述
mchOrderNostring2020092809545221商户转账订单号
amountstring20000转账金额,必须为整数
bankCodestring收款银行代码
receiveNamestringan ni收款银行户名,须大于 5 个字母,不可有数字和特殊符号
receiveAccountstring123456789银行账号
subBankCodestringABCD0123456印度银行分行 IFSC 编码
notifyUrlstringhttps://example.com/notify异步通知地址

Query 参数

mchId(必填)— 商户ID,拼接在 URL 中

响应参数

参数名类型描述
codeint0 为成功,其他为失败
messagestring状态码不为 0 时有错误消息
data.orderNostring平台订单号(P 开头)
data.amountstring转账金额
data.mchIdstring商户 ID
data.mchOrderNostring商户订单号
data.payStatusint转账状态

响应示例

json
{
  "code": 0,
  "message": "",
  "data": {
    "orderNo": "P20260324...",
    "amount": "1000",
    "mchId": "10001",
    "mchOrderNo": "MCH_002",
    "payStatus": 0
  }
}

流程说明

校验参数和 IP 白名单 → 加商户锁 → 扣减钱包余额(金额 + 费率 + 手续费)→ 创建代付订单

请求示例 (Python)
python
import requests
import json

url = 'https://zhcpay.net/api/payment/pay?mchId=1727808367'

data = {
    "mchOrderNo": "301658256078",
    "amount": "90",
    "bankCode": "IDPT0001",
    "receiveName": "test name",
    "receiveAccount": "123456789",
    "subBankCode": "ABCD0123456",
    "notifyUrl": "https://example.com/notify"
}

headers = {
    'Content-Type': 'application/json',
    'Authorization': 'your_jwt_token_here'
}

response = requests.post(url, json=data, headers=headers)
print(response.json())

代付订单通知

订单转账完成后,平台向商户 notifyUrl 推送通知。

参数名类型描述
codeint推送标识符,2 表示代付订单
mchIdstring商户 ID
data.mchOrderNostring商户订单号
data.orderNostring平台订单号
data.payStatusint支付状态
data.amountstring代付金额

payStatus 状态说明

状态值描述
0申请成功
1转账成功
2转账失败
3转账拒绝
4转账处理中

通知示例

json
{
  "code": 2,
  "mchId": "169552010",
  "data": {
    "orderNo": "P202025532144555",
    "mchOrderNo": "202010215653232",
    "payStatus": 1,
    "amount": "200"
  }
}

注意

收到通知后需返回字符串 success,否则平台将连续补发 8 次。