wechatpay-apiv3 / wechatpay-guzzle-middleware

微信支付 APIv3 Guzzle HTTP Client中间件(middleware)
Apache License 2.0
209 stars 46 forks source link

jsapi 公众号paySign的是怎么生成的?公众号支付拉取付款页面一直提示签名验证不过。 自己用签名验证工具验证是可以通过的 #56

Closed jk030611 closed 2 years ago

jk030611 commented 2 years ago

public function joinedByLineFeed($pieces) { return implode("\n", array_merge($pieces, array())); } public function getSign($data) { $merchantPrivateKey = PemUtil::loadPrivateKey($this->config['apiclient_key_pem']); $signer = new PrivateKeySigner($this->config['serial_no'], $merchantPrivateKey); print_r($this->joinedByLineFeed($data)); $message = $this->joinedByLineFeed($data); $result = $signer->sign($message); return $result->sign; }

$time = time(); $data['appId'] = $this->config['app_id'];//公众号appid $data['timeStamp'] = "$time"; $data['nonceStr'] = $this->getRandChar(32); $data['package'] = 'prepay_id=' . $return['data']['prepay_id']; $data['paySign'] = $this->getSign($data);

xy-peng commented 2 years ago

建议使用我们新的 wechatpay-php,拉起支付的签名说明可以参考 签名