微信支付——签名问题

微信支付——签名问题

  1. 签名顺序

    首先签名顺序必须按照ASCII码来排列

    例如

    stringA="appid=wxd930ea5d5a258f4f&body=test&device_info=1000&mch_id=10000100&nonce_str=ibuaiVcKdpRxkhJA";
  2. 签名大小写

    签名sign字符串必须是大写的

    例如

    sign=MD5(stringSignTemp).toUpperCase()="9A0A8659F005D6984697E2CA0A9CF3B7" //注:MD5签名方式
  3. 签名秘钥问题

    首先声明一点,就是支付签名的key并不是整个商户的key,是一个全新的key,如果你的签名与微信工具签名保持一致;那么请注意,key的正确性,key的正确性,key的正确性;重要的话说三遍,本人在这个问题上调试了一天,希望读者能注意这一点。

  4. 最终强调一点

    就是请注意吗,最好使用微信提供的SDK,不要到处去乱找代码

    请认准微信官方SDK

    GitHub地址:https://github.com/wxpay/WXPay-SDK-Java

    maven依赖:

    <dependency>
        <groupId>com.github.wxpaygroupId>
        <artifactId>WXPay-SDK-JavaartifactId>
        <version>0.0.4version>
    dependency>

    以上内容参考至:微信统一支付接口返回“签名错误”的可能原因;微信公众号支付官方文档

    最后提一句,如果你还遇到什么乱七八糟的问题的时候,可以与笔者一起分享;邮箱:[email protected]

你可能感兴趣的:(工作经验)