收藏
回答

企业付款到个人时,使用签名工具签名验证检测通过, 为什么带着数据请求接口就是签名错误了?

最后返回的是:{"return_code":"SUCCESS","return_msg":"SIGN_ERROR","mch_appid":"wx552ebaeacdca691a","mchid":"1558236751","result_code":"FAIL","err_code":"SIGN_ERROR","err_code_des":"签名错误"}


求解,这是什么原因?

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

2 个回答

  • 微信支付技术助手8
    微信支付技术助手8
    08-31

    请按照以下几点进行排查:

    1、使用签名检查工具(https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=20_1)校验签名算法是否有误

    2、确认秘钥是否有误(服务商模式使用服务商商户号秘钥,秘钥是在商户平台配置,如果同一商户号调用其它接口成功可排除是秘钥问题)

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

    4、确认参数的大小写,参数名与接口文档一致

    5、签名原串的参数值使用原始值,不需要encode

    08-31
    有用
    回复 2
    • Ijntk
      Ijntk
      08-31
      回复1:使用签名方法校验依然有错
      回复2:秘钥无措
      回复3:是一致的
      回复4:是一致
      08-31
      回复
    • 微信支付技术助手8
      微信支付技术助手8
      08-31回复Ijntk
      那就是你的参数还有问题,注意大小写和编码。签名对这两点很敏感。
      08-31
      回复
  • 一方
    一方
    08-31

    应该是签名加密的时候,中文编码转换的问题

    08-31
    有用
    回复 1
    • Ijntk
      Ijntk
      08-31
      加了这个了header("Content-Type: text/html; charset=utf-8");   为啥还有问题?
      08-31
      回复
登录 后发表内容
问题标签