支付宝notify_url异步回调不成功问题

1,设置公钥

     我们用的是“支付宝公钥”,不要填应用公钥,不然就坑了

2,回调域名地址

     地址不可以带参数如:http://*****.com/notify.php,千万不要写:http://*****.com/back.php?r=notify

     如果url带了参数,可以添加伪静态url,规则例如:

     RewriteRule ^payment_callback/(.*) index.php?route=extension/payment/$1/callback [QSA]

3,需确认页面是http还是https,如果是https,那么需要安装ssl证书,证书要求有如下:要求“正规的证书机构签发,不支持自签  名”。

然后赶快,按照支付宝,宝爷的要求,去自检了一下自家的证书,下面两个地址可以很方便的检测SSL证书的合法性。

检测地址:

https://www.chinassl.net/ssltools/ssl-checker.html

https://cheapsslsecurity.com/ssltools/ssl-checker.php

把notify_url的通知域名放上去检测,报出No Intermediate/Chain certificate were found.

妈耶,俺们的证书居然不是权威机构颁发的,太可怕了。

未找到相应认证机构所颁发的认证证书链,RapidSSL RSA CA 2018并不是权威机构,所以不被支付宝所信赖,所以就没有向对应的地址notify_url进行接口回调通知。

分析出原因后,立马更换为http的回调地址,便可以正常接收通知了,后面我们换了一个由GoDaddy.com, Inc授权过后的https证书,彻底解决了这个问题。

你可能感兴趣的:(php,支付对接)