最近做新的商城项目,支付使用的是微信h5支付,h5在支付的时候说是不能查询到订单状态,导致支付失败、支付成功或取消支付时状态获取不及时,用户从微信支付界面返回app中间页没有刷新有一个白屏问题.

1.查找资料:

 从官网的资料来看微信h5支付是有一个回调地址的,需要h5根据订单状态去写相应逻辑,而我们的H5同学没有加入这个回调地址,随后发给他文档,按照这个接入回调地址,但是发现支付时依然会有一个短暂的白屏页面,不管支付失败还是成功、取消界面都没刷新,经过排查发现虽然h5同学加入了回调地址,但是没有根据订单状态处理相应逻辑,由于项目很着急上线,而H5同学说他们处理不了,没办法只能App这边处理.

2.解决问题的思路:

在App中调起微信H5支付时设置一个是否为微信支付的变量,然后截取回调地址“redirect_url”,在用户支付取消、失败和成功回到App时主动做一个界面刷新操作,相当于把h5查询状态刷新界面写相应的逻辑放到App.

a.核心逻辑就是截取回调地址,截图如下:

 b.设置isWxPay为true

c.用户支付取消、失败、成功返回App时刷新界面:

 

 3.通过以上3步可以很好地解决App调用微信H5支付时的刷新问题,这个方案已经在项目中进行了实战,不过h5为啥不能及时刷新,获取回调地址后没有及时处理相应逻辑我也不是很清楚,由于项目原因,和iOS统一商量自行解决,这里就不纠结谁去处理的问题了,希望对小伙伴们有所帮助。

技术
©2019-2020 Toolsou All rights reserved,
[数据结构]八大排序算法(C语言)总结G1垃圾收集器面试题Android中使用微信H5支付时支付结果刷新问题32-jdbc工具类大学里要参加竞赛吗?都有哪些竞赛可以参加?震惊!!C++居然可以发出声音!C语言之链表入门(超详解)Java实现一个疫情人数管理系统如何用python实现斐波那契数列的前100个MyBatis循环Map(高级用法)