收藏
回答

企业付款到银行卡 签名错误?

假设传送的参数如下:

appid: wxd930ea5d5a258f4f

mch_id: 10000100

device_info: 1000

body: test

nonce_str: ibuaiVcKdpRxkhJA

第一步:对参数按照key=value的格式,并按照参数名ASCII字典序排序如下:

stringA="appid=wxd930ea5d5a258f4f&body=test&device_info=1000&mch_id=10000100&nonce_str=ibuaiVcKdpRxkhJA";

第二步:拼接API密钥:

stringSignTemp=stringA+"&key=192006250b4c09247ec02edce69f6a2d" //注:key为商户平台设置的密钥key

sign=MD5(stringSignTemp).toUpperCase()="9A0A8659F005D6984697E2CA0A9CF3B7" //注:MD5签名方式

完全按照上述去得到签名

<xml>

<mch_id>123456</mch_id>

<nonce_str>5087e0xessefellkg</nonce_str>

<sign>xxxxxx</sign>

<sign_type>MD5</sign_type>

</xml>

提交上述信息到 https://fraud.mch.weixin.qq.com/risk/getpublickey

返回签名错误: SIGN_ERR

反复核对参数,没有问题呀!哪里错了?

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

3 个回答

  • Memory
    Memory
    2021-12-26

    计算参数和请求参数要保持一致,计算有device_info,请求没有device_info?

    2021-12-26
    有用 1
    回复 3
    • A_jree
      A_jree
      2021-12-26
      哦哦,那可能是计算参数和请求参数不一致,还有device_info文档上写的是微信支付分配的终端设备号,这个是在哪里查看?
      2021-12-26
      回复
    • Memory
      Memory
      2021-12-26回复A_jree
      这个接口哪来的这个字段?
      2021-12-26
      回复
    • A_jree
      A_jree
      2021-12-26回复Memory
      非常感谢!!!!!!这个问题解决了!
      2021-12-26
      回复
  • 幻茧软件开发罗经理18785023934
    幻茧软件开发罗经理18785023934
    2022-06-01

    mch_id=1606530340&nonce_str=BK1u3KJHsKWVF0abdIcxqzXf7Vh2JJCK&sign_type=MD5

    我也遇到同样问题,关键是加密参数顺序不对,必须要有上面3个参数参与签名,并且签名顺序一致,才能通过

    2022-06-01
    有用
    回复
  • 谢长城
    谢长城
    2022-05-12

    怎么解决的 我也遇到这个问题了

    2022-05-12
    有用
    回复
登录 后发表内容