支付宝支付回调失败(isSign=false)的解决
2017-08-18 18:04
351 查看
最近在项目中做支付宝的APP支付,折腾一大圈,APP上能够正常支付了,然而APP没有收到任何返回信息,在项目后台中查看该用户的订单状态仍然为未支付,于是想到是支付宝方面没有给我服务器返回交易结果信息,去蚂蚁金服-开放平台一看,果然没有设置“授权回调地址”,赶紧设置项目中处理回调的URL。
然而这样做完仍然没有,于是去找到alipay_core.function.php中找到logResult(),找到日志文件的位置并在刚才处理授权回调的地方启用相关功能。
这样可以在刚才的日志文件中看到相关日志,发现从支付宝方面的异步通知的返回信息里有这样的信息:responseTxt=true 这个参数看来是OK了,接下来有一句:isSign=false,于是在项目中找到有这个的地方,是支付宝的sdk中有这样一段
仔细核对之后发现并没有哪里写错了,还专门看了服务器上对密钥文件是否给有权限,发现也不是。
无奈上支付宝找技术客服,将返回的参数发过去之后马上确定了问题。我在蚂蚁金服上专门开通的APP支付,使用的APPID和密钥都是这个应用下面的,然而项目中使用的是老版本的sdk,需要的是“mapi网关产品密钥”下面对应的支付宝公钥。于是从此处copy到项目的支付宝公钥文件中保存,这下整个支付流程终于完成。所以遇到开发文档里没有写清楚的问题还是直接问技术客服吧。
然而这样做完仍然没有,于是去找到alipay_core.function.php中找到logResult(),找到日志文件的位置并在刚才处理授权回调的地方启用相关功能。
这样可以在刚才的日志文件中看到相关日志,发现从支付宝方面的异步通知的返回信息里有这样的信息:responseTxt=true 这个参数看来是OK了,接下来有一句:isSign=false,于是在项目中找到有这个的地方,是支付宝的sdk中有这样一段
//验证 //$responsetTxt的结果不是true,与服务器设置问题、合作身份者ID、notify_id一分钟失效有关 //isSign的结果不是true,与安全校验码、请求时的参数格式(如:带自定义参数等)、编码格式有关
仔细核对之后发现并没有哪里写错了,还专门看了服务器上对密钥文件是否给有权限,发现也不是。
无奈上支付宝找技术客服,将返回的参数发过去之后马上确定了问题。我在蚂蚁金服上专门开通的APP支付,使用的APPID和密钥都是这个应用下面的,然而项目中使用的是老版本的sdk,需要的是“mapi网关产品密钥”下面对应的支付宝公钥。于是从此处copy到项目的支付宝公钥文件中保存,这下整个支付流程终于完成。所以遇到开发文档里没有写清楚的问题还是直接问技术客服吧。
相关文章推荐
- 支付宝支付后回调通知中responseTxt=true isSign=False可能的问题
- 支付宝支付后回调通知中responseTxt=true isSign=False可能的问题
- 新版支付宝WAP支付成功回调接口验签失败问题解决办法
- 支付宝 APP支付异步回调验签失败 PHP
- 支付宝支付完成后用户关闭支付页面,异步回调失败
- WebView启动支付宝客户端支付失败的解决办法
- WebView启动支付宝客户端支付失败的解决办法
- 支付宝电脑网站支付,回调时签名验证失败
- 支付宝反校验签名isSign一直返回false的解决办法之一
- IOS 调用支付宝收不到支付回调
- 支付宝APP支付完成后台回调示例-java
- thinkphp网站支付宝异步回调验签失败问题,发现一个原因点
- 支付宝APP支付里设置应用网关和授权回调地址是不必填的
- React Native iOS 集成支付宝支付功能--回调问题
- 解决支付宝WEB支付界面模块在Android上自动滑动到登录模块的问题
- APPCAN支付宝APP支付和web支付的完美解决
- 微信刷卡支付_windows server上中文导致签名失败的解决办法
- 支付宝回调验证签名失败
- 解决php支付宝接口支付时会跳到一个确定按钮页
- 支付宝回调不支持fsockopen,用curl解决方法