支付宝支付后回调通知中responseTxt=true isSign=False可能的问题

Posted 牛腩的编程不归路

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了支付宝支付后回调通知中responseTxt=true isSign=False可能的问题相关的知识,希望对你有一定的参考价值。

在做支付宝的二维码扫码支付功能,生成二维码成功,扫描后也能付款,付款后也能回调通知到我的页面,但是验证签名的时候出错,找了好久终于找到是什么原因:

引用

1. 用的RSA签名验证,默认密钥纯字符,并不是从pem文件中读取,主要是在Aop.Api.DefaultAopClient中的全局变量keyFromFile=false
2. 我项目中用的密钥是存在文件中的,所以要改为keyFromFile=true;
3. 生成二维码的时候生成签名的是用pem文件,同样在回调的时候验证签名是也应该是从pem文件中取密钥,而默认的是纯字符串,具体是在Com.Alipay.Notify类中(F2FPayDll/Alipaynotify.cs文件中)的132行   isSign = AlipaySignature.RSACheckContent(preSignStr, sign, _alipay_public_key, _charset,false); 把那个false改为true即可

以上是关于支付宝支付后回调通知中responseTxt=true isSign=False可能的问题的主要内容,如果未能解决你的问题,请参考以下文章

iOS 支付宝支付成功不走回调方法

支付宝支付回调的坑点

thinkphp框架对接支付宝即时到账接口回调的代码

支付宝支付成功后如何实现回调信息?

支付宝支付接口开发的回调地址怎么写

支付宝支付后返回app无法回调