Skip to content

代付接口 ​

更新时间:2026-07-01

接口说明 ​

代付接口是聚合支付系统的核心支付接口,支持多种支付方式包括支付宝、微信、银行卡等支付场景。

接口信息

  • 适用对象:间连商户
  • 请求 URL:https://webpayapi.com/openapi/v1/order/transfer
  • 请求方法:POST

ℹ️ 公共参数说明详见 通用规则 - API公共参数 部分

业务参数 ​

参数类型必填参数说明
paymentMethodStringY支付编码(参考支付编码枚举)
orderNoStringY商户订单号(建议唯一)
amountStringY支付金额(单位元,保留两位小数,如 0.01)
subjectStringY商品名称,展示于支付渠道订单
notifyUrlStringY异步通知地址,需可公网访问的 HTTPS 地址
clientIpStringY下单用户公网 IP,例如 152.33.40.28
payeeIdentityStringY收款方标识:
支付宝填写支付宝用户 UID,示例值:2088123412341234。
微信填写OPENID,示例值:oxCN826ZHmMtCLR7fDdJRTvjC。
payeeNameStringY收款方真实姓名。
payeeIdentityTypeStringC收款方类型:
支付宝的会员ID: ALIPAY_USER_ID(支付宝默认)
支付宝登录号: ALIPAY_LOGON_ID
微信OPENID: WECHAT_OPENID (微信默认)
brankStringC总行名称(例:中国农业银行)。银行卡支付必填
remarkStringC备注。微信代付必填(用户收款页展示)

参数说明:Y: 必填,N: 非必填,C: 条件必填

接口返回参数 ​

响应附加参数(data) ​

参数类型必须参数说明
transactionNoStringY平台订单号
orderNoStringY商户订单号
amountStringY金额
statusStringY状态:0、待处理 1、处理中 2、已完成 3、失败
packageInfoObjectC微信商家转账确认页参数(WECHAT_TRANSFER时返回)
└── mchIdStringY调起确认收款参数:mchId
└── appIdStringY调起确认收款参数:appId
└── packageStringY调起确认收款参数:package
└── qrCodeStringY收款用户可直接扫码的二维码URL

参数说明:Y: 返回,N: 不返回,C: 条件返回

请求示例 ​

请求示例(支付宝) ​

json
{
  "appId": "you_system_appid",
  "bizContent": "{\"amount\":\"100.10\",\"clientIp\":\"127.0.0.1\",\"merchantUrl\":\"www.sh.com\",\"notifyUrl\":\"http://test.mf2008c.cn/api/notify/huifu/handle\",\"orderNo\":\"SHTO202608041332493013\",\"payeeIdentity\":\"2088002001415596\",\"payeeName\":\"用户名\",\"payeeIdentityType\":\" ALIPAY_USER_ID\",\"paymentMethod\":\"ALIPAY_TRANSFER\",\"subject\":\"测试代付-133249\"}",
  "version": "1.0",
  "nonce": "49d55020fa3adf6ed67b253c583ccdaa",
  "contentHash": "95772c8a0c74e52b707e2ace5963e0eae956e8b1ae26e86a6cde5469247d0382",
  "timestamp": "2026-07-02 14:33:11",
  "sign": "your_sign"
}

请求示例(微信) ​

json
{
  "appId": "you_system_appid",
  "bizContent": "{\"amount\":\"100.10\",\"clientIp\":\"127.0.0.1\",\"merchantUrl\":\"www.sh.com\",\"notifyUrl\":\"http://test.mf2008c.cn/api/notify/huifu/handle\",\"orderNo\":\"SHTO202608041332493013\",\"payeeIdentity\":\"oxCN826ZHmMtCLR7fDdJRTv\",\"payeeName\":\"用户名\",\"payeeIdentityType\":\"WECHAT_OPENID\",\"paymentMethod\":\"WECHAT_TRANSFER\",\"subject\":\"测试代付-133249\",\"remark\":\"用户确认页展示\"}",
  "version": "1.0",
  "nonce": "49d55020fa3adf6ed67b253c583ccdaa",
  "contentHash": "95772c8a0c74e52b707e2ace5963e0eae956e8b1ae26e86a6cde5469247d0382",
  "timestamp": "2026-07-02 14:33:11",
  "sign": "your_sign"
}

