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. 开放平台密钥【查看】,已创建应用的,直接打开对应的应用进行查看, 创建应用可参照:【如何创建应用】 打开应用查...
2493 12
|
5月前
|
SQL 关系型数据库 MySQL
【全网最详细】Navicat下载免费版 | Navicat数据库管理工具安装图解(2026最新)
Navicat是一款专业、直观的数据库管理工具,支持MySQL、PostgreSQL、Oracle等十余种主流数据库。图形化界面替代命令行,轻松实现建表、SQL编写、数据导入导出与同步,大幅提升开发与DBA工作效率。(239字)
22605 132
|
8月前
|
弹性计算 Linux 网络安全
阿里云服务器用法教程:ECS创建、配置安全组、远程连接ECS实例及应用部署全流程
阿里云ECS使用教程:涵盖实例创建、安全组配置、远程连接、应用部署及资源管理。支持快速/自定义购买,提供免费试用与视频指导,助你轻松上手云端服务器。
784 2
|
开发者
阿里云百炼&支付宝MCP开通教程
本文介绍了如何在支付宝开放平台创建应用并配置MCP服务,包括创建网页/移动应用、设置密钥信息、应用审核上线等步骤,随后详细说明了在阿里云百炼平台开通并使用支付宝MCP服务的流程。内容适用于希望接入支付宝支付功能的开发者和企业用户。
1902 1
阿里云百炼&支付宝MCP开通教程
|
数据采集 API 开发工具
项目支付接入支付宝【沙箱环境】
该博客文章详细介绍了如何在PC端项目中接入支付宝支付功能,特别是在沙箱环境中的配置和实现步骤。文章提供了详细的配置指南,包括获取支付宝公钥和私钥、配置沙箱应用环境、生成密钥、设置服务端代码以及调用支付接口等步骤,并附有相应的代码示例和说明。
项目支付接入支付宝【沙箱环境】
解决Vscode使用LeetCode报错Failed to test the solution. Please open the output channel for details.
本文提供了解决在VScode中使用LeetCode插件时遇到“Failed to test the solution. Please open the output channel for details.”错误的方法,主要是通过修改setting.json文件中的输出文件夹配置来解决。
1982 1
|
XML Java UED
使用 Spring Boot 实现重试和补偿功能:从理论到实践
【6月更文挑战第17天】在分布式系统中,服务之间的调用可能会因为网络故障、服务器负载等原因偶尔失败。为了提高系统的可靠性和稳定性,我们经常需要实现重试和补偿功能。
1266 6
|
存储 对象存储
【阿里云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.
22311 1
【阿里云OSS】You have no right to access this object because of bucket acl.