开发者社区
社区提问意见反馈
开发者钉组织
扫描二维码
加入支付宝开发者钉组织
文档中心
凯发app官方网站的技术支持 & 案例 faq 
接入指南 > 接入准备 > 签名验签 > sign check fail: check sign and data fail
收藏
我的文档
设置
视频介绍
错误描述
接口报错:com.alipay.api.alipayapiexception: com.alipay.api.alipayapiexception: sign check fail: check sign and data fail!

问题原因
支付宝返回内容信息验签失败。
支付宝公钥错误
编码格式错误
验签方法错误
凯发app官方网站的解决方案
支付宝公钥错误
验签使用的支付宝公钥必须是与之匹配的应用 id(app_id)中的支付宝公钥。代码中支付宝公钥参数与开放平台上 接口加签方式 位置获取的支付宝公钥是否一致。大部分商户报错是由于支付宝公钥错误导致,需在开放平台的 接口加签方式 位置的支付宝公钥中获取,注意不是通过密钥生成工具生成的。
使用工具生成的密钥为应用私钥和应用公钥,应用公钥与支付宝公钥数据不同。
如果应用的 接口加签方式 设置为 公钥,则获取支付宝公钥数据,使用支付宝公钥数据进行验签。
如果应用的 接口加签方式 设置为 公钥证书,则获取支付宝公钥证书信息,使用支付宝公钥证书进行验签。
支付宝公钥获取详见 如何获取支付宝公钥
检查编码类型(charset)是否正确
如果编码格式不同一,会导致返回信息中文乱码,建议查看返回信息是否存在乱码等情况。如果乱码请按照中文乱码的排查流程自行检查自己项目和服务器等环境的编码格式。
验签方法错误
接口报错 sign check fail: check sign and data fail!,是因为商户通过 sdk 初始化调用接口,接口中已经自动封装验签代码,会对返回的同步响应参数进行验签,从而存在支付成功,但是返回数据验签失败报错。
验签代码错误,主要会存在于 .net 开发语言初始化代码设置错误,建议检查初始化代码末尾是否为 false。
示例代码
运行环境有误
如果本地测试成功但是服务器上报错,建议检查你的运行环境版本是否过低,过低建议升级,如果使用 .net 语言需要升级到 .net framework 4.0。
内容没有解决您的问题?您还可以前往 或 寻求帮助
凯发k8官方网娱乐官方 copyright © 2022 支付宝(杭州)信息技术有限公司  | icp证浙b2-20160559
该文档对你是否有帮助?
当前页面目录
网站地图