---
title: VOID
permalink: /en/notes/onlinePayment/modify/Void/
createTime: '2025/03/07 16:02:02'
description: >-
VOID operation is used to cancel an authorized but uncaptured payment, releasing reserved funds. Applicable to payment methods that support separate Capture such as international credit card payments. Initiate and receive asynchronous notifications by calling the VOID-Pre-Authorization Void API and setting notificationUrl. Status includes SUCCESS, FAILED, and PROCESSING. Multiple calls require different merchant IDs.
---
For payment methods that support separate Capture (such as international credit card payments), the payment process is completed in two steps:
- Authorization: Verify the shopper's payment details with the issuer and reserve funds.
- CAPTURE: Transfer the reserved funds from the shopper to your account.
Void: If you have successfully authorized but do not want to perform CAPTURE, you can initiate a void operation.
Void typically refers to canceling a payment that has been authorized but not yet captured. This operation releases the previously reserved funds, ensuring that funds are not deducted from the shopper's account. This is different from refund, which is performed on captured funds.
Void is a common "modification" operation in the payment field that directly affects the status of authorized or captured payments.
## Void State Machine
Pre-authorization Void can only be initiated when the original payment is in `AUTH_SUCCESS` status and has not been captured. After Void succeeds, the reserved funds are released. If Void fails, record the failure reason based on the Void object's `status`, then decide whether to retry or continue waiting for the original authorization according to your business scenario.
```mermaid
flowchart LR
START((Initiate Void Request)) --> PROCESSING[PROCESSING]
PROCESSING -->|Void Successful| SUCCESS[SUCCESS]
PROCESSING -.->|Void Failed| FAILED[FAILED]
SUCCESS --> END((END))
FAILED --> END
```
## Initiating VOID
For orders with `AUTH_SUCCESS` status, you can initiate a VOID operation by calling the VOID-Pre-Authorization Void API. To receive asynchronous notifications for VOID, please set `notificationUrl`. For detailed message content, see Pre-Authorization Void Asynchronous Notification
::: note Note
When you cannot confirm whether the original transaction has already been captured, you can call Single Transaction Query.
:::
## Handling VOID Operation Status
After calling the VOID-Pre-Authorization Void API, you may receive the following `status` optional values in the synchronous response:
- `SUCCESS` - Success
- `FAILED` - Failed
- `PROCESSING` - Processing
To handle the `PROCESSING` situation, you need to correctly set `notificationUrl` when calling the VOID-Pre-Authorization Void API, so as to correctly receive Pre-Authorization Void Asynchronous Notification
In the VOID notification flow, `status` returns the final VOID result, which is either `SUCCESS` or `FAILED`.
::: note Note
When you don't receive asynchronous notifications or cannot confirm the status, you can call Pre-Authorization Void Query. In the query response, `status` can return `SUCCESS`, `FAILED`, or `PROCESSING`.
:::
## Multiple VOID
The CAPTURE-Pre-Authorization Capture API is idempotent based on `merchantVoidId`, allowing you to safely call it multiple times.
::: note Note
Partial VOID is currently not supported; the total amount of VOID must equal the transaction amount
:::
- When `merchantVoidId` is the same, calling the VOID-Pre-Authorization Void API again will return query results.
- When you need to retry calling the VOID-Pre-Authorization Void API due to failure, you need to update `merchantVoidId` and re-initiate the request.