拂晓2024
拂晓2024
  • 发布:2025-03-18 19:53
  • 更新:2025-03-18 19:53
  • 阅读:14

【报Bug】App调用微信支付,使用uni.requestPayment这个api,sign可以任意填写<32位数的字符串,正确的32位签名却显示验签失败

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Window 10

HBuilderX类型: 正式

HBuilderX版本号: 3.99

手机系统: 全部

手机厂商: 华为

页面类型: vue

vue版本: vue2

打包方式: 离线

项目创建方式: HBuilderX

App下载地址或H5⽹址: https://ios.u-area.com/m/pages/Common/AppDownload

测试过的手机:

Vivo se和 IPhone 15 pro

示例代码:
let orderInfo = {  
    appid: res.appId,  
    noncestr: res.nonceStr,  
    package: res.package,  
    partnerid: res.partnerId,  
    prepayid: res.prepayId,  
    timestamp: res.timestamp,  
    sign: res.sign.slice(0,31)  
}  
console.warn('查看orderInfo',orderInfo)  
uni.requestPayment({  
    provider: 'wxpay',  
    orderInfo: orderInfo,  
    success: res1 => {},  
    fail: res1 => {},  
})

操作步骤:

使用后端正常二次加密的32位长度的sign调用uni.requestPayment接口

预期结果:

能正常拉起微信支付

实际结果:

报错:支付验证签名失败

bug描述:

App调用微信支付,使用uni.requestPayment这个api,sign可以任意填写<32位数的字符串,正确的32位签名却显示验签失败,sign可以填写任意的字符,只要不超过31位数即可掉起微信支付,并且sign不能为空,sign的意义不知道是啥

2025-03-18 19:53 负责人:无 分享
已邀请:

要回复问题请先登录注册