Skip to content

Void Transaction

Request a void or cancellation for a successfully completed transaction. This is primarily intended for bill payment transactions and is subject to biller approval.

TIP

For a walkthrough of the void process and webhook handling, see the Void Transaction Guide.

DANGER

AI-powered intelligence and automation are only active in production. Staging can simulate API responses for testing but won't trigger automated workflows or send email replies.

WARNING

Only use this API for transactions with a Succesful status. Not applicable for prepaid mobile top-ups, PIN-based products (e.g., game credits, gift cards), or other instant fulfillment services.

API Endpoint

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

Request Headers

HeaderDescriptionRequired
X-Api-KeyYour API keyYes
X-TimestampUnix timestamp in secondsYes
X-NonceUnique request identifierYes
X-SignatureHMAC-SHA256 signature (v1=...)Yes

See API Key Authentication for how to sign your requests.

Request Body

ParameterTypeRequiredDescription
refidstringNoYour unique reference ID used when calling the Make Payment endpoint. Provide either refid or trxid
trxidstringNoInternal IIMMPACT transaction ID. Alternative to refid — provide one or the other
user_emailarrayNoArray of email addresses to include. Pass the end-user's email and any other addresses to CC
refund_typenumberYesReason for the void request (see below)
refund_reasonstringNoRequired only if refund_type is 3. Free-text description of the reason

INFO

At least one of refid or trxid must be provided. If both are supplied, trxid takes precedence.

Refund Types

ValueReason
1Incorrect Amount or Wrong Account
2Duplicate Transaction
3Other Reason (requires refund_reason)

Response 200

FieldTypeDescription
dataobjectResult
data.refidstringThe reference ID of the transaction
data.statusstringSuccess or Failed
data.messagestringDescription of the outcome

Example Response (Success — void request submitted):

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."
  }
}

Example Response (Failed — duplicate request):

json
{
  "data": {
    "refid": "123456",
    "status": "Failed",
    "message": "Sorry, a support request has already been created for this transaction. We're working on it and will provide an update shortly."
  }
}

Example Response (Failed — transaction already refunded):

json
{
  "data": {
    "refid": "12345678ABCd",
    "status": "Failed",
    "message": "Sorry, Request Refund is not available for failed transactions as they are automatically refunded. Please contact us at support@iimmpact.com if you need further assistance."
  }
}

Response 400

FieldTypeDescription
messagestringError description
errorsobjectValidation errors
errors.trxidarrayTransaction ID validation errors. Always keyed as trxid, even if you provided refid in the request

Example Response:

json
{
  "message": "The given data was invalid.",
  "errors": {
    "trxid": [
      "Invalid transaction ID or reference ID"
    ]
  }
}

Webhook Notification

When a transaction has been successfully voided and the refund processed by both the biller and IIMMPACT, a webhook notification is sent to your registered endpoint.

Key data in the webhook payload:

FieldValueDescription
status_code53Indicates a voided/refunded transaction
statusFailedStatus name for voided transactions

Upon receiving this webhook, your system should process the refund back to the end-user (e.g., to their original payment method or e-wallet).

Email Notifications

The registered email address of the initiating API account is always CC'd on all email correspondence sent to the end-user regarding the void request.

IIMMPACT API Documentation