外部结算流
外部结算流程允许第三方完成直接在终端上授权的交易。先决条件要使此流程正常运行,Nayax 必须启用外部结算设置。
笔记此功能仅适用于在 Spark 启动流程(远程启动或设备启动)之外授权的交易。此外,如果使用 Marshall 多会话进行外部结算,请注意,您不应该发送“关闭会话”命令进行结算。

- **授权请求:**该过程从 Nayax 设备上的交易发起开始,该设备向 Nayax 服务器发送授权请求。
- 授权响应: Nayax 服务器向支付提供商执行授权,并将响应发送回设备,设备随后返回空闲状态。交易仍处于授权状态,但尚未结算。
- **/StartAuthentication:**服务或产品提供(或提供失败)后,第三方服务器会调用StartAuthentication方法启动通信。此调用必须包含加密算法,以安全地验证 Nayax 和集成商的身份。
- Start Authentication Response:Nayax 服务器解密密文,验证凭据和时间戳,并返回经哈希处理的
SparkTransactionId以确认真实性。 - /ExternalSettlement(如果已提供服务):第三方服务器发送结算请求。
- 关键标识:请求中必须包含
NayaxTransactionId和SiteId,以正确匹配原始交易。 - 时限:交易必须在发起后48 小时内完成结算。逾期结算尝试将失败。
- 关键标识:请求中必须包含
- 外部结算响应: Nayax 服务器与支付提供商进行结算,并向第三方服务器发送成功/失败响应。
- /ExternalCancel:第三方服务器发送ExternalCancel请求。如果未提供任何服务,则必须执行此操作以释放消费者的已扣款项。对于预选流程,此方法称为Void ,而对于预授权流程,则称为Cancel 。
- 外部取消响应: Nayax 服务器向支付提供商发起财务取消,并向第三方服务器确认结果。
结果与错误处理
Integrators should monitor theErrorCode and StatusMessage within the Status object to determine the result of a request and the necessary follow-up action.
故障排除技巧
- 缺少必填字段:如果缺少
SiteId等字段,系统将返回事件代码 50 或 51,并在StatusMessage中说明缺失的字段。 - 未找到交易:如果收到“Transaction was not found”错误,请确保
NayaxTransactionId和SiteId与原始交易数据完全匹配。 - 卡组织合规性:长时间未结算的交易将被系统自动取消。但是,集成商不应依赖此功能,如果无法完成结算,则应立即发送外部取消请求,以避免糟糕的用户体验和潜在的纠纷。
高级结算功能
电子收据(eReceiptData)
对于使用 Nayax eReceipt 平台的运营商,ExternalSettlement 请求中包含 eReceiptData 字段。
- 此字段允许您将自定义数据(JSON 格式)如公司名称、站点名称或支持信息直接添加到电子收据中。
- 格式示例:
{"General":[{"Company":"Your Payments","Station Name":"812"}]}。
产品管理(ProductInfo)
如果您在 Nayax Core 中管理产品地图,您可以包含一个对象数组来准确报告售出的商品:
- 值:单个产品的十进制数量。
- 代码:表示产品映射中产品代码的整数。
- 数量:所提供的单位数量。
[{"Value": 6.50, "Code": 12, "Quantity": 3}]。