Static QR- Start

Request

The Cortina payment method would send a Start command to Nayax's servers in order to notify them about starting a transaction. The call would be of the following format:

https://lynx.nayax.com/payment/v2/transactions/cortina/(payment method's name)/start

The payload includes the following details:

{
  "AppUserID": "19",
	"TerminalId": "0456789456789456",
  "TransactionId": "123456789qwertyuioasdfghjkl",
  "SecretToken": "mrV3U3nsgGFrE3w5-wnBo_WCLPce-pZ1awRvTVTkungMIKThTVbj_fiXdfoGclhn0"
}
{
  "AppUserID": "19",
	"UniQR": "https://qr.nayax.com/v1/rWg_p6pZh1pwjvbkGrmBLy3KgwSz3dq-y63r5FPxk2NOWw2",
  "TransactionId": "123456789qwertyuioasdfghjkl",
  "SecretToken": "mrV3U3nsgGFrE3w5-wnBo_WCLPce-pZ1awRvTVTkungMIKThTVbj_fiXdfoGclhn0"
}

Request Parameters

The table below describes all the parameters of the request:

Field

Type

Required

Description

AppUserID

String(40)

Yes

The consumer's user ID on the 3rd party's app

TerminalId

String(255)

No

Conditional, must be sent if UniQR is not sent.

Unique Identifier for the vending machine printed on a sticker or encoded in the QR (HW-Serial of the device. not Machine ID)

UniQR

String

No

Conditional, must be sent if TerminalId is not sent. The value of the QR code which is linked to said machine. More on that on Cortina SQR's FAQ

TransactionId

String(40)

Yes

Unique identifier for the transaction which will be echoed in further requests and responses. Minimum of 8 chars.

SecretToken

String(64)

Yes

Unique key for the your system. This value will be Provided by Nayax in advance. You should keep this value as a secret in your system.

Balance

Double

No

Decimal (max 3 digits for cents) The balance of user's account.

Response

The Start Response that Nayax's servers would send to the payment method.
The payload should look as follows:

{
  "Status": {
    "Verdict": "Approved",
    "StatusMessage": "Cortina V2 Stub Tester"
  }
}

Request Parameters

The table below describes all the parameters of the request:

Field

Type

Required

Description

Verdict inside Status

String

Yes

Const string.
Status of the request ('Approved'/'Declined')

Code inside Status

Int(32)

No

Conditional - Only if verdict value is declined.

Valid decline codes (must be a code from this list):


1 - Insufficient funds


2 - Transaction ID unknown


3 - Cardholder exceeded daily / weekly / monthly transaction count limit


4 - Cardholder exceeded transaction amount limit


5 - Suspected Fraud


6 - General system failure


7 - Invalid amount


8 - Request cannot be parsed (format error)


9 - Transaction not allowed to cardholder


40 - For Nayax internal use only.


990 - CertificateFileName not found


991 - Failed to decipher message body


992 - Timeout exception


994 - Card Brand not supported


996 - Transaction ID Unknown / Duplicate Transaction ID (Start Session Error)


997 - Missing mandatory parameters


998 - Validation / request cannot be parsed


999 - General exception


1010 - Public Key Certificate not found


1011 - Method not Implemented

StatusMessage inside Status

String(255)

No

Transaction status message free text field / additional varying data

CustomDeclineCode inside Status

String

No

This field is used for specifying a custom decline code (i.e. Soft Decline or Switch Interface). The value might be the same as the acquirer's response code or composed by other data.