业务场景
交易完成后,收银宝平台会将交易结果通知到商户订单系统,并附带上订单的相关信息—业务流水号,交易金额,业务关联内容(即订单查询时数据同步接口同步回来的trxreserve字段信息)
注意:因为以后可能会增加通知参数,请获取全量变量,然后遍历获取非空变量,而不能用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 | |
cusid | String | 否 | 收银宝商户号 | 15 | |
timestamp | String | 否 | 调用时间戳 | 14 | yyyymmddhhmmss |
randomstr | String | 否 | 随机字符串 | 32 | 主要用于随机加签 |
sign | String | 否 | sign校验码 | 32 | |
bizseq | String | 否 | 业务流水号 | 50 | 如订单号,保单号,缴费编号等 |
trxstatus | String | 否 | 交易结果状态码 | 4 | 详见附录交易状态 |
amount | Long | 否 | 交易金额 | 20 | 单位分 |
trxid | String | 否 | 交易流水号 | 18 | 收银宝交易流水号 |
srctrxid | String | 可 | 原交易流水 | 18 | 原交易流水,冲正撤销交易本字段不为空 |
trxday | String | 否 | 交易请求日期 | 8 | yyyymmdd |
paytime | String | 否 | 交易完成时间 | 14 | yyyymmddhhmmss |
termid | String | 否 | 终端编码 | 8 | 终端编码 |
termbatchid | String | 否 | 终端批次号 | 16 | 终端批次号 |
traceno | String | 否 | 终端流水 | 6 | 终端流水 |
trxreserve | String | 可 | 业务关联内容 | 160 | 订单查询时商户订单系统返回的自定义内容 |
accttype | String | 可 | 借贷标志 | 2 |
刷卡消费交易 00-借记卡 01-存折 02-信用卡 03-准贷记卡 04-预付表格属性费卡 05-境外卡 99- 其他
扫码支付 02-信用卡 其他为借记卡 |
bankcode | String | 可 | 发卡行号 | 8 |
当accttype=05时 该值为卡组织 (VISA 99999991 万事达 99999992 万事达消费卡 99999992_1 JCB 99999993 运通 99999994 大莱 99999995) |
acct | String | 可 | 交易帐号 | 64 |
如果是刷卡交易,则是隐藏的卡号,例如621700****4586 微信则是Openid,支付宝则是userid |
termauthno | string | 可 | 终端授权码 | 20 | |
termrefnum | string | 可 | 终端参考号 | 50 | |
chnldata | string | 可 | 渠道信息 | - | 返回云闪付/微信/支付宝等渠道信息 |
chnltrxid | string | 可 | 渠道流水号 | 64 | 如支付宝,微信平台订单号 |
fee | string | 可 | 手续费 | 15 | |
fqnum | string | 可 | 分期数 | 15 | |
feecycle | string | 可 | 结算周期 | 2 |
1预收 2日结 4月结 8向持卡人收 |
logonid | String | 是 |
用户账号 |
64 |
支付宝买家账号 云闪付userid |
initamt | String | 是 | 原始交易金额 | 20 | 单位(分) |
signtype | string | 可 | 签名类型 | 3 |
RSA SM2 |
chnldata
银行卡示例:{"discountAmt":"20","needpayAmt":"130","mchtDiscountAmt":"8"}
云闪付示例:{"couponInfo":"[{"id":"2112020052715193","desc":"2020年银联62节-振华超市蒙牛百利包单品营","type":"CP01","spnsrId":"00010000","offstAmt":"1100"},{"id":"2112020052715193","desc":"2020年银联62节-振华超市蒙牛百利包单品营","type":"CP01","spnsrId":"821191054110PAJ","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":"返回优惠信息券"}]"}