How it works
For each order, Cashfree generates a unique VBA. The customer transfers funds to this VBA, and Cashfree validates the payment before confirming the order.- When an order is created, Cashfree generates a unique VBA for the transaction.
- The customer adds the VBA as a beneficiary in their bank and transfers the payment amount using IMPS, NEFT, or RTGS.
- Cashfree validates the incoming transfer against the following:
- Order amount
- Account details (if TPV (Third-Party Validation) is enabled)
Time-to-live (TTL)
Each bank transfer order has a TTL, which is the window within which the customer must complete the payment. The default TTL is 5 days. To change the TTL for your account, contact Cashfree Support.Customer-specific bank transfer
By default, Cashfree generates a new VBA for every bank transfer transaction. For recurring payment use cases, you can enable Customer-Specific Bank Transfer. This option provides the following benefits:- The same VBA is reused for a customer across multiple transactions.
- Repeat payments are faster because the customer does not need to wait for a new beneficiary to be activated.
How customer-specific bank transfer works
When this feature is enabled, Cashfree assigns a fixed VBA to each customer based on their phone number. Incoming payments are automatically matched to active orders with a pending transaction of the same amount.- A fixed VBA is assigned to the customer using the
customer_details.customer_phonevalue provided during order creation or when creating a payment link. The same phone number always maps to the same VBA. - When a payment is received on the customer’s fixed VBA, Cashfree looks for an active order with a pending transaction matching the transferred amount.
- If a match is found, the order is marked as successful.