原文网址:https://www.youyong.top/article/1158cf57528
微信支付一直没有出wap版(H5支付),wap版想用微信支付,只有在微信内调用才可以。
今天偶然发现,中国电信一个wap站点, 不在微信内也能调起微信支付。
后来发现腾讯官方还提供了一个wap版的demo
原文网址:https://www.youyong.top/article/1158cf57528
微信支付一直没有出wap版(H5支付),wap版想用微信支付,只有在微信内调用才可以。
今天偶然发现,中国电信一个wap站点, 不在微信内也能调起微信支付。
后来发现腾讯官方还提供了一个wap版的demo
原文网址:https://www.youyong.top/article/1158cf57528
Demo地址如下,大家可以试一试!
http://wxpay.wxutil.com/mch/pay/h5.v2.php
也可用手机扫描二维码:
从网上了解到的是,网页是没有调起客户端能力的!
往深了看,是由JavaScript 的宿主环境决定的,JavaScript 的能力实际上会受到宿主环境的影响,有一些限制和加强。
以DOM 操作为例,相关的 API 并没有定义在 ECMAScript 标准中,因此我们常用的 window.xxx 还有 window.document.xxx 并非是 JavaScript 自带的功能,这通常是由宿主平台通过 C/C++ 等语言实现,然后提供给 JavaScript 的接口。
以上引用自《大前端开发者需要了解的基础编译原理和语言知识》
像 html5+ plus和phoneGap、cordova 等能实现用js代码调用系统的一些能力,诸如:摄像头 陀螺仪等。都是自己实现了一套runtime, 也就是我们上文说的宿主环境,runtime给提供了一些能力api给js。
微信的JSsdk能调器微信支付分享之类的,也是这个原理。
那是不是Android和Ios的浏览器提供了js调用的接口那,并未找到相关资料。
那WAP是如何调起微信支付的那?
我们看看中国电信这个wap站点,
点击选择微信支付的时候,ajax去请求了一个页面 weixin.do,返回的信息里面有一个url:
weixin://wap/pay?appid%3Dwxbbe8bc43f786c9c6%26noncestr%3 ...
这个应该就是支付地址。
接着点击立即支付按钮,就会去请求这个地址。 如果是用手机访问的,就会跳到微信支付。
我们注意到是请求了一个 weixin:// 这样的地址,这和我们的 url 很像。通常我们的url都是 https:// http://
相关信息查到:weixin:// 的这种调用属于 url 模式调用,系统是支持的。
ios和安卓的 URL Scheme 设置参考以下两篇文章:
于是我试着在手机浏览器的地址栏中
输入weixin:// , 能调起微信。
输入alipay:// ,也能调起支付宝
输入youku:// , 也能调起优酷
能调起微信了,我们在看中国电信请求的微信支付地址的后半部分,有个 wap/pay ,这就很说明问题了,就是专门为wap做的,再后面的就是appid noncestr的一些参数了。
weixin://wap/pay?appid%3Dwxbbe8bc43f786c9c6%26noncestr%3
找到了wap版微信支付接口文档,地址如下:
https://pay.weixin.qq.com/wiki/doc/api/wap.php?chapter=15_1
以下是接口流程图:
但是
但是
但是
想用wap支付,得和腾讯沟通申请。
我给客服电话,给的回复是: wap版支付目前是邀请制,没有收到邀请的,暂时不可用。
我说我看中国电信用了,我们是中国移动,也不可以吗? 她说,没有收到邀请,不可以。
妈的,真尿性!
听别人说过,月流水达到几百万,可以找到微信的的BD申请!
有些微信的服务商这个权限,但应该都对流水有要求!
后续这个权限会不会放开,尚不知!不过我会继续跟踪。
啰嗦两句:
可能并未解决你要接入wap版微信支付的需求(接入申请有门栏),权当技术贴了解吧,怎么也对PM有个交代。
点下面的【有用】按钮支持一下!
内容有不当之处或有其他问题欢迎发【追问】交流沟通!
作者声明:本篇文章系本人原创,欢迎分享,但未经许可,谢绝转载。
共 0 条留言