Skip to main content
The Qint merchant API is a small, server-to-server REST API around one resource: the payment intent. Create one, redirect the buyer to its checkoutUrl, and learn the outcome via webhooks or reads.

Base URL

All endpoints are versioned under /api/v1.
api.qint.ch is the stable production hostname. Keep the base URL in configuration anyway — environment switches stay a one-line change.

Authentication

Send your qk_live_… API key with every request, either way:
Keys carry Read and/or Write scopes; requests outside a key’s scopes return 403. See Authentication for creation and rotation.

Errors

Errors are RFC 7807 problem documents, Content-Type: application/problem+json:
Include the traceId when contacting support about a failed request.

Rate limits

The API is rate limited per client. On 429, retry with exponential backoff. Creates are retry-safe when you pass an idempotencyKey — see idempotency.

Conventions

  • JSON in, JSON out, camelCase field names.
  • Statuses are lowercase strings on the wire: initiated, pending, confirmed, settled, failed, expired, cancelled.
  • Crypto amounts are 8-decimal strings ("55.48765432") — parse as decimals, never floats.
  • Timestamps are ISO 8601 with offset.
  • Pagination on list endpoints: page (1-based) and pageSize (1–100, default 20); responses carry items, total, page, pageSize.
  • Ids are prefixed: intents pi_…, payment links pl_…, invoices inv_….

Endpoints

POST /api/v1/intents — Create a payment intent

GET /api/v1/intents/{id} — Retrieve a payment intent

GET /api/v1/intents — List payment intents