问题原因
1、验签支付宝公钥有误。
2、验签报文存在问题。
3、验签代码方法有误并且未返回成功数据给支付宝。
解决方案
1、验签支付宝公钥有误
检查自己配置的验签使用的公钥(alipay_public_key)是否配置支付宝公钥,验签是使用支付宝公钥,如果使用工具生成的应用公钥进行验签会出现验签失败。
注:如是公钥证书方式,就需要传递支付宝公钥证书文件进行验签操作,如何获取支付宝公钥可点击【查看】。
2、验签报文存在问题
核实接收的验签报文是否完整,是否存在乱码,如果存在乱码,检查自己编码格式,通知的内容示例如下。
REQUEST URL: http://example.com/gateway.do(应用网关地址) REQUEST METHOD: POST(通知是请求方式) CONTENT:(以下为发送到应用网关上的内容) service=alipay.service.check sign=ntjOmXFGJMdfdMnrTL5rEp9QG8d0lDEoGg3ZHvqemHeI8BlQoEsFbhEn0IfQT+pvfJz5RCuE+3Qh1X7I4z5iTIiGjDBstc0xeuiAmtP9TrJZuw2jUAODFB9qOwBJLNcWlKHUGTU/db/qRsJQCj8EjoJvSi9MRM/xKv/XmduS/C4= sign_type=RSA2 charset=GBK biz_content=
注:通知数据默认是以GBK编码格式发送的,无法做修改,所以接收数据时需要以GBK编码格式去做接收,其他更多内容说明可点击【查看】。
3、验签代码方法有误并且未返回成功数据给支付宝
先确认是生活号应用上配置密钥时是选择公钥证书方式还是普通公钥方式:
(1)如普通公钥方式,验签代码可参考【签名验签方法】内的生活号响应返回的数据验签说明。
(2)如公钥证书方式,验签代码可参考【公钥证书签名验签方法】内的生活号响应返回的数据验签说明。
注1:验签成功后还需要给支付宝返回相关的数据内容信息,并且普通公钥方式和公钥证书方式返回的内容信息还存在差异,详细可参考【激活开发者说明文档】内的返回验签成功消息说明。
注2:相关的生活号demo下载地址可点击【生活号demo下载】。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。