vue接入微信jsapi支付

在h5中接入微信jsapi支付

JSAPI支付是用户在微信中打开商户的H5页面,商户在H5页面通过调用微信支付提供的JSAPI接口调起微信支付模块完成支付。应用场景有:

◆ 用户在微信公众账号内进入商家公众号,打开某个主页面,完成支付
◆ 用户的好友在朋友圈、聊天窗口等分享商家页面连接,用户点击链接打开商家页面,完成支付
◆ 将商户页面转换成二维码,用户扫描二维码后在微信浏览器中打开页面后完成支付

用户授权(获取openId)

我们公司的处理这块是后端请求微信官方接口给我一个url,点击这个url会去用户授权页面授权成功openId会附在地址栏上,这块前端唯一要处理的是当地址栏上出现openId的时候用户不用再去授权,然后把openId存在缓存中
在这里插入图片描述
这样写有时openId存不进localstorage中所以我加了一步在用户点击详情的时候存入localstorage
在这里插入图片描述

获取参数调用微信的官方方法

调用后端给我的接口传入(支付类型,订单编号,金额数目,openId),获取appid,签名等相应字段,
然后调用微信官方的getBrandWCPayRequest接口,发起微信支付请求,用户进入支付流程
在这里插入图片描述
在这里插入图片描述
到这微信中jsapi支付就全部完成了

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue语法中,实现UniApp中的微信JSAPI支付可以按照以下步骤进行操作: 1. 在需要实现支付Vue组件中,引入微信公众号支付的SDK文件。可以通过在`index.html`文件中添加以下代码来引入: ```html <script src="https://res2.wx.qq.com/open/js/jweixin-1.6.0.js"></script> ``` 2. 编写Vue组件的模板和样式,以及相关的数据和方法。 ```html <template> <div> <!-- 支付按钮 --> <button @click="wxPay">微信支付</button> </div> </template> <script> export default { methods: { // 调用微信JSAPI支付 wxPay() { if (typeof WeixinJSBridge == "undefined") { if (document.addEventListener) { document.addEventListener('WeixinJSBridgeReady', this.onBridgeReady, false); } else if (document.attachEvent) { document.attachEvent('WeixinJSBridgeReady', this.onBridgeReady); document.attachEvent('onWeixinJSBridgeReady', this.onBridgeReady); } } else { this.onBridgeReady(); } }, // 支付回调方法 onBridgeReady() { const payParams = { appId: '...', timestamp: '...', nonceStr: '...', package: '...', signType: 'MD5', paySign: '...' }; WeixinJSBridge.invoke( 'getBrandWCPayRequest', { "appId": payParams.appId, "timeStamp": payParams.timestamp, "nonceStr": payParams.nonceStr, "package": payParams.package, "signType": payParams.signType, "paySign": payParams.paySign }, function(res) { if (res.err_msg == "get_brand_wcpay_request:ok") { // 支付成功回调 } else { // 支付失败回调 } } ); } } } </script> <style> /* 样式 */ </style> ``` 在上面的代码中,我们通过`@click`事件绑定了支付按钮的点击事件,当点击按钮时会执行`wxPay`方法。在`wxPay`方法中,我们判断`WeixinJSBridge`是否已定义,如果未定义则通过事件监听等待其准备就绪,如果已定义则直接调用`onBridgeReady`方法。在`onBridgeReady`方法中,我们获取支付参数并调用微信JSAPI支付。 请注意替换代码中的支付参数(`payParams`)为实际的支付参数,并根据实际需求处理支付成功和失败的回调。 这样,你就可以在Vue语法中实现UniApp中的微信JSAPI支付了。记得在页面加载时引入微信JSAPI的SDK文件,并确保支付接口的安全性和正确性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值