云易收联调说明
云易收联调说明
流程说明
支付流程
1.
消费者在‘商家’的系统中购买商品、输入金额等进行‘支付’操作。
2.
‘商家’系统请求接口文档中的相应预下单接口,‘云收银’返回相应的订单支付链接。
3.
‘商家’系统接收到返回的订单支付链接后,将展示其‘支付页面’给消费者。
4.
消费者根据‘商家’可用的支付方式列表/收款方式自行选择合适的支付方式进行支付确认。
5.
确定最终的支付方式、确定最终的订单信息,进行支付请求操作。
6.
唤起支付APP收银台等待消费者密码确认,或展示支付信息待输入页面。
7.
消费者输入支付确认密码,或输入相应的支付信息,进行最后的支付验证操作。
8.
‘输入密码/支付信息’操作结束后,展示其结果信息。
9.
此交易结果通知一般为交易成功通知,由‘云收银’发送给‘商家’;
最多通知5次,首次通知失败后,将最多进行4次补偿通知,
补偿期间通知失败间隔补偿时间为:2s、8s、32s、128s,补偿期间通知成功和补偿次数结束将不再进行通知。
10.
‘商家’系统根据通知接口规范应答正确的报文信息;
应答报文不正确或与‘商家’系统建链等异常视为通知失败,将做补偿通知处理。
11.
‘商家’系统将根据自身的业务需求等情况做其他接口请求。
分账流程
1.
接入方向易生发起分账接收方信息入网报备申请,目前仅支持接口方式。
2.
易生针对接入方送过来的分账接收方信息,会进行鉴权校验和相关审核,通过后即入网成功。
3.
易生审核通过后,会为分账接收方生成客户号,并返回给接入方。
4.
包括第4、5、6三步,分别对应3个接口,接入方使用第4步中的客户号,向易生申请绑定分账接收方与分账方(交易商户)的关系,绑定成功后才允许分账。
5.
包括第7、8、9三步,分别对应3个接口,接入方向易生发起支付请求,仅成功的支付订单方可发起分账。
6.
包括第10、11、12三步,接入方按订单请求分账,分账请求中上送分账接收方及其分账金额,易生对原支付订单及分账关系校验后进行分账处理,并返回分账结果。
接入方也可通过“分账结果查询”查询分账结果。
交易查询、退款等详见接口文档描述。
关于测试账号(测试环境)协议说明
1.
2.
3.
4.
5.
6.
7.
使用该测试账号(测试环境)则视为同意上述使用协议
1.
2.
3.
4.
报文规范
请求报文规范
1.
2.
3.
{
"key1": "value1",
"key2": "value2",
"bizData": {
"key3": "value1",
"key4": "value2",
"key5": "value1"
}
}
应答报文规范
1.
2.
3.
{
"key1": "value1",
"key2": "value2",
"key3": "value3",
"sysRetCode": "000000",
"bizData": {
"dataKey1": "dataValue1",
"dataKey2": "dataValue2",
"dataKey3": "dataValue3",
"tradeRetMsg": "成功",
"tradeRetCode": "00"
}
}
信息
1.
2.
签名和验签
报文签名说明
要求对整段报文做签名值,然后赋值给sign(签名值)字段
签名时只对bizData一个字段进行签名
签名方式
签名报文组装
返回报文验签
提示
/**
*/
public static String getReqStr(JSONObject data){
Set<String> keySet = data.keySet();
String[] keyArray = keySet.toArray(new String[keySet.size()]);
Arrays.sort(keyArray);
StringBuilder sb = new StringBuilder();
for (String k : keyArray) {
// 参数值为空,则不参与签名
if (data.get(k) != null && data.get(k).toString().trim().length() > 0) {
sb.append(k).append("=").append(data.get(k).toString().trim()).append("&");
}
}
return sb.toString().substring(0,sb.toString().lastIndexOf("&"));
}
敏感信息加密/解密
1.起方自行产生对称密钥(32位);
2.发起方使用对称密钥, 按照AES256_ECB算法对敏感信息加密;
3.发起方使用接收方加密证书的公钥,用对方密钥等相关信息加密和Base64编码,生成数字信封并存入报文的“dgtlEnvlp数字信封”。
4.接收方对数字信封解密,获取对称密钥等明文信息。
5.接收方使用对称密钥, 对敏感信息进行解密。
修改于 2023-05-22 06:29:56