Void
Cancel a transaction before it settles. Where supported, processed as an authorization reversal so nothing appears on the cardholder's statement.
Voids cancel transactions that have not yet settled. After settlement, use Refund instead.
Practically, the void window runs from transaction approval until the nightly batch closes — typically 24 hours or so, depending on your processor's cutoff time. During that window, voids are usually free and leave no mark on the customer's statement.
Path parameters
| Parameter | Description |
|---|---|
transactionId | ID of the transaction to void. |
Body
No body is required for a void.
Example
fetch("https://sandbox.fluidpay.com/api/transaction/txn_abc123/void", {
method: "POST",
headers: {
"Authorization": "YOUR_API_KEY",
"Content-Type": "application/json"
}
})
Auth reversals
For authorization transactions (not yet captured), the processor may treat the void as an auth reversal — an explicit message back to the issuer releasing the hold immediately. Without an auth reversal, the hold expires on its own, typically within a week. Auth reversal behavior is processor-dependent; moat routes the request appropriately when the processor supports it.
What can and can't be voided
| State | Void allowed? |
|---|---|
| Authorized, not captured | Yes (auth reversal where supported) |
| Sale, not yet settled | Yes |
| Captured, not yet settled | Yes |
| Settled | No — use Refund |
| Already voided | No — error returned |
| Already refunded | No — already reversed |
If a customer asks for their money back the same day, void first. Refunds leave both the charge and the refund on the customer's statement; voids can disappear entirely. For same-day cancellations, voids also often avoid processor transaction fees.
Partial voids
Void cancels the full transaction. If you need to cancel a portion of a pending transaction, capture the portion you want and let the remainder of the authorization expire (or void the original and run a new transaction for the correct amount).