如何获取订单状态
背景
支付完成后,商户需要在服务端确认订单的最终交易状态,再进行发货、开通服务或更新账务。前端页面跳转只代表买家回到了商户页面,不能作为订单成功的依据。
PingPongCheckout V4 提供两种服务端获取订单状态的方式:
如果仅依赖异步通知,网络异常或系统波动可能导致买家已完成支付,但商户服务端未成功接收通知,进而出现订单状态更新不及时的问题。因此建议商户同时接入异步通知和交易查询,并在服务端做统一的订单状态处理。
推荐处理流程
处理建议
- 前端回跳页面只用于展示支付结果,不直接作为订单成功依据。
- 商户服务端收到异步通知后,应先验签并返回 HTTP 2xx 确认已接收,再根据通知中的
status幂等更新订单状态。 - 如果前端已回跳但商户服务端尚未收到终态通知,建议主动调用 交易查询 获取当前状态。
- 如果查询结果仍为
INIT或PROCESSING,请保持订单为待支付/处理中,并继续等待异步通知或按业务策略定时查询。 - 商户侧订单状态应以服务端接收到的异步通知或交易查询结果为准,不应以前端 URL 参数、页面展示或买家截图作为最终依据。
提示
本文说明的是订单结果获取方案。各 status 的含义、状态流转和幂等处理规则,请参考交易状态与幂等。
订单关闭
对于买家长时间未完成支付的订单,PingPongCheckout V4 会进行关单处理。订单关闭后,买家无法继续支付,商户可以通过交易查询获取到 CLOSED 状态。
提示
如果下单时上送了自定义关单通知地址 closeNotificationUrl,订单到达 CLOSED 状态后,PingPong 会发送关单通知。
