最近做新的商城项目,支付使用的是微信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语言学生管理系统(下)年底了,不要跳槽。字节跳动测试工程师凉经分享教你用Python画一棵圣诞树用C实现圣诞树python 使用turtle 画樱花(python3验证ok)win10系统的计算机C盘在哪,c盘users在哪(win10c盘找不到users)计算机发展史上最著名的两位鼻祖HDFS主要组件(数据块、NameNode、DataNode、secondaryNameNode)python 指定时间运行代码