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

# Customer Reserved Account

> Create virtual bank accounts for customers: STATIC (permanent) or DYNAMIC (one-time) reserve accounts

**Reserve virtual bank accounts** so customers can pay by transferring to a unique account number. Use **STATIC** accounts for recurring funding (e.g. wallet top-up, rent) or **DYNAMIC** accounts for one-time payments.

<CardGroup cols={2}>
  <Card title="STATIC account" icon="university">
    Permanent account; requires BVN or NIN. Safe to store and reuse.
  </Card>

  <Card title="DYNAMIC account" icon="bolt">
    Temporary, one-time use. Create when needed; do not store.
  </Card>
</CardGroup>

***

## STATIC vs DYNAMIC

|               | **STATIC**                                              | **DYNAMIC**                               |
| ------------- | ------------------------------------------------------- | ----------------------------------------- |
| **Lifespan**  | Permanent                                               | Temporary, single use                     |
| **Use case**  | Recurring payments, wallet funding, saved beneficiaries | One-time payment (e.g. checkout)          |
| **BVN/NIN**   | Required (BVN or NIN)                                   | Not required                              |
| **Storage**   | Can store in your DB; customer can save as beneficiary  | Do **not** store; create when you need it |
| **After use** | Stays valid                                             | Becomes invalid immediately after use     |

<Warning>
  **DYNAMIC accounts:** If a customer sends money to an expired or already-used DYNAMIC account, they will receive a **refund**. Always create a new DYNAMIC account per transaction when using one-time flows.
</Warning>

***

## How it works

1. You call the **Reserve an Account** API with customer details and `account_type`: `STATIC` or `DYNAMIC`.
2. Payvessel returns one or more **virtual account numbers** (per partner bank).
3. You share the account number, account name, and bank name with the customer.
4. When the customer transfers to that account, Payvessel, the partner bank, and you (the merchant) get notified.
5. You use the account reference / tracking reference for reconciliation and records.

### Partner bank codes

| Bank                  | Code     |
| --------------------- | -------- |
| PalmPay               | `999991` |
| 9Payment Service Bank | `120001` |

\| Rubies MFB | `090175` |

You can request accounts for one or both banks by passing their codes in the `bankcode` array.

For DYNAMIC accounts, you can now use Rubies MFB (`090175`) in addition to the existing banks. The bank name will be returned in the response.

***

## When to use which

* **Single-service payments** (e.g. electricity, ISP): Reserve an account per customer so they pay by transfer; you get notifications and can confirm payment.
* **Wallets / top-up** (e.g. super agents, investment apps, logistics): Use **STATIC** accounts so each customer has a permanent account number to fund their wallet.
* **One-time checkout**: Use **DYNAMIC**: create an account when the user chooses “Pay with bank transfer”, show the details, and do not reuse that account.

***

## API reference (code, payload, response)

For the **Create Virtual Account** and **Get Virtual Account** endpoints: including request/response bodies, headers, and code samples: use the **API reference** tab:

***

## Next steps

<CardGroup cols={2}>
  <Card title="Create Virtual Account (API)" icon="code" href="/api-reference/virtual-accounts/create-virtual-account">
    OpenAPI reference for create virtual account
  </Card>

  <Card title="Get Virtual Account" icon="magnifying-glass" href="/api-reference/virtual-accounts/get-virtual-account">
    Fetch account details by business ID and account number
  </Card>

  <Card title="Payment notifications" icon="bell" href="/api-basics/webhooks">
    Configure webhooks for payment notifications
  </Card>

  <Card title="API overview" icon="book" href="/api-reference/introduction">
    Authentication and base URLs
  </Card>
</CardGroup>
