Cancel vs refund
Understanding the difference between Cancel and Refund actions is essential in payment processing as each action serves a distinct purpose depending on the payment’s current state
Overview
In a typical payment lifecycle, the following actions are available:
- Authorize a payment — place a temporary hold on funds
- Capture the funds — complete the transaction, either immediately or with a delay. Full capture or partial capture may apply.
- Cancel the authorization — void the hold if the payment hasn’t been captured yet
- Refund the funds — return money to the customer after a capture. Full refund or partial refund may apply.
Choosing between Cancel and Refund depends on the timing and status of the transaction. Using the correct operation ensures accurate reconciliation and improves the customer experience.
Authorization
A temporary hold on the customer’s funds. Funds are not transferred until the payment is captured.
- Authorization expiration varies by card network.
- Can be canceled (voided) if capture is not yet performed.
Capture
The action of finalizing a payment, moving money from the customer to the merchant.
- Can be direct (immediate capture) or delayed (authorize now, capture later).
- Can be full or partial.
- Once captured, only a refund can done to return funds to the customer.
- Refund does not reverse the initial transaction. It is an additional step in the payment flow of the initial transaction.
API Reference: Payment Cancellation & Refund
This section provides reference examples for canceling and refunding payments via the API. Make sure to verify the current status of the payment (authorized, captured, etc.) before choosing the appropriate action. For a full API documentation, go to our API Reference.
Cancel a Payment Authorization
Use this endpoint to cancel a payment that has been authorized but not yet captured.
POST /payment/maintenance/cancel/{order_id}Refund a Captured Payment
Use this endpoint to fully or partially refund a payment that has been captured.
POST /payment/maintenance/refund/{order_id}Updated 20 days ago
