-
用户在商家客户端下单,商家客户端携带着用户标识,商品内容发送请求给服务器
-
商家服务器端会生成平台订单号,这个是为了商家服务器管理所有订单号的标识
-
商家的服务器会将订单号返回给商家客户端(用于以后客户端通过订单号查询当前订单的状态)
-
商家客户端通过订单号请求商家服务器,商家服务器发起请求微信服务器,携带着用户标识、订单标识、商家标识、商品信息
-
微信的服务器会生成预支付订单,并返回给商家服务器端,商家服务器对预支付订单进行签名处理(二次加密),将加密后的支付参数返回给商家的客户端
-
商家客户端调用wx.requestPayment(支付参数)发起微信支付
- 直接发送请求给微信服务器端进行鉴权处理,鉴权通过以后,客户端会自动调起输入密码的小键盘
- 用户输入密码,发送请求提交授权(授权给微信服务器进行扣款处理)
-
微信服务器进行扣款以后
-
异步通知商家的服务器端支付结果
- 商家服务器和保存支付结果,并修改订单状态
- 告知商家服务器端订单结果状态接收成功
-
通知商家服务器
- 当前用户的微信消息列表会有支付成功的消息提示
- wx.requestPayment的成功回调会自动调用
-
-
注意点:
当wx.requestPayment成功回调调用以后,一定在商家客户端发起请求给商家的服务器进行订单状态的查询,一定是根据商家服务器返回订单状态决定下一步应该干什么或者显示什么!!