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

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

近期使用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时,做相关处理

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

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lcwai

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值