当用户在微信小程序中选择商品或服务并确认购买后,支付流程一般包括以下详细步骤:
1. **生成订单信息**:用户确认购买后,小程序前端将用户选定的商品信息传递给小程序后台服务器,后台服务器生成订单信息,包括商品描述、总金额、商户订单号等,并进行相关业务逻辑处理(如库存检查)。
2. **统一下单接口调用**:小程序后台服务器使用微信支付接口中的"统一下单"接口,将订单信息发送给微信支付服务器,包括小程序的AppID、商户号、商户订单号、支付金额、用户标识等信息。微信支付服务器接收到请求后,会返回预支付交易会话标识(prepay_id)等信息给小程序后台服务器。
3. **获取支付参数**:小程序后台服务器接收到微信支付服务器返回的预支付交易会话标识(prepay_id)后,将其返回给小程序前端。
4. **发起支付请求**:小程序前端通过调用wx.requestPayment()方法,传入预支付交易会话标识(prepay_id)、时间戳、随机字符串、签名等参数,向微信服务器发起支付请求。
5. **用户确认支付**:用户在弹出的支付界面中确认支付,并根据需要输入支付密码、指纹等进行身份验证。
6. **支付结果通知**:支付成功后,微信服务器会向小程序后台服务器发送支付结果通知,小程序后台服务器接收到通知后进行订单状态更新、业务逻辑处理等操作。
7. **处理支付结果**:小程序后台服务器处理支付通知,验证签名、查询支付结果,更新订单状态为已支付,并进行相关业务处理,如发货、服务开通等。
8. **反馈支付结果**:小程序后台服务器将支付结果返回给小程序前端,前端展示相应的支付结果信息给用户,完成整个支付流程。
这只是一个大致的流程