Olympus PayDevelopers

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#

CapabilityEndpointsGuide
Take payments with a link or a QR codePOST /payment-links, POST /qr-codesAccept payments
Read and cancel paymentsGET /payments, GET /payments/{id}, POST /payments/{id}/cancelAccept payments
Refund a payment, in full or in partPOST /payments/{id}/refundRefunds
Pay out to your settlement accountPOST /payouts, GET /payoutsPayouts
Pay out to third parties from a payment (split payments)POST /split-recipientsAPI reference
Reconcile what settledGET /settlementsAPI reference
Be told when something happensPOST /webhooks, signed eventsWebhooks
Check your business profile and verificationGET /account, POST /account/verificationGo live

How to read these docs#

  1. Follow the Quickstart to make a first request in about five minutes.
  2. Read Authentication and Sandbox before writing real code.
  3. Build the flows you need from the guides. Every write that moves money has an idempotency rule: see Idempotency.
  4. 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 example 1250). 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-Id header. Quote it if you contact support.