Engineering documentation for integrating Octany — the Swedish billing engine for subscriptions, one-off orders, and hosted checkout. Dense, example-driven, written for engineers and the agents that work alongside them.
# List a customer's active subscriptions curl "https://api.octany.com/api/$ACCOUNT/\ subscriptions?filter[reference_id]=user_42" \ -H "X-API-KEY: $OCTANY_KEY" # 200 OK — paginated envelope # { # "data": [{ # "id": "sub_8gKQz4F2", # "status": "active", # "reference_id": "user_42", # "renews_at": "2026-05-25T09:29:51+00:00" # }], # "pagination": { "total": 1, ... } # }
Donation, 1-click Swish, and Greeting embeds for campaign pages, editorial pages, and seasonal giving.
Hosted checkout at checkout.octany.com. Construct a URL or use the window.Octany JS API for cart and checkout flows.
Add the original checkout experience to an existing page with a small HTML snippet and a hosted script.
Octany is intentionally smaller than Stripe. There's no separate Price object. Everything orbits a single tenant — the Account — whose UUID is part of every URL path.
If you've used Stripe Cashier, the migration guide maps every concept across.
| Octany | Stripe equivalent | Notes |
|---|---|---|
| Account | Account | Top-level tenant. UUID in every path. |
| Product | Product + Price | Single object. Price/interval/VAT live on it. |
| Subscription | Subscription | One product per subscription. Status drives billing. |
| Order | Invoice + PaymentIntent | Each scheduled charge produces one order. |
Every page on this site has a markdown counterpart in /docs. Every page exposes that markdown via a <link rel="alternate">. The OpenAPI spec is checked in. There's an llms.txt at the root that fits in one context window. Paste it into your agent and skip the crawl.