支付宝的回调bug以及坑爹处
转
支付宝回调验签失败解决办法
2018年07月05日 09:47:21 DeBuggggggg 阅读数:3905 标签: 支付宝接口 更多
个人分类: 支付宝
按照支付宝的文档,调用rsaCheckV1的方法,他已经把方法封装的很透彻了,只需要将取到的参数Map(request.getParameterMap())集合放入即可。
但是验签一直不通过,查了很多资料,说公钥不对,应该使用支付宝公钥,不是应用公钥,修改之后,还是验签不通过。
boolean signVerified = AlipaySignature.rsaCheckV1(params, AlipayConfig.ALIPAY_PUBLIC_KEY, “UTF-8”); //调用SDK验证签名
问题出在支付宝有两个重载的方法。如果使用的是RSA加密的话,就调用下面这个方法。
boolean signVerified = AlipaySignature.rsaCheckV1(params, AlipayConfig.ALIPAY_PUBLIC_KEY, “UTF-8”);
如果使用的是RSA2加密的话,就调用下面这个方法。
boolean signVerified = AlipaySignature.rsaCheckV1(params, AlipayConfig.ALIPAY_PUBLIC_KEY, “UTF-8”,AlipayConfig.SIGN_TYPE); //调用SDK验证签名
因为我们生成订单的加密方法使用的是RSA2,但是后面一直使用的是不带参数类型(验RSA的签)的方法(params, AlipayConfig.ALIPAY_PUBLIC_KEY, “UTF-8”)验签,所以一直报验签不通过。
总结来说:
是RSA2加密的话
AlipayConfig.SIGN_TYPE = “RSA2”;
回调调用这个方法
boolean signVerified = AlipaySignature.rsaCheckV1(params, AlipayConfig.ALIPAY_PUBLIC_KEY, “UTF-8”,AlipayConfig.SIGN_TYPE);
是RSA加密的话
AlipayConfig.SIGN_TYPE = “RSA”;
回调调用这个方法
boolean signVerified = AlipaySignature.rsaCheckV1(params, AlipayConfig.ALIPAY_PUBLIC_KEY, “UTF-8”);
- PHP服务端集成支付宝APP支付以及回调
- iOS9之后支付宝的回调以及iOS8之后提示框UIAlertController
- 在iOS9上调用支付宝不回调的问题解决,以及支付宝嵌入的流程梳理
- js&jquery跨域详解jsonp,jquery并发大量请求丢失回调bug
- 提高C/C++运行效率以及避免出现Bug的20种方法
- IE浏览器兼容性BUG以及跨域访问
- 关于vs2013与office系列软件一起安装出现bug的情况描述以及解决办法——打开vs2013鼠标不动/动不了
- Mac下使用 you-get 来下载视频网站上的视频以及相关bug处理
- 支付宝回调对接
- [更新设计]跨平台物联网通讯框架ServerSuperIO 2.0 ,功能、BUG、细节说明,以及升级思考过程!
- 支付宝微信支付回调地址访问不成功
- python 调用海康linux下demo的可执行程序,设置回调,实现人脸识别 以及实现抓拍功能
- 微信支付获取prepay_id以及回调地址
- cocos2d-x 多行字符串换行显示以及CCLabelTTF中的bug修改
- 支付宝支付后回调通知中responseTxt=true isSign=False可能的问题
- 一些值得记录的bug,以及解决思路与反思
- DLL函数调用以及回调函数设置
- IOS 调用支付宝收不到支付回调
- android 各种回调传值以及相应事件
- SQL语句实现横排(感谢原作者,以及修改小bug的作者)