胖蒜

分享有价值的资源

支付宝无法接收异步回调(异步通知)原因分析

有使用过TePay这个插件的人都知道,我这个插件可以个人收款,可以接收异步回调通知,可以说是 Typecho 第一款帮助个人开发者收款的插件,厉害吧~

那么我是如何做到的呢?使用过程中有哪些经验可以分享?
这里我分享一下支付宝无法接收异步回调通知的原因。

实现收款不难,放个二维码就可以了,难的是及时把付款成功或失败的消息告知系统或用户,能马上知道付款结果,可以进行下一步的动作。

在支付宝中,对个人用户有个当面付,签约后就可以使用,这个当面付接口就能推送付款结果的通知,我的TePay插件利用的就是这个,所以说你的资金是安全的,因为付款后立即到你的个人支付宝账户。

我在做支付宝收款的时候,碰到最多的就是无法接收异步回调通知,通过自己的分析和TePay用户的反馈,大概有以下几个原因:

一、支付宝发回调通知时,需要验签,在验签这步使用的是支付宝的公钥,很多人看文档不认真,弄成了商户应用的公钥;
二、网站的问题,比如用了CDN,那么需要找到自己网站的回调URL,在CDN设置中排除回调URL(此URL不执行CDN);
三、网址在支付宝的黑名单,肯定无法接收到通知;
四、商户私钥公钥生成的版本有问题,至少需要1.4以上的版本;
五、回调地址填错了,或者在支付宝的开放平台没有填回调地址;
六、支付宝回调通知中返回数据格式的问题,转义符方面注意一下,需要自己去处理;
七、需确认页面是http还是https,如果是https,那么需要安装ssl证书,证书要求有如下:要求“正规的证书机构签发,不支持自签名”。

注意:notify_url页面只能返回success,异步通知页面上不可有任何HTML代码。

参考地址:
https://www.cnblogs.com/suizhikuo/p/11767409.html
https://docs.open.alipay.com/66/104422

感觉很棒,欢迎点赞 OR 打赏~

分享到:

评论 (0)

立即登录评论
可联系QQ744272645咨询
马上咨询 自媒体号