京东是怎样实现从外部浏览器调起微信支付的?
微信支付的JSAPI支付方式可以从网页上发起支付,但是仅限于在微信内置浏览器中使用。但是为什么京东的收银台可以在外部浏览器调起微信支付控件?实现原理是怎样的有知道的吗?谢谢。
http://m.jd.com/ (用手机自带的浏览器打开这个链接,下完单后跳转到京东的收银台页面,选择微信支付的时候居然可以直接调起微信支付控件!)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(15)
直接贴链接:
http://www.xxdafa.com/article?id=56965123b8063f1a058b456f
我们现在就是要做这种功能,从外部浏览器拉起微信的支付,貌似微信开发文档上找不到相关的demo,只有一个简单的说明!
https://pay.weixin.qq.com/wiki/doc/api/wap.php?chapter=15_2
隐藏的够深的!在官方文档只有前面4种
腾讯投钱给京东了。
感觉不是 这种支付方式 属于正常情况 没必要藏起来
我也看到微信统一下单接口的交易类型可以设置成WAP,不知道其它用法是不是一样,有样例吗?
回复
@liujiduo :
微信支付有个最新的功能时H5页面吊起微信支付
请问下这个问题你后来解决了吗?
我查看了京东网页端的源码后发现,京东最终在调微信支付的靠的就是这个URL:weixin://wap/pay?appid=wx799c7916b43b4282&noncestr=6rs6muegbzaodwao7sl76uomxx9s5vs6&package=WAP&prepayid=wx20150922101123d1aea3ba1a0005507672×tamp=1442888195&sign=3B59AB4A84BDD3177CB55BB61D6C6408,参数是京东后台返回的。但是这个URL只能在京东的域名下点击才能调起微信支付控件,放在我的域名下貌似调起来了,但直接提示“系统繁忙,请稍后再试!”,估计是微信做了域名限制。我又把京东的微信账号换成自己的,重新生成预付单和签名信息,放在自己的域名下,还是提示
“系统繁忙,请稍后再试!”,看起来确实像微信特地给京东开了这个后门,只能京东可以用,其他人用不了。
到目前为止也只看见到京东这样做了,可能微信支付确实给京东留了这样一个后门,毕竟两个是合作关系
回复
还有爱奇艺吧
回复
@liujiduo : 腾讯的拍拍网不是给京东了,他们这样也很正常的了
如果别的商城都不行,那么可能是微信为京东开的小灶!!!
微信支付提供了一种WAP支付方式,直接在外部浏览器放一个特定的URL Scheme就可以调起支付,但是微信并没有对外提供这种方式 接口文档: http://www.xxdafa.com/article?id=56965123b8063f1a058b456f