PaymonetraDocs
Merchant API · v1

A bank account for every one of your customers.

Issue a permanent Nigerian account number in your customer’s own name, and when they transfer into it we tell your server which customer paid. No reconciling on amounts, no guessing from a bank statement.

#What this API does

  • Issues accounts. POST /customer_accounts gives one of your customers a permanent account number in their own name. Call it again with the same reference and you get the same account back.
  • Names the payer. When money lands we post a collection.success webhook to your server carrying your own customer_reference, so you credit your user from it and reconcile nothing.
  • Or takes a one-off payment. POST /payments opens a hosted checkout and hands you a URL on pay.paymonetra.com to send the payer to.
  • Keeps two balances. Collected is money taken from your customers and held for you. Settled is money that has become yours.
  • Costs one rate. One percentage on every bank transfer coming in, live on the pricing page rather than typed into it.
  • Works before you are verified. Test keys exist from your first minute in the dashboard; live keys arrive when your business is approved.

#A call that works right now

The service index needs no key. Paste this anywhere:

Terminal
curl https://api.paymonetra.com/v1/

It answers:

Response
{
  "name": "Paymonetra Gateway API",
  "version": "v1",
  "docs": null,
  "endpoints": [
    "GET  /balance",
    "POST /customer_accounts",
    "GET  /customer_accounts",
    "GET  /customer_accounts/{customer_reference}",
    "POST /payments",
    "GET  /payments/{reference}"
  ]
}

That endpoints list is what a secret key can reach. Everything on it has a page under API reference.

#Where to go next

#The three hosts

Not interchangeable. You will only ever call two of them yourself.

hostwho it servesstatus
paymonetra.com/api/v1the dashboard, and the applive
api.paymonetra.commerchants' own serverslive since 29 Aug 2026
pay.paymonetra.compayers: checkout and payment linkslive since 29 Aug 2026

#What is live today

GET /Confirms you have the right host, and lists what a key can reach. No key needed.
POST /customer_accountsIssues a permanent bank account number in your customer’s own name.
GET /customer_accountsYour accounts, filterable by status and paged.
GET /balanceCollected and Settled, for the mode your key belongs to.
POST /paymentsOpens a checkout session and returns the URL to send your customer to.
GET /payments/{reference}One session, scoped to your own merchant and mode.
POST /customer_accounts/{reference}/simulate_paymentMoney arriving into one customer’s account, and the webhook that follows. Test keys only.
POST /sandbox/payThe same, for your collection account rather than a customer’s. Test keys only.
GET /checkout/{reference}What the payer’s browser polls. Public, guarded by the reference being random.
POST /checkout/{reference}/detailsName and email for an anonymous session, which then shows an account.

And what is not, yet:

Refunds are not on this surface yet. USDT checkout is blocked on our exchange partner issuing an off-ramp private key.


The roadmap has the rest, with no shapes to build against until they land.