梁小Wai
梁小Wai
  • 发布:2020-06-10 20:54
  • 更新:2021-09-18 14:32
  • 阅读:4473

uniapp开发的安卓app使用webview调起微信h5支付

分类:HBuilder

好迂回曲折的一次经历,必须记录。

近期使用uniapp开发了一个安卓app,由于申请微信App支还没有通过,于是就尝试一下用webview调起微信h5支付。

如是此研究了一下,就用了3天时间。

要解决的难题:

1、由app打开webview后,token和登录态共享问题

2、webview里面支付成功后,如何通知app端更新相关状态。

第一个问题比较简单,后端写个接口就解决了,这里不再描述。

第二个问题就比较麻烦。

查看uniapp关于webview文档

初时以为用vue写的网页能调起此api

事与愿违,尝试了一天都不行。

那就用纯html来写个简单的功能,当点击按钮时,nvue做的调起页,@onPostMessage能实时收到消息。

当你苦苦地写代码,一次一次调试都失败,突然有一次返回的数据,那种感受相信只有技术人才会明白。

总算找到了解决方法,再花了大半天将功能实现在html页上。本来用原有的框架几下就做完的功能(由于组件和函数,我都封装好了,调用就是),现在用纯原生的写法,实现起来花了好大的功夫。

总算写好,打包上线测试,兴奋地点击支付按钮时,谁知提示“商家存在未配置的参数,请联系商家解决”,用了网上找的方法,都无法解决。

我尝试将webview调起页由nvue改为vue,它就没那个提示了,能顺利支付。

但是vue页就无法实时收到消息了。

想到的解决方法有两个:
1、用socket来监听支付结果推送

2、在需要的页面onshow时,做相关处理

但是这两种方法都是权宜之计,无法在支付完成时马上判断支付成功还是失败真有些遗憾。


出自我的技术博客:https://blog.csdn.net/Wai_Leung/article/details/106595766

0 关注 分享

要回复文章请先登录注册

maozai

maozai

请问权宜之计解决了嘛?
2021-09-18 14:32
5***@qq.com

5***@qq.com

使用web-view跳转报商家参数格式有误,请问你是怎么解决的
2021-05-31 18:07