1.微信支付
// 微信支付
async wechatPay() {
let that = this;
let result = await this.prepay();
let orderinfo = JSON.parse(result.data.pay_data)
if (result.code === 1) {
uni.requestPayment({
provider: 'wxpay',
orderInfo: orderinfo, //微信订单数据(官方说是string。实测为object)
success: res => {
that.payResult('success')
},
fail: err => {
err.errMsg !== "requestPayment:fail cancel" && that.payResult('fail')
console.log(err, "err");
}
});
}
}
这是文档给出的参数
2.支付宝支付
// 支付宝支付
async aliPay() {
let that = this;
let result = await this.prepay();
if (result.code === 1) {
uni.requestPayment({
provider: 'alipay',
orderInfo: result.data.pay_data, //支付宝订单数据
success: res => {
that.payResult('success')
},
fail: err => {
console.log('支付取消或者失败:', err);
err.errMsg !== "requestPayment:fail cancel" && that.payResult('fail')
}
});
}
}
// H5内使用链接拉起支付宝支付 window.open(URL)
3.支付宝复制链接支付
// 支付宝复制链接支付
async copyPayLink() {
let that = this;
let result = await this.prepay();
if (result.code === 1) {
//引入showModal 点击确认 复制链接;
uni.showModal({
title: '支付宝支付',
content: '复制链接到外部浏览器',
confirmText: '复制链接',
success: (res) => {
if (res.confirm) {
uni.setClipboardData({
data: result.data.pay_data,
success: function(data) {
that.$u.toast('已复制到剪切板');
}
});
}
}
})
}
}
4.微信小程序支付
// 微信小程序支付
async wxMiniProgramPay() {
let that = this;
let result = await this.prepay();
uni.requestPayment({
provider: 'wxpay',
...result.data.pay_data,
success: res => {
that.payResult('success')
},
fail: err => {
console.log('支付取消或者失败:', err);
err.errMsg !== "requestPayment:fail cancel" && that.payResult('fail')
}
});
}
5.H5微信支付
//微信支付
wxpay(data, callback) {
let that = this;
this.isWechat() && this.initJssdkPay(function(res) {
jweixin.ready(function() {
jweixin.chooseWXPay({
timestamp: data
.timeStamp, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符
nonceStr: data.nonceStr, // 支付签名随机串,不长于 32 位
package: data.package, // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=\*\*\*)
signType: data.signType, // 签名方式,默认为'SHA1',使用新版支付需传入'MD5'
paySign: data.paySign, // 支付签名
success: function(res) {
callback(res);
},
fail: function(res) {
console.log("%c微信H5sdk,chooseWXPay失败:",
"color:green;background:yellow");
callback(res);
},
cancel: function(res) {
},
});
});
});
}