uni-app中发起微信支付提示包名不对,请检查包名是否与开发平台上填写的一致

发布于 1周前 作者 h691938207 来自 Uni-App

uni-app中发起微信支付提示包名不对,请检查包名是否与开发平台上填写的一致

一个二开项目,使用hbuilderx自有证书,云打包,可正常安装,在app中发起微信支付提示"包名不对,请检查包名是否与开发平台上填写的一致",折腾了几个小时也没搞定,寻求大佬帮助。

确认:Hbuilderx开放平台中app包名与app打包界面填写的包名一致,Hbuilderx开放平台" Android 应用签名SHA1值","Android 应用签名SHA256"均正常填写。

初步推断:由于公司前开发人员已离职,无从联系,我界入后,重新生成appid,显然这个appid同之前在微信支付里填写的资料不一致,可能是这个问题,从提示错误信息对解决问题并无帮助。


9 回复

包名是这里打包时填写的。不是manifest.json中的appid


原来UNI换成. ,我看了还是提示不一致呀

你好,我和你碰到了同样问题,签名不对,请问下我只有微信开发平台上的应用签名,那打出来的包的签名怎么才能和微信开发平台上的应用签名一致。

可能是微信缓存问题,建议吧微信卸载重装看下

我重装了微信后可以了,但是第二次再请求又报错

兄弟们 困扰了我三天的问题解决了 你们试试打正式包去拉微信支付 不要去模拟器或者基座去拉微信支付 都会显示包名不对!!!!!!!

大哥,我也三天啦,但是正式包也不行

如果使用 云端证书,换成本地正式就可以啦

在uni-app中集成微信支付时遇到“包名不对”的提示,通常是因为在微信支付商户平台配置的应用包名与你的实际APK或APP包名不一致。以下是一个检查和修正这个问题的代码和配置流程示例:

1. 确认你的应用包名

首先,确认你的uni-app项目中的包名。这通常在manifest.json文件中设置:

{
  "mp-weixin": { // 或其他平台配置
    "appid": "your-app-id",
    "setting": {
      "urlCheck": false
    },
    "usingComponents": true
  },
  "app-plus": {
    "name": "你的应用名称",
    "id": "com.yourcompany.yourapp", // 这里是你的包名
    ...
  }
}

2. 检查微信支付商户平台配置

登录到微信支付商户平台,进入“开发配置”页面,检查“公众号支付”、“APP支付”或“H5支付”(根据你的需求)下的“支付授权目录”和“应用包名(AppID)”是否正确。

  • 支付授权目录:应包含你的支付回调页面的URL。
  • 应用包名(AppID):应与manifest.json中配置的包名完全一致。

3. 配置微信支付参数

在uni-app项目中,你需要配置微信支付的相关参数。这通常在pages.json或单独的支付配置文件中完成,但更关键的是在发起支付请求时传递正确的参数。

// 发起微信支付请求示例
uni.requestPayment({
  timeStamp: '', // 时间戳,从商户服务器获取
  nonceStr: '', // 随机字符串,不长于32位,从商户服务器获取
  package: '', // 统一下单接口返回的prepay_id参数值,格式为prepay_id=***
  signType: 'MD5', // 签名方式,默认为'SHA1',使用'MD5'时,本字段必须为'MD5'
  paySign: '', // 签名,从商户服务器获取
  success: function (res) {
    console.log('支付成功', res);
  },
  fail: function (err) {
    console.error('支付失败', err);
  }
});

注意:上述timeStampnonceStrpackagepaySign等参数应由你的服务器通过调用微信支付统一下单接口生成,并传递给前端。

4. 重新打包和测试

修改完配置后,重新打包你的应用并安装到测试设备上。确保设备上的包名与微信支付商户平台配置的一致,然后再次尝试发起支付。

通过上述步骤,你应该能够解决“包名不对”的问题。如果问题依旧,请仔细检查每一步的配置,并确保所有信息准确无误。

回到顶部