Refund
Cortina SQR uses the Refund command to notify the integrator about the refund request in order to initiate the refund process with the Cortina payment provider.
Said request would be triggered via either of the following options:
- Nayax's Dynamic Transaction Monitor by selecting the relevant transaction, right-clicking on it and then selecting "Request Refund".
- Nayax's Lynx API- via the Refund command
Request
Nayax's servers send a POST request to your configured Refundendpoint, which would be of the following format:
(customer's URL)/Cortina/StaticQR/Refund
The payload includes the full result of the card scan operation:
{
"ReasonCode": 999,
"ReasonText": "General exception",
"BasicInfo": {
"TransactionId": "236584335969834429321847829253667359,",
"Amount": 0.1,
"CurrencyCode": "USD",
"CurrencyNumeric": 376,
"SiteId": 12
},
"MachineInfo": {
"Id": 869761713,
"Name": "TestPayStaticQR V2",
"TerminalId": 987654321,
"DecimalPlace": 2,
"Offset": 2,
"GroupId": "Beverages",
"OperatorId": 12345,
"ZipCode": 10001,
"Country": {
"Name": "United States of America",
"NumericCode": 840,
"Alpha2Code": "US",
"Alpha3Code": "USA"
}
},
"ActorInfo": {
"Id": 2001102296,
"Name": "Far East Dev Zone",
"OperatorId": 2000305191,
"OperatorName": "TanyaT_OP",
"MerchantId": 10011
},
"CustomData": {
"DirectActor": 12312312,
"Operator": 123121434134,
"Distributor": "superDistributor",
"Actor": 12312312,
"Machine": 131231348
},
"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
}
}Request Parameters
The following table describes the parameters included in the request body:
| Field | Type | Description |
|---|---|---|
| Transaction Identifiers & References | ||
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. |
| 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. |
| 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. |
| System & External Data | ||
AdditionalData | String | Additional data string in JSON format. Contact Nayax TPOC to define. |
IsGatewayTimeout | Bool | Indicates if a gateway timeout occurred (valid in the response). |
Response
The Refund Response that the customer's payment method would send to Nayax's servers.
The payload should look as follows:
{
"Status": {
"Verdict": "Approved",
"StatusMessage": "Cortina V2 Stub Tester"
}
}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. |
| Loyalty & Credit Information | ||
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. Uses Decimal place 2. |
Updated 19 days ago