Skip to content

Documentation

Everything you need to accept payments with Freika. In person, on a phone or online.

Freika is a payment platform for in-person business with a REST API, terminals and payment links. This documentation takes you from sign-up to the first payment at the till.

How the documentation is organised

  • Getting started: account, sandbox, first payment via the API in about ten minutes.
  • Concepts: organisations, locations, the lifecycle of a payment, payouts.
  • In person: pairing a terminal, connecting a till, tips and receipts.
  • Online: payment links, payment page, refunds.
  • Webhooks: receiving events, verifying signatures, retries.
  • API reference: every endpoint, generated from the OpenAPI specification.

API principles

  • Amounts are always integers in rappen: 2450 means CHF 24.50.
  • Every resource has a prefixed id: pay_, ref_, lnk_, trm_, loc_, whk_.
  • Guard write calls against duplicates with the Idempotency-Key header.
  • Test and live differ only in the key: fk_test_... and fk_live_....
  • Errors are Problem Details (RFC 9457) with a stable code.

Quick start

curl https://api.freika.com/v1/payments \
  -H "Authorization: Bearer fk_test_..." \
  -H "Idempotency-Key: 5f8c2b1e" \
  -d amount=2450 \
  -d currency=CHF \
  -d channel=online \
  -d success_url=https://yourshop.ch/thanks

The response contains a checkout_url. Send your customer there; the payment page does the rest. The status comes back via webhook.

Sandbox without waiting

The sandbox is open right after sign-up. You need neither a contract nor a review to start testing.

Pages that are not yet translated are shown in German.