- 用户下单
- 从商品到订单详情页
- 收集商品信息
- 商品信息
- 用户相关信息
- 收件人地址信息
- 收件人信息
- 下单人信息
- 提交订单
- 将当前订单详情的所有数据提交给商家服务器
- 商家服务器根据当前的订单信息生成订单号
- 订单号特点:
- 唯一性
- 接下来的支付凭证
- 商家服务器会把订单号返回给客户端
- 预付单
- 商家服务器向微信服务器请求下单接口,获取微信服务器生成的预付单信息
- 商家服务器对获取的预付单信息进行签名处理
- 添加时间戳
- 进行二次加密(md5)
- 商家服务器把需要支付的订单参数返回给客户端
- 发起支付
- 客户端调用:wx.requestPayment()
- requestPayment 需要支付的参数就是商家服务器返回的订单参数
- 发送请求之后,请求鉴权操作
- 鉴权通过
- 微信服务器返回支付授权给客户端
- 客户端会调起支付密码输入框
- 请求扣款:
- 用户输入支付密码
- 微信服务器扣款
- 支付结果返回给商家服务器
- 支付结果返回给客户端
- 客户端调用:wx.requestPayment()
- 查询支付状态
- 客户端向服务器端请求查询支付状态
- 根据商家服务返回结果进行下一步操作