> ## Documentation Index
> Fetch the complete documentation index at: https://www.cashfree.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Bank Transfers (Challans)

> Accept IMPS, NEFT, and RTGS bank transfers via Cashfree virtual accounts with real-time reconciliation for B2B, education, and government collections.

Bank Transfers (Challans) let customers pay using NEFT, RTGS, or IMPS through a Virtual Bank Account (VBA) issued by Cashfree Payments. This method is suited for B2B, education, real estate, and government transactions.

## 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.

1. When an [order is created](/api-reference/payments/latest/orders/create), Cashfree generates a unique VBA for the transaction.
2. The customer adds the VBA as a beneficiary in their bank and transfers the payment amount using IMPS, NEFT, or RTGS.
3. Cashfree validates the incoming transfer against the following:
   * Order amount
   * Account details (if [TPV (Third-Party Validation)](/payments/features/tpv) is enabled)

If both details match, the payment is marked as successful and you receive a notification to fulfil the order. If the details do not match, the payment is rejected and the debited amount is automatically refunded to the customer.

## 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](https://merchant.cashfree.com/merchants/landing?env=prod\&raise_issue=1).

## 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.

1. A fixed VBA is assigned to the customer using the `customer_details.customer_phone` value provided during [order creation](/api-reference/payments/latest/orders/create) or when creating a [payment link](/payments/no-code/payment-link). The same phone number always maps to the same VBA.
2. 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.
3. If a match is found, the order is marked as successful.

### Enable customer-specific bank transfer

Customer-Specific Bank Transfer requires activation by the Cashfree team. Fill out the [Support Form](https://merchant.cashfree.com/merchants/landing?env=prod\&raise_issue=1) to request Fixed VBA (Challan) for your account.

<div class="hidden" data-table-of-contents="bottom">
  <p class="mt-4 font-medium flex items-center gap-2 related-docs-heading">
    <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="w-4 h-4">
      <path d="M3 4h7a2 2 0 0 1 2 2v13a2 2 0 0 0-2-2H3z" />

      <path d="M21 4h-7a2 2 0 0 0-2 2v13a2 2 0 0 1 2-2h7z" />
    </svg>

    <span>Related topics</span>
  </p>

  <ul>
    <li><a href="/docs/api-reference/payments/latest/orders/create">Create Order API</a></li>
    <li><a href="/docs/api-reference/payments/latest/payment-links/create">Create Payment Link API</a></li>
    <li><a href="/docs/payments/no-code/payment-link">Payment Links</a></li>
    <li><a href="/docs/payments/features/tpv">Third-Party Validation (TPV)</a></li>
  </ul>
</div>
