微信JSAPI支付的坑

之前弄完了微信的native支付,现在需要弄微信公众号JSAPI支付,大概看了一下 除了trade_type变成“JSAPI”,多加了一个openid这个参数,其他的都一样,就觉得 稳了。结果高兴太早了,整整一天,才从这个坑爬出来。

  1. 首先,统一下单的请求参数,一定一定要注意参数的写法,必须和文档一模一样。不然 这就是第一个坑!!

微信JSAPI支付的坑

微信JSAPI支付的坑

  1. 通过以上的十个参数就可以召唤神龙!!!如果出现以下参数,那么离成功更近一步了。
    <return_code><![CDATA[SUCCESS]]></return_code>
    <return_msg><![CDATA[OK]]></return_msg>
    <![CDATA[*****************]]>
    <mch_id><![CDATA[************]]></mch_id>
    <nonce_str><![CDATA[CsuX7q9K2MLjkTf2]]></nonce_str>
    <![CDATA[57C60B7E1A262B5D475C0F194E698CE7]]>
    <result_code><![CDATA[SUCCESS]]></result_code>
    <prepay_id><![CDATA[wx061451028269939110097d451959267600]]></prepay_id>
    <trade_type><![CDATA[JSAPI]]></trade_type>
  2. 只需要拿到prepay_id ,做二次验签。
    微信JSAPI支付的坑
    通过前五个,去验证签名。如果你拿到以下几个参数,具体代码就不贴出来了,直接上结果。
    ` {timeStamp=1588747862,
    package=prepay_id=wx061451028269939110097d451959267600,
    paySign=036B1A770AB81A08B39FEC3E1B062056,
    appId=wx1aa842d7b******,
    signType=MD5,
    nonceStr=3df1f0772bd54752bc934ce8448ec6a9}

总结:爬出坑以后发现,其实都是细节上没注意到的,整体其实没什么困难的地方。希望大家能吸取本人的教训,一定认真仔细看清楚。
`