sign check fail:check Sign and Data Fail报错攻略

简介: 错误码:com.alipay.api.AlipayApiException: sign check fail: check Sign and ​Fail           报错原因:验签失败 ,未使用正确的支付宝公钥     在新版接口的调用过程中,常常出现此报错。

错误码:

com.alipay.api.AlipayApiException: sign check fail: check Sign and ​Fail

           报错原因:验签失败 ,未使用正确的支付宝公钥    

在新版接口的调用过程中,常常出现此报错。许多人认为自己的公私钥都是匹配的,支付已经成功或者说接口已经调用成功,出现这个报错百思不得其解。要知道在调用接口过程中,商户有一对RSA密钥,支付宝同样有一对RSA密钥,在调用过程中商户用自己的私钥签名后请求到支付宝服务器,支付宝服务器使用商户的公钥(商户上传到开放平台的公钥)验证是否是商户发送的请求。此时,接口调用成功,支付宝向商户发送异步通知或者同步通知。支付宝发送异步通知或者同步通知时,支付宝使用了自己的私钥签名,所以商户需要使用支付宝的公钥验签。错误就出在商户验签时没有使用正确的支付宝公钥。             

下面我用alipay.trade.query(统一收单线下交易查询接口)为例截图说明。               

AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do","app_id","your private_key","json","GBK","alipay_public_key","RSA2");

       这里的your private_key是指商户的私钥,alipay_public_key指支付宝公钥。(若alipay_public_key值不正确就会报此错 误)。


报错解决:

 确认使用的支付宝公钥是否正确,不同的环境使用的支付宝公钥不同,如沙箱环境、线上openapi网关和mapi网关对应的支付宝公钥是不一样的。更换正确的支付宝公钥后即可成功。


查询支付宝公钥: 

a)沙箱环境                                 

      1 登录开放平台(https://openhome.alipay.com);                  

      2 进入开发者中心,点击沙箱应用,在配置应用中,查看支付宝公钥即可。 

b)真实环境               

      1 登录开放平台(https://openhome.alipay.com);                                

      2 进入开发者中心,在我的应用下,选择使用的应用,在接口加签方式中,选择对应的支付宝公钥即可

目录
相关文章
|
程序员
check sign Fail!或sign check fail: check Sign and Data Fail!-自查方案
一、报这个错大多都是支付宝公钥配置错误,不同环境的公钥是不同的,大家先确认自己的支付宝公钥获取是否正确:  1. 沙箱公钥【查看】 密钥生成可参照【如何生成RSA,RSA2密钥】  2. 开放平台密钥【查看】,已创建应用的,直接打开对应的应用进行查看, 创建应用可参照:【如何创建应用】 打开应用查...
2480 12
解决办法:gpg : 从公钥服务器接收失败:公钥服务器错误
解决办法:gpg : 从公钥服务器接收失败:公钥服务器错误
8916 0
|
网络协议 Android开发 开发工具
国内常用的Android镜像下载地址(附教育网主要镜像站)
终于建了一个自己个人小站:https://huangtianyu.gitee.io,以后优先更新小站博客,欢迎进站,O(∩_∩)O~~ Android developer 最新国内镜像:http://wear.
26378 0
|
数据采集 API 开发工具
项目支付接入支付宝【沙箱环境】
该博客文章详细介绍了如何在PC端项目中接入支付宝支付功能,特别是在沙箱环境中的配置和实现步骤。文章提供了详细的配置指南,包括获取支付宝公钥和私钥、配置沙箱应用环境、生成密钥、设置服务端代码以及调用支付接口等步骤,并附有相应的代码示例和说明。
项目支付接入支付宝【沙箱环境】
|
算法 Java 数据处理
Java中MD5加密算法的实现
Java中MD5加密算法的实现
|
存储 对象存储
【阿里云OSS】You have no right to access this object because of bucket acl.
【阿里云OSS】You have no right to access this object because of bucket acl.
22202 1
【阿里云OSS】You have no right to access this object because of bucket acl.
|
Java 开发工具 git
解决Error running XXXApplicationCommand line is too long.报错
解决Error running XXXApplicationCommand line is too long.报错
|
监控 数据挖掘 大数据
阿里云开源利器:DataX3.0——高效稳定的离线数据同步解决方案
对于需要集成多个数据源进行大数据分析的场景,DataX3.0同样提供了有力的支持。企业可以使用DataX将多个数据源的数据集成到一个统一的数据存储系统中,以便进行后续的数据分析和挖掘工作。这种集成能力有助于提升数据分析的效率和准确性,为企业决策提供有力支持。