该通知为代理商在通联代理商平台配置的商户交易通知
代理商交易结果通知暂只支持收银宝终端类及当面付交易
注意:因为以后可能会增加通知参数,请获取全量变量,然后遍历获取非空变量,而不能用request.getparam(“key”)这样用文档中的字段名来一个个获取,到时候收银宝增加通知字段,就无法兼容了.请参考demo
通知的每一个字段都会进行UTF-8的UrlEncode,如果商户接收结果的服务器用web容器进行接收,例如TOMCAT,IIS.则无需进行URLDecode,如果不是用web容器进行接收,而是读数据流自己进行解析,则需要进行UTF-8的UrlDecode
以java为例:
String trxreserve = "订购人+10086";
String sendData = URLEncoder.encode(trxreserve, "UTF-8");
String getData = URLDecoder.decode(sendData, "UTF-8");
通知响应结果:
商户服务端在接收到结果通知并正确处理后,应响应消息。正确处理响应success,其他响应或者不响应通联开发平台则通过重发机制进行重发,重发次数为5次
对后台通知交互时,如果通联收到商户的应答不符合规范或超时,通联认为通知失败,通联会通过一定的策略定期重新发起通知,尽可能提高通知的成功率,但通联不保证通知最终能成功。
(通知频率为15s/15s/5m/10m/15m - 总计30m30s)
字段名称 |
类型 |
可空 |
说明 |
最长长度 |
备注 |
trxcode |
String |
否 |
交易类型 |
8 |
详见附录 |
appid |
String |
否 |
代理商的appid |
8 |
|
cusappid |
String |
|
交易请求的appid |
8 |
|
cusid |
String |
否 |
商户号 |
15 |
|
sign |
String |
否 |
sign校验码 |
32 |
|
trxstatus |
String |
否 |
交易结果码 |
4 |
详见附录 |
chnltrxid |
String |
否 |
渠道流水号 |
|
|
cusname |
String |
否 |
商户名称 |
50 |
|
trxamt |
Long |
否 |
金额 |
20 |
单位分 |
cusorderid |
String |
可 |
商户订单号 |
32 |
|
trxid |
String |
否 |
交易流水号 |
50 |
通联收银宝交易流水号 |
srctrxid |
String |
可 |
原交易流水 |
50 |
通联原交易流水,冲正撤销交易本字段不为空 |
trxdate |
String |
否 |
交易请求日期 |
8 |
yyyymmdd |
paytime |
String |
否 |
交易完成时间 |
14 |
yyyymmddhhmmss |
termno |
String |
否 |
终端编码 |
8 |
终端代码 |
branchno |
String |
可 |
门店编号 |
4 |
门店编号 |
termbatchid |
String |
否 |
终端批次号 |
16 |
终端批次号 |
termtraceno |
String |
否 |
终端流水 |
6 |
终端流水 |
bankcode |
String |
否 |
发卡行代码 |
8 |
发卡行代码 |
accttype |
String |
可 |
借贷标志 |
2 |
刷卡消费交易必传 |
initamt |
String |
可 |
原始金额 |
20 |
|
acct |
String |
可 |
交易帐号 |
64 |
如果是刷卡交易,则是隐藏的卡号,例如621700****4586 |
termauthno |
string |
可 |
终端授权码 |
20 |
|
trxreserve |
String |
可 |
业务关联内容 |
300 |
|
termrefnum |
string |
可 |
终端参考号 |
50 |
|
fee |
string |
可 |
手续费 |
15 |
单位:分 |
pid |
string |
否 |
产品类型 |
5 |
P0001 收银宝 P0002 当面付 |
signtype |
string |
可 |
签名类型 |
3 |
RSA |