本文描述了提供给合作商户的支付解决方案,帮助商户轻松实现在线收款的功能。
文档分别从交互模式、签名、接口、注意事项等方面详细介绍了接口连接方式和开发注意事项,可以帮助开发人员快速集成支付接口到网站中去。
本说明文档用于指导商户实现接口的顺利对接。请相关技术人员详细阅读本文档。
文档离线地址为:http://www.tonglianwuyou.com/Business/Api/Index.aspx
对接示例下载:C#,php,java
支付请求发起接口定义
1、接入URL: http://send.tonglianwuyou.com/pay/create.aspx
2、接入方式: POST方式(直返模式)/GET方式(网关模式)
3、请求协议参数:
| 参数名 |
参数值 |
可空 |
加入签名 |
说明 |
| 应用ID |
appId |
否 |
是 |
商户应用ID,商户中心应用管理中获取应用ID |
| 支付方式 |
payMethod |
否 |
是 |
商户中心支付产品中获取通道代码值 点击获取
常用取值(微信扫码:1004 微信二维码:1007 微信H5:1006 微信公众号:1008 支付宝扫码:992 支付宝二维码:1011 支付宝H5:1010 支付宝APP:1009)
|
| 提交金额 |
amount |
否 |
是 |
单位元(人民币) |
| 商户订单号 |
orderId |
否 |
是 |
该值需在商户系统内唯一 |
| 异步通知地址 |
notifyUrl |
否 |
是 |
异步通知的地址(为保证安全需要明文签名,后RSA加密提交) |
| 同步通知地址 |
returnUrl |
是 |
否 |
同步通知地址只对GET方式(网关模式)有效 (无需进行RSA加密) |
| 客户端IP |
clientIp |
是 |
否 |
客户端IP |
| 备注信息 |
attach |
是 |
否 |
备注信息,下行中会原样返回 |
| 签名 |
sign |
否 |
否 |
32位小写MD5签名值(notifyUrl为明文进行签名,在提交系统时需要进行rsa私钥加密后进行提交,在线加密工具请查看系统管理) |
4、MD5签名说明
具体MD5 签名源串及格式如下:appId={}&payMethod={}&amount={}&orderId={}&notifyUrl={}key 其中key为商户密钥
接入实例:(假设商户appId为2106,商户密钥key为4181932637403f3e68b98f95e72d37c4)
实际进行MD5加密的串:appId=2106&payMethod=1004&amount=1&orderId=202301030001&notifyUrl=https://www.baidu.com4181932637403f3e68b98f95e72d37c4
该串MD5加密结果为:e7b107842601d059f045093c483fa98f
5、对于直返模式为同步返回
6、为保证传输安全,异步回调域名先进行签名处理 在提交参数时需要对异步回调地址进行RSA加密后进行url编码后提交
GET提交示例:http://send.tonglianwuyou.com/pay/create.aspx?appId=2106&payMethod=1004&amount=1&orderId=202301030001&notifyUrl=M5d8hvSZCk7OD2dfPmbiGrweIIfJrQ7Q1o+zLlWh3ZfERepDFLLvGfUcMw7yUHFMGb5If9Vq2cjaX8qKdFQWMm9/DUrIetXxVyNzZ0OZo7Ts47uU1ubqdiTq/JZlHfUuPET1BSpjXDzdS+n1FxcU3Dl+Voii070dB28sf7/ZLUza9lKKExc9AHtcQvL492weHyQ97VTx2WlyqUg32JzAQCFFqSrEmRif0bEEqm3BUkXjSEeV6chuN4pWMAs5FhTfjtOmxH8/jIvu4RxlNL+RJNaglF7rF/I+ah/RJpRPa0aaqj1nUcsUmmyqmVIfcIDZPzw+vhFisGXxsxIJQWt36A==&sign=e7b107842601d059f045093c483fa98f
对于应用场景为直返模式(POST提交)的提交,同步返回为JSON格式的字符串,网关模式(GET提交)为跳转页面模式无直返数据可以忽略
| 参数名 |
参数 |
说明 |
| 状态id |
id |
0 成功,1 失败 |
| 状态code |
code |
SUCCESS 成功,Fail 失败 |
| 状态描述 |
message |
状态描述 |
| 数据内容 |
data |
返回的数据内容如下 |
| data |
orderid |
商户订单号 |
| data |
sysorderid |
接口订单号 |
| data |
amount |
提交金额 |
| data |
payMethod |
直返方式 |
| data |
qrcode |
支付链接值(自行展码) |
| data |
attach |
备注信息 |
正确直返示例如下:
{
"id": 0,
"code": "SUCCESS",
"message": "获取数据成功",
"data": {
"orderid": "202301030003",
"sysorderid": "23010311255566140003",
"amount": "1",
"payMethod": "1007",
"qrcode": "https%3a%2f%2forder.duolabao.com%2factive%2fc%3fstate%3d23010311255566140003%257C10011029166929072805621%257C1.00%257C%257CAPI",
"attach": ""}
}
1、接入URL:请求参数 notifyUrl值
2、请求方式:GET 方式
3、请求协议参数:
| 参数名 |
参数值 |
可空 |
加入签名 |
说明 |
| 商户订单号 |
orderid |
否 |
是 |
支付过程中商户系统传入的订单号 |
| 支付状态 |
state |
否 |
是 |
0:支付成功,非0为支付失败 |
| 提交金额 |
amount |
否 |
是 |
单位元(人民币) |
| 平台订单号 |
sysorderid |
是 |
否 |
接口订单号 |
| 备注信息 |
attach |
是 |
否 |
备注信息,下行中会原样返回 |
| 签名 |
sign |
否 |
否 |
32位小写MD5签名值 |
4、MD5签名说明
异步通知示例:http://www.toxx.com/CallBackUrl.aspx?orderid=2022123017524694&state=0&amount=10.0000&sysorderid=22123017524726110699&attach=&sign=2166a8c1fde5f98d6b9385e3569c9cb0
具体MD5 签名源串及格式如下:orderid={}&state={}&amount={}key 其中key为商户密钥
接入实例:(假设商户appId为2106,商户密钥key为4181932637403f3e68b98f95e72d37c4)
实际进行MD5加密的串:orderid=2022123017524694&state=0&amount=10.00004181932637403f3e68b98f95e72d37c4
该串MD5加密结果为:2166a8c1fde5f98d6b9385e3569c9cb0
5、特别说明
异步通知过程在整个支付流程中一定存在。商户系统在收到通知过程后, 需向接口返回“success”。接口根据该返回值判断商户系统是否已经收到结果。如果收到商户的应答不符合规范或超时,接口认为通知失败,会通过一定的策略定期重新发起通知,尽可能提高通知的成功率,但不保证通知最终能成功
1、接入URL:请求参数 returnUrl值 (只对网关模式有效)
2、请求方式:GET 方式
3、请求协议参数:
| 参数名 |
参数值 |
可空 |
加入签名 |
说明 |
| 商户订单号 |
orderid |
否 |
是 |
支付过程中商户系统传入的订单号 |
| 支付状态 |
state |
否 |
是 |
0:支付成功,非0为支付失败 |
| 提交金额 |
amount |
否 |
是 |
单位元(人民币) |
| 平台订单号 |
sysorderid |
否 |
是 |
接口订单号 |
| 备注信息 |
attach |
是 |
否 |
备注信息,下行中会原样返回 |
| 签名 |
sign |
否 |
否 |
32位小写MD5签名值 |
4、MD5签名说明
异步通知示例:http://www.toxx.com/CallBackUrl.aspx?orderid=2022123017524694&state=0&amount=10.0000&sysorderid=22123017524726110699&attach=&sign=2166a8c1fde5f98d6b9385e3569c9cb0
具体MD5 签名源串及格式如下:orderid={}&state={}&amount={}key 其中key为商户密钥
接入实例:(假设商户appId为2106,商户密钥key为4181932637403f3e68b98f95e72d37c4)
实际进行MD5加密的串:orderid=2022123017524694&state=0&amount=10.00004181932637403f3e68b98f95e72d37c4
该串MD5加密结果为:2166a8c1fde5f98d6b9385e3569c9cb0
5、特别说明
异步通知过程在整个支付流程中一定存在。商户系统在收到通知过程后, 需向接口返回“success”。接口根据该返回值判断商户系统是否已经收到结果。如果收到商户的应答不符合规范或超时,接口认为通知失败,会通过一定的策略定期重新发起通知,尽可能提高通知的成功率,但不保证通知最终能成功
1、接入URL:http://send.tonglianwuyou.com/query/search.aspx
2、请求方式:GET 方式
3、请求协议参数:
| 参数名 |
参数值 |
可空 |
加入签名 |
说明 |
| 应用ID |
appId |
否 |
是 |
商户应用ID,商户中心应用管理中获取应用ID |
| 商户订单号 |
orderId |
否 |
是 |
支付过程中商户系统传入的订单号 |
| 签名 |
sign |
否 |
否 |
32位小写MD5签名值 |
4、MD5签名说明
查询示例:http://www.toxx.com/query/search.aspx?appId=2106&orderId=2022122900012&sign=e9e4c8b72693a51312a58e8f06481f30
具体MD5 签名源串及格式如下:orderId={}&appId={}key 其中key为商户密钥
接入实例:(假设商户appId为2106,商户密钥key为4181932637403f3e68b98f95e72d37c4)
实际进行MD5加密的串:orderId=2022122900012&appId=21064181932637403f3e68b98f95e72d37c4
该串MD5加密结果为:e9e4c8b72693a51312a58e8f06481f30
5、返回参数
| 参数名 |
参数值 |
说明 |
| ID |
0 成功,1 失败 |
| 状态code |
code |
SUCCESS 成功,Fail 失败 |
| 状态描述 |
message |
状态描述 |
| 提交金额 |
amount |
提交金额 |
| 支付状态 |
state |
0 支付成功 8 退款成功 1 支付不成功 |
返回示例:{"id":0,"code":"SUCCESS","orderId":"2022122900012","amount":"1.00","state":"0"}
1、接入URL:http://send.tonglianwuyou.com/refund/apply.aspx
2、请求方式:GET 方式
3、请求协议参数:
| 参数名 |
参数值 |
可空 |
加入签名 |
说明 |
| 应用ID |
appId |
否 |
是 |
商户应用ID,商户中心应用管理中获取应用ID |
| 原商户订单号 |
orderId |
否 |
是 |
支付过程中商户系统传入的订单号 |
| 原平台订单号 |
sysOrderId |
否 |
是 |
异步通知过程中传入的原平台订单号 |
| 签名 |
sign |
否 |
否 |
32位小写MD5签名值 |
4、MD5签名说明
查询示例:http://www.toxx.com/refund/apply.aspx?appId=2106&orderId=202508111726268&sysOrderId=2508111726570712475&sign=9544e301c19e43aed8e29bc9695bb3xxx
具体MD5 签名源串及格式如下:appId={}&orderId={}&sysOrderId={}key 其中key为商户密钥
接入实例:(假设商户appId为2106,商户密钥key为123456)
实际进行MD5加密的串:appId=2106&orderId=202508111726268&sysOrderId=2508111726570712475123456
该串MD5加密结果为:8c0a60d70533210e2fb47629e92a0232
| 参数名 |
参数值 |
说明 |
| ID |
id |
0 成功,1 失败 |
| 状态code |
code |
SUCCESS 成功,Fail 失败 |
| 状态描述 |
message |
状态描述 |
| 支付状态 |
state |
0 退款成功 非0退款失败,具体查看message状态描述 |
返回示例:{"id":0,"code":"SUCCESS","orderId":"2025081117262XXX","amount":"0.20","state":"0","message":当前订单已退款成功""}
商家微信小程序支付请求发起接口定义
1、接入URL: http://send.tonglianwuyou.com/pay/create.aspx
2、接入方式: POST方式(直返模式)
3、请求协议参数:
| 参数名 |
参数值 |
可空 |
加入签名 |
说明 |
| 应用ID |
appId |
否 |
是 |
商户应用ID,商户中心应用管理中获取应用ID |
| 支付方式 |
payMethod |
否 |
是 |
商户中心支付产品中获取通道代码值 点击获取
固定值取值(微信JSAPI:1008)
|
| 提交金额 |
amount |
否 |
是 |
单位元(人民币) |
| 商户订单号 |
orderId |
否 |
是 |
该值需在商户系统内唯一 |
| 异步通知地址 |
notifyUrl |
否 |
是 |
异步通知的地址(为保证安全需要明文签名,后RSA加密提交) |
| 同步通知地址 |
returnUrl |
是 |
否 |
同步通知地址只对GET方式(网关模式)有效 (无需进行RSA加密) |
| 客户端IP |
clientIp |
是 |
否 |
客户端IP |
| OpenID |
attach |
否 |
否 |
openId 用户在小程序内的身份标识,商家后台系统通过登录授权、支付通知、查询订单等API可获取到用户的OpenID 小程序支付必传 且不参与签名 |
| 签名 |
sign |
否 |
否 |
32位小写MD5签名值(notifyUrl为明文进行签名,在提交系统时需要进行rsa私钥加密后进行提交,在线加密工具请查看系统管理) |
4、MD5签名说明
具体MD5 签名源串及格式如下:appId={}&payMethod={}&amount={}&orderId={}&notifyUrl={}key 其中key为商户密钥
接入实例:(假设商户appId为2106,商户密钥key为4181932637403f3e68b98f95e72d37c4)
实际进行MD5加密的串:appId=2106&payMethod=1004&amount=1&orderId=202301030001&notifyUrl=https://www.baidu.com4181932637403f3e68b98f95e72d37c4
该串MD5加密结果为:e7b107842601d059f045093c483fa98f
5、对于直返模式为同步返回
6、为保证传输安全,异步回调域名先进行签名处理 在提交参数时需要对异步回调地址进行RSA加密后进行url编码后提交
提交示例:appId=2106&payMethod=1004&amount=1&orderId=202301030001&notifyUrl=M5d8hvSZCk7OD2dfPmbiGrweIIfJrQ7Q1o+zLlWh3ZfERepDFLLvGfUcMw7yUHFMGb5If9Vq2cjaX8qKdFQWMm9/DUrIetXxVyNzZ0OZo7Ts47uU1ubqdiTq/JZlHfUuPET1BSpjXDzdS+n1FxcU3Dl+Voii070dB28sf7/ZLUza9lKKExc9AHtcQvL492weHyQ97VTx2WlyqUg32JzAQCFFqSrEmRif0bEEqm3BUkXjSEeV6chuN4pWMAs5FhTfjtOmxH8/jIvu4RxlNL+RJNaglF7rF/I+ah/RJpRPa0aaqj1nUcsUmmyqmVIfcIDZPzw+vhFisGXxsxIJQWt36A==&sign=e7b107842601d059f045093c483fa98f
对于应用场景为直返模式(POST提交)的提交,同步返回为JSON格式的字符串
正确直返示例如下:
{"appId":"wx5a4e0a63274d3a0c","timeStamp":"1765382662","nonceStr":"cf9edc327bde47899ebdd0ab0e0ff3d7","package":"prepay_id=wx11000422057256bf860fe03c1d579f0001","signType":"RSA",
"paySign":"U1iC8h02+W2V4S5yaKXO49Dn/i6hEfVMJPoOk3n3iT69KpaYpblIpaZk+t4JegYPOEXmUzwWwOJf9U30oWKHQy7FcdpPcVHpD4G49Uo7cBvOQ7zHC/aQdjW4ZWFok
+2MXcqpzh2zMNCpiYRYx1tapMHzArc4dQMo3QcJCaIeNPE8ZKtLFp6mpfjutnnby6aahKWV0pclvRNLNzTWywG8g4Hs8nCwJHOMba76rfKGnSrcSMg6EPVP192tlV19O9M430gFBSV6VpQDpINmVCBV
6n7gX3w1YijmQzRoYMLXmzpJqC3jslOW7tqRmGkyM8XpdpJ+5oZhxTmzItzDufPizA=="}
调起微信支付调起参考小程序:https://pay.weixin.qq.com/doc/v3/partner/4012085827