What the spuke Developer Platform is and how to get an account.
Build apps that merchants install on spuke.
What you can build
The spuke Developer Platform lets you ship software that merchants install into their spuke account. Apps read payment data, react to events in real time and can be sold in the spuke App Store.
| Building block |
What it gives you |
| App |
Your listing, credentials and install lifecycle |
| App API |
REST access to a merchant's spuke resources, scoped by consent |
| Webhooks |
Signed, retried event delivery to your backend |
| Environments |
Isolated sandbox merchants for end-to-end testing |
| Monetization |
Free, one-time or subscription pricing in EUR |
The lifecycle
- Create a developer account and complete verification.
- Create an app — it receives an 8-digit app number and a draft listing.
- Build against a sandbox environment with test merchants.
- Submit the app for review.
- Publish. Merchants install it from the spuke App Store.
Every app starts in test mode. Live credentials are only issued after review and payout verification.
Two modes, always separated
|
Test (sandbox) |
Live |
| Credentials |
test client id / secret |
live client id / secret |
| Data |
Sandbox merchants you own |
Real merchants who installed you |
| Money |
Simulated ledger |
Real payouts |
| Rate limits |
Counted separately |
Counted separately |
A token minted in one mode can never read the other mode's data.
What an app is not
Apps are not a PSP integration. You never touch card data, never hold funds and never call the acquirer. spuke stays the merchant of the payment relationship; your app works on top of it.
Organizations, team members and payout KYC.
Developer accounts
Sign up at dev.spuke.com with email, Google or GitHub. Your account is separate from any merchant account — the same person can hold both, and sessions are isolated.
Organization
Every developer account belongs to one organization. The organization owns:
- apps and their listings
- API credentials and webhook endpoints
- sandbox environments
- the payout account and earnings
Team roles
| Role |
Can do |
| Owner |
Everything, including payouts and deleting the organization |
| Admin |
Apps, credentials, environments, team invites |
| Developer |
Apps, credentials, sandbox — no payout access |
| Read-only |
View dashboards and logs |
Invites are email-based and expire; revoked members lose API access immediately.
Verification
Verification unlocks live mode.
- Sandbox: verification is instant. No documents, no bank account, no real identity check.
- Live: you complete payout onboarding with our payout partner — legal entity, representative identity, and a bank account in a supported country.
While a payout account is restricted or disabled, publishing and payouts are paused automatically and you receive an in-app notification plus an email reminder until it is resolved.
Notifications
The bell in the developer dashboard carries anything that needs action: verification requirements, review results, webhook failures, rate-limit warnings and payout events. Critical items are mirrored to email.
From zero to a working install in about 15 minutes.
Follow this once end-to-end; every later chapter goes deeper on one step.
1. Create the app
Dashboard → Apps → New app. A draft is created immediately with an 8-digit app number, e.g. 41028837. Give it a name (min. 3 characters) and continue.
2. Grab test credentials
Step OAuth & webhooks of the wizard shows your test client id and secret and lets you set a redirect URI.
export SPUKE_CLIENT_ID=app_test_...
export SPUKE_CLIENT_SECRET=sk_app_test_...
3. Create a sandbox environment
Dashboard → Sandbox. An environment is an isolated fake merchant with its own products, payments and ledger. You get one by default and can create up to five.
4. Install your app into the environment
In the environment, choose Install app and pick your app. This runs the same OAuth consent flow a real merchant sees and produces a real access token — scoped to the sandbox merchant.
5. Call the App API
curl https://api.spuke.com/v1/app/v1/merchant \
-H "Authorization: Bearer $ACCESS_TOKEN"
{
"id": "mch_test_8f21",
"business_name": "Sandbox Coffee GmbH",
"country": "DE",
"currency": "EUR",
"mode": "test"
}
6. Receive an event
Add a webhook endpoint, subscribe to payment.succeeded, then trigger a payment from the environment's ledger tools. The delivery, the payload and every retry show up in Logs.
7. Submit
When the listing is complete and the checklist is green, submit for review. See Review & publishing.
The words we use, and exactly what they mean.
| Term |
Meaning |
| App |
Your product. Has one listing, one set of credentials per mode and many installations. |
| App number |
Stable 8-digit identifier of an app, used in URLs and support tickets. |
| Installation |
One merchant × one app × one mode. Holds the granted scopes and the tokens. |
| Scope |
A single permission such as payments:read. Granted by the merchant at install time. |
| Environment |
An isolated sandbox workspace containing a test merchant and its data. |
| Mode |
test or live. Determines credentials, data and quotas. |
| Event |
A change in the merchant's account we push to your webhook endpoint. |
| Listing |
The public App Store page: name, icon, screenshots, pricing, links. |
| Version |
A submitted snapshot of a listing plus the requested scopes. Reviewed as a unit. |
| Publishing fee |
One-time fee charged in live mode when a version is published. |
| Earnings |
Money owed to you from app sales, settled through payout cycles. |
Identifier shapes
app number 41028837
installation inst_… (public id) / UUID in API payloads
access token spk_at_live_… / spk_at_test_…
refresh token spk_rt_live_… / spk_rt_test_…
client id spk_client_…
webhook secret whsec_…
event id evt_…
Identifiers are opaque strings. Never parse them; only compare them.