微信支付的那些事

每次做微信支付集成的时候, 总是需要重新考虑一下流程,因此笔者决定将微信支付从开始申请到最后上线可能遇到的问题总结一下,方便以后再次做微信支付集成的时候,可以轻松上手。

  1. 微信支付申请一定是企业机构,个人目前无法使用 这个没有什么需要说明的,因为支付这个事情关系很多利益,个人目前还是受限制的。

  2. 支付方式的说明 如果你看过微信支付文档的话,你就会发现微信支付有很多方式,小程序支付,app支付,h5支付,公众号支付,pc扫码支付,人脸支付等,不同方式,需要我们分别申请。

这里说下app支付,需要在开发者中心申请应用,获得appid appsercet https://open.weixin.qq.com/

h5支付,公众号支付,都需要申请服务号才能使用,没错,h5支付也需要公众号的appid https://mp.weixin.qq.com/

所有这些支付,最后都需要到支付商户里申请关联。 https://mp.weixin.qq.com/

  1. 支付需要的一些参数 appid:对应的小程序,app,公众号等应用的id appsercret:公众号需要使用 mch_id:商户号,支付的商户号 key:商户密钥,在商户平台配置。

对于退款,转账,还需要证书 'cert_client' => './cert/apiclient_cert.pem', // optional,退款等情况时用到 'cert_key' => './cert/apiclient_key.pem',// optional,退款等情况时用到

  1. 支付同步通知和异步通知 异步通知就是微信通过post发送给我们的支付成功的信息。 同步通知,这个一般不推荐使用,建议在结果页面,通过查询异步通知结果判断。

  2. h5和公众号支付 在微信中,我们不能直接使用h5支付,它会告诉我们打开浏览器使用,所以,如果用户在微信中打开我们的h5页面,我们需要使用公众号进行支付,在普通浏览器中,我们就使用h5支付。

  3. 支付回调的判断 支付是个非常重要的事情,因此对于支付成功的判断我们要严格处理,比如有可能网络原因,我们没有受到支付回调,我们就需要主动查询支付结果。