Skip to main content
Cortina SQR uses the Settlementcommand to notify the integrator about the result of a settlement process on the device’s end (meaning a product has been vended) in order to initiate the settlement process with the Cortina payment provider. This command is essential for proceeding to transaction confirmation or rejection handling.

Request

Nayax’s servers send a POST request to your configured Settlementendpoint, which would be of the following format: (customer's URL)/Cortina/StaticQR/Settlement The payload includes the full result of the card scan operation:
{
  "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"
}

Request Parameters

The following table describes the parameters included in the request body:
FieldTypeDescription
Transaction Identifiers & References
TransactionIdString(36)The unique identifier for this transaction.
  • Echoes the encrypted ID from /StartSession if used.
  • Otherwise, the Nayax Engine generates this value.
NayaxTransactionIdInt(64)The Nayax internal unique ID for the transaction, echoed in further requests.
SrvTranIdStringThe Integrator’s internal transaction ID.
  • Conditional: Required if /StartSession was not used.
  • If used, it should be empty or echo the Transaction ID.
RRNStringReference Retrieval Number (RRN). Recommended to be visible to the consumer/card holder for support.
AuthCodeString(40)External Authorization Code (usually from the Card Issuer’s bank).
TokenString(256)A unique token for the transaction. For Nayax internal use only.
TraceNumberStringTrace number. For Nayax internal use only.
AuthSourceString(5)For Nayax internal use only.
Financial & Time Details
AmountDoubleThe payment amount (Decimal with max 3 digits for cents).
  • Example: 1 cent = 0.01.
  • Note: Currencies with no decimal places are still represented as a double (e.g., 234 JYN = 234.0).
AuthAmountDoubleThe original amount requested in the /Authorization request. Conditional on /Authorization response.
SettAmountDoubleThe original amount requested in the /Settlement or /Sale process. Irrelevant for Authorization.
AuthDateTimeStringThe date and time the /Authorization took place. Format:ddMMyyHHmmss.
SettDateTimeDoubleThe Settlement Date/Time. Irrelevant for the Authorization command.
CurrencyCodeString(3)Currency code in ISO 4217 Alpha-3 format.
CurrencyNumericString(3)Currency code in ISO 4217 Numeric-3 format.
Machine & Location Details
SiteIdInt(16)Region of the Nayax server.
IdInt(64)Machine entity unique ID.
NameString(255)Machine Name.
TerminalIdString(255)Terminal identifier. Contact Nayax TPOC to define.
DecimalPlaceInt(64)Decimal point location for amounts.
OffsetString(255)UTC timezone offset.
GroupIdStringFor Nayax internal use only.
OperatorIdString(255)Merchant ID (String format).
Country & Actor Geo Details
NameStringCountry Full Name.
NumericCodeString(3)ISO-3166-1 Numeric-3 code.
Alpha2CodeString(2)ISO-3166-1 Alpha-2 code.
Alpha3CodeString(3)ISO-3166-1 Alpha-3 code.
StateStringActor geo state code.
CityString(255)Actor geo City.
CountryCodeStringActor geo Country code (ISO3).
ZipCodeString(255)Actor geo Zip code.
AddressString(255)Actor geo Address.
LongitudeStringMachine Location Longitude.
LatitudeStringMachine Location Latitude.
IdInt(64)Actor ID.
NameString(255)Direct Merchant name.
OperatorIdInt(64)Merchant operator ID (Integer format).
OperatorNameStringMerchant operator name.
MerchantIdInt(64)Merchant ID. Contact Nayax TPOC to define.
Custom Data (JSON Strings)
DirectActorStringDirect actor custom data (String in JSON format).
OperatorStringOperator custom data (String in JSON format).
DistributorStringDistributor custom data (String in JSON format).
ActorStringActor custom data (String in JSON format).
MachineStringMachine custom data (String in JSON format).

Response

The Settlement Response that the customer’s payment method would send to Nayax’s servers.
The payload should look as follows:
{
  "Status": {
    "Verdict": "Declined",
    "Code": 1,
    "StatusMessage": "Insufficient balance"
  }
}

Response Parameters

The following table describes the fields returned in the API response:
FieldTypeDescription
Transaction Status & Error Codes
VerdictStringThe constant string representing the final status of the request:
  • Approved
  • Declined
CodeInt(32)The Decline Code. Conditional—only present if Verdict is ‘Declined’. Valid codes include:
  • 1: Insufficient funds
  • 5: Suspected Fraud
  • 6: General system failure
  • 7: Invalid amount
  • 8 / 998: Format/parsing error or Validation error
  • 992: Timeout exception
  • 997: Missing mandatory parameters
  • 999: General exception
  • See full list for other status and internal errors (e.g., 40, 990, 1011).
StatusMessageString(255)A free text field containing the transaction status message or additional varying data regarding the outcome.
CustomDeclineCodeStringUsed for specifying a custom decline code (e.g., related to Soft Decline or Switch Interface). May reflect the acquirer’s response code.
Loyalty & Credit Information
RegularCreditTypeInt(32)Defines the unit of measure for RegularCredit (Enum values):
  • 0: Credit is counted in transactions (count).
  • 1: Credit is counted as an amount (currency).
RegularCreditDoubleThe regular credit value (amount or transaction count) based on the RegularCreditType. Uses Decimal place 2.
RevalueCreditInt(32)The revalue credit amount. Only present if the associated card is configured as revalue-able.