4.6扫码预消费完成交易结果通知


对于异步支付方式,如js支付和Native支付(刷卡支付不通知),平台会通过主动发起http post请求的方式,把支付结果通知到该交易上送的地址。

注意:因为以后可能会增加通知参数,请获取全量变量,然后遍历获取非空变量,而不能用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)

字段名称 类型 可空 说明 最长长度 备注
appid String 通联分配的appid 8  
outtrxid String 第三方交易号 50 暂未启用
trxcode String 交易类型 8 详见附录5.3
trxid String 交易流水号 50 通联收银宝交易流水号
trxamt Long 金额 20 单位分
trxdate String 交易请求日期 8 yyyymmdd
paytime String 交易完成时间 14 yyyymmddhhmmss
chnltrxid string 渠道流水号 64 如支付宝,微信平台订单号
trxstatus String 交易结果码 4 交易状态详见附录
cusid String 商户号 15  
termno String 终端编码 8 终端代码
termbatchid String 终端批次号 16 终端批次号
termtraceno String 终端流水 6 终端流水
termauthno string 终端授权码 20  
termrefnum string 终端参考号 50  
trxreserved String 业务关联内容 160 交易备注
srctrxid String 原交易流水 50 通联原交易流水,冲正撤销交易本字段不为空
cusorderid String 业务流水 32 如订单号等
acct String 交易帐号 64 如果是刷卡交易,则是隐藏的卡号,例如621700****4586
fee string 手续费 15 单位:分
cmid string 渠道子商户号 32

支付宝有效

微信有效

chnlid String 渠道号 32 微信有效
signtype String 签名类型 4

RSA

SM2

sign String sign校验码 32  

yinjr 2024年9月25日 16:48 收藏文档