支付宝支付后回调通知中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可能的问题的主要内容,如果未能解决你的问题,请参考以下文章