Settlement 命令通知集成方设备端结算流程的结果(即产品已出售),以便与 Cortina 支付提供商发起结算流程。
此命令对于进行交易确认或拒绝处理至关重要。
要求
Nayax 的服务器会向您配置的Settlement 端点发送 POST 请求,格式如下:
(customer's URL)/Cortina/PrePaid/Settlement
该负载(payload)包含读卡操作的完整结果:
{
"BasicInfo": {
"TransactionId": 2.3658433596983443e+35,
"NayaxTransactionId": 0,
"Amount": 0.1,
"CurrencyCode": "USD",
"CurrencyNumeric": 376,
"SiteId": 12,
"MachineAuTime": "string",
"TimeoutMS": 15000,
"IsProductSelected": true
},
"DeviceInfo": {
"HwSerial": "string",
"FWVersion": "string",
"Type": "ONYX"
},
"MachineInfo": {
"Id": 869761713,
"Name": "TestPayStaticQR V2",
"TerminalId": 987654321,
"DecimalPlace": 2,
"Offset": 2,
"GroupId": "Beverages",
"OperatorId": 12345,
"Region": "string",
"City": "string",
"ZipCode": 10001,
"Country": {
"Name": "United States of America",
"NumericCode": 840,
"Alpha2Code": "US",
"Alpha3Code": "USA"
},
"GeoLocation": {
"State": "string",
"City": "string",
"CountryCode": "string",
"ZipCode": "string",
"Address": "string",
"Longitude": 34.998819,
"Latitude": 32.8198988
}
},
"ActorInfo": {
"Id": 2001102296,
"Name": "Far East Dev Zone",
"OperatorId": 2000305191,
"OperatorName": "TanyaT_OP",
"MerchantId": 10011,
"Country": {
"Name": "string",
"NumericCode": "string",
"Alpha2Code": "string",
"Alpha3Code": "string"
},
"GeoLocation": {
"State": "string",
"City": "string",
"CountryCode": "string",
"ZipCode": "string",
"Address": "string",
"Longitude": 34.998819,
"Latitude": 32.8198988
}
},
"CustomData": {
"DirectActor": 12312312,
"Operator": 123121434134,
"Distributor": "superDistributor",
"Actor": 12312312,
"Machine": 131231348
},
"CardData": {
"CardNumber": "string",
"EntryMode": "string",
"ExpYear": "string",
"ExpMonth": "string",
"EMVData": "string",
"IDNumber": "string",
"RandomNumber": "string",
"BrandInfo": {
"PrimaryId": "string",
"PrimaryDescription": "string",
"SecondaryId": "string"
},
"CardHolderName": "Test Card Holder"
},
"Products": [
{
"Code": 11,
"Name": "Stella",
"Price": 0.1,
"UnitOfMeasurement": "USD",
"Measurement": false
},
{
"Code": 12,
"Name": "expensiveSprite",
"Price": 6,
"UnitOfMeasurement": "USD",
"Measurement": false
}
],
"PaymentInfo": {
"SrvTranId": 2.3658433596983443e+35,
"AuthCode": 333333,
"AuthAmount": 0.1,
"SettAmount": 0.1,
"RRN": 111111,
"Token": "string",
"AuthDateTime": 230221101008,
"SettDateTime": 230221101009,
"TraceNumber": 4444,
"AuthSource": 555555,
"AdditionalData": "string",
"IsGatewayTimeout": true
},
"SecondaryDescription": "string"
}
请求参数
下表描述了请求正文中包含的参数:参考字段
参考字段
此交易的唯一标识符。
/StartSession,则回显其中的加密 ID。
否则,该值由 Nayax Engine 生成。 |
| 该交易的 Nayax 内部唯一 ID,将在后续请求中回传。 |
集成商的内部交易 ID 。
/StartSession,则为必填项。
若已使用,该字段应为空,或回传请求中的交易 ID。 |
检索参考号(RRN)。
|
| 唯一的交易令牌。仅供 Nayax 内部使用。 |
| 跟踪号。仅供 Nayax 内部使用。 |
| 仅供 Nayax 内部使用。 |
支付金额。
234.0)。 |
/Authorization 请求中所请求的原始金额。是否显示取决于 /Authorization 的响应。 |
/Settlement 或 /Sale 流程中请求的原始金额。与 Authorization 命令无关。 |
| 以 ISO 4217 三位字母格式表示的货币代码(例如 USD、EUR)。 |
| ISO 4217 数字 3 位格式的货币代码。 |
该机器上金额的小数点位置。
2 表示金额形式如 123.45。
示例:0 表示金额形式如 12345(整数表示)。 |
| 外部授权码(通常来自发卡行)。 |
| 机器授权时间戳。 |
| Nayax 服务器超时配置(单位:毫秒)。 |
| 机器所在位置的 UTC 时区偏移量。 |
/Authorization 发生的日期和时间。格式:ddMMyyHHmmss。 |
| 结算日期/时间。仅与结算相关命令有关。与授权无关。 |
| 指示是否发生网关超时(响应中有效)。 |
根据交易类型提供的卡片信息:
|
卡片信息的读取方式:
|
| 卡片到期年份( YY格式)。条件性(仅当接口为 1 或 10 时)。 |
| 卡片到期月份( MM格式)。条件性(仅当接口为 1 或 10 时)。 |
| EMV标签数据采用TLV(标签长度-值)格式。 |
| 持卡人 ID/识别号码。 |
| 暂无更多信息。 |
| 主品牌 ID(例如 Visa、Mastercard)。 |
| 主要品牌描述。 |
| 次品牌 ID(如适用)。 |
| 持卡人姓名。 |
| 表示产品在支付流程开始之前是否已被预先选定。 |
| 在 Nayax 后台或自动售货机中定义的所选商品代码。 |
| 所选商品的外部唯一标识符(产品目录编号)。 |
| Nayax 后台中定义的产品名称。 |
The original Product Price in the machine’s currency. Note: Amount is the final billing price after adjustments. |
| 产品的计量单位(例如 “unit” 或 “Liter”)。 |
| 以指定计量单位表示的产品数量。 |
| 在产品映射表中定义的产品组名称。 |
| 在产品映射表中定义的产品组代码。 |
| 用于通过脉冲(pulse)支持多台机器实现远程出货功能。必须为正整数 (≥0)。 |
| Nayax 设备硬件序列号。 |
| 设备固件版本(Device Firmware Version)。 |
| Nayax 设备类型。 |
| 在 Nayax 后台分配的机器实体唯一 ID。 |
| 在 Nayax 后台中定义的机器名称。 |
| 在 Nayax 后台中定义的终端标识符。 |
| 托管该机器数据的 Nayax 服务器区域。 |
| 在 Nayax 后台中定义的机器区域(Machine Region)。 |
| 在 Nayax 后台中定义的机器所在城市。 |
| 在 Nayax 后台中定义的机器邮政编码。 |
| 机器位置纬度。 |
| 机器位置经度。 |
| 在 Nayax 后台中定义的 Actor ID(直接商户/运营商)。 |
| 在 Nayax 后台中定义的直接商户名称。 |
| 在 Nayax 后台中定义的商户 ID(运营商 ID - 字符串版本)。 |
| 商户运营商 ID(整数版本)。 |
| 商户运营商名称。 |
| 在 Nayax 后台中定义的商户 ID。 |
| Actor 级别的 URL 配置。 |
| 演员地理位置代码。 |
| Actor 地理位置城市。 |
| Actor 地理位置国家代码(ISO-3)。 |
| Actor 地理位置邮政编码。 |
| Actor 地理位置地址。 |
| 国家全称。 |
| 以 ISO 3166-1 三位数字格式表示的国家代码。 |
| 以 ISO 3166-1 两位字母格式表示的国家代码。 |
| 以 ISO 3166-1 三位字母格式表示的国家代码。 |
| 用于跨国地理多元化的区域内(Intra Region,例如“European Union”)。 |
| 仅供 Nayax 内部使用。 |
| 直接演员自定义数据( JSON 格式的字符串)。 |
| 操作员自定义数据( JSON 格式的字符串)。 |
| 分销商自定义数据( JSON 格式的字符串)。 |
| 演员自定义数据( JSON 格式的字符串)。 |
| 机器自定义数据( JSON 格式的字符串)。 |
| 通用自定义数据字符串, JSON 格式。 |
回复
客户的支付方式发送给 Nayax 服务器的 Settlement 响应。有效负载应如下所示:{
"Status": {
"Verdict": "Approved",
"Code": 0,
"StatusMessage": "string"
},
"Balance": {
"RegularCreditType": 0,
"RegularCredit": 0,
"RevalueCredit": 0
}
}
响应参数
下表描述了 API 响应中返回的字段:参考字段
参考字段
请求的最终状态。必须是以下常量字符串值之一:
|
拒绝代码。条件性字段——仅当 Verdict 为 ‘Declined’ 时才存在。常见代码包括:
|
| 包含交易状态消息或有关结果的其他不同数据的自由文本字段。 |
用于指定自定义拒绝代码。
|
定义 RegularCredit 的计量单位(枚举值):
|
根据 RegularCreditType 计算的常规信用额度值(金额或交易次数)。使用小数位数 2。 |
充值金额。
|