概览
商户 API 概览
一套传输方式、一套签名规则、五个接口。没有 SDK、没有 OAuth、没有 token 刷新 —— 商户号、密钥,加上按顺序拼值算一次 MD5,就是全部鉴权。
最后更新 2026-10-24
传输与格式
所有业务接口均为 HTTP POST,请求体为 application/x-www-form-urlencoded,UTF-8 编码。响应为 JSON,含数字状态码(1 成功、0 失败)、提示信息、服务器时间戳和 data 对象。
接口基地址随商户号通过 Telegram 下发。每个请求都带 user_id 与 sign 字段;没有会话,请求的唯一凭据就是签名。
| 项目 | 值 |
|---|---|
| 请求方式 | HTTP POST |
| 数据格式 | application/x-www-form-urlencoded |
| 字符编码 | UTF-8 |
| 签名算法 | MD5,32 位小写 |
| 回调格式 | JSON POST,返回纯文本 SUCCESS |
接口清单
五个接口覆盖收款、下发与对账。
| 接口 | 用途 |
|---|---|
| POST /api/submit/submitCollect | 创建收款订单(pay_type 1 扫码唤醒,2 原生直连) |
| POST /api/submit/submitPayout | 创建代付,向印度银行账户下发 |
| POST /api/payuser/getBalance | 可用余额、冻结余额与投诉冻结 |
| POST /api/orderquery/collectStatus | 收款订单状态与回调投递状态 |
| POST /api/orderquery/payoutStatus | 代付订单状态 |
快速开始
一次带正确签名的收款请求,从拼参数到拿到支付链接。
# 1. gather the values USER_ID=10093 ORDER=MCH20261024001 AMOUNT=1000 PAY_TYPE=1 CALLBACK=https://merchant.com/callback KEY=your_secret_key # 2. sign: md5(user_id + merchant_order_no + amount + pay_type + callback_url + key) SIGN=$(printf "%s" "$USER_ID$ORDER$AMOUNT$PAY_TYPE$CALLBACK$KEY" | md5sum | cut -d' ' -f1) # 3. submit curl -X POST "$BASE_URL/submit/submitCollect" \ -d "user_id=$USER_ID" \ -d "merchant_order_no=$ORDER" \ -d "pay_type=$PAY_TYPE" \ -d "amount=$AMOUNT" \ -d "callback_url=$CALLBACK" \ -d "sign=$SIGN"
统一响应结构
只需要根据 code 分支处理。code 为 0 时 data 恒为 null。
{
"code": 1,
"msg": "提交成功",
"time": 1719000000,
"data": {
"platform_order_no": "P202610240830150001234",
"merchant_order_no": "MCH20261024001",
"amount": 1000,
"fee": 30.00,
"pay_type": 1,
"status": 1,
"pay_link": "https://pay.example.com/pay/xxxxx"
}
}常见问题
需要把我的服务器 IP 加白名单吗?
不需要。请求只靠签名鉴权。如果你还想加一层 IP 白名单,可以 Telegram 联系我们配置。
有沙箱环境吗?
有。申请后会下发测试商户号与密钥,接口与签名规则和生产完全一致。