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?