# Virtual Accounts Use Cases

**URL:** <https://community.rapyd.net/t/virtual-accounts-use-cases/2027>\
**Category:** 🙋🏽‍♀️🙋🏽‍♂️ Ask Questions\
**Tags:** virtual-accounts\
**Created:** [June 3, 2022, 8:15pm UTC](https://community.rapyd.net/t/virtual-accounts-use-cases/2027 "2022-06-03T20:15:14Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Community\_Team](https://avatars.discourse-cdn.com/v4/letter/c/46a35a/32.png) [@Community\_Team](https://community.rapyd.net/u/Community_Team)\
**Post date:** [June 3, 2022, 8:15pm UTC](https://community.rapyd.net/t/virtual-accounts-use-cases/2027/1 "2022-06-03T20:15:14Z")

</div>

# Virtual Accounts Use Cases

Dedicated Account Numbers to Collect Funds.

* * *
You can accept payments with a Virtual Account into a Rapyd Wallet, where you can hold funds in multiple currencies. Virtual Accounts act as local bank account numbers, and Rapyd Wallet’s can act as a financial hub for your business.

A few use cases of Virtual Accounts can include:

- Setting up a Virtual Account as a local bank account to accept bank transfer payments from international customers in their local currency.
- A customer tops-up funds into their Rapyd Wallet account via a Virtual Account, which you can organize by country, customer and currency.
- Organize local payments collection into individual Virtual Accounts to streamline operations and improve reconciliation.

## Collect Funds with Virtual Accounts Workflow

For each workflow, you [Create a Rapyd Wallet](https://docs.rapyd.net/build-with-rapyd/docs/creating-a-rapyd-wallet) and Issue a [Virtual Account Number](https://docs.rapyd.net/build-with-rapyd/docs/bank-accounts-issuing#issuing-a-bank-account-number-to-a-wallet-workflow) to set up your Virtual Account.

### 1. Accept Payments into your Marketplace

You onboard and verify your sellers with a Rapyd Wallet as described in [Creating a Rapyd Wallet](https://docs.rapyd.net/build-with-rapyd/docs/creating-a-rapyd-wallet) and [Identity Verification](https://docs.rapyd.net/build-with-rapyd/docs/verifying-identity).

 ![accept-payments-into-your-marketplace](https://us1.discourse-cdn.com/flex016/uploads/rapyd/original/2X/5/5c9ff56e831b0defb260a09855c5becdc421a73a.png)

1. You issue a [Virtual Account Number](https://docs.rapyd.net/build-with-rapyd/docs/bank-accounts-issuing#issuing-a-bank-account-number-to-a-wallet-workflow) for a seller on your marketplace.
2. Rapyd returns the Virtual Account Number details.
3. You present the Virtual Account Number including account ID to the customer purchasing from the seller.
4. The customer sends funds to the Virtual Account Number details.
5. Rapyd sends you a [webhook](https://docs.rapyd.net/build-with-rapyd/reference/virtual-account-number-object#webhook-deposit-completed) notification of the deposited funds and you notify the seller.

### 2. Create Payout after Accepting VA Payment

You follow the previous steps in 1. Accept Payments into your Marketplace

**Note** : This can be your client wallet as well.

 ![create-payout-after-va](https://us1.discourse-cdn.com/flex016/uploads/rapyd/original/2X/f/f419373553d3a58d3c8665f442827b5c6f7ffaea.png)

1. The customer requests a refund.
2. You complete the create[Hosted Beneficiary Account Details](https://docs.rapyd.net/build-with-rapyd/docs/beneficiary-account-details#hosted-page-beneficiary-account-details-page-flow) page flow to capture information for a beneficiary.
3. You complete the [Reusing a Sender Flow](https://docs.rapyd.net/build-with-rapyd/docs/reusing-beneficiary-or-sender).
4. You create a [Payout with FX](https://docs.rapyd.net/build-with-rapyd/docs/payout-with-fx) to the saved Beneficiary.
5. Beneficiary receives payment and Rapyd sends a [webhook](https://docs.rapyd.net/build-with-rapyd/reference/payout-object#webhook-payout-completed).

### 3. Deposit Funds into Your Platform Ecosystem

You follow the previous steps in 1. Accept Payments into your Marketplace.

 ![deposit-funds-into-ecosystem](https://us1.discourse-cdn.com/flex016/uploads/rapyd/original/2X/d/d47f799d5c2f16399a76f2f2124d5f8a62467c71.png)

1. Rapyd holds funds in a sub-wallet on behalf of the customer.
2. Customer wants to transfer funds to another wallet.
3. Create [Wallet to Wallet Transfer](https://docs.rapyd.net/build-with-rapyd/reference/wallet-transaction-object#transfer-funds-between-wallets) from the customer to another wallet holder.
4. The funds transfer, and Rapyd sends you a [webhook](https://docs.rapyd.net/build-with-rapyd/reference/wallet-transaction-object#webhook-transfer-completed).

# How it Works

## 1. Accept a Payment with a Virtual Account

#### 1. Issue a [Virtual Account Number](https://docs.rapyd.net/build-with-rapyd/docs/bank-accounts-issuing#issuing-a-bank-account-number-to-a-wallet-workflow) for a seller on your marketplace as previously mentioned.

#### 2. List Virtual Account Details to Present to Customer.

For the request use `ewallet_6bf0e86b4c5e451691cf1f4e88b52eec` in your parameters as described in [List Virtual Accounts by Rapyd Wallet](https://docs.rapyd.net/build-with-rapyd/reference/virtual-account-number-object#list-virtual-accounts-by-wallet).

##### Response

```auto
...
{
        "ewallet": "ewallet_67863635c1e143f3d358b08de402a921",
        "bank_accounts": [
            {
                "account_id": "DK4289000092780662",
                "account_id_type": "iban",
                "currency": "EUR",
                "country_iso": "DK",
                "issuing_id": "issuing_b8818a435778f8f924265a9d104ecdf1"
            },
            {
                "account_id": "DK6289000092780496",
                "account_id_type": "iban",
                "currency": "DKK",
                "country_iso": "DK",
                "issuing_id": "issuing_7a6faaa49489fff8175d0b5d70e69db7"
            }
        ]
    }

```

#### 3. Simulate Payment into a Virtual Account.

##### Request

```auto
{
	"issued_bank_account": "issuing_b8818a435778f8f924265a9d104ecdf1",
	"amount": "150000",
	"currency": "EUR"
}

```

##### Response

```auto
...
 {
        "id": "issuing_b8818a435778f8f924265a9d104ecdf1",
        "merchant_reference_id": "5rtfgk8970dfbmaes",
        "ewallet": "ewallet_1c92eedc8d6dad84c7d337bab9e8830e",
        "bank_account": {
            "beneficiary_name": "CashDash UK Limited",
            "address": "Northwest House, 119 Marylebone Road NW1 5PU",
            "country_iso": "DK",
            "iban": "DK4289000092780662",
            "bic": "SXPYDKKK"
        },
        "metadata": {
            "merchant_defined": true
        },
        "status": "ACT",
        "description": "Issue test bank account",
        "funding_instructions": null,
        "currency": "EUR",
        "transactions": [
            {
                "id": "isutran_d0297998c493314fb22064f4caa196ff",
                "amount": 150000,
                "currency": "EUR",
                "created_at": 1654273630
            }
        ]
    }

```

## 2. Refund Payments Accepted through VAs

You issued a Virtual Account, and have accepted a payment through the VA into the Rapyd Wallet.

#### 1. Retrieve Rapyd Wallet Balance

#### 2. Follow [Create Hosted Beneficiary Account Details](https://docs.rapyd.net/build-with-rapyd/docs/beneficiary-account-details#hosted-page-beneficiary-account-details-page-flow) page flow

#### [Retrieve Beneficiary ID](https://docs.rapyd.net/build-with-rapyd/reference/beneficiary-object#retrieve-beneficiary)

Use the Hosted Beneficiary Page ID to retrieve the beneficiary ID `hp_ben_0f592cd436ad6e2f7f7cd16778fe5363`.

##### Response

```auto
...
{
        "merchant_alias": "Test Business",
        "merchant_terms": "",
        "merchant_privacy_policy": "",
        "page_expiration": 1655489011,
        "redirect_url": "https://sandboxhosted.rapyd.net/disburse/beneficiary?token=hp_ben_0f592cd436ad6e2f7f7cd16778fe5363",
        "id": "hp_ben_0f592cd436ad6e2f7f7cd16778fe5363",
        "category": "bank",
        "sender_entity_type": "company",
        "sender_country": "GB",
        "merchant_reference_id": "A-1013",
        "beneficiary_entity_type": "company",
        "beneficiary_country": "DK",
        "beneficiary_currency": "DKK",
        "sender_currency": "GBP",
        "beneficiary_id": "beneficiary_16c38749b22a384cacb8081a19fab698",
        "payout_method_type": "dk_general_bank",
        "beneficiary_validated": false,
        "timestamp": 1654279411,
        "beneficiary_optional_fields": {
            "last_name": "Doe",
            "first_name": "John",
            "company_name": null,
            "identification_type": "international_passport",
            "identification_value": "123456789"
        },
        "payout_method_types_include": null,
        "payout_method_types_exclude": null,
        "expiration": 1655489011,
        "valid_countries": {
            "all_supported": false,
            "countries": [
                "DK"
            ]
        }
    }

```

#### 3. Follow [Create Sender](https://docs.rapyd.net/build-with-rapyd/docs/reusing-beneficiary-or-sender) flow

#### [Retrieve Sender](https://docs.rapyd.net/build-with-rapyd/reference/sender-object#retrieve-sender)

Use sender ID `sender_bcce677fc847761b813b99703298dcc4` to retrieve the sender details.

##### Response

```auto
...
{
        "id": "sender_bcce677fc847761b813b99703298dcc4",
        "country": "GB",
        "entity_type": "company",
        "address": "1234 Test Address",
        "name": "Space Travel Marketplace",
        "postcode": "5211",
        "city": "London",
        "phone_number": "5555555",
        "company_name": "Space Travel Marketplace",
        "currency": "EUR",
        "phone_country_code": "+44"
    }

```

#### 3. You Create a [Payout with FX](https://docs.rapyd.net/build-with-rapyd/docs/payout-with-fx) to the saved Beneficiary.

##### Request

```auto
{
    "beneficiary": "beneficiary_d9b59dc946ee164cd939e7a8ec4729cb",
    "beneficiary_country": "DK",
    "beneficiary_entity_type": "company",
    "description": "Payout - Bank Transfer: Beneficiary/Sender IDs",
    "merchant_reference_id": "5rtfgk8970dfbmaes",
    "ewallet": "ewallet_1c92eedc8d6dad84c7d337bab9e8830e",
    "payout_amount": "150000",
    "payout_currency": "EUR",
    "payout_method_type": "dk_general_bank",
    "sender": "sender_bcce677fc847761b813b99703298dcc4",
    "sender_country": "GB",
    "sender_currency": "EUR",
    "sender_entity_type": "company",
    "statement_descriptor":"Space Travel Third Party Return",
    "metadata": {
        "merchant_defined": true
    }
}

```

##### Response

```auto
...
 {
        "id": "payout_6a7b4028ab53d9532c58053ac39d7435",
        "payout_type": "bank",
        "payout_method_type": "dk_general_bank",
        "amount": 150000,
        "payout_currency": "EUR",
        "sender_amount": 150000,
        "sender_currency": "EUR",
        "status": "Created",
        "sender_country": "GB",
        "sender": {
            "id": "sender_bcce677fc847761b813b99703298dcc4",
            "country": "GB",
            "entity_type": "company",
            "address": "1234 Test Address",
            "name": "Space Travel Marketplace",
            "postcode": "5211",
            "city": "London",
            "phone_number": "5555555",
            "company_name": "Space Travel Marketplace",
            "currency": "EUR",
            "phone_country_code": "+44"
        },
        "beneficiary_country": "DK",
        "beneficiary": {
            "id": "beneficiary_d9b59dc946ee164cd939e7a8ec4729cb",
            "country": "DK",
            "entity_type": "company",
            "name": "Space Travel Third Party",
            "company_name": "Space Travel Third Party",
            "currency": "EUR",
            "category": "bank",
            "default_payout_method_type": "dk_general_bank"
        },
        "fx_rate": 1,
        "instructions": {
            "name": "instructions",
            "steps": [
                {
                    "step1": "The funds will be transferred to the provided account details of the beneficiary ."
                }
            ]
        },
        "ewallets": [
            {
                "ewallet_id": "ewallet_1c92eedc8d6dad84c7d337bab9e8830e",
                "amount": 150000,
                "percent": 100
            }
        ],
        "metadata": {
            "merchant_defined": true
        },
        "description": "Payout - Bank Transfer: Beneficiary/Sender IDs",
        "created_at": 1654285232,
        "payout_fees": null,
        "expiration": null,
        "merchant_reference_id": "5rtfgk8970dfbmaes",
        "paid_at": null,
        "identifier_type": null,
        "identifier_value": null,
        "error": null,
        "paid_amount": 0,
        "statement_descriptor": "Space Travel Third Party Return",
        "gc_error_code": null
    }

```

#### [Complete Payout](https://docs.rapyd.net/build-with-rapyd/reference/payout-object#complete-payout)

Complete the Payout using Payout ID `payout_6a7b4028ab53d9532c58053ac39d7435`

##### Response

```auto
...
{
        "id": "payout_6a7b4028ab53d9532c58053ac39d7435",
        "payout_type": "bank",
        "payout_method_type": "dk_general_bank",
        "amount": 150000,
        "payout_currency": "EUR",
        "sender_amount": 150000,
        "sender_currency": "EUR",
        "status": "Completed",
        "sender_country": "GB",
        "sender": {
            "id": "sender_bcce677fc847761b813b99703298dcc4",
            "country": "GB",
            "entity_type": "company",
            "address": "1234 Test Address",
            "name": "Space Travel Marketplace",
            "postcode": "5211",
            "city": "London",
            "phone_number": "5555555",
            "company_name": "Space Travel Marketplace",
            "currency": "EUR",
            "phone_country_code": "+44"
        },
        "beneficiary_country": "DK",
        "beneficiary": {
            "id": "beneficiary_d9b59dc946ee164cd939e7a8ec4729cb",
            "country": "DK",
            "entity_type": "company",
            "name": "Space Travel Third Party",
            "company_name": "Space Travel Third Party",
            "currency": "EUR",
            "category": "bank",
            "default_payout_method_type": "dk_general_bank"
        },
        "fx_rate": 1,
        "instructions": {
            "name": "instructions",
            "steps": [
                {
                    "step1": "The funds will be transferred to the provided account details of the beneficiary ."
                }
            ]
        },
        "instructions_value": {},
        "ewallets": [
            {
                "ewallet_id": "ewallet_1c92eedc8d6dad84c7d337bab9e8830e",
                "amount": 150000,
                "percent": 100
            }
        ],
        "metadata": {
            "merchant_defined": true
        },
        "description": "Payout - Bank Transfer: Beneficiary/Sender IDs",
        "created_at": 1654285232,
        "payout_fees": null,
        "expiration": null,
        "merchant_reference_id": "5rtfgk8970dfbmaes",
        "paid_at": "1654286576",
        "identifier_type": null,
        "identifier_value": null,
        "error": null,
        "paid_amount": 150000,
        "statement_descriptor": null,
        "gc_error_code": null
    }

```

---

<div class="post-metadata">

**Author:** ![Fred\_Witting](https://sea2.discourse-cdn.com/flex016/user_avatar/community.rapyd.net/fred_witting/32/22961_2.png) [@Fred\_Witting](https://community.rapyd.net/u/Fred_Witting)\
**Post date:** [September 11, 2024, 4:14pm UTC](https://community.rapyd.net/t/virtual-accounts-use-cases/2027/3 "2024-09-11T16:14:36Z")

</div>

Use case 3 " Deposit Funds into Your Platform Ecosystem" points 2, 3 & 4 suggest that the customer can transfer funds to another wallet and with a simple call the funds are moved. There is no step 3.1 where the receiving wallet must accept the funds with a “Set Transfer Response”.

Can a Virtual Account send funds to another Virtual Account, held by another wallet with a different KYB owner, without the need for the receiver to accept?  
I cannot determine how. Please assist.
