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

# Pay-ins

> Money sent to your account number becomes a collection, costs one percentage fee, and credits your balance.

Your org has its own Malawian account number. A person can send MWK to that
number from a mobile wallet or from a bank account. The money then arrives in
Hermes as a **collection**. Hermes credits your balance, sends a
`collection.settled` event to your webhook endpoint, and adds the collection
to `GET /collections`.

There is no work for you on the side of the sender. The payer uses their own
bank app or mobile money app. You only read the result.

## Your account number

Your account number is in the Hermes portal, under
**Integration → Account number**. Give the number to each person who
pays you. All money that goes to the number becomes a collection.

## What a pay-in costs

A pay-in costs **one percentage fee of the amount sent, with nothing more**.
The standard rate is **1.5%**. If you agreed a different rate with Jenzy,
that rate applies. Your balance gets the amount sent, less that one fee.

* There is no minimum amount and no flat component.
* Do not write the percentage into your code. `POST /fees/quote` gives the
  figures for your own rate. It is the only safe source if your rate is not
  the standard rate.
* Hermes rounds the fee to the tambala. Do not calculate the fee with a
  multiplier, because your result can be one tambala different. Call
  `POST /fees/quote` with `direction: "collection"` to get the exact figures
  before the money moves. The quote agrees with the credit exactly.
* A pay-in is **MWK only**.

## The collection resource

Read collections with `GET /collections` and `GET /collections/{id}`.
`GET /collections` puts the newest collection first and uses keyset
pagination. The `data` field of the `collection.settled` event uses the same
shape.

```json theme={null}
{
  "id": "7a4be2a4-90f4-4a5e-b7c9-1d2f5f6f8a31",
  "status": "settled",
  "amount_mwk": "100000.00",
  "fee": "1500.00",
  "amount_credited": "98500.00",
  "rail": "momo",
  "source_customer_name": "PETER BANDA",
  "source_account_number": "265991234567",
  "source_institution": "Airtel Money",
  "rtp_reference_number": null,
  "created_at": "2026-08-05T09:40:53.000Z"
}
```

The three money figures always agree: `amount_mwk − fee = amount_credited`.
The fee is one combined figure. Hermes does not divide it into lines.

Hermes gives you the full identity of the sender, exactly as the provider
reports it. Use the identity to match a pay-in to your own customer. For
mobile money, `source_account_number` is the wallet number of the payer.

<Warning>
  The identity of a payer is personal data. You must protect that data under
  your own privacy obligations.
</Warning>

Hermes sends exactly one `collection.settled` event for each movement of your
balance. This is true for each way that Hermes finds the pay-in. Process each
event `id` one time only.

After an outage, use `GET /collections` to catch up. A poll and a webhook
give the same data.

## Reversals

Sometimes a provider takes a pay-in back after it settles. Hermes then sends
you a `collection.reversed` event. The `status` of the collection changes to
`reversed` on the read endpoints.

<Warning>
  **Use the event as the correct signal, and let your balance catch up.**

  For a short time after a `collection.reversed` event, `GET /balance` can
  read **high**. The provider already took the money back. A person in Jenzy
  operations posts the correction manually. Jenzy confirms the exact amount
  case by case.

  Do not give goods or services against a balance that includes a reversed
  pay-in.

  A reversal is not usual, and Jenzy always examines one. Speak to support if
  you get a reversal that you cannot explain.
</Warning>
