科技微讯

微信支付 WeixinJSBridge 和 chooseWXPay

首先我们用 js-api 完成支付下单,拿到 prepay_id 之后,接下来就是拉起支付界面。拉起支付界面有 2 种方式

第一种方法需要引入公众号网页开发的 jssdk,需要拿到 ticket、签名之后,再 wx.config(),通过 wx.config() 指定获取哪些权限。而第二种方法不需要以上步骤,只需要判断 WeixinJSBridge 这个对象在 window 是否存在,存在了就直接 invoke 某个功能,例如 getBrandWCPayRequest、、getUserConfig、imagePreview 等。

在小程序的技术发展史上,微信解释了 js-sdk 和 WeixinJSBridge 的关系:

​ 实际上,微信官方是没有对外暴露过 WeixinJSBridge.invoke 这种调用方法,此类 API 最初是提供给腾讯内部一些业务使用,很多外部开发者发现了之后,依葫芦画瓢地使用了,逐渐成为微信中网页的事实标准。2015 年初,微信发布了一整套网页开发工具包,称之为 JS-SDK,开放了拍摄、录音、语音识别、二维码、地图、支付、分享、卡券等几十个 API。给所有的 Web 开发者打开了一扇全新的窗户,让所有开发者都可以使用到微信的原生能力,去完成一些之前做不到或者难以做到的事情。

在微信支付 api v3 的开发文档中,微信官方给出了使用 WeixinJSBridge 在前端唤起微信支付界面的代码示例,即上述第二种方法。在这个页面中,微信表示:

网友发现 WeixinJSBridge 在安卓不稳定,可能无法唤起微信支付。

thumbsup0
thumbsdown0
暂无评论