一、API接口说明
支付平台API采用http协议。
支付平台API仅支持JSON格式的请求调用,所有参数组装成JSON字符串,其中JSON的key严格遵循请求参数名称,将组装好的JSON放入http body域中用POST方式发送到请求地址。
请务必在HTTP请求头Header中加入“Content-Type=application/json;charset=UTF-8”。
所有请求的body都需采用UTF-8编码,所有响应也会采用相同编码。
二、公共参数:
1、请求公共参数
备注:O-非必传 M-必传 C-条件必填
银行卡支付:消费API,消费撤销API,退货API接口无需包含公共参数。具体详情请参考对应API
银行卡支付:消费API,消费撤销API,退货API接口无需包含公共参数。具体详情请参考对应API
参数 | 参数名称 | 类型 | 参数说明 | 样例 | 可空 |
---|---|---|---|---|---|
accessid | 接入机构标识 | String | 接入SaaS平台的机构标识 | M | |
sign | 参数签名值(16进制串) | String | 除sign参数以外的其它参数,用接入机构的accesskey进行MD5签名。 | AF23847BF987234 | M |
2、返回公共参数
备注:O-非必返 M-必返
参数 | 参数名称 | 类型 | 参数说明 | 样例 | 可空 |
---|---|---|---|---|---|
return_code | 错误码 | int | 正常:10000;其他为异常 | 30002 | M |
return_msg | 错误信息 | String | 签名校验失败 | O | |
sign | 参数签名值(16进制串) | String | 除sign参数以外的其它参数,用接入机构的accesskey进行MD5签名。 | AF23847BF987234 | M |
三、sign签名值说明
sign签名值用于SAAS平台的机构对接接口,第三方应用平台向SAAS平台(或SAAS平台向第三方应用平台)发起请求,均需要对参数进行签名。请求参数及返回参数,均采用相同机制进行签名。SAAS平台的接口可能增加字段,验证签名时必须支持增加的扩展字段
- 首先,排除sign参数之外,将其它参数(空值除外)按名称进行字母排序,并和它的取值一起组成name=value样式的字符串,然后用&把它们拼装为一个大字符串,对于嵌套的参数,嵌套的参数列表也需按照字母排序进行拼装。
a) 比如,要传递下列参数
i.version=1.0.0
ii.return_code=0
iii.拼装之后的字符串为:return_code=0&version=1.0.0
b) 比如,要传递下列参数
i.a=1
ii.b={“d”:”3”,”c”:”2”}
iii.拼装之后的字符串为:a=1&b=c=2&d=3
c)比如,要传递下列参数
i.a=1
ii.b=[{“d”:”3”,”c”:”2”},{“d”:”5”,”c”:”4”}]
iii.拼装之后的字符串为:a=1&b=c=2&d=3&c=4&d=5
d)比如,要传递下列参数
i.a=1
ii.b=[“2”,”3”]
iii.拼装之后的字符串为:a=1&b=2&3
e)比如,要传递下列参数
i.a=1
ii.b=[[{“d1”:”1”,”c1”:”2”},{“d2”:”3”,”c2”:”4”}],[{“d3”:”5”,”c3”:”6”},{“d4”:”7”,”c4”:”8”}]]
iii.拼装之后的字符串为:a=1&b=c1=2&d1=1&c2=4&d2=3&c3=6&d3=5&c4=8&d4=7 - 在上述拼装之后的字符串后面直接拼装accesskey的值。
a)比如,上述参数return_code=0&version=1.0.0,假设accesskey是123456789ABCDEF,拼装以后,成为下述字符串:
b)return_code=0&version=1.0.0123456789ABCDEF - 对上述第2步得到的字符串,进行MD5运算(32位大写),得到sign
排序工具类见附件,如果直接使用此工具类,请勿使用自定义对象构造请求数据用作签名,请使用net.sf.json包下相关对象。
四、测试环境接入信息:
- 服务商编号agent_no:11010200097
- 商户编号merch_no:88888888
- accessid:cpostest
- accesskey:48e70b51cab84019a2dddf2f03f13a38
- 传输密钥:F36116F51B262562B0F0D537A2463485
文档更新时间: 2024-11-29 10:03 作者:admin