> ## Documentation Index
> Fetch the complete documentation index at: https://vas-partner-api-docs.finpaytech.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Emaal Virtual Accounts API

> Collect Payments Into Virtual Accounts via M-Pesa, PesaLink, and RTGS

This is the **merchant-facing** Virtual Accounts API. Use it to issue collection account numbers, show payers how to pay, list settled credits, and receive `payment.paid` webhooks.

**Base URL:** `https://vas.finpaytech.co/business-api`

All authenticated calls use:

```http theme={null}
Authorization: Bearer <access-token>
```

Try every endpoint from the **API Reference** tab. Paste your access token in the playground Authorization field.

## What You Can Do

1. Read your primary virtual account, or provision extra accounts (brand, subscriber, invoice, currency).
2. Show payers **M-Pesa**, **PesaLink**, and **RTGS** instructions for that account number.
3. Optionally send an M-Pesa STK Push prompt to a phone.
4. List inbound payments and register a webhook for `payment.paid`.

## Account Types

| Purpose              | Reuse      | Typical Use                                         |
| -------------------- | ---------- | --------------------------------------------------- |
| Primary (activation) | Permanent  | One collection number for your merchant             |
| Brand                | Permanent  | One number per shop or brand                        |
| Subscriber           | Permanent  | One number per end customer, reused every cycle     |
| Invoice              | Single use | One number per bill. Amount and expiry are enforced |
| Currency             | Permanent  | A dedicated number for `KES` or `USD`               |

Credits are matched by **virtual account number**. You do not need to parse bank rails yourself.

## Out of Scope

This document covers collection into virtual accounts only. It does not describe admin tools, payouts, or other Emaal products.
