Sandbox
The sandbox is a complete, isolated copy of the platform at:
https://sandbox.quiqqy.ai/api/v2Same endpoints, same payloads, same webhook signing, same error envelope — but every store is a test store, every order is fake, and no payment ever moves. Sandbox credentials are issued the moment you create an app; nothing you do there requires review.
Environments are sealed
Section titled “Environments are sealed”Every credential belongs to exactly one environment. A sandbox credential
presented to a production host — or the reverse — fails with
auth.invalid_token. Keep two configuration sets and never mix them:
| Sandbox | Production | |
|---|---|---|
| Host | sandbox.quiqqy.ai | auth.quiqqy.ai / hub-api.quiqqy.ai / api.quiqqy.ai |
| Secret prefix | qk_sb_… | qk_pk_… |
| Issued | With the app, immediately | After go-live review |
| Stores | Test stores you create | Live merchants who authorized your app |
| Payments | Simulated — always succeed | Real |
| Emails to merchants | Suppressed | Sent |
Test stores
Section titled “Test stores”Create test stores two ways:
- From the console — Sandbox → New test store creates a provisioned store and a merchant login you can use to see the storefront and back office exactly as a merchant would.
- From the API — run the real
store onboarding flow:
POST /pos/signup_urlagainst the sandbox host, open the returned URL yourself, and play the merchant through consent. This is the flow you should certify, so exercising it early pays off.
Test order flow
Section titled “Test order flow”Once a test store is integrated and has a menu, generate orders without a storefront:
-
In the console, open Sandbox → Test orders, pick the store, and compose an order from the menu you pushed — or use a preset (delivery, pickup, multi-item with modifiers, order that will be cancelled).
-
The order is injected exactly like a customer order: your webhook receives a signed
order.createdwithin seconds. -
Drive it through the lifecycle from your side — accept, preparing, ready — and watch the status reflect in the console and the test storefront.
-
Practice failure too: deny an order with each structured reason, let a delivery time out to see the retry ladder, send a test event from the webhook page.
Differences from production
Section titled “Differences from production”The sandbox aims for fidelity, but a few things are intentionally different:
- Payments are simulated.
payment_statusbehaves realistically but no gateway is involved and refunds are instant. - Timing is compressed. Courier/delivery progression on test orders is minutes, not tens of minutes.
- Data is disposable. Sandbox data may be reset periodically; do not treat it as durable storage.
- Rate limits are the same as production defaults, so load behaviour you observe in sandbox carries over.