您好,登录后才能下订单哦!
密码登录
            
            
            
            
        登录注册
            
            
            
        点击 登录注册 即表示同意《亿速云用户服务条款》
        本篇文章为大家展示了微信小程序与webview交互实现支付功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
实现原理:点击h6网页的支付按钮——(跳转)——>嵌套改h6的小程序的支付页面——(处理支付)——>跳转至支付完成后的页面
注意:(1)网页h6中,引入微信的jssdk
<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.3.2.js"></script>
(2)小程序嵌套h6页面后,需要在微信公众平台配置h6网页的业务逻辑名,否则无法访问(且配置业务逻辑名的小程序只能是企业小程序,个人小程序暂时无法实现)。
操作:登录微信公众平台————开发——————开发设置

小程序目录

<!--webview中(小程序page)-->
//pages/lnyc2019/index.wxml
 <web-view class='page_web' src="{{url}}"></web-view>
 
//pages/lnyc2019/index.js
Page({ 
  data: { 
    url:'https://xxxxxxxx/wxmini/index.html'//h6地址 
  } 
})<!--wxPay中(小程序page)-->
// pages/wxPay/index.js
Page({
 data: {
  payTempcode:'',
  ordercode:'',
  payParam:{}
 },
 onLoad: function (options) {
  console.log('支付开始');
  console.log(options);
  this.setData({
   ordercode: options.ordercode
  });
  this.getTempcode();
 },
 // 换取支付临时code
 getTempcode:function(){
  wx.login({
   success: res => {
    // 发送 res.code 到后台换取 openId, sessionKey, unionId
    this.setData({
     payTempcode:res.code
    });
    console.log('支付code:', this.data.payTempcode);
 
    this.getPayinfo();
   }
  })
 },
 // 换取支付参数
 getPayinfo:function(){
  var self=this;
  wx.request({
   url: 'https://xxxxxx/pay/xcxpay',//后台接口地址
   data: {
    'wxcode': self.data.payTempcode,
    'ordercode': self.data.ordercode,
    'gid': x,
   },
   method: 'POST',
   success: function (res) {
    console.log(res.data.data.payinfo);
    self.setData({
     payParam: res.data.data.payinfo
    });
    console.log('支付的订单====',self.data.ordercode);
    // 调起支付
    wx.requestPayment({
     'timeStamp': self.data.payParam.time,//为字符串,否则报错
     'nonceStr': self.data.payParam.nonce_str,
     'package': `prepay_id=${self.data.payParam.prepay_id}`,
     'signType': 'MD5',
     'paySign': self.data.payParam.paysign,
     'success': function (res) {
      console.log(res)
      console.log('=======支付成功==========');
      wx.navigateTo({
       url: `/pages/lnyc2019/detail?ordercode=${self.data.ordercode}`
      })
     },
     'fail': function (res) {
      console.log(res)
      console.log('=======支付失败==========')
      wx.navigateBack({
       delta: 1//返回1个页面
      })
     }
    })
   }
  })
 }
})上述内容就是微信小程序与webview交互实现支付功能,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。