# Transfers

VeendHQ provides a means to transfer funds from a VeendHQ Account to a bank account or another VeendHQ account.

## Veend to Veend Transfers

You can transfer funds between Veend Accounts.

## Transfer fund to a Veend account

<mark style="color:green;">`POST`</mark> `{{BASE_URL}}/v1/accounts/{{SENDER_ACCOUNT_ID}}/transfer/{{RECEIVER_ACCOUNT_ID}}?accountId={{ID}}`

#### Request Body

| Name                                          | Type     | Description |
| --------------------------------------------- | -------- | ----------- |
| amount<mark style="color:red;">\*</mark>      | 50000    |             |
| description<mark style="color:red;">\*</mark> | Salaries |             |

{% tabs %}
{% tab title="200: OK Successful Transfer" %}

```json

{
    "status": "success",
    "data": {
        "status":"completed",
        "amount": 50000,
        "paymentReference":"31885182152587292618013"
    }
}
```

{% endtab %}
{% endtabs %}

## Veend to Local Bank Transfer

To perform a Veend to Bank transfer, you need the Bank code for the destination account.

{% hint style="info" %}

#### <mark style="color:blue;">Bank Code</mark>

**Bank Code** is a unique identification code for a particular bank. The code is used when transferring money between banks.
{% endhint %}

A **productId** is required to perform Veend to Bank transfers as we use this to identify what payment product service you request to use.

{% hint style="info" %}

### PRODUCT\_ID

This **productId** should be used for **sandbox** environment - **63b6953d1fd341ee430cbd93**

This **productId** should be used for **live** environment - **6157842b101720572946579b**
{% endhint %}

### Bank Lists

The bank lists endpoint returns a list of supported banks. You can use the endpoint to get bank information such as Bank Name and Bank Code

## Return a list of available banks

<mark style="color:blue;">`GET`</mark> `{{BASE_URL}}/banklists?accountId={{ACCOUNT_ID}}`

### Resolve Bank Account Number

Sometimes you may need to validate a bank account number to confirm the name associated with the account.

## Validate a bank account number

<mark style="color:green;">`POST`</mark> `{{BASE_URL}}/products/{{PRODUCT_ID}}/validate?accountId={{ACCOUNT_ID}}`

#### Request Body

| Name                                            | Type       | Description |
| ----------------------------------------------- | ---------- | ----------- |
| accountNumber<mark style="color:red;">\*</mark> | 0690000010 |             |
| bankCode<mark style="color:red;">\*</mark>      | 044        |             |

{% tabs %}
{% tab title="200: OK " %}

```json
{
    "status": "success",
    "data": {
        "account_name": "ANGUS BROWN"
    }
}
```

{% endtab %}
{% endtabs %}

### Send Money

Transfer money from a VeendHQ account to a Local Bank account.

## Transfer money to local bank

<mark style="color:green;">`POST`</mark> `{{BASE_URL}}/v1/products/{{PRODUCT_ID}}/purchase?accountId={{ACCOUNT_ID}}`

#### Request Body

| Name                                                | Type       | Description         |
| --------------------------------------------------- | ---------- | ------------------- |
| purchaseReference<mark style="color:red;">\*</mark> | String     |                     |
| amount<mark style="color:red;">\*</mark>            | String     |                     |
| bankCode                                            | "044"      |                     |
| accountNumber                                       | 0690000005 | Bank account number |
| currency                                            | NGN        |                     |
| senderName                                          | John       |                     |
| narration                                           | String     |                     |

{% tabs %}
{% tab title="200: OK " %}

```json

{
    "status": "success",
    "data": {
        "purchaseReference": "uniq_ref_060991197",
        "cost": 400,
        "customerFee": 0,
        "cashback": 10,
        "totalCost": 400,
        "description": "NGN400 - Money Transfer - uniq_ref_060991197",
        "currency": "NGN",
        "status": "completed",
        "paid": true,
        "delivered": true,
        "settled": true,
        "canRefund": false,
        "product": "5a9297612032791140ff390f",
        "productsDetails": {
            "owner": "5a762dd910af17001963f22a",
            "amount": 400,
            "bankcode": "044",
            "currency": "NGN",
            "createdBy": "5a762dd910af17001963f22a",
            "narration": "Description of the transaction",
            "senderName": "John Doe",
            "accountNumber": "0690000005",
            "purchaseReference": "uniq_ref_060991197"
        },
        "ipAddress": "197.211.60.41",
        "account": "5a762dd910af17001963f22a",
        "deliveryLog": {
            "id": 77585,
            "r1": null,
            "r2": null,
            "ipr": null,
            "ref": "383",
            "iprc": null,
            "meta": "{\"narration\":\"Description of the transaction\",\"sender\":\"Your Name\",\"balance\":49885242}",
            "amount": 400,
            "refund": false,
            "status": "completed",
            "reversed": false,
            "createdAt": "2023-03-01T16:22:34.000Z",
            "updatedAt": "2023-03-01T16:22:38.000Z",
            "beneficiary": {
                "bankCode":"044",
                "accountNumber": "0690000005"
            },
            "system_type": "wallet-disburse",
            "walletCharged": true,
            "disburseOrderId": null,
            "flutterReference": "TTMW000077585",
            "linkingReference": "04400920021",
            "paymentReference": 383,
            "flutterResponseCode": "00",
            "flutterResponseMessage": "Successful"
        },
        "settlementLog": {},
        "refundLog": null,
        "validationDetails": null,
        "owner": "5a762dd910af17001963f22a",
        "createdBy": "5a762dd910af17001963f22a",
        "client": null,
        "developer": null,
        "tags": "uniq_ref_060991197, NGN, NGN400, -, Money, Transfer, -, uniq_ref_060991197, 5a9297612032791140ff390f, 197.211.60.41, 5a762dd910af17001963f22a, 5a762dd910af17001963f22a, 5a762dd910af17001963f22a, pending",
        "_id": 76,
        "createdAt": "2018-03-01T16:22:31.000Z", 
        "updatedAt": "2018-03-01T16:22:39.000Z",
        "query": true
    }

```

{% endtab %}
{% endtabs %}

{% hint style="info" %}

#### Test with this data on <mark style="color:red;">test</mark> Environment

accountNumber:  0690000005

bankCode:  "004"

currency:  "NGN"
{% endhint %}
