博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
微信支付id出现的重复支付解决方法和app应用中多种支付方式之间的对比
阅读量:7078 次
发布时间:2019-06-28

本文共 1891 字,大约阅读时间需要 6 分钟。

1.微信支付的transId发起支付请求,未登录微信,先帐号登陆,否则直接去支付。这样的话,该transId跟该帐号绑定起来了,

如果下一次再重新使用该transId来支付请求,但是想切换其他的微信帐号来支付的话,微信就会提示报错信息。

2.所以解决的方法就是每次发起支付请求的时候,transId都是不同的,暂且定义为transId尾号递增1,所以每次进来都是不同的transId,这样就算切换帐号也不会报错。

3.但是根据2的修改方法,在实际的线上运营中,确实有人出现微信多次重复支付的情况,一笔费用多次出现的情况,这样又回到了问题的本质,还是得固定transId,支付成功的transId,微信是不允许重复支付的。达到目的。 同时把微信不允许重复支付的返回信息在页面上面展示出来,而不是之前统一的返回“微信响应异常”这么笼统。

微信: 
银联: 2016-05-23 15:27:40.358 [http-nio-8081-exec-9] INFO  com.autoyol.pay.unionpay.PaymentExecuter#submitOrder [line:85] - 提交/推送订单信息返回结果:{charset=UTF-8, signature=8e62e065e9f2204cb8405a938a9ed078, version=1.0.0, transType=02, respMsg=重复支付[2040002], respCode=22, signMethod=MD5}2016-05-23 15:27:40.358 [http-nio-8081-exec-9] INFO  com.autoyol.service.transpay.executer.UpmpPaymentExecuter#submitOrder [line:39] - <<<<<<
快钱: 2016-05-23 15:52:07.662 [http-nio-8081-exec-4] INFO  com.autoyol.pay.bill99.shortcutPays.send.SendTR1#sendTR1 [line:118] - 开始发送2016-05-23 15:52:08.752 [http-nio-8081-exec-4] DEBUG com.autoyol.controller.base.BaseController#writeResponse [line:125] - >>>>>>>>Send:{"resCode":"OR","resMsg":"【快钱】外部跟踪编号重复","data":null}

4.出现重复支付的时候,该笔费用的支付状态是“正在支付”,这样在页面的刷新,将支付状态的“正在支付”更改为“支付成功”(pay_flag)

ORDERPAID=【微信】商户订单已支付OR=【快钱】外部跟踪编号重复respMsg=【银联】重复支付[2040002], respCode=22

## 锁定支付id测试,已重复支付的问题。 160523 xxx

重复支付的时候,给出报错提示即可。因为pay_flag此时是2(正在支付),退出后会刷新状态。
1.“订单详情(有)/订单列表(无)中的正在支付” 已测试OK~ payStatus RentPay.java DepositPay.java trans与trans_pay中的trans_type同步。
2.进入平台,动态判断payKind,租车押金支付完毕,就会自动进入支付的是违章押金金额。 已测试OK~

5.如果先微信后银联/快钱的交叉支付问题,根本区别在于微信打开是新开一个app页面,银联插件和快钱是嵌入在app内部,这样实际上会更好,问题就是在于一个人先打开了一个微信支付窗口,然后回到app再打开银联或快钱支付,这样理论上也会出现一笔费用多次支付的情况,但是从付款人的角度出发,付钱的事情都是很谨慎的,万一出现情况,就只能线下退款了。

 

转载地址:http://ehpml.baihongyu.com/

你可能感兴趣的文章
NetworkInterface的使用
查看>>
http://daffodil.codeplex.com/
查看>>
反码符号-128有8位二进制表示的原码、反码和补码
查看>>
编程输出完美之星编程大赛 复赛第二场 24点
查看>>
最大连续子序列
查看>>
iPhone loadView 和 viewDidLoad的区别
查看>>
Netfilter/iptables的一些新进展
查看>>
程序员的人生规划
查看>>
PHP中抽象类与接口的应用场景
查看>>
ASP.NET中操作SQL数据库
查看>>
Android性能优化
查看>>
Ehcache BigMemory: 摆脱GC困扰
查看>>
windows下,下载pip安装
查看>>
nginx反向代理中proxy_set_header 运维笔记
查看>>
jQuery操作元素的class属性
查看>>
关于idea新建子目录时往父目录名字后叠加而不是树形结构的解决方法(转)
查看>>
HttpURLConnection和HttpClient的区别2(转)
查看>>
MYSQL-GroupCommit
查看>>
jboss CLI 命令行接口学习(适用JBOSS EAP 6.2+)
查看>>
lintcode:交错正负数
查看>>