yansongda / pay

可能是我用过的最优雅的 Alipay/WeChat/Douyin/Unipay/江苏银行 的支付 SDK 扩展包了
http://pay.yansongda.cn
MIT License
5.01k stars 1.03k forks source link

nvalid-signature 错误原因: 验签出错 #147

Closed lizc9 closed 6 years ago

lizc9 commented 6 years ago

包版本号 1.x

问题描述

nvalid-signature 错误原因: 验签出错

代码

Yansongda\Pay\Gateways\Alipay 下的
protected $gateway = 'https://openapi.alipay.com/gateway.do?charset=UTF-8';

$this->config = [
            'app_id'      => $this->user_config->get('app_id'),
            'method'      => '',
            'format'      => 'JSON',
            'charset'     => 'utf-8', // 大小写不匹配
            'sign_type'   => 'RSA2',
            'version'     => '1.0',
            'return_url'  => $this->user_config->get('return_url', ''),
            'notify_url'  => $this->user_config->get('notify_url', ''),
            'timestamp'   => date('Y-m-d H:i:s'),
            'sign'        => '',
            'biz_content' => '',
        ];

报错详情

错误代码 invalid-signature 错误原因: 验签出错,建议检查签名字符串或签名私钥与应用公钥是否匹配,网关生成的验签字符串为:

关键是我自己请求也没什么问题,结果发现 这里的UTF-8utf-8不一样导致签名错误。

yansongda commented 6 years ago

感谢支持,已修复