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

# Multi-Customer Collections

> Collect fiat payments from many end customers, matched and settled automatically

If your platform collects payments from many distinct end customers — rent, subscriptions, cooperative/thrift contributions, marketplace order payments — Business Collections lets you issue each customer their own one-time virtual bank account and get paid without manually reconciling incoming transfers. Obiex matches the payer's name to the customer you registered and settles automatically to USDT.

<Warning>
  Business Collections is access-gated and not enabled by default. Reach out to our marketing team via **[sales@obiex.finance](mailto:sales@obiex.finance)** and explain your use case to get it enabled on your business account. See [Business Collections](/features/business-collections) for details.
</Warning>

<Note>
  This is different from [On-ramping](/use-cases/on-ramping), which is about crediting deposits to your own platform balance. Business Collections is specifically for collecting payments *from* your customers, on your behalf, with identity verification built in.
</Note>

## How it works

<Steps>
  <Step title="Register the customer">
    Call the Initiate Collection endpoint with the customer's first name, last name, BVN, and NIN, along with the amount and currency to collect. If you've collected from this BVN/NIN pair before, Obiex reuses the existing customer record instead of creating a new one.
  </Step>

  <Step title="Share the virtual account">
    Obiex returns a one-time virtual bank account (bank name, account name, account number) valid for 30 minutes. Display these details to the customer so they can pay from their own bank account.
  </Step>

  <Step title="Let Obiex match and settle">
    When the payment lands, Obiex compares the payer's bank account name to the customer's registered name. A match settles automatically — the fiat is converted to USDT and credited to your wallet. A mismatch is held for your review instead of being lost or silently settled.
  </Step>

  <Step title="Track status via webhook or API">
    You'll receive a `COLLECTION` webhook as the transaction progresses. You can also poll `/collections/transactions/me` or `/collections/destinations/me` to check on any collection.
  </Step>
</Steps>

<Warning>
  Instruct customers to pay from a bank account registered in their own name. Payments from a third party's account (e.g. a spouse's or employer's) will be held for manual review rather than settled automatically, since the payer's name won't match.
</Warning>

<Warning>
  Virtual accounts expire 30 minutes after creation. If a customer doesn't pay in time, initiate a new collection to get a fresh account.
</Warning>

<Note>
  Only NGNX (Nigerian Naira) collections are supported today. Funds are always settled to USDT.
</Note>

## Common scenarios

* **Rent or subscription collection**: Issue each tenant or subscriber a virtual account for their monthly amount due, and get notified automatically when they pay — no manual bank statement reconciliation.
* **Marketplace order payments**: Collect payment for an order directly from the buyer into a dedicated account, then release the order once the `COLLECTION` webhook confirms settlement.
* **Cooperative or thrift contributions**: Track recurring contributions from many members, each identified by their own BVN/NIN, without co-mingling who paid what.

## Key endpoints

| Method | Endpoint                       | Description                                                                  |
| ------ | ------------------------------ | ---------------------------------------------------------------------------- |
| POST   | `/collections`                 | Register a customer (if new) and generate a virtual account for a collection |
| GET    | `/collections/customers/me`    | List all customers you've collected from                                     |
| GET    | `/collections/customers/{id}`  | Look up a specific customer                                                  |
| GET    | `/collections/destinations/me` | Check the status of virtual accounts you've generated                        |
| GET    | `/collections/transactions/me` | Review your collection history, filterable by status                         |
