Skip to content

Void Transaction

DANGER

Note: AI-powered intelligence and automation are only active in production. While staging can simulate API responses for testing, it won't trigger our automated workflows or send email replies.

The Void Transaction API enables you to integrate a feature within your application that allows end-users to ask for a specific transaction to be voided or cancelled. This functionality is subject to biller approval and is applicable only to certain types of transactions.

Applicability

This void transaction functionality is primarily intended for use with bill payment transactions.

It is explicitly not applicable for the following types of transactions where value is often instantly consumed or non-reversible once successfully processed:

  • Prepaid mobile top-ups

  • PIN-based products (e.g., game credits, digital gift cards, software licenses)

  • Other instant fulfillment services

Please ensure that the UI option to request a transaction void is only presented to your users for eligible transaction types that support this process.

Key Considerations

  • Successful Transactions Only: The functionality to request a transaction void should strictly be available only for transactions that have a current status of 'SUCCESFUL'.

  • Biller Approval Required: All void requests are forwarded to the respective biller and are subject to their review and approval policies. IIMMPACT facilitates this process, but the final decision to approve a void rests solely with the biller.

  • Processing Time: The time it takes for a biller to review a void request and process it (if approved) can vary significantly, potentially ranging from near real-time to several business days.

  • Default Email Notification: 📝 The registered email address of the initiating API account is automatically CC'd on all email correspondence sent to the end-user regarding the void request.

  • Webhook Notification for Voided Transactions: Upon successful confirmation of the transaction void from the biller and processing of the subsequent refund by IIMMPACT (including the crediting of funds back to your partner wallet), our system will send a webhook notification to your designated API endpoint.

API-Driven Void Transaction Flow

The typical flow when an end-user requests to void a transaction via this API is as follows:

  1. User Initiates Void: For an eligible and successful bill payment, the end-user clicks the Void/Refundbutton or a similar option within your application.

  2. API Call to IIMMPACT: Your application makes a server-to-server API call to IIMMPACT's "Void Transaction" endpoint, providing all necessary transaction identifiers and any other required information.

  3. IIMMPACT Forwards to Biller: IIMMPACT securely transmits the void request to the concerned biller for their evaluation and decision.

  4. Biller Review and Processing: The biller reviews the void request based on their internal policies. If the request is approved, the biller processes the void and initiates the refund of the amount back to IIMMPACT.

  5. IIMMPACT System Update & Wallet Credit: Once IIMMPACT receives confirmation and the refunded amount from the biller, our system records the transaction as voided, and the corresponding amount is credited to your partner wallet pool.

  6. Webhook Notification to Partner: IIMMPACT then dispatches a webhook to your registered API endpoint.

  7. Partner Refunds End-User: Upon receiving the webhook, your system should use this confirmation to process the refund back to the end-user (e.g., to their original payment method or e-wallet).

Event: Voided / Refunded Transaction

When a transaction has been successfully voided and the corresponding refund has been processed by both the biller and IIMMPACT, we will send a webhook notification to your registered endpoint. This allows you to automate the final step of refunding your end-user.

Key Data in Webhook Payload:

  • status_code: The status code for a successfully voided or refunded transaction will always be **53**.

  • status: The corresponding status name will typically be Failed.

API Endpoint

http
POST https://api.iimmpact.com/v2/transactions/void

Request Headers

HeaderDescriptionRequired
AuthorizationID TokenNo

Request Body

ParameterTypeRequiredDescription
refidstringYes
user_emailarrayNoArray of emails to include. Ensure that you pass user's email address and any other email address that you want to cc
user_email[]stringNo
refund_typenumberYes1= Incorrect Amount Or Wrong Account 2= Duplicate transaction 3= Other reason
refund_reasonstringNoOptional, only if refund_type is 3

Response 200

FieldTypeDescription
dataobject
data.refidstring
data.statusstring
data.messagestring

Example Response:

json
{
  "data": {
    "refid": "123456",
    "status": "Success",
    "message": "We've received your request for a status update and are in the midst of checking with the relevant service provider. We'll keep you updated on the status of your request via email."
  }
}

Response 400

FieldTypeDescription
messagestring
errorsobject
errors.trxidarray

Example Response:

json
{
  "message": "The given data was invalid.",
  "errors": {
    "trxid": []
  }
}

IIMMPACT API Documentation