Omni Way developer docs v1.0.0
omniway.online · v1.0.0

One platform that lets any merchant accept InnBucks — online or at the till.

Omni Way is the unified financial layer for InnBucks payments. A school collecting fees, a hospital billing patients, a tuck shop at the corner, a fleet operator, an online store — they all integrate the same way: one API, one redirect, one ledger. All business logic lives in the platform backend; your frontend never talks to InnBucks directly.

USD & ZWG Sandbox built in One redirect to integrate REST + webhooks

How a payment flows — end to end

Whatever you sell, the loop is the same five steps. The platform handles every InnBucks rule for you — code expiry, inquiry throttling, settlement, reconciliation.

01

Create a payment

POST /v1/payments with the amount in cents. You get a code, QR, deep link and a hosted checkout_url.

02

Customer pays

InnBucks app, QR scan, deep link, or USSD *569# — at the counter or from their couch.

03

We confirm

The platform polls InnBucks within their rules and flips the payment to paid.

04

You get notified

A signed webhook (payment.paid) hits your server, or you poll GET /v1/payments/:id.

05

Money settles

Your ledger balance grows. Pay out to your own InnBucks wallet any time with POST /v1/payouts.

Where the business logic lives

Your storefront, school portal or till screen is just a surface. Amounts, fees, settlement, the InnBucks gateway rules, balances and statements all live in the platform backend. That is why a frontend integration is one redirect — and why every product below shares one consistent ledger.

The products

Test mode and live mode

Every account has two parallel worlds, switched purely by the API key you use:

sk_test_… — sandboxsk_live_… — production
MoneySimulated. Payments auto-settle ~18 s after creation.Real InnBucks money against the live gateway.
DataFully separate payments, ledger and balance.Fully separate payments, ledger and balance.
BehaviourIdentical API shapes, codes, QR, checkout and webhooks.Identical — switching is changing one key.

Build your whole integration in test mode first — see Sandbox, UAT & Go-Live.

Sixty seconds to your first payment

curl https://omniway.online/v1/payments \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
    "amount_cents": 1050,
    "currency": "USD",
    "merchant_ref": "order-42",
    "success_url": "https://yourshop.example/thanks"
  }'

The response carries everything: the 9-digit code, a qr_png_data_url, the deep_link, USSD instructions and a hosted checkout_url. Redirect the customer to checkout_url and you are done — the page shows InnBucks branding, counts down the 10-minute code window, detects payment and sends them back to your success_url.

Amounts are always integer cents

1050 means USD 10.50. Supported currencies are USD and ZWG. Every money-moving POST requires an Idempotency-Key header so retries are always safe — see Errors & Idempotency.

Explore the docs

Omni Way is the financial core; your storefront or till is the surface it powers. Integrate once and the same ledger, payouts and reporting work across every product you adopt.

omniway.online · InnBucksPowered by InnBucks (MicroBank Limited) · USD & ZWG.