在小程序的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>
然后在对应的调起支付即可