Skip to content

VOID

VOID is a merchant initiated request that cancels a transaction that has been previously authorized and typically not captured.

There is a special case for technical failures. A void time window is provided for captured transactions to allow a void request due to technical errors and technical failures. Captured transactions must be voided within the allowed void time window. After the void time window expires for the captured transaction, that transaction cannot be voided and must be refunded.

Successful requests will be indicated with a 2xx HTTP response code and the Approved attribute set to 'true'.

NOTE

It is possible to receive an HTTP 2xx response code indicating that the request was successfully received, understood, and processed at the HTTP protocol level, but still have the Approved attribute set to false. (A 2xx response code with an Approved attribute set to false means the server successfully handled the request itself; however the actual business or application logic determined that the request was not approved).

Void Window

The void window for captured transactions closes daily at 5:00AM UTC. This is provided for transactions that require voiding due to technical errors or customer cancellations.

Voids for captured transactions are denied when initiated after the void window. After the void window, void requests receive a response that says the void timeframe has ended. After the void window timeframe ends, captured transactions must be refunded.

NOTE

Uncaptured transactions do not have a void window and may be voided at any time.

Isolating Transactions for Void

Transactions can be voided based on either the TransactionID or the TransactionID and the EventID, based on the original transaction type and needed.

Void with TransactionID

Using only the TransactionID will void the last transaction event.

  • This applies to Auth | Capture sequence, AuthCapture, Refund (last refund only), and Standalone Refund.
  • Special Case: Void of Auth followed by Capture using TransactionID. This Voids the Entire Auth | Capture sequence. Another Capture request on that Auth is not allowed after the Void of an Auth | Capture sequence.

Void with TransactionID and EventID

Using both the TransactionID and the EventID 2. Void specific transaction event using a selected TransactionID and EventID.

  • This applies to linked Refunds (Refund by PAN, or Refund by TransactionID)
  • Special Case: Void a Capture EventID is not allowed.

Invalid Void Uses

Void are not allowed for the following transaction types:

  • Void
    • Instead, run a new transaction request.
  • Partial Reversal of Incremental Auth
    • Special case since Incremental Auth is not Captured. Another Incremental Auth can be run after a Partial Reversal.
  • Partial Reversal of AuthCapture
  • Balance Inquiry
  • Verification
  • Query Transaction List
  • Query Transaction Status

Available Functions

Perform a 'void' transaction

POST, /v0/transaction/void

REQUEST Object Attributes

View REQUEST Object Attributes
voidTable
AttributeData TypeDescriptionRequired
TransactionIDksuid

TransactionID from AUTH response

True
EventIDksuid

Transaction EventID from AUTH response

False
Reasonstring

Reason for Void

True
PaymentMethodobject

Transaction Payment Method

True
Cardobject

Card info


Card is aKey/Value of the "PaymentMethod" Object View object structure example

True
ICCobject

See Attributes in Integrated Circuit Card Data Section


ICC is aKey/Value of the "PaymentMethod" "Card" Object View object structure example

False
Attributesobject

Transaction attributes

False
EntryModeobject

Description of the card entry mode


EntryMode is aKey/Value of the "Attributes" Object View object structure example

False
ProcessingSpecifiersobject

Description of the specific data used for processing the transaction.


ProcessingSpecifiers is aKey/Value of the "Attributes" Object View object structure example

False
TransactionDescriptorobject

Description of the transaction used for dynamic descriptors.


TransactionDescriptor is aKey/Value of the "Attributes" Object View object structure example

False
Prefixobject

The Prefix for the transaction used for dynamic descriptors.


Prefix is aKey/Value of the "Attributes" "TransactionDescriptor" Object View object structure example

False
Detailobject

The Detail for the transaction used for dynamic descriptors.


Detail is aKey/Value of the "Attributes" "TransactionDescriptor" Object View object structure example

False
Detailobject

Transaction Details

False
MerchantDataobject

Merchant Defined Transaction Data

(supports 1 or more Merchant Defined Keys)


MerchantData is aKey/Value of the "Detail" Object View object structure example

False
MerchantDefinedKey1string

Merchant - defined transaction data

(field 1)


MerchantDefinedKey1 is aKey/Value of the "Detail" "MerchantData" Object View object structure example

False
MerchantDefinedKey2string

Merchant - defined transaction data

(field 2)


MerchantDefinedKey2 is aKey/Value of the "Detail" "MerchantData" Object View object structure example

False
TransactionEntryobject

See Transaction Entry Section

(Information about transaction entry)

False

REQUEST Examples

REQUEST Example: Standard Void

Code Sample using CURL
sh
URL=https://api.qa.paynetworx.net/v0/transaction/void
HTTPAUTHTOKEN=1fHfjpw86udrDQHRMKabypEmhY4:1fHfkJrOs7iVBnC07HDxCPZuPsK
curl -sS --user $HTTPAUTHTOKEN -H 'Content-Type: application/json' -H "Request-ID: $(ksuid)" $URL -d '
{
    "TransactionID": "1XSnl0X7GC44qPT2CVV8BCz0bQi",
    "Reason": "customer-cancellation",
    "Detail": {
        "MerchantData": {
            "OrderNumber": "22-1111",
            "CustomerID": "991111",
            "VoidReason": "Customer cancelled the transaction"
        }
    }
}'

REQUEST Example: Void by TransactionID and EventID

Code Sample using CURL
sh
URL=https://api.qa.paynetworx.net/v0/transaction/void
HTTPAUTHTOKEN=1fHfjpw86udrDQHRMKabypEmhY4:1fHfkJrOs7iVBnC07HDxCPZuPsK
curl -sS --user $HTTPAUTHTOKEN -H 'Content-Type: application/json' -H "Request-ID: $(ksuid)" $URL -d '
{
    "TransactionID": "1XSnl0X7GC44qPT2CVV8BCz0bQi",
    "EventID": "1XSnl0X7GC44qPT2CVV8BCz0bRj",
    "Reason": "system-error",
    "Detail": {
        "MerchantData": {
            "OrderNumber": "22-1111",
            "CustomerID": "991111",
            "VoidReason": "Customer cancelled the transaction"
        }
    }
}'

RESPONSE Object Attributes

View RESPONSE Object Attributes
defaultResponseTable
AttributeData TypeDescription
TransactionIDksuid

Unique transaction lifetime system ID

EventIDksuid

Unique transaction event system ID

RequestIDksuid

Unique transaction request system ID

Approvedboolean

Request approval indicator

REQUEST Exampless

RESPONSE Example: Standard Approved

JSON Response Object
json
{
  "TransactionID": "1XSnl0X7GC44qPT2CVV8BCz0bQi",
  "EventID": "1XSnvq7J5ggxZg70sWuRg4kEBcu",
  "RequestID": "1XSnzEjZ4IBh5Nj0OEVPTWpwYo8",
  "AuthCode": "P2281C",
  "ResponseCode": "00",
  "ResponseText": "Approved or completed successfully (d00)",
  "Approved": true
}

RESPONSE Example: Standard Decline

JSON Response Object
json
{
  "TransactionID": "1XSnl0X7GC44qPT2CVV8BCz0bQi",
  "EventID": "1XSnvq7J5ggxZg70sWuRg4kEBcu",
  "RequestID": "1XSnzEjZ4IBh5Nj0OEVPTWpwYo8",
  "Error": "void denied, transaction event is already voided",
  "Approved": false
}