返回示例 ​

支付宝/银行卡返回示例 ​

json
{
  "code": "0000",
  "message": "Success",
  "timestamp": "2026-07-01T10:30:00.000Z",
  "data": {
    "transactionNo": "SHPAY202607011030001234567890",
    "orderNo": "SHTEST202607011030001234567540",
    "amount": "100.1",
    "status": "1"
  }
}

微信返回示例 ​

json
{
  "code": "0000",
  "message": "Success",
  "timestamp": "2026-07-01T10:30:00.000Z",
  "data": {
    "transactionNo": "SHPAY202607011030001234567890",
    "orderNo": "SHTEST202607011030001234567540",
    "amount": "100.1",
    "status": "1",
    "packageInfo": {
      "mchId": "1544043311",
      "appId": "wxb8bea53ef1bf6c3d",
      "package": "ABBQO+oYAAABAAAAAACwPJD9hTx1sUT/KmiFahAAAADnGpepZahT9IkJjn90+1qgPc5CHEN1fwlse3PaOyfUkMgAW0X34w4p69gdc3ibMOJu5vqZACo4saBYBmrCShhy3ESxHaAO/XbqztshoNncOjiRt4Q=",
      "qrCode": "https://api.mf2008c.cn/upload/qrcode/202608/20/095705_a3a86716.png"
    }
  }
}

失败返回示例 ​

json
{
  "code": "4001",
  "message": "缺少必填参数 paymentMethod",
  "timestamp": "2026-07-01T10:30:00.000Z",
  "data": {}
}

异步通知 ​

转账成功后,系统会向商户提供的 notifyUrl 发送 POST 请求通知。通知参数以 application/x-www-form-urlencoded 格式提交,签名前的业务参数按 key 字母排序后转为 JSON 字符串进行签名。

ℹ️ 商户收到通知后,请返回纯文本 SUCCESS 表示接收成功(HTTP 200),否则系统会在 5s、30s、60s、10min、1h 后进行重试,最多重试 15 次。

通知参数 ​

参数类型说明
subMerchantNoString应用ID(appid)
orderNoString商户订单号
transactionNoString平台交易号
amountString转账金额(单位:元,保留两位小数)
statusString订单状态:2-成功,3-失败
payTimeString支付完成时间,格式:yyyy-MM-dd HH:mm:ss
notifyTimeString通知时间,格式:yyyyMMddHHmmss
auditRemarkString审核原因(失败时返回)
auditTimeString审核时间(失败时返回),格式:yyyy-MM-dd HH:mm:ss
signString签名字符串(RSA2 / SM2),Base64 编码

POST Body 示例(成功) ​

text
subMerchantNo=20260727212519612370610&orderNo=SHTO202608051120257578&transactionNo=SHTRANS202608051120579436142&amount=0.10&status=2&payTime=2026-08-05 11:21:01&notifyTime=20260805112102&sign=WVMnJnZBuahZDgh6z2bbTqnOXVIH602nd/b3+bqezABm9zuOUTYxNToeZZHgwb2HcBUBSH1rskAZjTa7fduq0wttxBbqKww38vAwfrXh2MoKaInAzO8lEW+mSzl1Aaq5gB2IM8GaU+fOnI1R60HRu8uILvtCPavYlD6vzR+5K35fCIirfNz5MxCjEL6XKJTpxfnBE+U/T0nfGu9fouPN1kieu4YMoWCS5YarPB0KfiPjhwtovb3Sy/QKRceH42tlG0Bo5Pv4aUO/mJ/qyf2h9/tpTZ1ibHq07cORxk8py8EpbsNmv9n8qzRUDYI3hbf4FGEAB2Yhu4Rw1kp8AOmeuw==

