关于统一下单接口php的签名问题
发布于 5 年前 作者 sunxia 5596 次浏览 来自 问答

在服务端进行统一下单的时候,由于一个系统管理多个小程序,于是将phpdemo的mch_id.mch_key等改为动态,现遇到以下问题

在生成签名的时候

WxPay.Data.php中

定义一个

并在调用接口的时候设入动态的mch_key

在MakeSign()方法中,原本是

$string = $string . "&key=".WxPayConfig::KEY;

可以成功调用下单接口

我改为了

$string = $string . "&key=".$this->mch_key;

就报了签名错误,于是乎我在这句之前


$mchKey = $this->mch_key;

$mchKey2 = WxPayConfig::KEY;

dump($mchKey);

dump($mchKey2);

exit();


结果是一样的32位字符串,一位位比对过,是一样的,即使这样改为一句为:(是分开调用的,也就是跑了两次)


$string = $string . “&key=”.$mchKey;  //签名错误

$string = $string . “&key=”.$mchKey2;  //调用成功


包括最后md5之后、转大写之后的sign都是一致的

求解?

1 回复

好的 已经把微信sdk拿来改完了 哈哈哈,一时没注意没认真看sdk

回到顶部