交易幂等
约 679 字大约 2 分钟
2025-03-07
幂等模式
支持的幂等模式有两种,您可以从下面选择适合自己的幂等模式:
交易状态列表
以下是不同情况下可能返回的交易状态:
自动Capture
| 状态 | 描述 |
|---|---|
| SUCCESS | 已成功支付,交易成功 |
| CLOSED | 交易因超期/关单导致的结果 |
| FAILED | 支付失败,用户可以重新支付 |
| CANCEL | 风控审核拒绝,终态 |
| PROCESSING | 中间状态,商户应等待 PingPongCheckout 异步结果再进行业务处理。 |
| INIT | 初始化订单 |
手动Capture
| 状态 | 描述 |
|---|---|
| SUCCESS | 最终CAPTURE成功 |
| AUTH_SUCCESS | AUTH操作成功,还需发起CAPTURE操作 |
| CLOSED | 交易因超期/关单导致的结果 |
| FAILED | 支付失败,用户可以重新支付 |
| CANCEL | AUTH操作成功,调用VOID预授权撤销 |
| PROCESSING | 中间状态,不能发起CAPTURE操作,商户应等待 PingPongCheckout 异步结果再进行业务处理。 |
| INIT | 初始化订单 |
订单生命周期
状态转移说明
以下状态会发送交易异步通知:
SUCCESSFAILEDCANCEL
交易状态不在上述状态列表的场景,下单API或查询接口都会同步响应
PROCESSING,商户应等待 PingPongCheckout 异步结果再进行业务处理。当商户在下单接口中上送关单通知地址(closeNotificationUrl)时,订单关闭后会发送关单异步通知:
CLOSED
此状态为订单终态。该通知与merchantTransactionId(商户交易ID)关联,以确保准确追踪和识别特定订单。
订单关联关系
交易幂等规则
- 支付订单要求是merchantTransactionId(商户网站订单号)全局唯一,如果重复下单将会幂等返回该支付订单信息。(收银台模式)
- 支付请求根据merchantTransactionId+requestId作为唯一判断,如果重复支付请求将会幂等返回支付请求状态信息(S2S模式)
在以上幂等规则基础上,我们提供了一些重试窗口(详见交易挽回)
