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

# Third Party Validation

> Learn how to verify if the customer is paying through a specific bank account. This flow is mandatory for mutual funds and other financial services companies.

For merchants with bank account verification enabled, we confirm that each payment is made from an existing, verified bank account associated with the customer. You can view the [list of supported banks.](https://docs.google.com/spreadsheets/d/17OILMewBce7qWYRNwQpbpjzrP7g2VJMohGvz-U0iS4U/edit#gid=0)

<Tip>
  Please reach out to your account manager to enable the this feature.
</Tip>

To process a TPV payment through Telr, include specific customer details in the Create Order API request. During payment authorization, we will verify these details against the actual payment instrument used by the customer. Required fields include customer\_bank\_account\_number and customer\_bank\_ifsc, where the IFSC is an alphanumeric code (e.g., SBIN000001) that uniquely identifies a bank branch in India.

## Implement TPV enabled order

To process a payment with bank account check (TPV), you must pass the customer account number (`customer_bank_account_number`) and IFSC (`customer_bank_ifsc`) with every create order request. If you want the order to be processed through NetBanking, then you must pass the `customer_bank_code` as well.

<CodeGroup>
  ```shell Curl Request {13-15} theme={null}
  curl --request POST \
    --url https://sandbox.cashfree.com/pg/orders \
    --header 'Content-Type: application/json' \
    --header 'x-api-version: 2022-09-01' \
    --header 'x-client-id: xxxx' \
    --header 'x-client-secret: xxxx' \
    --data '{
      "customer_details": {
          "customer_email": "test@cashfree.com",
          "customer_id": "LD09755CSCON10092021",
          "customer_name": "Rohit",
          "customer_phone": "9999911111",
          "customer_bank_ifsc": "CITI0000001",
          "customer_bank_account_number": "1518121112",
          "customer_bank_code": "3044"
      },	  
      "order_amount": 1,
  	  "order_currency": "INR"
  }'
  ```

  ```json Response {13-14} theme={null}
  {
    "cf_order_id": 621203980,
    "order_id": "order_1065211zDHKtAsflTH9dczd6itFy1wFv8",
    "entity": "order",
    "order_currency": "INR",
    "order_amount": 2.00,
    "order_expiry_time": "2021-11-07T12:17:57+05:30",
    "customer_details": {
      "customer_id": "LD09755CSCON10092021",
      "customer_name": "Rohit",
      "customer_email": "test@cashfree.com",
      "customer_phone": "9999911111",
      "customer_bank_ifsc": "CITI0000001",
      "customer_bank_account_number": "1518121112"
    },
    "order_meta": {
      "return_url": null,
      "notify_url": null,
      "payment_methods": null
    },
    ...
    "order_status": "ACTIVE",
    "payment_session_id": "NLfmvDBT3dfdflkjlu1JNHDcSDFACAsEqEdKMLuW",
    "order_note": "5% club",
    "order_tags": null,
    "order_splits": []
  }
  ```
</CodeGroup>

## Pre-Built UI

To process a TPV payment using pre-built UI, [open checkout](/payments/online/web/redirect) using the `payment_session_id` parameter generated from the response of the create order API. Using this the customer can make a payment only through their linked account.\
If the customer tries to complete the payment through a different account, the payment will fail and the order will remain in an `ACTIVE` state.

## Custom UI

To process TPV payments with your own UI. You will have to either integrate the javascript elements SDK or use the `/orders/sessions` API. There is no change in this api request and you can read about the API contract [here](/api-reference/payments/latest/payments/pay).

## TPV with Payment Links

If you want to process a TPV payment using Payment Links, you can either use the Payment Link API or the upload a file to bulk create Payment Links or through Dashboard as well.

### Bulk Upload

When using a file upload to create payment links, you can pass on the customer bank information to us in the CSV file being uploaded. You will use the Notes columns to fill in the specific values. You can use the Notes 1 columns for bank code, Notes 2 for customer bank account number and Notes 3 for IFSC. Here is an example of a sample file. In the below file `Note 1 Title` is set `customer_bank_code` and the value is in `Note 1 Description`.

<Accordion title="CSV">
  ```csv theme={null}
  Link Id,Expiry Time,Currency,Amount,Min Amount,Description,Customer Name,Customer Phone,Customer Email,Note 1 Title,Note 1 Description,Note 2 Title,Note 2 Description,Note 3 Title,Note 3 Description,Webhook URL

  Order-12zzsa,2023-02-11,INR,22.5,10,Payment for order,John Doe,9999999999,John.doe@cashfree.com,customer_bank_code,3044,customer_bank_account_number,37866911583,customer_bank_ifsc,SBIN0001882,https://cashfree.com/callback-webhook
  Order-12zsdca,2023-02-11,INR,22.5,10,Payment for order,John Doe,9999999999,John.doe@cashfree.com,customer_bank_code,3026,customer_bank_account_number,6633835901,customer_bank_ifsc,IDIB000V018,https://cashfree.com/callback-webhook
  ```
</Accordion>

### Payment Link API

To use TPV with Payment Link API, you need to pass on the customer bank information in the `customer_details` object. See the below request and response for reference.

<CodeGroup>
  ```bash Curl Request {12-14} theme={null}
  curl --request POST \
    --url https://api.cashfree.com/pg/links \
    --header 'Content-Type: application/json' \
    --header 'x-api-version: 2023-08-01' \
    --header 'x-client-id: xxxx' \
    --header 'x-client-secret: xxxx' \
    --data '{
       "customer_details": {
            "customer_phone": "9908734803",
            "customer_email": "rohit@cashfree.com",
            "customer_name": "Rohit",
            "customer_bank_account_number": "78123123",
            "customer_bank_ifsc": "SBIN0000001",
            "customer_bank_code": "3044"
       },
  		"link_notify": {
            "send_sms": true
       },     
  		 "link_id": "testlink12354",
       "link_amount": 4,
       "link_currency": "INR",
       "link_purpose": "Test for TPV"
  }'
  ```

  ```json Curl Response {24-28} theme={null}
  {
  	"cf_link_id": 14796319,
  	"link_id": "testlink12354",
  	"link_status": "ACTIVE",
  	"link_currency": "INR",
  	"link_amount": 4,
  	"link_amount_paid": 0,
  	"link_partial_payments": false,
  	"link_minimum_partial_amount": null,
  	"link_purpose": "Test for TPV",
  	"link_created_at": "2023-02-09T23:25:16+05:30",
  	"customer_details": {
  		"customer_name": "Rohit",
  		"country_code": "+91",
  		"customer_phone": "9908734803",
  		"customer_email": "rohit@cashfree.com"
  	},
  	"link_meta": {
  		"payment_methods": "",
  		"upi_intent": "false"
  	},
  	"link_url": "https://payments.cashfree.com/links/U4dfsav0ug50",
  	"link_expiry_time": "2023-03-11T23:25:16+05:30",
  	"link_notes": {
  		"customer_bank_account_number": "5178191812",
  		"customer_bank_code": "3044",
  		"customer_bank_ifsc": "CITI0000001"
  	},
  	"link_auto_reminders": false,
  	"link_notify": {
  		"send_email": false,
  		"send_sms": true
  	}
  }
  ```
</CodeGroup>

## Supported banks

<Accordion title="List of supported Net banking banks">
  | Sr | Bank Code | Bank Name                                   |
  | -- | --------- | ------------------------------------------- |
  | 1  | 3003      | Axis Bank                                   |
  | 2  | 3005      | Bank of Baroda - Retail Banking             |
  | 3  | 3006      | Bank of India                               |
  | 4  | 3007      | Bank of Maharashtra                         |
  | 5  | 3009      | Canara Bank                                 |
  | 6  | 3010      | CSB Bank Limited                            |
  | 7  | 3011      | Central Bank of India                       |
  | 8  | 3012      | City Union Bank                             |
  | 9  | 3016      | Deutsche Bank                               |
  | 10 | 3019      | Dhanlakshmi Bank                            |
  | 11 | 3020      | Federal Bank                                |
  | 12 | 3021      | HDFC Bank                                   |
  | 13 | 3022      | ICICI Bank                                  |
  | 14 | 3023      | IDBI Bank                                   |
  | 15 | 3024      | IDFC FIRST Bank                             |
  | 16 | 3026      | Indian Bank                                 |
  | 17 | 3027      | Indian Overseas Bank                        |
  | 18 | 3028      | IndusInd Bank                               |
  | 19 | 3029      | Jammu and Kashmir Bank                      |
  | 20 | 3030      | Karnataka Bank Ltd                          |
  | 21 | 3031      | Karur Vysya Bank                            |
  | 22 | 3032      | Kotak Mahindra Bank                         |
  | 23 | 3037      | Punjab & Sind Bank                          |
  | 24 | 3038      | Punjab National Bank Retail Banking         |
  | 25 | 3039      | RBL Bank                                    |
  | 26 | 3040      | Saraswat Bank                               |
  | 27 | 3042      | South Indian Bank                           |
  | 28 | 3043      | Standard Chartered Bank                     |
  | 29 | 3044      | State Bank Of India                         |
  | 30 | 3052      | Tamilnad Mercantile Bank Ltd                |
  | 31 | 3054      | UCO Bank                                    |
  | 32 | 3055      | Union Bank of India                         |
  | 33 | 3058      | Yes Bank Ltd                                |
  | 34 | 3060      | Bank of Baroda - Corporate                  |
  | 35 | 3086      | Shivalik Small Finance Bank                 |
  | 36 | 3087      | AU Small Finance Bank                       |
  | 37 | 3088      | Bandhan Bank - Retail Banking               |
  | 38 | 3089      | Utkarsh Small Finance Bank                  |
  | 39 | 3090      | The Surat Peoples Co-operative Bank Limited |
  | 40 | 3091      | Gujarat State Co-operative Bank Limited     |
  | 41 | 3092      | HSBC Retail NetBanking                      |
  | 42 | 3097      | Cosmos Bank                                 |
  | 43 | 3098      | Capital Small Finance Bank                  |
  | 44 | 3102      | Jana Small Finance Bank                     |
  | 45 | 3115      | SBM Bank India                              |
  | 46 | 3117      | The Sutex Co-op Bank Ltd                    |
  | 47 | 3126      | Ujjivan Small Finance Bank                  |
  | 48 | 3123      | Airtel Payments Bank                        |
</Accordion>

<Accordion title="List of supported UPI apps">
  All UPI apps support bank account validation.
</Accordion>
