For the complete documentation index, see llms.txt. This page is also available as Markdown.

401 vs 402 vs 404

Atlas 支付错误 401、402 和 404 的区别,以及何时重新生成订单、查询订单状态或停止重试 pay.do。

💬 需要帮助? 如果遇到问题,请在帮助中心咨询 Eva,快速获取诊断建议。

咨询 Eva

pay.do 失败时,使用本页面判断订单是否过期、状态变更或已支付。

简要回答

401 表示在支付截止时间之后尝试支付。

402 表示当前订单状态不支持支付。

404 表示订单已支付。

只有 401 指向重新生成订单或新的预订流程。

常见问题

401 通常意味着什么?

意味着支付开始得太晚。

当前订单不再可支付。

402 通常意味着什么?

意味着订单不处于可支付状态。

它可能已经在出票或已出票。

404 通常意味着什么?

意味着先前的支付已成功。

不要发送另一个支付请求。

核心区别

401 — 支付超时

通常含义

pay.do 完成前支付截止时间已过。

下一步操作

重新生成订单或创建新的预订。

不要继续重试相同的过期支付路径。

402 — 订单状态不支持支付

通常含义

订单现在不可支付。

订单可能已支付、正在出票或已出票。

下一步操作

首先查询订单。

使用当前订单状态作为真实来源。

404 — 订单已支付

通常含义

支付已成功。

下一步操作

停止重试 pay.do

改为继续订单跟进。

快速决策规则

在生产中使用此规则:

  • 401 — 重新生成或重建预订流程

  • 402 — 在任何支付操作前查询订单

  • 404 — 不要重试支付

接下来检查什么

在这些代码之后,检查:

  • 支付截止时间是否已过

  • 当前 orderStatus

  • 当前 ticketStatus

  • 支付是否已成功

常见错误

401 视为临时性支付失败

不要这样做。

这通常意味着当前订单不再可支付。

402 视为简单的未支付状态

不要这样做。

订单可能已经在推进中。

重试 404

不要这样做。

这会产生重复支付风险。

最佳实践

如果支付状态不明确,在进行任何进一步的支付操作前切换到订单查询。

如果支付截止时间已过,停止尝试支付旧订单。

相关页面

Last updated

Was this helpful?