微信支付
需要注意包名和微信开放平台注册的移动应用包名一致
微信开放平台注册的移动应用签名与uniapp 安卓应用签名一致
// 微信支付
wxPlay(objParams) {
const platform = uni.getSystemInfoSync().platform;
const appId = platform === 'ios' ? 'appId' : 'appid';
const orderInfo = {
[appId]: objParams.appId,
noncestr: String(objParams.nonceStr),
package: objParams.packageValue,
partnerid: objParams.partnerId,
prepayid: objParams.prepayId,
timestamp: objParams.timeStamp,
sign: String(objParams.sign)
};
uni.requestPayment({
provider: 'wxpay',
orderInfo: orderInfo,
success(res) {
uni.showToast({
title: '支付成功',
icon: 'success'
});
uni.navigateBack({
delta: 1,
fail: (err) => {
console.error('返回上一页失败:', err);
}
});
},
fail(e) {
console.log('微信支付失败:', e);
if (e.errMsg.includes('cancel')) {
console.log('用户放弃支付');
uni.showToast({
title: '用户放弃支付',
icon: 'none'
});
} else {
console.log('支付失败', e);
uni.showToast({
title: '支付失败',
icon: 'none'
});
}
},
});
},
支付宝支付 比微信支付简单
// 支付宝支付
zfbPlay(objParams) {
uni.requestPayment({
provider: 'alipay',
orderInfo: objParams, // 字符串
success(res) {
uni.showToast({
title: '支付成功',
icon: 'success'
});
uni.navigateBack({
delta: 1,
fail: (err) => {
console.error('返回上一页失败:', err);
}
});
},
fail(e) {
uni.showToast({
title: '支付出错,请重试',
icon: 'none'
});
},
});
},