> ## Documentation Index
> Fetch the complete documentation index at: https://devzone.nayax.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 沉降

Cortina 预付使用 `Settlement` 命令通知集成方设备端结算流程的结果(即产品已出售),以便与 Cortina 支付提供商发起结算流程。

此命令对于进行交易确认或拒绝处理至关重要。

## 要求

Nayax 的服务器会向您配置的 `Settlement` 端点发送 POST 请求,格式如下:

`(customer's URL)/Cortina/PrePaid/Settlement`

该负载（payload）包含读卡操作的完整结果：

```json theme={null}
{
  "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"
}
```

### 请求参数

下表描述了请求正文中包含的参数：

<Accordion title="参考字段">
  <table>
    <thead>
      <tr>
        字段
        类型
        描述
      </tr>
    </thead>

    <tbody>
      <tr>
        交易标识符和状态
      </tr>

      <tr>
        `TransactionId`
        `String(36)`

        <td style={{ textAlign: "left" }}>
          此交易的**唯一标识符**。

          <ul>
            如果使用了 `/StartSession`，则回显其中的加密 ID。
            否则，该值由 Nayax Engine 生成。
          </ul>
        </td>
      </tr>

      <tr>
        `NayaxTransactionId`
        `Int(64)`

        <td style={{ textAlign: "left" }}>
          该交易的 Nayax 内部唯一 ID,将在后续请求中回传。
        </td>
      </tr>

      <tr>
        `SrvTranId`
        `String`

        <td style={{ textAlign: "left" }}>
          **集成商的内部交易 ID** 。

          <ul>
            条件性字段:若未使用 `/StartSession`,则为必填项。
            若已使用,该字段应为空,或回传请求中的交易 ID。
          </ul>
        </td>
      </tr>

      <tr>
        `RRN`
        `String`

        <td style={{ textAlign: "left" }}>
          检索参考号（RRN）。

          <ul>
            用作第三方(例如卡组织)的外部交易 ID。
            建议对消费者/持卡人可见。
          </ul>
        </td>
      </tr>

      <tr>
        `Token`
        `String(256)`

        <td style={{ textAlign: "left" }}>
          唯一的交易令牌。仅供 Nayax 内部使用。
        </td>
      </tr>

      <tr>
        `TraceNumber`
        `String`

        <td style={{ textAlign: "left" }}>
          跟踪号。仅供 Nayax 内部使用。
        </td>
      </tr>

      <tr>
        `AuthSource`
        `String(5)`

        <td style={{ textAlign: "left" }}>
          仅供 Nayax 内部使用。
        </td>
      </tr>

      <tr>
        财务详情与金额
      </tr>

      <tr>
        `Amount`
        `Double`

        <td style={{ textAlign: "left" }}>
          支付金额。

          <ul>
            小数值(分位最多 3 位)。
            没有小数位的货币(例如 JYN)仍以双精度浮点数表示(例如 `234.0`)。
          </ul>
        </td>
      </tr>

      <tr>
        `AuthAmount`
        `Double`

        <td style={{ textAlign: "left" }}>
          `/Authorization` 请求中所请求的原始金额。是否显示取决于 `/Authorization` 的响应。
        </td>
      </tr>

      <tr>
        `SettAmount`
        `Double`

        <td style={{ textAlign: "left" }}>
          `/Settlement` 或 `/Sale` 流程中请求的原始金额。与 Authorization 命令无关。
        </td>
      </tr>

      <tr>
        `CurrencyCode`
        `String(3)`

        <td style={{ textAlign: "left" }}>
          以 ISO 4217 三位字母格式表示的货币代码(例如 USD、EUR)。
        </td>
      </tr>

      <tr>
        `CurrencyNumeric`
        `String(3)`

        <td style={{ textAlign: "left" }}>
          ISO 4217 数字 3 位格式的货币代码。
        </td>
      </tr>

      <tr>
        `DecimalPlace`
        `Int(64)`

        <td style={{ textAlign: "left" }}>
          该机器上金额的小数点位置。

          <ul>
            示例:`2` 表示金额形式如 123.45。
            示例:`0` 表示金额形式如 12345(整数表示)。
          </ul>
        </td>
      </tr>

      <tr>
        `AuthCode`
        `String(40)`

        <td style={{ textAlign: "left" }}>
          外部授权码(通常来自发卡行)。
        </td>
      </tr>

      <tr>
        时间戳与标志
      </tr>

      <tr>
        `MachineAuTime`
        `String`

        <td style={{ textAlign: "left" }}>
          机器授权时间戳。
        </td>
      </tr>

      <tr>
        `TimeoutMS`
        `Int(32)`

        <td style={{ textAlign: "left" }}>
          Nayax 服务器超时配置（单位：毫秒）。
        </td>
      </tr>

      <tr>
        `Offset`
        `String(255)`

        <td style={{ textAlign: "left" }}>
          机器所在位置的 UTC 时区偏移量。
        </td>
      </tr>

      <tr>
        `AuthDateTime`
        `String`

        <td style={{ textAlign: "left" }}>
          `/Authorization` 发生的日期和时间。格式：`ddMMyyHHmmss`。
        </td>
      </tr>

      <tr>
        `SettDateTime`
        `Double`

        <td style={{ textAlign: "left" }}>
          结算日期/时间。仅与结算相关命令有关。与授权无关。
        </td>
      </tr>

      <tr>
        `IsGatewayTimeout`
        `Bool`

        <td style={{ textAlign: "left" }}>
          指示是否发生**网关超时**（响应中有效）。
        </td>
      </tr>

      <tr>
        卡片及支付详情
      </tr>

      <tr>
        `CardNumber`
        `String`

        <td style={{ textAlign: "left" }}>
          根据交易类型提供的卡片信息：

          <ul>
            对于卡在场的 Authorization/Sale,为完整的 Track 2 数据。
            对于其他交易类型(例如 Refund、Settlement),仅为卡的 PAN。
          </ul>

          **注意：** 卡片详细信息使用设备读取卡片时的相同格式。对于 Mifare 卡,Track 2 数据为十六进制。对于磁条卡,Track 2 数据为 ASCII。
        </td>
      </tr>

      <tr>
        `EntryMode`
        `String(4)`

        <td style={{ textAlign: "left" }}>
          卡片信息的读取方式：

          <ul>
            MCR:磁条(刷卡)
            CON:接触式芯片(插卡)
            CLS:非接触式芯片(轻触)
            NFC:手机轻触
            QR:QR 码读取
          </ul>
        </td>
      </tr>

      <tr>
        `ExpYear`
        `String`

        <td style={{ textAlign: "left" }}>
          卡片到期年份（ **YY**格式）。**条件性**（仅当接口为 1 或 10 时）。
        </td>
      </tr>

      <tr>
        `ExpMonth`
        `String`

        <td style={{ textAlign: "left" }}>
          卡片到期月份（ **MM**格式）。**条件性**（仅当接口为 1 或 10 时）。
        </td>
      </tr>

      <tr>
        `EMVData`
        `String`

        <td style={{ textAlign: "left" }}>
          EMV标签数据采用**TLV（标签长度-值）格式**。
        </td>
      </tr>

      <tr>
        `IDNumber`
        `String`

        <td style={{ textAlign: "left" }}>
          持卡人 ID/识别号码。
        </td>
      </tr>

      <tr>
        `RandomNumber`
        `String`

        <td style={{ textAlign: "left" }}>
          暂无更多信息。
        </td>
      </tr>

      <tr>
        `PrimaryId`
        `String`

        <td style={{ textAlign: "left" }}>
          主品牌 ID(例如 Visa、Mastercard)。
        </td>
      </tr>

      <tr>
        `PrimaryDescription`
        `String`

        <td style={{ textAlign: "left" }}>
          主要品牌描述。
        </td>
      </tr>

      <tr>
        `SecondaryId`
        `String`

        <td style={{ textAlign: "left" }}>
          次品牌 ID(如适用)。
        </td>
      </tr>

      <tr>
        `CardHolderName`
        `String`

        <td style={{ textAlign: "left" }}>
          持卡人姓名。
        </td>
      </tr>

      <tr>
        商品/项目详情
      </tr>

      <tr>
        `IsProductSelected`
        `Bool`

        <td style={{ textAlign: "left" }}>
          表示产品在支付流程开始之前是否已被预先选定。
        </td>
      </tr>

      <tr>
        `Code`
        `Int(16)`

        <td style={{ textAlign: "left" }}>
          在 Nayax 后台或自动售货机中定义的所选商品代码。
        </td>
      </tr>

      <tr>
        `CatalogProductId`
        `String(100)`

        <td style={{ textAlign: "left" }}>
          所选商品的外部唯一标识符(产品目录编号)。
        </td>
      </tr>

      <tr>
        `Name`
        `String(255)`

        <td style={{ textAlign: "left" }}>
          Nayax 后台中定义的**产品名称**。
        </td>
      </tr>

      <tr>
        `Price`
        `Double`

        <td style={{ textAlign: "left" }}>
          The original **Product Price** in the machine's currency. Note: `Amount` is the final billing price after adjustments.
        </td>
      </tr>

      <tr>
        `UnitOfMeasurement`
        `String(64)`

        <td style={{ textAlign: "left" }}>
          产品的计量单位（例如 “unit” 或 “Liter”）。
        </td>
      </tr>

      <tr>
        `Measurement`
        `Double`

        <td style={{ textAlign: "left" }}>
          以指定计量单位表示的产品数量。
        </td>
      </tr>

      <tr>
        `Group`
        `String(255)`

        <td style={{ textAlign: "left" }}>
          在产品映射表中定义的产品组名称。
        </td>
      </tr>

      <tr>
        `ProductGroupId`
        `String(255)`

        <td style={{ textAlign: "left" }}>
          在产品映射表中定义的产品组代码。
        </td>
      </tr>

      <tr>
        `PulseLineNumber`
        `Int(32)`

        <td style={{ textAlign: "left" }}>
          用于通过脉冲(pulse)支持多台机器实现远程出货功能。必须为正整数 $(\ge 0)$。
        </td>
      </tr>

      <tr>
        机器和设备信息
      </tr>

      <tr>
        `HwSerial`
        `String`

        <td style={{ textAlign: "left" }}>
          Nayax 设备**硬件序列号**。
        </td>
      </tr>

      <tr>
        `FWVersion`
        `String`

        <td style={{ textAlign: "left" }}>
          设备固件版本(Device Firmware Version)。
        </td>
      </tr>

      <tr>
        `Type`
        `String`

        <td style={{ textAlign: "left" }}>
          Nayax 设备类型。
        </td>
      </tr>

      <tr>
        `Id`
        `Int(64)`

        <td style={{ textAlign: "left" }}>
          在 Nayax 后台分配的机器实体唯一 ID。
        </td>
      </tr>

      <tr>
        `Name`
        `String(255)`

        <td style={{ textAlign: "left" }}>
          在 Nayax 后台中定义的机器名称。
        </td>
      </tr>

      <tr>
        `TerminalId`
        `String(255)`

        <td style={{ textAlign: "left" }}>
          在 Nayax 后台中定义的终端标识符。
        </td>
      </tr>

      <tr>
        机器位置(Machine Location)
      </tr>

      <tr>
        `SiteId`
        `Int(16)`

        <td style={{ textAlign: "left" }}>
          托管该机器数据的 Nayax 服务器区域。
        </td>
      </tr>

      <tr>
        `Region`
        `String(255)`

        <td style={{ textAlign: "left" }}>
          在 Nayax 后台中定义的机器区域(Machine Region)。
        </td>
      </tr>

      <tr>
        `City`
        `String(255)`

        <td style={{ textAlign: "left" }}>
          在 Nayax 后台中定义的机器所在城市。
        </td>
      </tr>

      <tr>
        `ZipCode`
        `String(255)`

        <td style={{ textAlign: "left" }}>
          在 Nayax 后台中定义的机器邮政编码。
        </td>
      </tr>

      <tr>
        `Latitude`
        `String`

        <td style={{ textAlign: "left" }}>
          机器位置**纬度**。
        </td>
      </tr>

      <tr>
        `Longitude`
        `String`

        <td style={{ textAlign: "left" }}>
          机器位置**经度**。
        </td>
      </tr>

      <tr>
        参与方(商户/运营商)详情
      </tr>

      <tr>
        `Id`
        `Int(64)`

        <td style={{ textAlign: "left" }}>
          在 Nayax 后台中定义的 Actor ID(直接商户/运营商)。
        </td>
      </tr>

      <tr>
        `Name`
        `String(255)`

        <td style={{ textAlign: "left" }}>
          在 Nayax 后台中定义的直接商户名称。
        </td>
      </tr>

      <tr>
        `OperatorId`
        `String(255)`

        <td style={{ textAlign: "left" }}>
          在 Nayax 后台中定义的商户 ID(运营商 ID - 字符串版本)。
        </td>
      </tr>

      <tr>
        `OperatorId`
        `Int(64)`

        <td style={{ textAlign: "left" }}>
          商户运营商 ID(整数版本)。
        </td>
      </tr>

      <tr>
        `OperatorName`
        `String`

        <td style={{ textAlign: "left" }}>
          商户运营商名称。
        </td>
      </tr>

      <tr>
        `MerchantId`
        `Int(64)`

        <td style={{ textAlign: "left" }}>
          在 Nayax 后台中定义的商户 ID。
        </td>
      </tr>

      <tr>
        `DynamicURL`
        `String`

        <td style={{ textAlign: "left" }}>
          Actor 级别的 URL 配置。
        </td>
      </tr>

      <tr>
        `State`
        `String`

        <td style={{ textAlign: "left" }}>
          演员地理位置**代码**。
        </td>
      </tr>

      <tr>
        `City`
        `String(255)`

        <td style={{ textAlign: "left" }}>
          Actor 地理位置城市。
        </td>
      </tr>

      <tr>
        `CountryCode`
        `String`

        <td style={{ textAlign: "left" }}>
          Actor 地理位置国家代码(ISO-3)。
        </td>
      </tr>

      <tr>
        `ZipCode`
        `String(255)`

        <td style={{ textAlign: "left" }}>
          Actor 地理位置邮政编码。
        </td>
      </tr>

      <tr>
        `Address`
        `String(255)`

        <td style={{ textAlign: "left" }}>
          Actor 地理位置地址。
        </td>
      </tr>

      <tr>
        国家信息(ISO 3166-1)
      </tr>

      <tr>
        `Name`
        `String`

        <td style={{ textAlign: "left" }}>
          国家**全称**。
        </td>
      </tr>

      <tr>
        `NumericCode`
        `String(3)`

        <td style={{ textAlign: "left" }}>
          以 ISO 3166-1 三位数字格式表示的国家代码。
        </td>
      </tr>

      <tr>
        `Alpha2Code`
        `String(2)`

        <td style={{ textAlign: "left" }}>
          以 ISO 3166-1 两位字母格式表示的国家代码。
        </td>
      </tr>

      <tr>
        `Alpha3Code`
        `String(3)`

        <td style={{ textAlign: "left" }}>
          以 ISO 3166-1 三位字母格式表示的国家代码。
        </td>
      </tr>

      <tr>
        `Intra`
        `String`

        <td style={{ textAlign: "left" }}>
          用于跨国地理多元化的区域内(Intra Region,例如“European Union”)。
        </td>
      </tr>

      <tr>
        自定义数据（JSON 字符串）
      </tr>

      <tr>
        `GroupId`
        `String`

        <td style={{ textAlign: "left" }}>
          仅供 Nayax 内部使用。
        </td>
      </tr>

      <tr>
        `DirectActor`
        `String`

        <td style={{ textAlign: "left" }}>
          直接演员**自定义数据**（ **JSON 格式**的字符串）。
        </td>
      </tr>

      <tr>
        `Operator`
        `String`

        <td style={{ textAlign: "left" }}>
          操作员**自定义数据**（ **JSON 格式**的字符串）。
        </td>
      </tr>

      <tr>
        `Distributor`
        `String`

        <td style={{ textAlign: "left" }}>
          分销商**自定义数据**（ **JSON 格式**的字符串）。
        </td>
      </tr>

      <tr>
        `Actor`
        `String`

        <td style={{ textAlign: "left" }}>
          演员**自定义数据**（ **JSON 格式**的字符串）。
        </td>
      </tr>

      <tr>
        `Machine`
        `String`

        <td style={{ textAlign: "left" }}>
          机器**自定义数据**（ **JSON 格式**的字符串）。
        </td>
      </tr>

      <tr>
        `AdditionalData`
        `String`

        <td style={{ textAlign: "left" }}>
          通用自定义数据字符串， **JSON 格式**。
        </td>
      </tr>
    </tbody>
  </table>
