Appearance
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/voidRequest Headers
| Header | Description | Required |
|---|---|---|
X-Api-Key | Your API key | Yes |
X-Timestamp | Unix timestamp in seconds | Yes |
X-Nonce | Unique request identifier | Yes |
X-Signature | HMAC-SHA256 signature (v1=...) | Yes |
See API Key Authentication for how to sign your requests.
Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
refid | string | No | Your unique reference ID used when calling the Make Payment endpoint. Provide either refid or trxid |
trxid | string | No | Internal IIMMPACT transaction ID. Alternative to refid — provide one or the other |
user_email | array | No | Array of email addresses to include. Pass the end-user's email and any other addresses to CC |
refund_type | number | Yes | Reason for the void request (see below) |
refund_reason | string | No | Required 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
| Value | Reason |
|---|---|
1 | Incorrect Amount or Wrong Account |
2 | Duplicate Transaction |
3 | Other Reason (requires refund_reason) |
Response 200
| Field | Type | Description |
|---|---|---|
data | object | Result |
data.refid | string | The reference ID of the transaction |
data.status | string | Success or Failed |
data.message | string | Description 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
| Field | Type | Description |
|---|---|---|
message | string | Error description |
errors | object | Validation errors |
errors.trxid | array | Transaction 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:
| Field | Value | Description |
|---|---|---|
status_code | 53 | Indicates a voided/refunded transaction |
status | Failed | Status 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.
