分别根据官方文档
1)https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=23_1&index=1
2)https://developers.weixin.qq.com/community/develop/article/doc/00024aa67e83a094313ce005a50813
两个页面中的地址,分别成功获取了沙箱环境的签名key,具体调用接口如下:
调用接口1:https://api.mch.weixin.qq.com/xdc/apiv2getsignkey/sign/getsignkey
沙箱签名key请求实体1:
沙箱签名key返回实体1:
调用接口2:https://api.mch.weixin.qq.com/sandboxnew/pay/getsignkey
沙箱签名key请求实体2:
沙箱签名key返回实体2:
分别根据沙箱返回的两个签名key,分次调用了统一下单接口,不管那个签名key,都返回“沙箱验证签名失败,请确认沙箱签名key是否正确?”
统一订单请求接口:https://api.mch.weixin.qq.com/sandboxnew/pay/unifiedorder
统一接口请求实体:
沙箱签名key接口2:参数校验
沙箱环境统一订单返回信息。
拿这个脚本跑一下看看是否正常https://developers.weixin.qq.com/community/develop/article/doc/0002e82b060c3028230c915f150813
签名错误问题可以按照以下几点进行排查:
1、使用签名检查工具校验签名算法是否有误
2、确认秘钥是否有误(服务商模式使用服务商商户号秘钥,秘钥是在商户平台配置,如果同一商户号调用其它接口成功可排除是秘钥问题)
3、确认接口实际的请求参数与生成签名原串的参数一致,不能增加或缺少参数(可通过打印签名原串进行排查)
4、确认参数的大小写,参数名与接口文档一致
5、签名原串的参数值使用原始值,不需要encode
6、接口需要使用UTF-8编码