POST Body 示例(失败) ​

text
subMerchantNo=20260727212519612370610&orderNo=SHTO202608100938233375&transactionNo=SHTRANS202608100938234301993&amount=0.20&status=3&payTime=2026-08-10 10:00:46&notifyTime=20260810100424&auditRemark=测试通过&auditTime=2026-08-10 09:46:19&sign=jvT5jJGAQpk9R6vd1IsbiXu0dYLQnRHycK1D5uKmONHegpC6iO0khqAJTDOrztb0t/VTA/IOAwH09ZbCY3f7h/jxRjfgKDAA6I+JPObvG7/EZ+x67suDIhjP1UlqDvSLyuujI8sW1YtZ6AAMnLfHLDJ3AqMdJ7+yxDo4t+uj9tcV063XMakFERhvxNi+uG1EFSL9xL484Rip8IIoBUVDFKan1USMshQ0oWb2Tle6seLwVBOAqYj9j2QC8DlTy1g3h9IM3CunpJmRsNIYT/J2zAoAfwru8p801+vKlzK0Wx0gRWPhNXo1AUx3b/di2zisFWwXOEoBk9jk3Ulwbz+T+A==

待签名字符串示例(成功) ​

签名前,将业务参数(不含 sign)按 key 字母升序排序后转为 JSON 字符串:

text
{"amount":"0.10","notifyTime":"20260805112102","orderNo":"SHTO202608051120257578","payTime":"2026-08-05 11:21:01","status":"2","transactionNo":"SHTRANS202608051120579436142","subMerchantNo":"20260727212519612370610"}

待签名字符串示例(失败) ​

失败时,auditRemark 和 auditTime 也参与签名:

text
{"amount":"0.20","auditRemark":"测试通过","auditTime":"2026-08-10 09:46:19","notifyTime":"20260810100424","orderNo":"SHTO202608100938233375","payTime":"2026-08-10 10:00:46","status":"3","transactionNo":"SHTRANS202608100938234301993","subMerchantNo":"20260727212519612370610"}

验签步骤 ​

  1. 从 POST Body 解析出所有参数(subMerchantNo、orderNo、...、sign)
  2. 提取 sign 字段,移除后得到业务参数
  3. 将业务参数按 key 字母升序排序
  4. 排序后的参数转为 JSON 字符串(JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES)
  5. 使用平台提供的公钥,通过 SHA256WithRSA 算法验证 sign 签名

WARNING

⚠️ 安全校验:

  • 验签成功后,请检查 status 是否为 2(成功)
  • 核对 amount 与订单金额是否一致,防止篡改
  • 核对 transactionNo 是否为系统订单号,防止伪造
  • 建议记录通知日志,便于排查问题

支付编码枚举 ​

线上通道 ​

名称支付编码
支付宝ALIPAY_TRANSFER
微信WECHAT_TRANSFER
银行卡BRANK_TRANSFER

注意事项 ​

WARNING

🚨 重要提醒:

  • 所有金额参数使用字符串类型,保留两位小数
  • 商户订单号建议保持唯一性,避免重复提交
  • 异步通知地址必须是可公网访问的 HTTPS 地址
  • 签名算法和参数排序规则请参考「签名与加密」文档
  • 测试环境和生产环境使用不同的网关地址

开发建议 ​

  • 建议在正式环境使用前,先在测试环境充分测试各种支付场景
  • 实现异步通知处理逻辑,确保订单状态的准确性
  • 合理设置订单超时时间,避免长时间占用资源
  • 对于分账功能,请确保分账金额总和不超过订单总金额

TIP

💡 请求格式说明:主体参数包括 appId、subMerchantNo、bizContent、sign;业务参数放在 bizContent 字段中,以 JSON 字符串形式传递,需要进行 JSON 转义。