PaymonetraDocs

Read a checkout session

What the payer’s browser polls. Public, guarded by the reference being random.

GEThttps://api.paymonetra.com/v1/checkout/{reference}Public, guarded by the reference

Public, guarded by the reference being random rather than by a credential. This is what the payer’s browser calls; your server does not need it.

Public. Poll it while waiting; the page updates itself rather than asking the payer to refresh.

JSON
{
  "reference": "ef8e7ff7078b893d03",
  "status": "pending",
  "amount": 45000.70,
  "description": "Ankara bundle",
  "expires_in": 885,
  "redirect_url": null,
  "customer": { "name": "Ngozi Nwosu", "email": "" },
  "account": { "number": "8021234701", "name": "MONETRA - Ngozi Nwosu", "bank": "Payrep MFB" },
  "instruction": "Send exactly NGN 45,000.70 to the account below from your banking app.",
  "note": "The exact kobo matters. It is how we know the payment is yours.",
  "message": "Waiting for your transfer. Bank transfers can take a minute, so this page will update on its own."
}

instruction, note and message are written on the server so every checkout says the same thing. Render message as given. It is the sentence that stops the waiting state looking broken, which is the single thing that screen has to get right.

expires_in is seconds, for the countdown. It is 0 on any state but pending.

account is only present while status is pending. On an expired or paid session it is deliberately absent, because showing an account nobody is watching invites a second transfer.

Checkout has the context around this call.