> ## 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 Credit Card Settlement

Finalizes and captures the funds for an authorized credit card transaction. This POST endpoint completes the payment lifecycle by submitting the final transaction details for settlement. It validates the original authorization using `PaymentInfo`, processes the charge, and returns the settlement status along with relevant `Batch` information for reconciliation.


## OpenAPI

````yaml /openapi/cortina.yaml post /Cortina/CreditCard/Settlement
openapi: 3.0.1
info:
  description: Credit Card, Prepaid, DynamicQR, StaticQR APIs
  title: Nayax Cortina API
  version: v2.1
  x-logo:
    url: https://www.nayax.com//wp-content/uploads/2015/10/logo_dark1.png
servers:
  - url: https://{domain}:{port}
    variables:
      domain:
        default: example.com
        description: Customer ID assigned by the service provider
      port:
        default: '443'
        enum:
          - '443'
          - '8443'
security: []
paths:
  /Cortina/CreditCard/Settlement:
    post:
      tags:
        - Cortina Credit Card
      summary: Cortina Credit Card Settlement
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: '#/components/schemas/CCSettRequest'
          application/json:
            schema:
              $ref: '#/components/schemas/CCSettRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/CCSettRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CCSettResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/CCSettResponse'
          description: Success
components:
  schemas:
    CCSettRequest:
      additionalProperties: false
      example:
        ActorInfo:
          Country:
            Alpha2Code: US
            Alpha3Code: USA
            Name: UNITED STATES
            NumericCode: '840'
          DynamicURL: ''
          GeoLocation:
            Address: River
            City: Zambezi
            CountryCode: ZM
            State: State
            ZipCode: '234234'
          Id: 2001537302
          MerchantId: '999999888885'
          Name: TestPayCC V2 OP
        BasicInfo:
          Amount: 3
          CurrencyCode: ILS
          CurrencyNumeric: '376'
          MachineAuTime: '071221133300'
          NayaxTransactionId: 3584697388
          PaymentMethodID: 1
          SiteId: 1
          TimeoutMS: 15000
          TransactionId: '3584697388'
        CardData:
          BrandInfo:
            PrimaryDescription: VISA
            PrimaryId: '6'
            SecondaryDescription: ''
            SecondaryId: '0'
          CardHolderName: Test Card Holder
          CardNumber: '****'
          EMVData: ' xxxxxxxx'
          EntryMode: CON
          ExpMonth: '12'
          ExpYear: '22'
        CustomData:
          Actor: '****'
          Machine: '****'
        DeviceInfo:
          FWVersion: 4.0.0.22-RC01 - Aug 25 2021
          HwSerial: 434324119376526
        MachineInfo:
          City: Abbeville
          Country:
            Alpha2Code: US
            Alpha3Code: USA
            Name: UNITED STATES
            NumericCode: '840'
          DecimalPlace: 2
          GeoLocation:
            Address: River
            City: Zambezi
            CountryCode: ZM
            ZipCode: '234234'
          Id: 106791869
          Name: Itai_TestPayCC V2
          Offset: '3.00'
          TerminalId: '8888888844'
          ZipCode: '54321'
        PaymentInfo:
          AuthAmount: 5
          AuthCode: '333333'
          AuthDateTime: '071221133300'
          AuthSource: '55555'
          IsGatewayTimeout: false
          RRN: '111111'
          SettDateTime: 12/7/2021 10
          SrvTranId: '3584697388'
          Token: Cortina V2 Stub Tester Token
          TraceNumber: '4444'
      properties:
        BasicInfo:
          $ref: '#/components/schemas/BasicInfo'
        DeviceInfo:
          $ref: '#/components/schemas/DeviceInfo'
        MachineInfo:
          $ref: '#/components/schemas/MachineInfo'
        ActorInfo:
          $ref: '#/components/schemas/ActorInfo'
        CustomData:
          $ref: '#/components/schemas/CustomData'
        CardData:
          $ref: '#/components/schemas/CardData'
        Products:
          items:
            $ref: '#/components/schemas/Product'
          type: array
        PaymentInfo:
          $ref: '#/components/schemas/PaymentInfo'
        EncryptInfo:
          $ref: '#/components/schemas/EncryptInfo'
      type: object
    CCSettResponse:
      additionalProperties: false
      example:
        Batch:
          AddToBatch: true
          BatchId: 0
          BatchStatus: 0
          BatchTransactionId: string
          DeleteFromBatch: true
          OperationToPerform: 1
        PaymentInfo:
          AuthAmount: 5
          AuthCode: '333333'
          AuthDateTime: '071221133300'
          AuthSource: '55555'
          IsGatewayTimeout: false
          RRN: '111111'
          SettDateTime: 12/7/2021 10
          SrvTranId: '3584697388'
          Token: Cortina V2 Stub Tester Token
          TraceNumber: '4444'
        Status:
          Code: 0
          CustomDeclineCode: 0
          StatusMessage: Cortina V2 Stub Tester
          Verdict: Approved
      properties:
        Batch:
          $ref: '#/components/schemas/Batch'
        PaymentInfo:
          $ref: '#/components/schemas/PaymentInfo'
        Status:
          $ref: '#/components/schemas/Status'
      type: object
    BasicInfo:
      additionalProperties: false
      description: Basic transaction information.
      properties:
        AgeLimitation:
          description: |
            Minimum age required for transaction approval.
          example: 18
          format: int16
          type: integer
        Amount:
          description: >
            Transaction amount. Use decimal format (e.g. 0.01 for 1 cent).
            Currencies without decimal places should also be expressed as a
            double (e.g. 234.0).
          example: 5
          format: double
          type: number
        AuditNumber:
          description: |
            For internal Nayax use.
          example: 342
          format: int64
          type: integer
        BillingProviderId:
          description: |
            ID of the billing provider (assigned by Nayax).
          example: 1
          format: int32
          type: integer
        CurrencyCode:
          description: |
            ISO 4217 currency code in Alpha-3 format (e.g. USD, EUR, ILS).
          example: ILS
          type: string
        CurrencyNumeric:
          description: |
            ISO 4217 currency code in Numeric-3 format.
          example: '376'
          type: string
        IsDeferredAuthorization:
          description: |
            Indicates whether the authorization is deferred.
          type: boolean
        IsProductSelected:
          description: |
            Indicates whether a product was pre-selected before payment.
          example: true
          type: boolean
        IsSoftDeclineCompletion:
          description: >
            Indicates whether the transaction was completed after a soft
            decline.
          type: boolean
        MachineAuTime:
          description: |
            Timestamp of machine authorization (DDMMYYHHMMSS).
          example: 71221132914
          type: string
        NayaxRRN:
          description: >
            Reference number for external identification. Should be visible to
            the end-user or external parties (e.g. card issuer, app provider).
            Echoed in `/Inquiry` requests.
          example: '111111'
          type: string
        NayaxTransactionId:
          description: |
            Internal Nayax ID used to track the transaction in future requests.
          example: 3584697384
          format: int64
          type: integer
        PaymentMethodID:
          description: |
            ID of the payment method provider (assigned by Nayax).
          example: 1
          format: int32
          type: integer
        SiteId:
          description: |
            Region identifier for the Nayax server.
          example: 1
          format: int16
          type: integer
        TimeoutMS:
          description: |
            Server timeout in milliseconds.
          example: 15000
          format: int32
          type: integer
        TransactionId:
          description: >
            Unique identifier for the transaction.

            - If `/StartSession` was used, this echoes the encrypted transaction
            ID (`TranIDCipher`).

            - If not, the Nayax engine generates this value.
          example: N99O4XURDQYJZIK4OTCAWF1RHHA40TZWVCRB
          type: string
        TransitElement:
          $ref: '#/components/schemas/TransitElement'
      required:
        - TransactionId
        - Amount
        - CurrencyCode
        - CurrencyNumeric
      type: object
    DeviceInfo:
      additionalProperties: false
      description: Hardware and firmware information of the Nayax device.
      properties:
        FWVersion:
          description: |
            Firmware version installed on the device.
          example: 4.0.0.22-RC01 - Aug 25 2021
          type: string
        HwSerial:
          description: |
            Hardware serial number of the Nayax device.
          example: 434324119376526
          type: string
        Type:
          description: |
            Device type as defined in the Nayax system.
          example: Onyx
          type: string
      type: object
    MachineInfo:
      description: Information about the machine involved in the transaction.
      properties:
        City:
          description: >
            City where the machine is located, as defined in the Nayax
            backoffice. Maximum length: 255 characters.
          example: Abbeville
          type: string
        Country:
          $ref: '#/components/schemas/CountryInfo'
        DecimalPlace:
          description: >
            Number of decimal places for transaction amounts.

            - For example, `2` means values like 123.45. - A value of `0` means
            12345 (no decimal).
          example: 2
          format: int64
          type: integer
        ExternalId:
          description: >
            External machine ID as provided by the operator in the Nayax
            backoffice. Maximum length: 200 characters.
          example: OperatorExternalID
          type: string
        GeoLocation:
          $ref: '#/components/schemas/GeoLocation'
        GroupId:
          description: |
            Internal Nayax group ID.
          example: String
          type: string
        Id:
          description: |
            Unique machine ID as allocated in the Nayax backoffice.
          example: 106791869
          format: int64
          type: integer
        Name:
          description: >
            Machine name as defined in the Nayax backoffice. Maximum length: 255
            characters.
          example: Itai_TestPayCC V2
          type: string
        Offset:
          description: |
            UTC timezone offset. Maximum length: 255 characters.
          example: '3.00'
          type: string
        OperatorId:
          description: >
            Merchant ID as defined in the Nayax backoffice. Maximum length: 255
            characters.
          example: 2001537302
          type: string
        Region:
          description: >
            Region assigned to the machine in the Nayax backoffice. Maximum
            length: 255 characters.
          example: EU
          type: string
        TerminalId:
          description: >
            Optional terminal identifier defined in the Nayax backoffice.
            Contact Nayax TPOC to configure. Maximum length: 255 characters.
          example: '8888888844'
          type: string
        Type:
          description: >
            Machine type as defined in the Nayax backoffice. Maximum length: 50
            characters.
          example: machine type
          type: string
        ZipCode:
          description: >
            Zip or postal code for the machine location. Maximum length: 255
            characters.
          example: 22448Z
          type: string
      type: object
    ActorInfo:
      additionalProperties: false
      description: Merchant (Actor) details.
      properties:
        Country:
          $ref: '#/components/schemas/CountryInfo'
        DynamicURL:
          description: >
            Optional URL configuration at the actor level. Supports dynamic
            URLs. 

            - Max length: 255.
          example: https://www.nayax.com/alternativeURL
          type: string
        GeoLocation:
          $ref: '#/components/schemas/GeoLocation'
        Id:
          description: >
            Unique ID of the actor (merchant) as defined in the Nayax
            backoffice.
          example: 2001537302
          format: int64
          type: integer
        MCC:
          description: >
            Merchant Category Code (MCC), classifies businesses by type of goods
            or services provided.
          example: 455
          format: int32
          type: integer
        MerchantId:
          description: >
            Merchant identifier as defined in the Nayax backoffice. Contact
            Nayax to configure. 

            - Max length: 255.
          example: 999999888885
          type: string
        Name:
          description: >
            Merchant name as registered in the Nayax backoffice. Max length:
            255.
          example: TestPayCC V2 OP
          type: string
        OperatorId:
          description: |
            ID of the operator associated with the merchant. Max length: 255.
          example: 2001537302
          format: int64
          type: integer
        OperatorName:
          description: |
            Name of the operator associated with the merchant. Max length: 255.
          example: TestPayCC V2 OP _ Sub Merchant
          type: string
        SubMerchantId:
          description: >
            Identifier for a sub-merchant under the main merchant. Contact Nayax
            to configure. Max length: 255.
          example: 999999888886
          type: string
      type: object
    CustomData:
      additionalProperties: false
      description: Custom Fields Information, Contact Nayax TPOC to define.
      properties:
        Actor:
          description: |
            Actor custom data (String in json format)
          example: String
          type: string
        DirectActor:
          description: |
            Direct actor custom data (String in json format)
          example: String
          type: string
        Distributor:
          description: |
            Distributor custom data (String in json format)
          example: String
          type: string
        Machine:
          description: |
            Machine custom data (String in json format)
          example: String
          type: string
        Operator:
          description: |
            Operator custom data (String in json format)
          example: String
          type: string
        SoftDecline:
          description: |
            Soft Decline custom data (String in json format)
          example: String
          type: string
      type: object
    CardData:
      additionalProperties: false
      description: >-
        Additional data we read from the card (EMV data, expiration date, cvv2,
        etc.)
      properties:
        BrandInfo:
          $ref: '#/components/schemas/CardBrandInfo'
        CVV2:
          description: |
            Optional, cvv2
          example: '****'
          type: string
        CardHolderName:
          description: Card Holder Name
          example: Test Card Holder
          type: string
        CardNumber:
          description: >
            - String ()

            - Mandatory

            - For card present Authorization and Sale, the full Track2 will be
            sent in this field.

            - For card not present, Settlement, Cancel, Void, Refund - The card
            PAN only will be sent.
          example: '****'
          type: string
        EMVData:
          description: |
            String of emv tags in TLV format
          example: string
          type: string
        EntryMode:
          description: >
            String (4)

            Mandatory

            Optional Value:

            * MCR - Card number read from the card magnetic stripe.

            * CON - Card details read from the chip via the contact interface
            (insert).

            * CLS - Card details read from the chip via the contactless
            interface (tap).

            * NFC - Card details read from the phone via the contactless
            interface (phone tap).

            * CLM - Card track2 read from the chip via the contactless interface
            (contactless magstripe\\legacy mode).

            * MIF\\MIFH - MIFARE\\MIFARE received as Hexadecimal

            * QR - Card number read from a QR by the
            [DOT](https://www.nayax.com/solution/dot/)


            Other values may also be sent in specific edge case, for more
            information please consult your Nayax POC.
          example: MCR
          type: string
        ExpMonth:
          description: Conditional only when Interface is 1 or 10, (MM)
          example: '01'
          type: string
        ExpYear:
          description: Conditional only when Interface is 1 or 10, (YY)
          example: '23'
          type: string
        IDNumber:
          description: ID Number
          example: '****'
          type: string
        IsDebitCard:
          description: Indication if card is Debit or Prepaid
          example: true
          type: boolean
        RandomNumber:
          example: string
          type: string
      type: object
    Product:
      type: object
      description: Details of the product selected in the transaction.
      additionalProperties: false
      properties:
        CatalogProductId:
          type: string
          description: >
            External unique identifier of the product (catalog number) as
            defined in the Nayax backoffice.
          example: string
        Code:
          type: integer
          format: int32
          description: >
            Numeric code of the product, as defined in the Nayax backoffice or
            vending machine.
          example: 101
        Group:
          type: string
          description: |
            Product group name as defined in the product map.
          example: Snacks
        Measurement:
          type: number
          format: double
          description: |
            Quantity of the product in the specified unit of measurement.
          example: 1.5
        Name:
          type: string
          description: |
            Product name as defined in the Nayax backoffice.
          example: Sparkling Water
        Price:
          type: number
          format: double
          description: >
            Product price in the machine’s currency. This is the base price
            before adjustments (e.g. surcharges or loyalty discounts).
          example: 2.99
        ProductGroupId:
          type: string
          description: |
            Code of the product group as defined in the product map.
          example: GRP001
        PulseLineNumber:
          type: integer
          format: int32
          description: >
            Line number used for remote vend via pulse. Must be a non-negative
            integer.
          example: 0
        UnitOfMeasurement:
          type: string
          description: |
            Unit of measurement for the product (e.g. "unit", "liter").
          example: unit
    PaymentInfo:
      type: object
      additionalProperties: false
      description: >
        Identifies transaction information and references. Included in all
        response messages for payment calls.

        When used in requests (e.g. `/Settlement`, `/Void`, `/Refund`,
        `/Inquiry`), this object should match the `PaymentInfo` returned in a
        previous call.
      properties:
        SrvTranId:
          type: string
          description: >
            Integrator's internal transaction ID. Use only if `/StartSession`
            was not used. If `/StartSession` was used, this should be empty or
            echo the transaction ID from the request.
          example: '3584697388'
        AuthCode:
          type: string
          description: >
            External authorization code (usually from the card issuer). In
            dynamic QR, the approval code from the `/Inquiry` response overrides
            previous values.
          example: '333333'
        AuthAmount:
          type: number
          format: double
          description: >
            Original amount requested in `/Authorization` or `/Sale`. Optional
            in other cases.
          example: 5.5
        SettAmount:
          type: number
          format: double
          description: >
            Final settled amount, used in `/Settlement`, `/Inquiry`, or `/Sale`.
            In Cortina External Prepaid, this may reflect a discounted amount
            and is used for reporting only.
          example: 5.5
        RRN:
          type: string
          description: >
            Reference Retrieval Number. Should be visible to the cardholder and
            match the one in the `/GenerateQR` response.
          example: '111111'
        Token:
          type: string
          description: |
            Unique token for the transaction. For internal Nayax use only.
          example: string
        AuthDateTime:
          type: string
          description: >
            Date and time of the `/Authorization` or `/Sale`. Format:
            `ddMMyyHHmmss`
          example: '071221133300'
        SettDateTime:
          type: string
          description: >
            Date and time of the `/Settlement` or `/Sale`. Format:
            `ddMMyyHHmmss`
          example: '071221133330'
        TraceNumber:
          type: string
          description: |
            Trace number. For internal Nayax use only.
          example: '4444'
        AdditionalData:
          type: string
          description: |
            Optional custom data in JSON format. Contact Nayax to configure.
          example: string
        IsGatewayTimeout:
          type: boolean
          description: |
            Indicates whether there was a gateway timeout.
          example: false
        ProviderExternalData:
          type: string
          description: |
            External data from provider in JSON format.
          example: string
        InitiateTranReference:
          type: integer
          format: int64
          description: >
            References the original Nayax transaction ID when reattempting a
            prepaid loyalty card transaction.
          example: 11223344
        IsRevalueCard:
          type: boolean
          description: |
            Indicates whether the card supports revalue.
          example: false
    EncryptInfo:
      type: object
      description: |
        Contains encryption metadata used for secure transmission.
      additionalProperties: false
      properties:
        CertificateFileName:
          type: string
          description: >
            Name of the certificate file used for encryption (filename only,
            without path).
          example: string
        EncryptedMessage:
          type: string
          description: Encrypted JSON message payload.
          example: string
        EncryptedSessionKey:
          type: string
          description: AES session key encrypted with the recipient's public key.
          example: string
        RandomNumber:
          type: string
          description: Random number generated for encryption operations.
          example: string
    Batch:
      additionalProperties: false
      properties:
        AddToBatch:
          description: |
            Denote on whether to add to the batch
          example: true
          type: boolean
        BatchId:
          description: |
            Batch id relevant to the transaction
          example: 0
          format: int64
          type: integer
        BatchStatus:
          $ref: '#/components/schemas/BatchStatus'
        BatchTransactionId:
          description: |
            The transaction id inside the batch (id)
          example: string
          type: string
        DeleteFromBatch:
          description: |
            Denote on whether to delete from batch
          example: true
          type: boolean
        OperationToPerform:
          $ref: '#/components/schemas/BatchOperation'
      type: object
    Status:
      additionalProperties: false
      description: Transaction status
      properties:
        Code:
          description: >
            - Conditional - Only if verdict value is declined

            - Please refer to the Decline Reasons Code List in the relevant
            Overview section for full list of allowed decline codes
          format: int32
          type: integer
        CustomDeclineCode:
          description: >
            - Always mirrors the value of the Code field when Code is present,
            regardless of Verdict.

            - Included in all responses (Approved or Declined) whenever Code is
            present.
          format: int32
          type: integer
        StatusMessage:
          description: >
            - Optional

            - Length: 255

            - Transaction status message free text field / additional varying
            data
          type: string
        Verdict:
          description: |
            - Mandatory
            - Const string values:
            - Status of the request ('Approved'/'Declined')
          type: string
      type: object
    TransitElement:
      description: Transit Element Information
      properties:
        DenyListIndication:
          $ref: '#/components/schemas/DenyListIndication'
        TransitTransactionType:
          $ref: '#/components/schemas/TransitTransactionType'
      type: object
    CountryInfo:
      additionalProperties: false
      description: |
        Actor and Machine Country information
      properties:
        Alpha2Code:
          description: |
            String(2)
            Mandatory
            ISO-3166-1 format: Alpha-2 code
          example: US
          type: string
        Alpha3Code:
          description: |
            String(3)
            Mandatory
            ISO-3166-1 format: Alpha-3 code
          example: USA
          type: string
        Intra:
          description: >
            String

            Mandatory

            An Intra Region refers to a geographical diversification across
            countries within a single 'Intra region'.

            E.g. 'France' is country within the 'European Union' Intra Region.
          example: Europe
          type: string
        Name:
          description: |
            String
            Mandatory
            Country Full Name
          example: UNITED STATES
          type: string
        NumericCode:
          description: |
            String(3)
            Mandatory
            ISO-3166-1 format: Numeric-3 code
          example: '840'
          type: string
      type: object
    GeoLocation:
      additionalProperties: false
      description: Actor and Machine Geo location information
      properties:
        Address:
          description: |
            String(255)
            Optional
            Address as defined in the Nayax backoffice
          example: River
          type: string
        City:
          description: |
            - String(255)
            - Optional
            - City as defined in the Nayax backoffice
          example: Zambezi
          type: string
        CountryCode:
          description: |
            String
            Optional
            Country code (ISO3) as defined in the Nayax backoffice
          example: ZM
          type: string
        Latitude:
          description: |
            - Machine Location Latitude as defined in the Nayax backoffice
          example: 51.0003431
          format: double
          type: number
        Longitude:
          description: |
            - Machine Location Longitude as defined in the Nayax backoffice
          example: 23.745245
          format: double
          type: number
        State:
          description: |
            - String
            - Optional
            - Actor geo state code as defined in the Nayax backoffice
          example: Alabama
          type: string
        ZipCode:
          description: |
            String(255)
            Optional
            Zip code defined in the Nayax backoffice
          example: '234234'
          type: string
      type: object
    CardBrandInfo:
      additionalProperties: false
      properties:
        PrimaryDescription:
          description: Primary Brand Description
          example: VISA
          type: string
        PrimaryId:
          description: Primary Brand Id
          example: '6'
          type: string
        SecondaryDescription:
          description: Secondary Brand Description
          example: string
          type: string
        SecondaryId:
          description: Secondary Brand Id
          example: '0'
          type: string
      type: object
    BatchStatus:
      description: |
        *  0 - Missing
        *  1 - Open
        *  2 - InProgress
        *  3 - Close
        *  4 - Reopen
        *  5 - Closed
        *  6 - Declined
        * 99 - Unknown
      enum:
        - 0
        - 1
        - 2
        - 3
        - 4
        - 5
        - 6
        - 99
      format: int32
      type: integer
    BatchOperation:
      description: |
        * 1 - Open
        * 3 - Close
      enum:
        - 1
        - 3
      format: int32
      type: integer
    DenyListIndication:
      description: |
        * 0 - unknown/ no effect
        * 1 - Decline will cause consumer to be added to the deny list
        * 2 - Approval shall cause the consumer to be removed from deny list.
      enum:
        - 0
        - 1
        - 2
      format: int32
      type: integer
    TransitTransactionType:
      description: |
        * 1 - Prefunded
        * 2 - Realtime Authorization
        * 3 - Post-Authorization Aggregated Transaction
        * 7 - Debt Recovery
      enum:
        - 1
        - 2
        - 3
        - 7
      format: int32
      type: integer

````