前言
流程说明
-
第三方发起二维码数据请求,并把相关的身份标志提交给易百开放的接口,易百安全验证且验证身份通过后会返回二维码对应的数据;
-
第三方获取到二维码数据,用数据以二维码的样式展示,展示的载体由第三方自行定义
-
消费者打开易百所支持的支付类钱包,扫描第三方所展示的二维码,确认金额后支付;
-
易百得到消费者支付的结果生成对应的支付记录,供第三方查询支付结果;
名词解释和统一报文结构
-
字段说明中,N为必填,O为选填。
-
响应报文外层参数callReturnCode:表示接口调用是否成功;
响应报文body内参数returnCode:表示该请求实际的交易结果是否成功;
请求 (加密,签名前):
{
"action": "merchantGetCodeImpl", //N,action值,不同接口对应不同的action
"uid": "sg_1458_001", //N,商户号,由易百分配
"psw": "F52FB1124231E6BA683F5C2CB5C8ADF6", //N,终端号,由易百分配,需加密见1.4
"body": { //N,报文主体内容,需要加密,加密方法见1.4
"orderNo": "12345678920",
"totalAmount": 0.01,
"goodsDetail": [{
"goodsId": "434",
"goodsName": "奶茶",
"price": 0.01,
"quantity": 1
}]
},
"sign": "xxxxxxx" //N,签名值,签名方法见1.5
}
响应(验签,解密后):
{
"sign": "xxxxxxx", //N,签名值,验签方法见1.5
"body": { //N,报文主题内容,解密方法见1.4
"returnCode": "00",
"orderNo": "12345678920",
"returnDesc": "操作成功",
"orderNoQrcode": "http://qrpaytest.e-buychina.com.cn/api/user/0D8DF0B717B4190292B8A6044DDC1B9B65CE6B244F3706A70BCD9C7C5802C15D0C59789C48F7F308572C6DFFD4694C7F730A27C2290BA9B1DFFA97C8AE14A731"
},
"callReturnCode": "00", //N,接口调用结果返回码
"callReturnDesc": "Interface call success", //N,接口调用结果返回结果
"action": "merchantGetCodeImpl", //N,action值,和请求一致
}
body报文主题加解密方法
body加密时,对body的JSON格式字符串进行Base64加密。
body解密时,进行Base64解密。
psw加密:MD5(uid + MD5(psw))
MD5均为32位加密,大写
sign签名和验签方法
-
签名数据(除sign字段外按key字典顺序按key1=value1&key2=value2&key3=value3&......拼接),最后拼接KEY=xxxx(易百提供的macKey);
-
签名时,对签名数据进行MD5加密(32位);
-
测试环境暂时不验签。
请求地址及测试参数
- 通讯方式HTTPS,字符编码UTF-8,交互数据格式Json
- 测试环境请求地址:
https://qrpaymobiletest.e-buychina.com.cn/api/openApi/merchant
- 测试参数:
uid:sg_1458_001
psw:654321
key:499E8A1D1E295E76688A5D9B695312E9
No Comments