kepa

API reference

Every live API request uses the same base URL. Authentication depends on whether the caller is your server, an Android terminal, or the browser.

Base URLs

All live endpoints use https://api.kepapay.co. There is no local terminal HTTP server. Pages marked planned are designs, not callable APIs.

Android terminal
https://api.kepapay.co

Uses its provisioned device token for in-person payments.

Your server
https://api.kepapay.co

Uses a secret API key for online payments and account operations.

Customer browser
https://api.kepapay.co

Uses a publishable key and a short-lived checkout client secret.

Authentication

Three credentials, picked by where the code runs. Server-side calls send a secret X-Api-Key; browser calls send a publishable X-Kepa-Publishable-Key; cloud terminal sessions use a bearer JWT. The full rules are on the Authentication page.

Conventions

Idempotency

Send an Idempotency-Key on writes; a repeat returns the original result instead of acting twice.

Errors

HTTP status tells you whether the request worked. Payment fields tell you whether the card was approved or declined.

Amounts

Always minor units — 2500 is $25.00 — paired with an ISO 4217 currency code.

Versioning

The version is dated. Breaking changes ship under a new date; the changelog tracks them.

Endpoints

Card present