代收接口
创建收款订单
一个接口同时服务两种收款产品:pay_type=1 返回托管页,渲染 UPI 二维码并唤起用户的 UPI 应用;pay_type=2 返回支付参数,由你自己的收银台完成支付环节。
最后更新 2026-10-24
请求参数
merchant_order_no 在商户维度必须唯一,同时充当幂等键。
| 参数 | 必填 | 类型 | 说明 |
|---|---|---|---|
| user_id | 是 | int | 商户 ID |
| merchant_order_no | 是 | string | 你的订单号,商户内唯一 |
| pay_type | 是 | int | 1 = 扫码唤醒(托管),2 = 原生直连 |
| amount | 是 | decimal | INR。扫码唤醒 100–50,000;原生 100–5,000 |
| callback_url | 是 | string | 接收异步回调的地址 |
| remark | 否 | string | 备注信息 |
| sign | 是 | string | MD5 签名,见下方 |
签名算法
按下面顺序拼接六个值,取 32 位小写 MD5。
sign = md5(user_id + merchant_order_no + amount + pay_type + callback_url + key)
# example
md5("10093" + "MCH20261024001" + "1000" + "2" +
"https://merchant.com/callback" + "64967e6b92c11ffde8b804ff4808022f")返回字段
创建成功时 status 为 1(待支付)。把用户引导到 pay_link,或在 webview 中打开。
| 字段 | 类型 | 说明 |
|---|---|---|
| platform_order_no | string | 平台订单号,回调中出现 |
| merchant_order_no | string | 原样返回你的订单号 |
| amount | decimal | 订单金额 |
| fee | decimal | 成功后的手续费 |
| pay_link | string | 给用户打开的支付链接 |
| status | int | 1 待支付,2 已支付,3 支付失败 |
如何选择 pay_type
不想自己做支付界面时用 1:移动端 H5、发票、聊天成交。托管页还能解决"电脑下单、手机付款",直接渲染二维码。
收银台本身就是产品、每次跳转都在掉转化时用 2。限额更低(单笔 5,000),费率也不同。
常见问题
重复提交同一个 merchant_order_no 会怎样?
会被视为同一笔订单而不是新建 —— 网络重试时正是你要的行为,但如果无意复用,也是产生重复订单最快的方式。
创建后还能改金额吗?
不能。用新的 merchant_order_no 重新下单,让旧订单自然过期。