Void

Cancel a transaction before it is finalised.


Void transactions allow you to cancel a pending or authorised transaction and prevent its finalisation before funds are transferred. This applies to multiple transaction types, such as authorize, capture, sale, and refund, along with their 3D variants. You can initiate the void on the same day as the original transaction.

A successful same-day void won’t appear on the customer’s financial statement. You can use voids to correct errors, cancel duplicate transactions, or stop a transaction before completion.


Transaction workflow

Here’s a breakdown of the void transaction workflow:

  1. Initiation
  2. Initiate a void transaction by submitting a void request. Reference the unique_id from the authorisation response. This linkage is necessary for a successful payment cancelation.

  3. Authorisation check
  4. The emerchantpay system checks the eligibility of the transaction for a void. It verifies that the transaction exists, hasn’t been previously voided, and falls within the same day as the original transaction.

  5. Transaction resolution
  6. Your void request is processed, effectively canceling the transaction. No funds are transferred.

Example of a request:

 <payment_transaction>
    <transaction_type>void</transaction_type>
    <transaction_id>119643250547501c79d8295</transaction_id>
    <usage>40208 concert tickets</usage>
    <remote_ip>245.253.2.12</remote_ip>
    <reference_id>43672</reference_id>
  </payment_transaction>

Example of a successful response:

<payment_response>
    <transaction_type>void</transaction_type>
    <status>approved</status>
    <mode>live</mode>
    <transaction_id>119643250547501c79d8295</transaction_id>
    <unique_id>44177a21403427eb96664a6d7e5d5d48</unique_id>
    <authorization_code>345678</authorization_code>
    <retrieval_reference_number>016813015184</retrieval_reference_number>
    <response_code>00</response_code>
    <timestamp>2023-08-29T14:01:01Z</timestamp>
    <descriptor>Descriptor one</descriptor>
    <amount>100</amount>
    <currency>USD</currency>
    <sent_to_acquirer>true</sent_to_acquirer>
  </payment_response>