之前弄完了微信的native支付,现在需要弄微信公众号JSAPI支付,大概看了一下 除了trade_type变成“JSAPI”,多加了一个openid这个参数,其他的都一样,就觉得 稳了。结果高兴太早了,整整一天,才从这个坑爬出来。
- 首先,统一下单的请求参数,一定一定要注意参数的写法,必须和文档一模一样。不然 这就是第一个坑!!
- 通过以上的十个参数就可以召唤神龙!!!如果出现以下参数,那么离成功更近一步了。
<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>
- 只需要拿到prepay_id ,做二次验签。
通过前五个,去验证签名。如果你拿到以下几个参数,具体代码就不贴出来了,直接上结果。
` {timeStamp=1588747862,
package=prepay_id=wx061451028269939110097d451959267600,
paySign=036B1A770AB81A08B39FEC3E1B062056,
appId=wx1aa842d7b******,
signType=MD5,
nonceStr=3df1f0772bd54752bc934ce8448ec6a9}
总结:爬出坑以后发现,其实都是细节上没注意到的,整体其实没什么困难的地方。希望大家能吸取本人的教训,一定认真仔细看清楚。
`