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

# Banking Connect

> Offer faster, seamless Netbanking payments with Banking Connect.

Banking Connect is an enhanced Netbanking experience powered by NBBL (NPCI Bharat BillPay Ltd.) that enables faster, more seamless payments. It supports mobile-first customer journeys alongside traditional browser-based Netbanking flows.

Banking Connect creates a single, streamlined integration rail between banks and payment aggregators. This approach improves interoperability, scalability, and consistency whilst retaining the familiar Netbanking experience for customers and merchants.

## Current netbanking experience

Netbanking is widely used for high-value transactions in sectors such as investments, insurance, and education. However, the experience varies significantly across banks:

* Customers are redirected to bank web pages even on mobile journeys.
* Customers face a multi-step process and hassle to remember user ID password.
* Inconsistent bank implementations result in varied checkout experiences.

These factors contribute to higher drop-off rates compared to other payment methods.

Refund timelines, complaint handling, and dispute resolution may also vary across banks due to the absence of a unified operating framework.

Banking Connect addresses these gaps while keeping existing flows fully supported.

## What's changing with Banking Connect

Banking Connect introduces standardised customer journeys through the NBBL ecosystem using three primary flows.

### App-based intent flow (mobile)

Customers authenticate payments directly inside their bank's mobile app.

* Authentication uses biometrics, PIN, or bank app verification, depending on bank support.
* Manual credential entry is reduced where supported.

<Card>
  <div className="flex justify-center">
    <img src="https://mintcdn.com/cashfreepayments-d00050e9/O_x-fDG27mMjwgtM/static/images/app_based_intent_flow.gif?s=db0cdf763bde5e7c5042e566c8ac8d84" style={{width: "260px", height: "auto"}} alt="App-based intent flow" width="718" height="1598" data-path="static/images/app_based_intent_flow.gif" />
  </div>
</Card>

### QR code flow (desktop or cross-device)

Customers scan a QR code using their bank's mobile app.

* Authentication and confirmation happen inside the bank app.
* This flow bridges desktop checkout and mobile authentication.

<Card>
  <div className="flex justify-center">
    <img src="https://mintcdn.com/cashfreepayments-d00050e9/719Lps6srMvpTQ8E/static/images/qr_scan_flow.gif?s=87528c2e926630dc18002c356b8ff3cb" style={{width: "260px", height: "auto"}} alt="QR code flow" width="540" height="1200" data-path="static/images/qr_scan_flow.gif" />
  </div>
</Card>

### Existing netbanking redirect flows

Traditional browser-based Netbanking flows remain fully supported.

<Note>Banking Connect is initially available for non-TPV retail transactions. Support for TPV and corporate Netbanking journeys will be introduced in subsequent phases.</Note>

## Integration and enablement

To enable Banking Connect flows, reach out to Cashfree support first. We will obtain the necessary credentials from NBBL on your behalf, which typically takes 3–5 working days. Once enabled, choose the integration path below.

Choose the following integration path to get started with Banking Connect.

