1:小程序携带商品信息调用第三方服务器的下单API
2:第三方服务器下单API对小程序带来的商品作库存量检测
3:如果检测通过,第三方服务器就会保存这个订单并且告之小程序下单成功
4:小程序调用第三方服务器的支付api
5:第三方服务器API调用微信的预订单API[WxPayApi::unifiedOrder](注意第三方服务器是无法完成支付的,这个订单实际是在微信的服务器上生成一个订单,注意这个订单与第三方服务器的订单是不一样的,微信的这个订单我们称之为预订单)
第三方服务器API调用微信的预订单API时传递参数说明https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=9_1,传递参数一般有订单编号,总价,openid等
6:微信服务器返回给第三方服务器一组支付参数
7:第三方服务器再将支付参数返回给小程序
8:小程序携带支付参数调用微信支付api【wx.requestPayment】(当小程序发送给微信服务器的支付参数是正确的情况下,小程序就会弹出一个微信支付的窗口,这个我们俗称叫拉起微信支付)
小程序携带支付参数说明https://developers.weixin.qq.com/miniprogram/dev/api/wx.requestPayment.html说明
9:如果小程序完成支会行为之后,微信会发送给小程序支付成功或者失败的结果,之后微信再发送给第三方服务器的API支付成功还是失败的结果,这里要注意微信发送给我们的服务器是异步的,并且微信服务器发送给我们支付结果不是一次,而是每隔一段时间之后就会发送给一次,直到我们的服务器对这个支付结果作出了响应之后才不在发送。