【快应用】微信H5 referer支付未拉起微信收银台
2023-09-11 14:17:16 时间
现象描述
快应用使用微信H5 referer方式支付, wxpay.pay调用后回调success得到url,但并未拉起微信收银台,无法支付。另外,应用微信h5支付都是通的,在浏览器端是可以直接支付成功的。
问题分析
微信H5支付问题,一般需要从下面2点排查:
1)微信app是否安装,微信H5支付实际上是拉起微信app的收银台界面。
2)在微信平台上申请H5时,是否提交了授权域名,授权域名不能为空。授权域名很重要,在使用快应用H5 referer方式支付时,wxpay.pay接口refer字段值需填写这个授权域名。
注意:测试网络不能使用代理,如果使用了代理,会导致微信侧校验referer不通过
以上2点都满足,再回到接口本身的调用实现,代码如下:
经过定位分析,最终问题原因与mweb_url值有关系。华为快应用加载器在使用H5 referer方式支付时,并不会将pay接口中传入的prepayid、extra其他参数拼接在mweb_url后面,success回调中拿到的final_url就是mweb_url,引擎侧直接使用这个final_url发起支付,不满足微信H5支付的url要求。
解决方案
通过上面的问题分析过程,只需要按照微信官方文档上的要求,mweb_url参数值参考上图中示例值填写即可。修改后的代码如下:
总结
该问题和解决方案同样也适用于微信小程序转华为快应用时调用微信支付。
欲了解更多更全技术文章,欢迎访问https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh
相关文章
- h5项目(特别是vue)缓存严重的解决方案,配合nginx
- H5使用Canvas绘图
- 移动端H5页面中1px边框的几种解决方法
- H5+JS+CSS3 综合应用
- H5页面调用手机扫一扫功能
- EasyNVR网页摄像机无插件H5、谷歌Chrome直播方案中使用Onvif协议获取视频设备快照
- EasyNVR网页摄像机无插件H5、谷歌Chrome直播方案-Onvif(二)使用Onvif协议进行设备RTSP地址获取
- EasyNVR H5直播流媒体解决方案前端构建之:如何播放自动适配RTMP/HLS直播播放
- []H5、React Native、Native应用对比分析
- 关于APP,原生和H5开发技术的争论
- Atitit.h5 web webview性能提升解决方案-----fileStrore缓存离线存储+http方案
- uniapp打包成H5遇到的坑,本地访问页面空白
- Uniapp(H5)判断软键盘是否唤起、关闭事件
- CV之IC之AlexNet:基于Keras框架利用卷积神经网络类AlexNet算法实现猫狗分类识别(图片数据增强→保存h5模型→加载模型)案例应用
- DL之RetinaNet:基于RetinaNet算法(keras框架)利用resnet50_coco数据集(.h5文件)实现目标检测
- h5 - 子div 在 父div水平垂直居中
- h5 - 使用pdf.js 预览pdf
- 抖音圈圈乐 系统搭建H5微信小游戏圈圈乐系统介绍