Skip to main content
EMV Core 的 ExternalSettlement 实现将交易的授权和结算阶段分开。 EMV Core 负责管理与消费者和支付卡的初始交互,而最终的财务结算则由第三方服务器执行,该服务器会将结算请求发送到 Nayax 的服务器。
先决条件要使此流程正常运行,Nayax 必须启用 ExternalSettlement 设置。

配置和设备行为

启用后,结算将由外部程序处理,而不是由主机应用程序处理:
  • 结算交易的唯一方法是通过 ExternalSettlement 命令。
  • 结算金额可以小于或等于授权金额。
这样,您可以根据自己的业务逻辑,灵活地从外部触发结算阶段。

管理未结算交易

当不提供产品或服务时,您必须主动管理交易,以保持良好的用户体验。
  • 外部取消: 如果无法进行结算,您必须立即发送外部取消请求。
  • 对消费者的影响: 如果交易在未取消或结算的情况下仍保持授权状态,消费者的资金将一直保留在其支付方式中,从而导致潜在的纠纷。

外部结算流程

该流程包括两个阶段:由 EMV Core 处理的支付授权,以及由您的第三方服务器触发的结算或取消。

付款授权

以下步骤涵盖了授权阶段,从轻触卡片到会话结束。
支付授权阶段的序列图,从预授权调用到交易完成事件和服务交付。
  1. 主机使用 EMV Core SDK 调用 PreAuthorize 方法。
  2. EMV Core 开始轮询读卡器。主机应用程序应提示消费者轻触银行卡。
  3. 消费者将银行卡轻触读卡器。
  4. EMV Core 读取卡片数据并向 Nayax 服务器发送授权请求。
  5. Nayax 服务器与计费提供商进行授权。
  6. 计费提供商向 Nayax 服务器发送授权响应。
  7. Nayax 服务器将授权响应返回给 EMV Core。
  8. EMV Core 向主机应用程序发送 TransactionComplete 事件。该事件包含交易 ID 和交易数据,其中 NayaxTransactionId 和 SiteId 位于 authorizationDetails.Additional_Parameters 字段中。
此时,主机应用程序必须保留 NayaxTransactionId 和 SiteId,以便日后在 External Settlement 或 External Cancel 请求中使用。
  1. 主机应用程序继续提供服务(例如,启动电动汽车充电会话或分发产品)。

完成交易

服务交付后,第三方服务器将根据结果处理结算或取消事宜。 如果提供了该服务:
外部结算流程的序列图,从 StartAuthentication 到 ExternalSettlement 响应
  1. 第三方服务器通过调用 StartAuthentication 方法并附带加密密文来发起通信以进行身份验证。
  2. Nayax 服务器解密密文并验证凭据以确认其真实性。
  3. 第三方服务器发送 ExternalSettlement 请求。请求必须包含从 TransactionComplete 事件中获取的 NayaxTransactionId 和 SiteId,并且必须在结算窗口内发送。
  4. Nayax 服务器与计费提供商进行结算。
  5. Nayax 服务器向第三方服务器发送 ExternalSettlement 响应,确认结算结果。
如果未提供服务:
外部取消流程的时序图,从 StartAuthentication 到 ExternalCancel 响应
  1. 第三方服务器通过调用 StartAuthentication 方法发起通信。
  2. Nayax 服务器会验证凭据。
  3. 第三方服务器发送 ExternalCancel 请求。请求必须包含从 TransactionComplete 事件中获取的 NayaxTransactionId 和 SiteId,并且必须在结算窗口内发送。
  4. Nayax 服务器会向计费提供商发起取消流程。
  5. Nayax 服务器接收来自计费提供商的响应。
  6. Nayax 服务器向第三方服务器发送 ExternalCancel 响应。

下一步

外部结算 API

用于结算来自第三方服务器的授权交易的 ExternalSettlement 端点的 API 参考。

外部取消 API

用于在未提供服务时取消已授权交易的 ExternalCancel 端点的 API 参考。