---
title: Add Bank assigned to Virtual Account
description: Bank details of a merchant are assigned to an airpay virtual account so that we only accept payments.
---

# VIRTUAL ACCOUNT - Add Bank assigned to Virtual Account

Bank details of a merchant are assigned to an airpay virtual account so that we only accept payments transferred from this bank account else will not be accepted being an unverified source. This API will Add/Assign bank account shared by the merchant to a specific virtual account of airpay if we pass merchant id, virtual account no, UID, bank name, account number and ifsc code correctly.

## POST

```
https://kraken.airpay.co.in/airpay/va/api/
```

## Header

| Field | Type | Description |
| --- | --- | --- |
| Content-Type | String | application/x-www-form-urlencoded |

## Parameter

| Field | Type | Description |
| --- | --- | --- |
| action | String | Action to perform - add_bank (required) |
| private_key | Alphanumeric | Private Key (length 10-200) (required)<br>private_key = hash('sha256', secret.'@'.username.':|:'.password) |
| merchant_id | Numeric | Merchant Id (required) |
| virtual_account_number | Numeric | Virtual account number or UID Unique user identifier from the merchant is required |
| UID | Numeric | Virtual account number or UID Unique user identifier from the merchant is required |
| bank_name | Varchar | Bank name (required) |
| account_number | Numeric | Bank account number (required) |
| ifsc_code | Alphanumeric | Bank IFSC code (required) |
| checksum | Alphanumeric | Hash generated by : sha1(virtual_account_number.bank_name.account_number.ifsc_code.UID.action.merchant_id.private_key) (required) |

## Request-Example:

```
curl --location --request POST 'https://kraken.airpay.co.in/airpay/va/api/' \
--form 'action=add_bank' \
--form 'private_key=71a4efaf21c79864ec154babfc494f45fd1f65a570805084965d5b29486f1dfe' \
--form 'merchant_id=1' \
--form 'virtual_account_number=2293640000000010242' \
--form 'bank_name=SC' \
--form 'account_number=6546797546469' \
--form 'ifsc_code=SC544646464' \
--form 'checksum=87605eeab56e404bfc410478a15ae3df319723c7'
```

## Success 200

| Field | Type | Description |
| --- | --- | --- |
| STATUS | Number | Status Code Success - 200<br>Failed - 400 |
| MESSAGE | String | Status Message<br>Success - 200<br>Transaction in Process - 211<br>Failed - 400<br>Dropped - 401<br>Cancel - 402<br>Incomplete - 403<br>Bounced - 405<br>No Records - 503<br>Virtual account is invalid - 526 |

## Success-Response:

```
HTTP/1.1 200 OK
 {
     "STATUS": "200",
     "MESSAGE": "Success"
 }
```
## Fail-Response:

```
HTTP/1.1 200 OK
 {
      "STATUS": "400",
      "MESSAGE": "Failed"
 }
```