Introduction
The Olympus Pay Merchant API lets your own backend accept payments, refund them, send payouts to your settlement account and receive events when things change. It is a JSON REST API over HTTPS.
Base URL https://merchant.olympuspay.co/api/v1
Format JSON requests and responses (UTF-8)
Auth Authorization: Bearer <API key>
Versioning Path prefix (/v1)What you can do#
| Capability | Endpoints | Guide |
|---|---|---|
| Take payments with a link or a QR code | POST /payment-links, POST /qr-codes | Accept payments |
| Read and cancel payments | GET /payments, GET /payments/{id}, POST /payments/{id}/cancel | Accept payments |
| Refund a payment, in full or in part | POST /payments/{id}/refund | Refunds |
| Pay out to your settlement account | POST /payouts, GET /payouts | Payouts |
| Pay out to third parties from a payment (split payments) | POST /split-recipients | API reference |
| Reconcile what settled | GET /settlements | API reference |
| Be told when something happens | POST /webhooks, signed events | Webhooks |
| Check your business profile and verification | GET /account, POST /account/verification | Go live |
How to read these docs#
- Follow the Quickstart to make a first request in about five minutes.
- Read Authentication and Sandbox before writing real code.
- Build the flows you need from the guides. Every write that moves money has an idempotency rule: see Idempotency.
- Use the API reference for every field, or import openapi.json into your tooling.
Ground rules#
- Amounts. Some fields are in major units (for example
12.50) and some in minor units (for example1250). Each field says which. The table in Payments lists them all. - Currency. A three letter ISO code, in any case. Botswana pula is
BWP. - Time. ISO 8601 in UTC.
- Identifiers. UUIDs, unless stated.
- Request IDs. Every response carries an
X-Request-Idheader. Quote it if you contact support.