开发者社区> 问答> 正文

#支付宝 网关地址和公钥验证失败?

激活开发者模式时出现网关地址和公钥验证失败

展开
收起
保持可爱mmm 2020-05-07 11:12:13 1660 0
1 条回答
写回答
取消 提交回答
  • 问题原因

    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下载】。

    2020-05-07 11:12:22
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
阿里云容器 AHAS Sentinel 网关流控揭秘 立即下载
阿里Tengine网关最佳实践 立即下载
《MSE 微服务网关》 立即下载