小程序调起微信支付时提示“签名错误”怎么办?
我在开发微信小程序的支付功能,后端已经按文档生成了 prepay_id 并返回给前端,但调用 wx.requestPayment 时一直报“签名错误”。我检查了时间戳、nonceStr、package 这些参数,看起来都对,签名也是用后端统一生成的,不知道问题出在哪。
这是前端调用的代码:
wx.requestPayment({
timeStamp: res.data.timeStamp,
nonceStr: res.data.nonceStr,
package: res.data.package,
signType: 'RSA',
paySign: res.data.paySign,
success(res) {
console.log('支付成功', res)
},
fail(err) {
console.error('支付失败', err)
}
})
后端用的是 RSA 签名方式,但文档里好像默认是 MD5?是不是这里搞错了?
UI敏涵
Lv1
换用MD5签名,后端和前端保持一致。signType改成'MD5',后端重新生成签名。就这样。
点赞
2026-03-26 18:36