解决了,最后一点,utf-8编码问题,全部是英文就通过了。谢谢客服,= =!,终于搞定了。 这个帖子就不删了,记录一下愚蠢的凡人(自己GAG)。很容易忽视的一个细节就是用restTemplate或者其他的封装了httpClient的框架时没有去定义框架底层的默认编码,我用的是restTemplate,底层默认的是iso所以就算打印出来的入参没有问题但是实际发送过去的是另外的东西,导致SIGN_ERROR, 以后还是得细心点呀!!!!
微信支付分账功能SIGN_ERROR<xml><return_code><![CDATA[SUCCESS]]></return_code><result_code><![CDATA[FAIL]]></result_code><err_code><![CDATA[SIGN_ERROR]]></err_code><err_code_des><![CDATA[验证签名失败]]></err_code_des><mch_id><![CDATA[1565095421]]></mch_id><appid><![CDATA[wx1fe38888dc886611]]></appid><nonce_str><![CDATA[ed8363b65a685c18]]></nonce_str><sign><![CDATA[1F2FA5CC0DFBBBAE65A7E7C7011B842C9D7BAD72264CD160785020636459A780]]></sign></xml> 我用了https://pay.weixin.qq.com/wiki/doc/api/jsapi_sl.php?chapter=20_1这个验签,来回的都用了商户号的api密钥验签了都是通过的,但是微信那边就是一直这个错误,这个交流社区每次都只能看到出现的问题,但是从来没有看到过解决过的问题,每次都会有客服提供者提供那最后也没个音信,感觉这个问题也不会有人来解决,这样以后我还是转阿里的支付吧。 请按照以下几点进行排查: 1、使用签名检查工具(https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=20_1)校验签名算法是否有误 2、确认秘钥是否有误(服务商模式使用服务商商户号秘钥,秘钥是在商户平台配置,如果同一商户号调用其它接口成功可排除是秘钥问题) 3、确认接口实际的请求参数与生成签名原串的参数一致,不能增加或缺少参数(可通过打印签名原串进行排查) 4、确认参数的大小写,参数名与接口文档一致 5、签名原串的参数值使用原始值,不需要encode 6、接口需要使用UTF-8编码 这是我加的支付助手给的解决方案,这六点我早就试过了,搞了我一个多星期还没搞出来,谁能帮我解决这个问题,给钱也可以!
2020-05-06有谁解决了吗?联系我重酬都可以!!
请求单次分账接口,返回SIGN_ERROR验证签名失败下图为加密方法截图。 [图片] 下图为请求参数截图。 [图片] 下图为返回结果截图。 [图片] 照着微信api接口文档做的,实在是找不到原因。
2020-05-06