一开始用的V3,后面换成V2,都是这样,每次测试支付前微信也清除缓存了,大小写也和官网文档一致
前端代码
uni.requestPayment({
provider: "wxpay",
signType: "MD5",
orderInfo: {
appid: data.appid,
partnerid: data.partnerid,
prepayid: data.prepayid,
package: data.package,
noncestr: data.noncestr,
timestamp: data.timestamp,
sign: data.sign, // 签名,这里用的 MD5 签名
},
=============================================================================
后续解决了,是后端返回的时间戳的格式问题不符合要求,后面改了这个就可以了,大家可以再好好排查一下
你自己不兼容一下对应错误状态处理么
根据错误提示,支付失败的原因是用户取消了支付。如果想要改进这个问题,可以考虑添加支付失败的回调函数,以便在用户取消支付时给出相应的提示和处理。
示例代码:
uni.requestPayment({ provider: "wxpay", signType: "MD5", orderInfo: { appid: data.appid, partnerid: data.partnerid, prepayid: data.prepayid, package: data.package, noncestr: data.noncestr, timestamp: data.timestamp, sign: data.sign, }, success: function (res) { // 支付成功的处理 }, fail: function (res) { // 支付失败或取消的处理 if (res.errMsg == 'requestPayment:fail cancel') { // 用户取消支付的处理 uni.showToast({ title: '已取消支付', icon: 'none' }) } else { // 支付失败的处理 uni.showToast({ title: '支付失败,请重试', icon: 'none' }) } } })