</Accordion>

## 回复

客户的支付方式发送给 Nayax 服务器的 Settlement 响应。有效负载应如下所示:

```json theme={null}
{
  "Status": {
    "Verdict": "Approved",
    "Code": 0,
    "StatusMessage": "string"
  },
  "Balance": {
    "RegularCreditType": 0,
    "RegularCredit": 0,
    "RevalueCredit": 0
  }
}
```

### 响应参数

下表描述了 API 响应中返回的字段：

<Accordion title="参考字段">
  <table>
    <thead>
      <tr>
        字段
        类型
        描述
      </tr>
    </thead>

    <tbody>
      <tr>
        交易状态与错误
      </tr>

      <tr>
        `Verdict`
        `String`

        <td style={{ textAlign: "left" }}>
          请求的最终状态。必须是以下常量字符串值之一：

          <ul>
            <li>**`Approved`**</li>
            <li>**`Declined`**</li>
          </ul>
        </td>
      </tr>

      <tr>
        `Code`
        `Int(32)`

        <td style={{ textAlign: "left" }}>
          拒绝代码。条件性字段——仅当 `Verdict` 为 'Declined' 时才存在。常见代码包括：

          <ul>
            1:余额不足
            5:疑似欺诈
            6:一般系统故障
            7:金额无效
            8/998:格式/解析错误
            992:超时异常
            997:缺少必填参数
            999:一般异常
          </ul>
        </td>
      </tr>

      <tr>
        `StatusMessage`
        `String(255)`

        <td style={{ textAlign: "left" }}>
          包含**交易状态消息**或有关结果的其他不同数据的自由文本字段。
        </td>
      </tr>

      <tr>
        `CustomDeclineCode`
        `String`

        <td style={{ textAlign: "left" }}>
          用于指定自定义拒绝代码。

          <ul>
            通常与软拒绝或接口切换有关。
            可能反映收单行的响应代码或自定义数据。
          </ul>
        </td>
      </tr>

      <tr>
        忠诚度和信用信息
      </tr>

      <tr>
        `RegularCreditType`
        `Int(32)`

        <td style={{ textAlign: "left" }}>
          定义 `RegularCredit` 的计量单位（枚举值）：

          <ul>
            0：信用额度以交易次数计（count）。
            1：信用额度以金额计（currency）。
          </ul>
        </td>
      </tr>

      <tr>
        `RegularCredit`
        `Double`

        <td style={{ textAlign: "left" }}>
          根据 `RegularCreditType` 计算的常规信用额度值（金额或交易次数）。使用小数位数 2。
        </td>
      </tr>

      <tr>
        `RevalueCredit`
        `Int(32)`

        <td style={{ textAlign: "left" }}>
          充值金额。

          <ul>
            仅当关联卡配置为可充值时才存在。
            使用 2 位小数。
          </ul>
        </td>
      </tr>
    </tbody>
  </table>
</Accordion>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.