收藏
回答

企业微信发红包接口一直报签名错误

在使用企业微信发红包api接口进行测试的时候,做了各种尝试依然报报签名错误,应该往哪个方向排查呢?

接口api地址:https://developer.work.weixin.qq.com/document/path/90275

接口测试,请求参数xml如下:

接口返回结果:

<xml>

<return_code><![CDATA[SUCCESS]]></return_code>

<return_msg><![CDATA[签名错误]]></return_msg>

<result_code><![CDATA[FAIL]]></result_code>

<err_code><![CDATA[SIGN_ERROR]]></err_code>

<err_code_des><![CDATA[签名错误]]></err_code_des>

</xml>

参与企业签名的参数和参数顺序

参与支付签名的参数

----------------------------

排查过程,已经对照企业微信“发企业红包”接口对过很多遍,也搜索了别人之前的踩坑经历都做了对比排查

1、使用签名检查工具(http://mch.weixin.qq.com/wiki/tools/signverify/)校验签名算法是否有误。已排查过确认无误,程序签名结果与网页检查工具签名结果一致

2,确认秘钥是否有误(服务商模式使用服务商商户号秘钥,秘钥是在商户平台配置,如果同一商户号调用其它接口成功可排除是秘钥问题),已排查过,同一商户号调用其它接口是成功的,很多地方都在使用这个密钥,也不敢去轻易修改测试

3,确认接口实际的请求参数与生成签名原串的参数一致,不能增加或缺少参数(可通过打印签名原串进行排查),已排查过无误

4,确认参数的大小写,参数名与接口文档一致。确认过,一致无误。

5,签名原串的参数值使用原始值,不需要encode。确认过无误

6,接口需要使用UTF-8编码。确认过是用的UTF-8编码,为了防止编码问题,请求参数里面没带中文一样签名错误

7、排查参数值,

wxappid使用的企业id,

mch_id商户号也确认过,

参与企业签名的agentid和密钥Secret,分别用了”企业支付“应用的agentid和Secret和自己创建的测试应用的agentid和Secret,依然报签名错误

参与支付签名的密钥,同一商户号调用其它接口是成功的,可以排除这里的问题。

最后一次编辑于  2022-07-24
回答关注问题邀请回答
收藏
登录 后发表内容