后续操作
当使用 Hosted Checkout 集成方法时,新订单的付款流程从初始交易(PAY、AUTHORIZE 或 VERIFY)开始。
初始交易定义了订单的所有重要信息:
- 订单本身的详细信息(如 ID、金额和货币)
- 付款时使用的付款方式
- 付款人的付款详细信息
如果您使用 PAY 交易,付款人收到了订购的商品并且满意,表明订单完成,无需执行其他操作。 但是,在很多情况下可能需要后续交易来处理订单的剩余生命周期。
后续场景
以下场景是您需要为现有订单发送后续交易的情况的示例:
- 如果您使用 VERIFY 交易(创建时通常将订单金额设置为零)作为初始交易来验证付款人的账户详细信息,您需要使用 PAY 或 AUTHORIZE 交易进行跟进来定义正确的订单金额和发起资金转移。
- 如果您使用 AUTHORIZE 交易作为初始交易,当您准备好发货,想要进行资金交换时,您需要使用 CAPTURE 交易来跟进。
如果您发货能力出现延迟,您可能还需要使用 UPDATE AUTHORIZATION 交易来让授权保持有效,直到您准备好过账。 - 如果订单因任何原因被取消,您同时也需要使用 VOID 交易通过网关立即取消订单。 如果付款详细信息已被发送给银行,您需要使用 REFUND 交易,如果付款人对购买的商品不满意,想要退货,也需要使用此交易。
RETRIEVE TRANSACTION 和 RETRIEVE ORDER API 操作还可以被视为后续交易,但它们仅用于检索现有订单的详细信息,不会影响订单生命周期。 有关所有可用后续交易的列表,请参阅 交易。
链接到初始交易
所有与同一订单相关的交易必须关联起来,以便各个支付系统(Mastercard Gateway 和银行)可以将它们识别为属于一起。
通过在与订单相关的每笔交易中使用相同的 order ID 来完成关联。 order ID 作为请求 URL 中的路径参数提供。
后续交易中的共享数据
将同一个订单内的不同交易链接在一起意味着您只需提供一次有关该订单的特定数据。 网关存储订单的详细信息,并可以在处理任何后续交易时根据需要使用它们。
在任何后续交易中,您只需提供特定于该交易的数据。 例如:
- 在 CAPTURE 交易中,您需要提供当时运送货物的金额和货币(可能是全部或部分订单金额)。
- 在 REFUND 交易中,您需要提供您在发送的退款金额和货币(可以是全部或部分订单金额)。
- 在 VOID 交易中,您需要提供要取消的确切交易的交易 ID。
- 在 REFERRAL 交易中,您需要提供让发卡机构可以批准之前失败的交易的授权代码。
如果您在订单中的多个交易中提供相同的信息,网关将会忽略它。 如果您在后续交易中更新任何信息,网关会相应地更新订单详细信息。 例如,您起初在初始 AUTHORIZE 交易中提供了送货地址,之后付款人搬家了。 然后,您可以向 CAPTURE 交易中添加新的送货地址。