收藏
回答

小微开发问题~沙箱验证签名失败,请确认沙箱签名key是否正确

小微入件接口~需要获取 cert_sn 参数。


沙箱环境

1、已通过接口获取了沙箱key(刚获取的肯定有效没过期)

2、然后通过沙箱key签名,获取平台证书 cert_sn 沙箱环境一直提示沙箱验证签名失败,请确认沙箱签名key是否正确

3、我用XML去验证,有个奇怪问题

<xml><mch_id>xxxxx</mch_id>

<nonce_str><![CDATA[114MPadGfDndmCBbLnTVpPj7h50SGPsu]]></nonce_str>

<sign_type><![CDATA[HMAC-SHA256]]></sign_type>

<sign><![CDATA[9EE351222DE3DCB4520FA6640F6D1209EE017EEEB8A052218EED353AA312A561]]></sign></xml>

说验证不通过,看提示后面的key直接是商户号,我把Key也改成商户号签名验证通过。但是请求API还是提示 “沙箱验证签名失败,请确认沙箱签名key是否正确”

4、请求的key难道不应该是通过接口获取的沙箱key吗?但是通过获取的沙箱key生成的xml,请求获取证书API接口还是提示: “沙箱验证签名失败,请确认沙箱签名key是否正确” ,我想确认沙箱获取证书 不应该是  https://api.mch.weixin.qq.com/sandboxnew/risk/getcertficates



我用线上环境配置的API秘钥等签名可以成功请求获取证书的API,沙箱环境不行。有点头大,



回答关注问题邀请回答
收藏

1 个回答

  • 微信支付技术助手4
    微信支付技术助手4
    2019-04-09

    用正式环境调试即可,不需要用沙箱

    2019-04-09
    有用
    回复 2
    • 古德云
      古德云
      2019-04-09

      我要测试入单提交是否正确。正式环境我测试好几天,不都是废数据

      2019-04-09
      回复
    • 微信支付技术助手4
      微信支付技术助手4
      2019-04-10回复古德云

      你好,沙箱环境签名问题也可以按照以下几点仔细检查:

      1) 使用微信的在线签名工具检查签名是否和程序生成的一致

      https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=20_1 签名工具用谷歌打开。

      选择MD5,XML,然后把请求参数xml放进去,就能校验签名。

      2)如果和微信的在线签名工具一致,说明程序没有错误,确定是API密钥错误(被别人改动或者记错了)

      在商户平台的账户信息中更改API密钥(账户设置-安全设置-API安全), 15分钟后生效

      2.1)统一下单用的是A商户号,也必须是A商户号登陆商户平台设置key才对。

      2.2)要注意统一下单请求参数中total_fee参数的类型是int类型。

      3) 如果和微信的在线签名工具不一致,说明程序有错误,常见的错误可能是:

      3.1) 编码问题,确保所有的都是utf-8的. 如果有中文, 可以先把中文改成英文重新签名,看是否签名错误,如果英文不会错中文才会错,基本肯定是编码问题

      3.2:)消息中字段大小写和文档中完全一致


      2019-04-10
      回复
登录 后发表内容