Sale
Cortina SQR uses the Salecommand to notify the integrator about the result of a card tap after a product has been selected in order to initiate the authorization 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 Saleendpoint, which would be of the following format:
(customer's URL)/Cortina/StaticQR/Sale
The payload includes the full result of the card scan operation:
{
"BasicInfo": {
"TransactionId": "105603",
"NayaxTransactionId": 6890622040,
"Amount": 2.0,
"CurrencyCode": "GBP",
"CurrencyNumeric": "826",
"SiteId": 6,
"MachineAuTime": "041125210717",
"TimeoutMS": 15000,
"PaymentMethodID": 233,
"BillingProviderId": 0,
"NayaxRRN": "104210717194"
},
"MachineInfo": {
"Id": 968382276,
"Name": "1844-PEPPA PIG 3 SEATER CAROUSEL-PARK CENTRE - BELFAST",
"ExternalId": "0612133524110088",
"Type": "Amusement",
"TerminalId": "",
"DecimalPlace": 2,
"Offset": "0.00",
"City": "Belfast",
"ZipCode": "BT12 6HN",
"Country": {
"Name": "UNITED KINGDOM",
"NumericCode": "826",
"Alpha2Code": "GB",
"Alpha3Code": "GBR"
},
"GeoLocation": {
"State": "Northern Ireland",
"City": "Belfast",
"CountryCode": "GB",
"ZipCode": "BT12 6HN",
"Address": "Donegall Road",
"Latitude": 54.5886358,
"Longitude": -5.9645663
}
},
"ActorInfo": {
"Id": 2001384616,
"Name": "ABCD",
"Country": {
"Name": "UNITED KINGDOM",
"NumericCode": "826",
"Alpha2Code": "GB",
"Alpha3Code": "GBR"
},
"GeoLocation": {
"State": "Northern Ireland",
"City": "Banbridge",
"CountryCode": "GB",
"ZipCode": "BT32 3QD",
"Address": "abcde"
},
"MCC": 5813
},
"CustomData": {
"Actor": "",
"Machine": ""
},
"DeviceInfo": {
"HwSerial": "0123456123456123",
"FWVersion": "4.1.24.4-RC01 - Jun 24 2024",
"Type": "ONYX"
},
"Products": [
{
"Code": -1,
"CatalogProductId": "",
"Name": "Unknown",
"Price": 2.0,
"UnitOfMeasurement": "Unit",
"Measurement": 1.0,
"Group": "Unknown",
"ProductGroupId": "52"
}
]
}Request Parameters
The following table describes the parameters included in the request body:
| Field | Type | Description |
|---|---|---|
| Transaction Identifiers & Status | ||
TransactionId | String(36) | The unique identifier for this transaction.
|
NayaxTransactionId | Int(64) | The Nayax internal unique ID for the transaction, echoed in further requests. |
SrvTranId | String | The Integrator's internal transaction ID.
|
RRN | String | Reference Retrieval Number (RRN). Recommended to be visible to the consumer/card holder for support. |
AuthCode | String(40) | External Authorization Code (usually from the Card Issuer's bank). |
Token | String(256) | A unique token for the transaction. For Nayax internal use only. |
TraceNumber | String | Trace number. For Nayax internal use only. |
AuthSource | String(5) | For Nayax internal use only. |
InitiateTranReference | Int(64) | Conditional: Reflects the original Nayax Transaction ID for prepaid loyalty card re-attempts. |
| Financial & Time Details | ||
Amount | Double | The payment amount (Decimal with max 3 digits for cents).
|
AuthAmount | Double | The original amount requested in the |
SettAmount | Double | The original amount requested in the |
AuthDateTime | String | The date and time the |
SettDateTime | Double | The Settlement Date/Time. Irrelevant for the Authorization command. |
| Machine & Location Details | ||
SiteId | Int(16) | Region of the Nayax server. |
Id | Int(64) | Machine entity unique ID. |
Name | String(255) | Machine Name. |
TerminalId | String(255) | Terminal identifier. Contact Nayax TPOC to define. |
DecimalPlace | Int(64) | Decimal point location for amounts. |
Offset | String(255) | UTC timezone offset. |
GroupId | String | For Nayax internal use only. |
OperatorId | String(255) | Merchant ID (String format). |
| Country & Actor Geo Details | ||
Name | String | Country Full Name. |
NumericCode | String(3) | ISO-3166-1 Numeric-3 code. |
Alpha2Code | String(2) | ISO-3166-1 Alpha-2 code. |
Alpha3Code | String(3) | ISO-3166-1 Alpha-3 code. |
Intra | String | The Intra Region (e.g., 'European Union') used for geographical diversification across countries. |
Id | Int(64) | Actor ID. |
Name | String(255) | Direct Merchant name. |
OperatorId | Int(64) | Merchant operator ID (Integer format). |
OperatorName | String | Merchant operator name. |
MerchantId | Int(64) | Merchant ID. Contact Nayax TPOC to define. |
DynamicURL | String | Actor level URL configuration. |
| Custom Data (JSON Strings) & System Flags | ||
DirectActor | String | Direct actor custom data (String in JSON format). |
Operator | String | Operator custom data (String in JSON format). |
Distributor | String | Distributor custom data (String in JSON format). |
Actor | String | Actor custom data (String in JSON format). |
Machine | String | Machine custom data (String in JSON format). |
AdditionalData | String | General custom data string in JSON format. |
IsGatewayTimeout | Bool | Indicates if a gateway timeout occurred (valid in the response). |
| Card & Payment Details | ||
CardNumber | String | Card details provided based on transaction type:
|
EntryMode | String(4) | How the card details were read:
|
ExpYear | String | Card expiration year (YY format). Conditional (only when Interface is 1 or 10). |
ExpMonth | String | Card expiration month (MM format). Conditional (only when Interface is 1 or 10). |
EMVData | String | EMV tags data in TLV (Tag-Length-Value) format. |
CVV2 | String | Card Verification Value 2 (CVV2). |
IDNumber | String | Cardholder ID Number. |
RandomNumber | String | Further information is unavailable. |
PrimaryId | String | Primary Brand ID. |
PrimaryDescription | String | Primary Brand Description. |
SecondaryId | String | Secondary Brand ID. |
SecondaryDescription | String | Secondary Brand Description. |
CardHolderName | String | Card Holder Name. |
Response
The Sale Response that the customer's payment method would send to Nayax's servers.
The payload should look as follows:
{
"Status": {
"Verdict": "Approved",
"StatusMessage": "transaction approved"
},
"PaymentInfo": {
"SrvTranId": "string",
"AuthCode": "string",
"AuthAmount": 0,
"SettAmount": 0,
"RRN": "string",
"Token": "string",
"AuthDateTime": "string",
"SettDateTime": "string",
"TraceNumber": "string",
"AuthSource": "string",
"AdditionalData": "string",
"IsGatewayTimeout": true
}
}Response Parameters
The following table describes the fields returned in the API response:
| Field | Type | Description |
|---|---|---|
| Transaction Status & Error Codes | ||
Verdict | String | The constant string representing the final status of the request:
|
Code | Int(32) | The Decline Code. Conditional—only present if
|
StatusMessage | String(255) | A free text field containing the transaction status message or additional varying data regarding the outcome. |
CustomDeclineCode | String | Used for specifying a custom decline code (e.g., related to Soft Decline or Switch Interface). May reflect the acquirer's response code. |
| Financial & Time Details | ||
AuthAmount | Double | The original amount requested in the |
SettAmount | Double | The original amount requested in the |
AuthDateTime | String | The date and time the |
SettDateTime | Double | The Settlement Date/Time. Irrelevant for the Authorization command. |
| Transaction Identifiers & References | ||
SrvTranId | String | The Integrator's internal transaction ID.
|
AuthCode | String(40) | External Authorization Code (usually from the Card Issuer's bank). |
RRN | String | Reference Retrieval Number (RRN). Recommended to be visible to the consumer/card holder for support. |
Token | String(256) | A unique token for the transaction. For Nayax internal use only. |
TraceNumber | String | Trace number. For Nayax internal use only. |
AuthSource | String(5) | For Nayax internal use only. |
InitiateTranReference | Int(64) | Conditional: Reflects the original Nayax Transaction ID for prepaid loyalty card re-attempts. |
| Loyalty & System Details | ||
RegularCreditType | Int(32) | Defines the unit of measure for
|
RegularCredit | Double | The regular credit value (amount or transaction count) based on the |
RevalueCredit | Int(32) | The revalue credit amount. Only present if the associated card is configured as revalue-able. |
IsRevalueCard | Bool | Indication if card is allowed revalue. |
IsGatewayTimeout | Bool | Indicates if a gateway timeout occurred (valid in the response). |
ProviderExternalData | String | External data from the provider in JSON format string. |
Updated 18 days ago