注意:因为以后可能会增加通知参数,请获取全量变量,然后遍历获取非空变量,而不能用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)
商户异常状态变更后,平台会通过主动发起http post请求的方式,把商户状态通知到对应代理商配置的状态通知地址上,请求参数如下:
字段 |
名称 |
取值 |
说明 |
---|---|---|---|
orgid |
机构号 |
代理商号 |
|
cusid |
商户号 |
收银宝商户号 |
|
appid |
平台分配的机构APPID |
|
|
notifytype |
通知类型 |
cusstatechange |
|
opetime |
操作时间 |
|
yyyy-MM-dd HH:mm:ss |
cusstate |
商户状态 |
1|4|9|10 |
0-正常状态 4-冻结状态 9-关闭状态 10-商户睡眠(物理删除);状态查询接口已无法再查询 |
remark |
备注信息 |
|
|
sign |
签名信息 |
详见安全规范 |
|
通知响应结果:
商户服务端在接收到结果通知并正确处理后,应响应消息。正确处理响应success