交易状态
注意 :
1. 若交易同步返回状态为"PROCESSING",商户应等待 PingPongCheckout 异步结果再进行业务处理;
2. 因此商户必须有机制保证在合适的时机查询到交易最终状态,或者接入异步通知。
# 交易幂等说明
- 对于同一笔支付订单,在未支付成功前可以允许继续发起支付请求(一笔支付订单对应多笔支付请求)
- 如果商户不希望同一笔支付订单发生多次支付请求,那么支付接口中同一笔支付订单的requestId传一样的即可就只允许一次支付请求(仅限Non-Hosted模式)
- 因为根据requestId幂等,在订单未支付成功前,如果商户传不同的requestId(或收银台模式),同时发起支付请求,存在重复支付的可能,此时需要人工接入后台操作退款
# 重新支付幂等情况说明
针对不同的对接模式,不同的支付状态,对重新支付请求的情况做了说明,具体可以见下图:

备注:图中失败终态是需要单独配置的,默认都是非失败终态
# 如何获取交易状态
在唤起收银台,点击支付无错误的情况下,就产生了待处理的交易。PingPongCheckout提供两种获取交易状态的方式:
# 交易状态的语义
PingPongCheckout API v4使用交易接口中的captureDelayHours参数进行区分业务场景,交易状态是交易流程和结果的描述,不同业务场景有不同的规则。 对于PingPongCheckout API v4 现有七种状态可以返回:
INIT-初始态
PROCESSING-进行中
FAILED-失败
CLOSED-订单关闭
CANCEL-预授权取消
SUCCESS-成功
AUTH_SUCCESS-预授权成功
交易状态流转图
状态转移说明
- 以下状态会发送异步通知:
SUCCESSFAILEDCANCEL
- 交易状态不在上述状态列表的场景,下单API或查询接口都会同步响应
PROCESSING,商户应等待 PingPongCheckout 异步结果再进行业务处理。
# DEBIT交易业务场景:
| 状态 | 描述 | 状态类型 |
|---|---|---|
SUCCESS | 已成功支付,交易成功 | 终态 |
CLOSED | 交易因超期/关单导致的结果 | 终态 |
FAILED | 支付失败,用户可以重新支付 | 中间状态 |
CANCEL | 风控审核拒绝 | 终态 |
PROCESSING | 中间状态,商户应等待 PingPongCheckout 异步结果再进行业务处理。 | 中间状态 |
INIT | 初始化订单 | 中间状态 |
一旦交易到达终态,除非因为失败发起重新支付,都不应该再次接受异步通知的更改。交易在中间态的时候,需要等待下一个异步通知到达本次支付的终态。
# AUTH交易业务场景:
| 状态 | 描述 |
|---|---|
SUCCESS | 最终CAPTURE成功 |
AUTH_SUCCESS | AUTH操作成功,还需发起CAPTURE操作 |
CLOSED | 交易因超期/关单导致的结果 |
FAILED | 支付失败,用户可以重新支付 |
CANCEL | AUTH操作成功,调用VOID预授权撤销 |
PROCESSING | 中间状态,不能发起CAPTURE操作,商户应等待 PingPongCheckout 异步结果再进行业务处理。 |
INIT | 初始化订单 |
上次更新: 2024/08/08, 13:47:26