支付宝对接几处配置问题 rsa签名

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/woshuaixiaoxin/article/details/50427631

(注:这是我们公司,产品注册新公司和域名,搬迁新服务器;原来的支付宝是调通的~~这里特别记录这事,别下次忘记了,又绕弯路。)

 

服务端公钥对接        ————————支付宝密钥(私钥) (异步支付状态,回调)

服务端密钥(私钥)对接  ———————— APP的公钥、支付宝上配置商家公钥 (同步支付状态)

 

1、应用公钥RSA在支付宝平台一定要设置



 2、支付宝php openssl_pkey_get_public返回false——坑好久,根本没意思到那个文件会不行;



问题来源:

 当本地签名+支付资料,发给支付宝,支付宝rsa公钥验签成功,执行业务事务后;会用支付宝的私钥签名,post异步回调、get同步回调数据给商家;

好了~

 

我的问题在于:支付宝回调时候,验签通不过;

 

好,看看验签需要什么:

1、支付宝的签名+notify_id+post数据

2、alipay_public_key.pem  (这个文件我以为支付宝给每个商家的公钥会不一样,然后新商家帐号这些pem签名配置,我都重新弄了~)

登录支付宝开放平台:

复制了:

新建了一个文本:alipay_public_key.pem

 

调试:

 

 

 

 

然后:一直认为支付宝开放平台粘帖的公钥就是对,它就是长那样的;很多文档说明也说很多地方要去掉:空格、换行、-----BEGIN PUBLICKEY-----等,所以也不以为然;

 

试了很多、网上查了很多:

……

 

试了为什么签名正常通过,打印出来,


看看上面的格式,才被认为是openssl key。

 

所以,去查看了下支付宝服务端demo,打开同文件:


这居然MI……QAB是跟支付宝平台复制的一样,即多了openssl key格式,哪个挨千刀的说一定要去空格和换行。

直接使用demo的这个文件,支付流程尽正常了。

 

展开阅读全文

没有更多推荐了,返回首页