<Tabs>
  <Tab title="Cashfree Checkout">
    No action is required. Banking Connect is gradually rolled out across supported banks. Once enabled, eligible customers automatically see the updated Netbanking flows at checkout.
  </Tab>

  <Tab title="Seamless or API">
    Banking Connect works with your existing Netbanking integration. Only the [Order Pay API](/api-reference/payments/latest/payments/pay) requires small changes; the [Create Order API](/api-reference/payments/latest/orders/create) stays the same.

    ### API changes overview

    **Create Order API**: No changes required.

    **Order Pay API**: Pass the Netbanking `channel` and `netbanking_bank_code` in the payment method object:

    * **channel**: Use `link` for redirection, `intent` for app-based flow, or `qr` for QR-based flow.
    * **netbanking\_bank\_code**: Use a [bank-specific code](/payments/manage/payment-methods/netbanking#list-of-netbanking-with-codes-and-tpv-supported-flags) for `link`. For `intent` and `qr`, use `3136` as a placeholder — since these journeys work across multiple supported banks and the bank through which the customer completes the payment is not known upfront. The payment success webhook and Get Payment API return the actual `netbanking_bank_code` and `netbanking_bank_name` used by the customer.

    ### Sample request

    The following example calls the Order Pay (sessions) endpoint with Netbanking channel `link` and a bank code. For intent or QR, set `channel` to `intent` or `qr` and `netbanking_bank_code` to `3136`.

    ```bash theme={"dark"}
    curl --location 'https://sandbox.cashfree.com/pg/orders/sessions' \
    --header 'Content-Type: application/json' \
    --header 'X-Api-Version: 2021-05-21' \
    --header 'X-client-id: 1abcdefg1' \
    --header 'x-client-secret: 1abcdefg1' \
    --data '{
        "payment_session_id": "session_idabcdefgh234567",
        "payment_method": {
            "netbanking": {
                "channel": "link",
                "netbanking_bank_code": 3021
            }
        }
    }'
    ```

    ### Sample responses

    The response structure depends on the requested `channel`. The following examples show the main fields returned for each flow.

    **Link (redirect)**\
    The response includes `action: "link"` and a `data.url` for redirecting the customer to the bank page.

    ```json theme={"dark"}
    {
      "action": "link",
      "cf_payment_id": "5114920732939",
      "channel": "link",
      "data": {
        "url": "https://sandbox.cashfree.com/pg/view/gateway/session_...",
        "payload": null,
        "content_type": null,
        "method": null
      },
      "payment_amount": 1.00,
      "payment_method": "netbanking"
    }
    ```

    **Intent (app-based)**\
    The response includes `action: "custom"` and `channel: "intent"`. Use `data.payload.default` (the intent URL) to open the customer’s bank app.

    ```json theme={"dark"}
    {
      "action": "custom",
      "cf_payment_id": "5114920732879",
      "channel": "intent",
      "data": {
        "url": null,
        "payload": {
          "default": "nb://pay?ver=1.0&mode=INTENT&orgId=..."
        },
        "content_type": null,
        "method": null
      },
      "payment_amount": 1.00,
      "payment_method": "netbanking"
    }
    ```

    **QR**\
    The response includes `action: "custom"` and `channel: "qr"`. Use `data.payload.qrcode` (base64 image data) to display the QR code for the customer to scan with their bank app.

    ```json theme={"dark"}
    {
      "action": "custom",
      "cf_payment_id": "5114920732875",
      "channel": "qr",
      "data": {
        "url": null,
        "payload": {
          "qrcode": "data:image/png;base64,iVBORw0KGgo..."
        },
        "content_type": null,
        "method": null
      },
      "payment_amount": 1.00,
      "payment_method": "netbanking"
    }
    ```

    ### Customer checkout experience

    #### Mobile flow (intent-based authentication)

    <Accordion title="On Android">
      * Installed bank apps that support the new journeys are detected using `nb://` deep links provided in the Order Pay response.
      * A native app picker, similar to UPI intent, may appear.
    </Accordion>

    <Accordion title="On iOS">
      * Implement bank-specific intent URL handling in your app and show a native bank selection sheet to the customer.
      * Example intent URL schemes: HDFC Bank `hdfcbanknb://`, AU `aunb://`, etc. Yes Bank, Federal Bank, and SBI Bank use their own schemes. Confirm the latest URL schemes with Cashfree before implementing.
    </Accordion>

    #### Desktop or cross-device flow

    To support QR-based authentication:

    * Display a QR code alongside the traditional Netbanking redirect option.
    * Customers scan the QR code using a bank mobile app that supports the new journeys.
    * Authentication and confirmation happen inside the bank app.
    * Show Bharat Connect branding and supported bank app logos in QR journeys.
    * Always provide traditional Netbanking redirect as a fallback option.

    #### Recommended interface elements

    Use **Netbanking (Banking Connect)** as the payment method label on paymode selection screen on checkout. Include **Powered by NBBL** messaging near the QR code and on the intent flow page.
  </Tab>
</Tabs>

## Get help with integration

For implementation guidance, configuration setup, supported bank updates, or rollout timelines, contact Cashfree technical support using the [support form](https://merchant.cashfree.com/merchants/landing?env=prod\&raise_issue=1).

<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="/payments/manage/payment-methods/netbanking#list-of-netbanking-with-codes-and-tpv-supported-flags">List of Netbanking banks with codes and TPV supported flags</a></li>
  </ul>
</div>
