代付接口 API(Payout API)
| 参数名 | 类型 | 必填 | 示例 | 描述 |
|---|---|---|---|---|
| mchId | string | ✅ | LEtest067 | 必填项 商户号 / 注意:商户号不为商户ID |
| mchOrderNo | string | ✅ | 202503110001 | 商户订单号 |
| amount | int | ✅ | 10000 | 必填项 金额(分)必须为100的正整数倍 / 实际金额100,这里需要传10000 |
| currency | string | ✅ | INR | 必填项 币种 / Currency |
| phoneNumber | String(30) | ❌ | 6888889999 | 手机号,[6-9]开头10位 |
| payerEmail | String | ❌ | 123@gmail.com | 标准的邮箱格式必须包括@和.其中@之前至少2个字符 |
| accountName | string | ❌ | 收款人账户名,2-48个字符内 | |
| accountNo | string | ✅ | 必填项 收款人卡号,必须为真实 | |
| accountBankCode | string | ✅ | BANK | 必填项 填写固定值BANK,银行编码 |
| notifyUrl | string | ✅ | https://merchant.com/notify | 必填项 回调地址 |
| extra | string | ✅ | 必填项 填写IFSC或VPA值,必须为真实 | |
| sign | string | ✅ | 5E0AA05D… | 必填项 签名值 / Signature |
| remark | string | ❌ | 备注 |
请求示例 / Request Example
jsx
POST /api/agentpay/apply
mchId="运营提供的商户号"
mchOrderNo="202503110001"
amount=10000
currency="INR"
phoneNumber="6888889999"
payerEmail="123@test.com"
accountName="12312312"
accountNo="12312312"
accountBankCode="BANK"
remark="123123"
notifyUrl="http://localhost:8081/api/pay/notifyUrl"
extra="{"value":"AIRP0000001"}" // 12313 位置应该是ifsc的值
sign="79B1E1C4F3290FBB6CB2FA2CAE2BA67C"返回示例
jsx
{
"retCode": "SUCCESS", // 返回码
"retMsg": "代付申请成功", // 返回信息
"agentpayOrderId": "Le198311136382210", // 代付订单号
"fee": 1200, // 手续费(最小货币单位)
"extra": null, // 扩展字段
"status": 1, // 状态
"sign": "106A36489C4B624FD23BF92F4ABF6272" // 签名
}▶️ 查询代付订单 / Query Payout Order
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| mchId | string | ✅ | 商户号 / 注意:商户号不为商户ID |
| mchOrderNo | String(30) | ✅ | 商户生成的订单号,与agentpayOrderId二者传一即可 |
| agentpayOrderId | String(30) | ✅ | 交易中心生成的订单号,与mchOrderNo二者传一即可 |
| reqTime | String(20) | ✅ | 请求发起时间,时间格式:yyyyMMddHHmmss |
| sign | String(32) | ✅ | 签名值,详见签名算法 |
请求示例 / Request Example
jsx
POST /api/pay/query_order
mchId="LEtest067"
agentpayOrderId="Le20250311182001"
mchOrderNo="20160427210604000490"
reqTime="20250311182001"
sign="C380BEC2BFD727A4B6845133519F3AD6"返回示例
jsx
{
"retCode": "SUCCESS", // 返回码:SUCCESS 表示请求成功
"mchOrderNo": "AP1538919309174", // 商户订单号
"agentpayOrderId": "Le20250311182001", // 代付订单号
"channelPayNo": "testutr13", // UTR
"amount": 8000, // 订单金额(分)
"status": 2, // 订单状态:0 待处理 | 1 处理中 | 2 成功 | 3 失败
"fee": 3, // 手续费金额(分)
"errorMessage": "error message", // 错误信息(失败时返回)
"sign": "3B166CA71811D4A0FEC25D511A365ED3" // 签名
}▶️ 代付结果通知 / Payout Callback
系统会通过 POST 回调代付结果至商户 notifyUrl,回调信息写在 URL 中:
jsx
notify?amount=20000&mchOrderNo=Test17651877680001&fee=900&channelPayNo=12300000000&sign=8B9676B45CFF978622915903D3EE1969&agentpayOrderId=test1997968440790409217&status=2&errorMessage=Rejected after secondary review商户应返回纯文本 "success"。
💡 参数说明
| 参数名 | 类型 | 描述 / Description |
|---|---|---|
| amount | string | 订单金额 |
| mchOrderNo | string | 商户订单号 |
| fee | string | 手续费金额 |
| channelPayNo | string | utr |
| agentpayOrderId | string | 代付订单号 |
| status | string | 订单状态 |
| errorMessage | string | 错误信息:订单失败情况下会返回 |
| sign | string | 签名值 |
▶️ 查询余额 / Balance Query
| 参数名 | 类型 | 必填 | 示例 | 描述 |
|---|---|---|---|---|
| mchId | string | ✅ | 20001222 | 商户号 / 注意:商户号不为商户ID |
| reqTime | string | ✅ | 20181009171032 | 请求发起时间,时间格式:yyyyMMddHHmmss |
| sign | string | ✅ | 5E0AA05D… | 签名 |
请求示例 / Request Example
jsx
POST /api/agentpay/query_order
mchId="LEtest067"
reqTime="20211111"
sign="79B1E1C4F3290FBB6CB2FA2CAE2BA67C"返回示例
jsx
{
"retCode": "SUCCESS",
"retMsg": null,
"busNo": "FLBTEST064",
"amount": 1410065308,
"frozenAmount": 157999,
"availableAmount": 1409907309,
"pendingAmount": 0,
"unsettledAmount": 0
}字段说明:
- amount:总余额
- frozenAmount:冻结余额
- availableAmount:可用余额
- pendingAmount:在途金额
- unsettledAmount:未结算金额
