自己捣鼓的小程序实现订单代付的功能

在小程序的api找了半天没有找到代支付的api,所以自己就捯饬一个,能用

在支付的页面添加代付按钮

        <button hover-class='button-hover' open-type='share' class='button' >
            <image src='/images/wechat.png' class='pay-icon'></image>
            <view>好友代付</view>
          </button>

在用户点击这个代付按钮时候

 onShareAppMessage: function() {
     
 //当订单是待支付状态的时候
    if (this.data.orderData && this.data.orderData.orderStatus=='7'){
     
      return {
     
        title: '朋友代付',
        imageUrl: '/images/shareImg.png', //自定义图片路径,可以是本地文件路径、代码包文件路径或者网络图片路径,支持PNG及JPG,不传入 imageUrl 则使用默认截图。显示图片长宽比是 5:4
        path: `/pages/home/index/index?payOnBehalfInfo=${
       JSON.stringify(that.data.orderData)}`// 路径,传递参数到指定页面。
      }
    }
 }

然后在用户是点击这个分享进入的页面写入

    if (options.payOnBehalfInfo) {
      //做代付的功能
      wx.removeStorageSync('userInfo')
      app.globalData.payOnBehalfInfo = JSON.parse(options.payOnBehalfInfo)
      if (!wx.getStorageSync('userInfo')){
     
           wx.navigateTo({
     
             url: '/pages/home/login/login',
           })
        }
    }

在用户一键登陆成功之后

              if (app.globalData.payOnBehalfInfo){
      //做代付的功能
                wx.showToast({
     
                  title: '登录成功',
                  icon: 'success',
                  image: '/images/success.png',
                  mask: true,
                  duration: 2000
                })
                that.setData({
     
                  payOnBehalfInfo: app.globalData.payOnBehalfInfo
                })
                return
              }

在页面写入此处用到了vant组件

<van-popup show="{
     {payOnBehalfInfo}}" closeable position="bottom" custom-style="" bind:close="canclePay">
  <view>
    <view class=''>
      <view >
        <view bindtap='pay_pay'>
          <button hover-class='detail-hover'> 支付
            <text>{
     {
     payOnBehalfInfo.orderTotalFee}}</text></button>
        </view>
      </view>
    </view>
  </view>
</van-popup>

然后在对应的调起支付即可

你可能感兴趣的:(小程序)