注意:因为以后可能会增加通知参数,请获取全量变量,然后遍历获取非空变量,而不能用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,其他响应或者不响应通联开发平台则通过重发机制进行重发,重发次数为16次。(通知频率为10s/30s/1m/2m/3m/4m/5m/6m/7m/8m/9m/10m/20m/30m/1h/2h)
对后台通知交互时,如果通联收到商户的应答不符合规范或超时,通联认为通知失败,通联会通过一定的策略定期重新发起通知,尽可能提高通知的成功率,但通联不保证通知最终能成功。对于异步支付方式,如js支付和Native支付(刷卡支付不通知),平台会通过主动发起http post请求的方式,把支付结果通知到该交易上送的地址,请求参数如下:
字段名称 |
类型 |
可空 |
说明 |
最长长度 |
备注 |
appid |
string |
否 |
APPID |
20 |
|
outtrxid |
string |
否 |
第三方交易号 |
50 |
暂未启用 |
trxcode |
string |
否 |
交易类型 |
8 |
详见附录交易类型 |
trxid |
string |
否 |
收银宝交易单号 |
50 |
通联收银宝交易流水号 |
initamt |
string |
可 |
原始下单金额 |
20 |
与请求trxamt值一致 |
trxamt |
long |
否 |
交易金额 |
20 |
单位:分 |
trxdate |
string |
否 |
交易请求日期 |
8 |
yyyymmdd |
paytime |
string |
否 |
交易完成时间 |
14 |
yyyymmddhhmmss |
chnltrxid |
string |
可 |
渠道流水号 |
64 |
如支付宝,微信平台订单号 |
trxstatus |
string |
否 |
交易结果码 |
4 |
交易状态详见交易返回码说明 |
cusid |
string |
否 |
实际交易的商户编号或店铺ID |
11 |
|
termno |
string |
可 |
终端编号 |
8 |
|
termbatchid |
string |
可 |
终端批次号 |
16 |
|
termtraceno |
string |
可 |
终端流水号 |
6 |
|
termauthno |
string |
可 |
终端授权码 |
20 |
|
termrefnum |
string |
可 |
终端参考号 |
50 |
|
trxreserved |
string |
可 |
业务关联内容 |
160 |
交易备注 |
srctrxid |
string |
可 |
原交易流水 |
50 |
通联原交易流水,冲正撤销交易本字段不为空 |
cusorderid |
string |
否 |
业务流水 |
64(isv:25) |
统一下单对应的reqsn订单号 或者isv收银台对应的reqsn订单号 |
acct |
string |
可 |
交易账号 |
64 |
如果是刷卡交易,则是隐藏的卡号,例如621700******4586 |
fee |
string |
可 |
手续费 |
15 |
单位:分 |
signtype |
string |
可 |
签名类型 |
3 |
MD5或RSA。为空默认MD5 |
cmid |
string |
可 |
渠道子商户号 |
32 |
仅微信/支付宝交易有效 |
chnlid |
string |
可 |
渠道号 |
32 |
仅微信交易有效 |
chnldata |
string |
可 |
渠道信息 |
- |
仅返回云闪付/微信/支付宝的渠道信息 |
accttype |
string |
可 |
借贷标识 |
2 |
00-借记卡 |
sign |
string |
否 |
sign校验码 |
32 |
|
mchtdiscountamount |
string |
可 |
商户优惠汇总金额 |
14 |
单位:分 |
bankdiscountamount |
string |
可 |
银行补贴汇总金额 |
14 |
单位:分 |
splitlist |
string |
可 |
分账信息 |
|
分账结果信息,详见附录4.9 |
备注:chnldata
云闪付示例:
{"couponInfo":"[{\"id\":\"2112020052715193\",\"desc\":\"2020年银联62节-永旺超市蒙牛百利包单品营\",\"type\":\"CP01\",\"spnsrId\":\"00010000\",\"offstAmt\":\"1100\"},{\"id\":\"2112020052715193\",\"desc\":\"2020年银联62节-永旺超市蒙牛百利包单品营\",\"type\":\"CP01\",\"spnsrId\":\"82119105411XXXX\",\"offstAmt\":\"900\"}]"}
支付宝示例:
{"voucher_detail_list":"[{\"amount\":\"0.20\",\"merchantContribute\":\"0.20\",\"name\":\"0.20元代金券\",\"otherContribute\":\"0.00\",\"type\":\"ALIPAY_BIZ_VOUCHER\",\"voucherId\":\"2020060400073002293805XTTADO\"}]","fund_bill_list":"[{\"amount\":\"0.80\",\"fundChannel\":\"ALIPAYACCOUNT\"},{\"amount\":\"0.20\",\"fundChannel\":\"MDISCOUNT\"}]"}
微信示例:
{"promotion_detail":"[{\"amount\":100,\"merchant_contribute\":\"100\",\"other_contribute\":\"0\",\"promotion_id\":\"11605335223\",\"type\":\"DISCOUNT\",\"wxpay_contribute\":\"0\",\"scope\":\"GLOBAL\",\"activity_id\":\"10722272\",\"name\":\"返回优惠信息券\"}]"}