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. 开放平台密钥【查看】,已创建应用的,直接打开对应的应用进行查看, 创建应用可参照:【如何创建应用】 打开应用查...
2278 12
|
存储 安全 Java
学成在线笔记+踩坑(12)——用户认证
连接用户中心数据库、账号密码认证、验证码认证
学成在线笔记+踩坑(12)——用户认证
|
Cloud Native Java C++
Springboot3新特性:开发第一个 GraalVM 本机应用程序(完整教程)
文章介绍如何在Spring Boot 3中利用GraalVM将Java应用程序编译成独立的本机二进制文件,从而提高启动速度、减少内存占用,并实现不依赖JVM运行。
1829 1
Springboot3新特性:开发第一个 GraalVM 本机应用程序(完整教程)
|
数据采集 API 开发工具
项目支付接入支付宝【沙箱环境】
该博客文章详细介绍了如何在PC端项目中接入支付宝支付功能,特别是在沙箱环境中的配置和实现步骤。文章提供了详细的配置指南,包括获取支付宝公钥和私钥、配置沙箱应用环境、生成密钥、设置服务端代码以及调用支付接口等步骤,并附有相应的代码示例和说明。
项目支付接入支付宝【沙箱环境】
|
9月前
|
存储 移动开发 小程序
校园圈子系统小程序(圈子论坛、私信聊天、资料共享、二手交易、兼职,跑腿)开源码开发/微信公众号、小程序、H5多端账号同步/搭建多城市的综合社交生活平台
基于开源技术栈构建的校园圈子系统小程序,整合社交与生活服务功能,涵盖兴趣圈子、私信聊天、资料共享、二手交易、兼职跑腿等六大核心模块。通过多端账号同步(微信公众号/小程序/H5),实现数据实时交互,满足学生群体的多元化需求。项目精准锚定校园市场,以“社交+服务”双轮驱动,提供一站式解决方案,支持快速部署与多校区运营,同时具备广告、佣金、会员等多元变现能力,是打造校园生态的理想工具。
1034 2
校园圈子系统小程序(圈子论坛、私信聊天、资料共享、二手交易、兼职,跑腿)开源码开发/微信公众号、小程序、H5多端账号同步/搭建多城市的综合社交生活平台
|
9月前
|
安全 小程序 API
【03】支付宝支付商户申请下户到配置完整流程-对签约申请已通过商户进行开通API支付-创建应用-申请支付宝公钥-应用公钥-支付宝密钥-配合支付宝官方证书生成工具+配置完整流程-优雅草卓伊凡
【03】支付宝支付商户申请下户到配置完整流程-对签约申请已通过商户进行开通API支付-创建应用-申请支付宝公钥-应用公钥-支付宝密钥-配合支付宝官方证书生成工具+配置完整流程-优雅草卓伊凡
794 0
【03】支付宝支付商户申请下户到配置完整流程-对签约申请已通过商户进行开通API支付-创建应用-申请支付宝公钥-应用公钥-支付宝密钥-配合支付宝官方证书生成工具+配置完整流程-优雅草卓伊凡
|
Shell 网络安全 开发工具
【已解决】SSL certificate problem: self signed certificate
SSL certificate problem: self signed certificate
2491 2
微信接口报错 "errcode":40163,"errmsg":"code been used, 如何处理?
【10月更文挑战第11天】微信接口报错 "errcode":40163,"errmsg":"code been used, 如何处理?
6532 1
|
SQL 数据库
`UPDATE FROM` 的语法以及常见的更新操作方式
`UPDATE FROM` 的语法以及常见的更新操作方式
2913 2
|
IDE Java 开发工具
【Java】已解决java.lang.NoClassDefFoundError异常
【Java】已解决java.lang.NoClassDefFoundError异常
5611 0