Pre-Authorization
Pre-authorization (pre-auth) allows merchants to temporarily block funds on a customer’s card and capture the payment later, typically after order fulfillment. This helps secure funds without charging the customer immediately.
Cashfree Payment Gateway (PG) supports pre-auth for Visa and Mastercard credit and debit cards.
How pre-authorization works?
With pre-auth, you can :
- Authorize an amount on a customer’s card without immediate capture.
- Capture the authorized amount later (fully or partially) when ready.
- Void the authorization to release funds if the transaction is not completed.
Unlike standard transactions, where funds are instantly captured, pre-auth provides flexibility in payment processing.
Pre-authorization flow
- The customer initiates the payment.
- The amount is blocked on the customer’s card after successful payment completion.
- The merchant can:
-
Either Capture the full or partial amount.
OR
-
Void the authorization to release the blocked funds to the customer.
-
Note: If not captured within seven days, the funds are automatically released.

Pre-authorization feature request
- To enable pre-auth for your account, submit a request via the Support Form.
Managing pre-authorization transactions
You can capture or void pre-auth transactions from the Cashfree Merchant Dashboard or integrate the capture and void APIs to automate the process.
Note
- You must capture or void a pre-auth transaction within seven days of authorization.
- A transaction can only be captured or voided once.
- Once captured, a transaction cannot be voided.
- Once voided, a transaction cannot be captured.
- Transactions not captured within 7 days are automatically released back to the customer.
- Voided transactions return funds to the customer immediately.
- After pre-auth is enabled for your account, ensure all Pre Auth transactions are either captured or voided.
Supported payment instruments for pre-authorization
Cashfree Payment Gateway supports pre-auth workflow on cards and UPI (Unified Payments Interface).
Cards
If you are using cards, you do not need to provide any additional parameters while initiating the payment.
Below is a sample /orders/pay
request and response:
UPI
For UPI pre-auth, you need to pass additional parameters in the /orders/pay
API request. Once you have created the order, invoke the Order Pay API call with the authorize_only
, authorization
parameters.
The authorization
object contains the following attributes:
approve_by
- The time by when customer needs to approve this one time mandate request.start_time
- The time when the mandate should start.end_time
- The time until when the mandate hold will be on customer’s bank account. You can call capture and void until this time.
UPI Collect
Below is a sample UPI Collect request and response:
UPI Intent
Below is a sample UPI Intent request and response:
Capture
The capture workflow helps you to capture the payment and move the authorised amount partially or completely from customers bank account to your bank account.
Void
The void workflow helps you to release the entire authorized amount back to the customer.
FAQs
Was this page helpful?