Void Last Purchase
Overview
The void last purchase command allows you to void the last completed transaction. You cannot use this command consecutively to void more than one transaction. In a partial approval transaction flow, the void last purchase will only void the last completed transaction. You must use the Void Purchase command to void all the remaining transactions.
Request Structure
| Element | Type | Description | Size | Required |
|---|---|---|---|---|
| apiVersion | String | API version number | V20 | Required |
| istConfigCode | String | Moneris provided integration configuration code | V25 | Required |
| dataId | String | Merchant defined unique identifier for the data object | V50 | Required |
| dataTimestamp | String | Date and time of the request (YYYY-MM-DD HH:MM:SS) | F19 | Required |
| data | Object | Object that contains all transaction requests | — | — |
| request | Array | Contains data applicable to transaction request | — | — |
| idempotencyKey | String | Unique transaction identifier to avoid duplicate request | V50 | Required |
| terminalId | String | Destination Terminal ID Note: An error will be returned if terminalId in the request does not match with the Terminal |
F8 | Optional |
| userName | String | Unique identifier for clerk / user | V30 | Optional |
| action | String | "voidLast" | V50 | Required |
| progressStatus | String | If value is set to "True", terminal will return progress to ECR Note: This feature is only available on Direct Integration |
V5 | Optional |
Request example
{
"apiVersion": "3.0",
"istConfigCode": "example_istConfigCode",
"dataId": "example_dataId",
"dataTimestamp": "1969-12-31 23:59:59",
"data": {
"request": [
{
"idempotencyKey": "example_idempotencyKey",
"action": "voidLast"
}
]
}
}| Element | Type | Description | Size | Required |
|---|---|---|---|---|
| apiVersion | String | API version number | V20 | Required |
| apiToken | String | Moneris assigned identifier | V50 | Required |
| storeId | String | Store ID of requestor | V50 | Required |
| istConfigCode | String | Moneris provided integration configuration code | V25 | Required |
| postBackUrl | String | This field is required for postback and combined integration | V2000 | Conditional |
| polling | String | This field is required for combined integration. | V5 | Conditional |
| dataId | String | Merchant defined unique identifier for the data object | V50 | Required |
| dataTimestamp | String | Date and time of the request (YYYY-MM-DD HH:MM:SS) | F19 | Required |
| data | Object | Object that contains all transaction requests | — | — |
| request | Array | Contains data applicable to transaction request | — | — |
| idempotencyKey | String | Unique transaction identifier to avoid duplicate request | V50 | Required |
| terminalId | String | Destination Terminal ID Note: An error will be returned if terminalId in the request does not match with the Terminal |
F8 | Required |
| userName | String | Unique identifier for clerk / user | V30 | Optional |
| action | String | "voidLast" | V50 | Required |
Request example
{
"apiVersion": "3.0",
"apiToken": "example_apiToken",
"storeId": "example_storeId",
"istConfigCode": "example_istConfigCode",
"polling": "true",
"postBackUrl": "https://example.client.url",
"dataId": "example_dataId",
"dataTimestamp": "1969-12-31 23:59:59",
"data": {
"request": [
{
"idempotencyKey": "example_idempotencyKey",
"terminalId": "example_terminalId",
"action": "voidLast"
}
]
}
}Response Structure
| Element | Type | Description | Size | Required |
|---|---|---|---|---|
| apiVersion | String | API version number | V20 | Required |
| statusCode | String | Status code for the overall transaction request | V4 | Required |
| status | String | Description of the statusCode | V4 | Required |
| dataId | String | Merchant defined unique identifier for the data object | V50 | Required |
| dataTimestamp | String | Date and time of the request (YYYY-MM-DD HH:MM:SS) | F19 | Required |
| data | Object | Object that contains all transaction requests | — | — |
| response | Array | Contains data applicable to transaction request | — | — |
| orderId | String | Unique identifier for this request | V50 | Required |
| transactionId | String | Unique identifier for this request | V50 | Required |
| idempotencyKey | String | Unique transaction identifier to avoid duplicate request | V50 | Required |
| linkId | String | Id used to group related transactions | V50 | Optional |
| action | String | "voidLast" | V50 | Required |
| statusCode | String | Status code for individual request | V4 | Required |
| status | String | Description of the individual statusCode | V50 | Required |
| approvedAmount | String | Payment amount received / approved | V9 | Required |
| tenderType | String | Payment Type: Credit, Debit, Gift etc | V50 | Required |
| cardType | String | Card Type: V, M, P, AX etc | V2 | Conditional |
| cardName | String | Card Name: Visa, MasterCard, Interac, Amex etc | V25 | Conditional |
| sequenceNum | String | Sequence Number | V18 | Conditional |
| realTimeUniqueId | String | Real Time Moneris Transaction Unique Identifier | F15 | Conditional |
| responseCode | String | Moneris Host Response Code | V3 | Conditional |
| iso | String | ISO response Code | V2 | Conditional |
| authCode | String | Authorization code returned from the issuing institution. | V8 | Conditional |
| formFactor | String | EMV Specific Data | V2 | Conditional |
| maskedPan | String | Masked Primary Account Number (PAN) | V21 | Conditional |
| completed | String | "true" or "false" | V5 | Required |
| receipt | String | Financial receipt data sent using ISO-8895-1 encoding | V4000 | Conditional |
| receiptChoice | String | The choices of how the receipt is being returned to the cardholder at the time of transaction. Valid values include: PRINT (Default Option), EMAIL, SMS, NONE. | V10 | Conditional |
| terminalId | String | Destination Terminal ID | V8 | Required |
| dccOptIn | String | This field indicates a Dynamic Currency Conversion (DCC) transaction | V5 | Optional |
Response example
{
"apiVersion": "3.0",
"statusCode": "example_statusCode",
"status": "example_status",
"dataId": "example_dataId",
"dataTimestamp": "1969-12-31 23:59:59",
"data": {
"response": [
{
"orderId": "example_orderId",
"transactionId": "example_transactionId",
"statusCode": "example_statusCode",
"status": "example_status",
"idempotencyKey": "example_idempotencyKey",
"completed": "true",
"responseCode": "example_responseCode",
"iso": "example_iso",
"approvedAmount": "example_approvedAmount",
"tenderType": "example_tenderType",
"cardType": "example_cardType",
"sequenceNum": "example_sequenceNum",
"realTimeUniqueId": "example_realTimeUniqueId",
"authCode": "example_authCode",
"formFactor": "example_formFactor",
"maskedPan": "example_maskedPan",
"action": "voidLast",
"receipt": "example_receipt",
"receiptChoice": "PRINT",
"terminalId": "example_terminalId"
}
]
}
}| Element | Type | Description | Size | Required |
|---|---|---|---|---|
| receipt | Object | Contains the response data message | — | — |
| apiVersion | String | API version number | V20 | Required |
| statusCode | String | Status code for the overall transaction request | V4 | Required |
| status | String | Description of the statusCode | V4 | Required |
| dataId | String | Merchant defined unique identifier for the data object | V50 | Required |
| dataTimestamp | String | Date and time of the request (YYYY-MM-DD HH:MM:SS) | F19 | Required |
| data | Object | Object that contains all transaction requests | — | — |
| response | Array | Contains data applicable to transaction request | — | — |
| orderId | String | Unique identifier for this request | V50 | Required |
| transactionId | String | Unique identifier for this request | V50 | Required |
| idempotencyKey | String | Unique transaction identifier to avoid duplicate request | V50 | Required |
| linkId | String | Id used to group related transactions | V50 | Optional |
| action | String | "voidLast" | V50 | Required |
| statusCode | String | Status code for individual request | V4 | Required |
| status | String | Description of the individual statusCode | V50 | Required |
| saf | String | Identifier for SAF Transaction | V5 | Required |
| approvedAmount | String | Payment amount received / approved | V9 | Required |
| tenderType | String | Payment Type: Credit, Debit, Gift etc | V50 | Required |
| cardType | String | Card Type: V, M, P, AX etc | V2 | Conditional |
| cardName | String | Card Name: Visa, MasterCard, Interac, Amex etc | V25 | Conditional |
| sequenceNum | String | Sequence Number | V18 | Conditional |
| realTimeUniqueId | String | Real Time Moneris Transaction Unique Identifier | F15 | Conditional |
| responseCode | String | Moneris Host Response Code | V3 | Conditional |
| iso | String | ISO response Code | V2 | Conditional |
| authCode | String | Authorization code returned from the issuing institution. | V8 | Conditional |
| formFactor | String | EMV Specific Data | F2 | Conditional |
| maskedPan | String | Masked Primary Account Number (PAN) | V21 | Conditional |
| completed | String | "true" or "false" | V5 | Required |
| receipt | String | Financial receipt data sent using ISO-8895-1 encoding | V4000 | Conditional |
| receiptChoice | String | The choices of how the receipt is being returned to the cardholder at the time of transaction. Valid values include: PRINT (Default Option), EMAIL, SMS, NONE. | V10 | Conditional |
| terminalId | String | Destination Terminal ID | F8 | Required |
| cloudTicket | String | This is the unique reference id of the cloud request | V100 | Required |
| dccOptIn | String | This field indicates a Dynamic Currency Conversion (DCC) transaction (opted in or not). Note: This field is present for DCC transactions only. | V5 | Optional |
Response example
{
"receipt": {
"apiVersion": "3.0",
"statusCode": "example_statusCode",
"status": "example_status",
"dataId": "example_dataId",
"dataTimestamp": "1969-12-31 23:59:59",
"data": {
"response": [
{
"orderId": "example_orderId",
"transactionId": "example_transactionId",
"statusCode": "example_statusCode",
"status": "example_status",
"idempotencyKey": "example_idempotencyKey",
"completed": "true",
"responseCode": "example_responseCode",
"iso": "example_iso",
"approvedAmount": "example_approvedAmount",
"tenderType": "example_tenderType",
"cardType": "example_cardType",
"sequenceNum": "example_sequenceNum",
"realTimeUniqueId": "example_realTimeUniqueId",
"authCode": "example_authCode",
"formFactor": "example_formFactor",
"maskedPan": "example_maskedPan",
"action": "voidLast",
"receipt": "example_receipt",
"receiptChoice": "PRINT",
"cloudTicket": "example_cloudTicket",
"terminalId": "example_terminalId"
}
]
}
}
}Errors
If your response contains errors, visit the Errors page for a detailed description of each one.
Updated 8 days ago
Did this page help you?

