这几天做WAP网站,涉及到微信支付和支付宝支付,在开通应用前只是针对技术文档做了预研,了解下程序的逻辑实现。结果导致后期开发中支付宝很顺利,毕竟API很强大。微信有些坑要填补,真是悲催。

第一个坑:浏览器兼容问题

回调页面

逻辑是这样的:一开始弹框是没有的,用户点击右下角的“确认支付”,显示弹框,跳转到微信。

重点是后面的操作,在微信中点击“取消”,有些浏览器回退后刷新了这个页面,导致弹框又没有了。

当时我想了个简单的办法:前端存储一个标记值在localStorage中,点击弹框中的按钮后,清除该值。

这是个幼稚的想法~假如用户没有点击弹框中的按钮,直接关掉页面或者其他操作,岂不是这个localStorage一直在,下次进入这个页面弹框立马就出来了。

所以我最终解决的办法是将该页面地址作为回调地址redirect_url传递过去,并且携带标记参数,是否需要弹出提示框。

第二个坑:回调地址提早请求了

官方文档这样说明:

微信API文档

回调指定页面的操作可能发生在:

1、支付中间页调起客户端超过5秒

2、点击“取消支付”或“完成”

然而通过打日志实践证明,当我成功调起微信收银台没几秒,还没点击"取消”或者支付,就已经请求了我的回调地址。

第三个坑:chrome、猎豹浏览器 回调到了 safari

第一次发现这个坑有点搞笑,明明在谷歌浏览器访问WAP网站进行支付,成功跳转到微信收银台,点击左上角的取消,莫名其妙的到了safari浏览器中,真是一趟跨界的旅行呵~

发现这个问题后,就去研究饿了么,美团的H5支付。

php 微信支付h5 referer,微信H5支付相关推荐

  1. 【快应用】微信H5 referer支付未拉起微信收银台

     现象描述 快应用使用微信H5 referer方式支付, wxpay.pay调用后回调success得到url,但并未拉起微信收银台,无法支付.另外,应用微信h5支付都是通的,在浏览器端是可以直接支付 ...

  2. h5支付不能打开支付宝 ios_IOS H5支付调起微信支付宝客户端问题总结

    IOS H5支付调起微信支付宝客户端问题总结 很早之前公司的支付功能,通过H5去支付宝和微信支付,开始使用的是UIwebView来加载h5页面,当初只有支付宝网页支付形式,所以没有考虑到那么多,现在新 ...

  3. 支付宝H5,微信H5,微信公众号支付回调

    业务场景 应公司需求,需要在项目中接入支付宝h5支付,微信h5支付和微信公众号支付功能,本编主要讲述支付踩坑和h5支付后跳转的回调问题 微信h5支付 微信h5支付时需要校验下单域名,微信从refere ...

  4. XZ_iOS 之WKWebView H5吊起微信客户端支付并返回APP

    我们使用的是WKWebView,在下面方法做的一系列的操作 func webView(_ webView: WKWebView, didStartProvisionalNavigation navig ...

  5. iOS H5 调用微信、支付宝支付无法返回app 解决方案

    最新项目中遇到H5页面中调用微信.支付宝客户端支付的需求,虽然这并不是推荐的做法,但是需求确实存在...加载h5页面点击支付调起需要支付的客户端(微信或者支付宝). 微信支付解决方案: 1.首先要设置 ...

  6. 解决iOS微信H5支付跳转微信后不返回App问题(Swift-WKWebview)(转)

    解决iOS微信H5支付跳转微信后不返回App问题(Swift-WKWebview)(转) 参考文章: (1)解决iOS微信H5支付跳转微信后不返回App问题(Swift-WKWebview)(转) ( ...

  7. 微信小程序中嵌套html_微信小程序:web-view嵌套H5实现微信支付功能解决方案及填坑...

    ab7117c7d4947210c39e126a01d23ede.jpg 最近一个多月加班比较严重,偶尔休息一天也是在补睡眠+陪家人,比较长时间没有来进行总结记录了.今天不加班,开始为这段时间做的东西 ...

  8. h5调微信支付 unkonw url_聚合支付系统设计(一)

    产品概述与整体设计 背景 如今,网购已经渗透到人们日常生活中的方方面面,做为网购的载体,互联网电商平台发展如火如荼,支付功能做为其不可或缺的一部分,实现起来,也有各种各样的方案.根据自己有限的认知,我 ...

  9. vue 微信公众号支付接口_基于vue的h5项目之支付宝支付与微信支付

    本文仅记录基于vue开发h5项目过程中使用支付宝和微信支付过程中的重点与槽点,仅为前端部分,如有疏漏不正之处,请于文末评论探讨.注意:标红部分灰常重要,仔细阅读官方文档非常重要,耐心非常重要,细心非常 ...

  10. 微信支付—微信H5支付「非微信内部浏览器-QQ/UC浏览器等」

    前言 微信支付-微信H5外部浏览器支付「本文」 微信H5内部浏览器支付「待写」 PC端扫码支付「待写」 一直计划着写一写微信支付相关的文章,希望能加深一下自己的印象,拖了一天又一天- 最近终于空出时间 ...

最新文章

  1. 做项目时如何快速提高团队协作能力?
  2. 【文本分类】基于BERT预训练模型的灾害推文分类方法、基于BERT和RNN的新闻文本分类对比
  3. 新款Linux版Skype迎来首次更新:提升稳定性,UX微调
  4. jQuery DOM
  5. python相同程序执行结果不同_原理相同只是精简了的python代码,运行结果不同是为什么...
  6. php调用字符串函数参数,如何从包含参数的变量中存储的字符串调用PHP函数
  7. 查询同一表内多字段同时重复记录的SQL语句
  8. 基于OIDC(OpenID Connect)的SSO(纯JS客户端)
  9. C#中showDialog()与show()的区别(转)
  10. 深入解读ESB与SOA的关系
  11. 深度学习的实用层面 —— 1.10 梯度消失与梯度爆炸
  12. MySQL学习-子查询及limit分页
  13. Java接口default方法思考钻石问题
  14. javascript循环语句及函数
  15. C#之判断Mysql数据库是否存在
  16. opengl 关于glGenBuffers函数没有定义
  17. mysql如何让自增id从1开始设置方法
  18. 百万级MySQL的数据量,该如何快速的完成数据迁移?
  19. python whl文件_python whl是什么文件
  20. 关于applicaiton.yml不是绿叶子图标的处理办法

热门文章

  1. c语言的常用英语单词和翻译,c语言通用英语词汇带翻译
  2. STM32固件库编成基础教程
  3. 表格table转pdf分页不连续解决
  4. 循环冗余校验(CRC,模2运算)
  5. Tomcat下载安装以及配置(详细教程)
  6. CC2530之OLED12864程序详解
  7. altera 公司的EP3C5E144C8N的引脚资料如何查找
  8. python 繁体字与简体字互相转换
  9. eclipse添加windowsBuilder的方法
  10. FleaPHP 1.0.70 开发进度汇报专贴