先决条件要使此流程正常运行,Nayax 必须启用ExternalSettlement设置。
配置和设备行为
启用后,Nayax Engine 会改变物理设备处理交易的方式:- 授权成功后,设备将不再发送自己的结算命令。
- 交易在收到外部请求之前将保持未结算状态。
- 结算交易的唯一方法是通过ExternalSettlement命令。
- 对于多会话流程,“Close Session”命令不再适用;请改用 ExternalSettlement。
增量授权外部结算支持增量授权。请确保您的逻辑符合最大默认信用额度限制,以避免结算失败。更多信息请参阅增量授权文档。
管理未结算交易
当没有提供产品或服务时,需要主动管理交易以维持良好的用户体验。- 外部取消:如果已知不会发生结算,您必须立即发送 External Cancel。
- **对消费者的影响:**如果交易在未取消或结算的情况下仍保持授权状态,消费者的资金将一直保留在其支付方式中,从而导致潜在的纠纷。
多会话支付流程
以下顺序展示了多会话交易的完整过程:交易发起

- 持卡人在外围设备上选择商品。
-
外围设备向 VPOS Touch 发送
Reader Enable。 - Nayax 设备向消费者显示“Present Card”动画。
- 持卡人出示付款方式。
-
Nayax 的设备向外围设备发送
Begin Session,外围设备的 SDK 会触发 “session begin” 事件:这是向外围设备(例如自动售货机)发出的信号,以准备批准付款。 -
机器显示屏显示:“Please Select a Product.”,消费者选择一个商品后,会促使外围设备的 SDK 向 Nayax Device 发送
Vend Request。 - 设备显示“Please Wait For Authorization”。
- 设备联系 Nayax 服务器。
- Nayax 服务器将请求转发给银行/网关。
- 银行/网关返回批准/拒绝结果。
- Nayax 服务器发送授权响应。

- 外围设备的 SDK 处理通过
Transfer Data命令接收的交易数据(包括 Nayax 交易 ID 和卡片详细信息):
- 可选:外围设备的 SDK 可以向 Nayax 设备回传其自有的 Transaction 编号(此信息不会在任何地方被使用,仅供外围设备希望在其 SDK 日志中显示自己的 Transaction ID 时使用)。
-
Nayax 的设备发送
Vend Approved,触发外围设备 SDK 的 “vend approved” 事件: -
外围设备向消费者分发商品或提供服务,SDK 报告
Vend Success并完成本地会话: -
外围设备发送
Session Complete以表示当前交易过程已完成(尚未结算)。 -
Nayax 的设备向外围设备发送
End Session。 -
外围设备发送
Reader Disable,使读卡器进入待机状态。
结算交易(外部结算)
重要说明如果启用了外部结算,终端标准的“Close Session”行为将被更改。您必须完全依赖 External Settlement 或 External Cancel API 来管理交易的财务生命周期。

- 持卡人结束交互或归还产品。
- 外围设备通知 Nayax 服务器流程已完成。
- 第三方服务器向 Nayax 服务器发起身份验证。
- Nayax 服务器确认身份验证状态。
- 第三方服务器请求最终结算。
- Nayax 服务器向银行/网关发送捕获请求。
- 银行/网关确认资金转账。
- Nayax 服务器向第三方服务器确认状态。

- 第三方服务器向 Nayax 服务器请求身份验证。
- Nayax 服务器确认。
- 第三方服务器触发结算或状态变更。
- Nayax 服务器向银行/网关请求作废。
- 银行/网关确认取消。
- Nayax 服务器通知第三方服务器操作成功。