微信APP支付时调起支付时候提示“支付签名验证失败”的问题解决

admin 发布于 安装使用 2022-03-17 23:26:21

如果您使用的ShopWind电商系统V3.4.1版本,在确认AppID、AppSecret、商户号、APIv3秘钥、商户证书号,商户证书文件、微信证书文件 都正确填写并无误的情况下,
打开文件:common\plugins\payment\wxapppay\SDK.php

将代码:

public function getParameters($prepay_id)
{
  $params["appid"] = $this->appId;
  $params["timestamp"] = (string)Formatter::timestamp(),
  $params["noncestr"] = Formatter::nonce(),
  $params["package"] = "Sign=WXPay";
  $params["partnerid"] = $this->mchId;
  $params["prepayid"] = $prepay_id;
  $params["sign"] = 'MD5';//$this->getSign($params),// Wechat SDK BUG
  return $params;
}

修改为:

public function getParameters($prepay_id)
{
  $params["appid"] = $this->appId;
  $params["timestamp"] = (string)Formatter::timestamp(),
  $params["noncestr"] = Formatter::nonce(),
  $params["prepayid"] = $prepay_id;

  // 参数[appid、timestamp、noncestr、prepayid]参与签名, 如果发现签名失败,可以取值为MD5试试
  $params["sign"] = $this->getSign($params),

  $params["package"] = "Sign=WXPay";
  $params["partnerid"] = $this->mchId;
  return $params;
}
最后编辑于 2023-04-06 00:34:40
1 1958

回复(1)

沙发
该问题仅出现在3.4.1版的安卓APP端微信支付,其他端如H5、小程序无此问题
发布于 2022-03-17 23:38:37
回复
Re :

admin 这家伙什么都没留下

  • 回答

    97
  • 发布

    86
  • 经验

    6430

内容精选

联系我们

  • 微信官网

    关注公众号

    系统更新,推送提醒
  • 开发交流群

    技术交流Q群

    安装使用,开发交流

垂询热线:18978189162