由于网络异常或者系统的波动,可能会导致用户支付成功,但是商户侧未能成功接收到支付结果通知,进而显示订单未支付的情况。商户侧的订单状态更新不及时,容易造成用户投诉,甚至是重复支付的情况发生。商户在未能收到支付结果通知时,也能及时、准确地获取到订单的支付状态,提升商户系统的健壮性,减少因为订单状态不同步导致的用户投诉 。方案概述#
1、商户APP或者前端页面收到支付返回时,商户需要调用商户查单接口确认订单状态,并把查询结果展示给用户。2、商户后台需要准确、高效地处理微信支付发送的异步支付结果通知,并按接口规范把处理结果返回给微信支付。3、商户后台未收到异步支付结果通知时,商户应该主动调用《微信支付查单接口》,同步订单状态。4、商户在T+1日从微信支付侧获取T日的交易账单,并与商户系统中的订单核对。如出现订单在微信支付侧成功,但是在商户侧未成功的情况,商户需要给用户补发货或者退款处理。前端支付返回处理#
1、 前端返回“用户取消”的情况,则订单状态保持未支付状态,并提示用户支付未完成。2、前端返回“成功”或“报错”的情况,商户需要调用商户查单接口,确认订单状态。1)如果商户查单接口明确返回支付成功,则给用户展示支付成功页。2)如果商户查单接口返回订单未支付,需要提醒用户“稍后进入订单管理页核实订单状态,不要重复发起支付”。商户后端需要及时获取、更新订单状态,实现逻辑参考【后端服务处理】。当用户再次进入订单管理页面,对未支付的订单再次发起支付时,商户应该使用原单号发起,不要更换支付单号,避免用户重复支付。3、前端调起支付和判断返回类型的方法请参考接口文档:1、前端返回至发起支付的页面或者返回至指定的redirect_url页面,需要在页面设置一个“已完成支付”的按钮让用户点击。
返回页面展示效果(仅供参考)2、用户点击“已完成支付”按钮,商户需要调用商户查单接口,确认订单状态。1) 如果商户查单接口明确返回支付成功,则给用户展示支付成功页。2) 如果商户查单接口返回订单未支付,需要提醒用户“稍后进入订单管理页核实订单状态,不要重复发起支付”。 商户后端需要及时获取、更新订单状态,实现逻辑参考【后端服务处理】。当用户再次进入订单管理页面,对未支付的订单再次发起支付时,商户应该使用原单号发起,不要更换支付单号,避免用户重复支付。