Docs
Sandbox
Test keys create payments that never move real money. Use them to practise a paid payment and a failed payment before live mode opens.
Test keys
After sign-up you get a sk_test_ key. Checkouts created with it stay in sandbox. The hosted page is the same as live, with a sandbox provider behind it.
What you must test
When live mode opens, access needs both of these in sandbox, plus an active merchant account:
- At least one payment with status Paid
- At least one payment that failed, with no money taken
Details are on Go live.
Card test numbers
If your sandbox uses the bank's N-Genius test environment, card payments use 3-D Secure 2.0. Use any name and CVV and any future expiry date:
2303779999000275passes with no challenge. Use it for a Paid payment.2303779999000291fails with Not Authenticated. Use it for a failed payment.
These are the bank network's published test numbers. If your bank gives you its own list, use that.
Simulator cases
The sandbox mock can simulate more than success: customer timeout, a late callback, a duplicate callback, an out-of-order callback, a provider 500, a slow provider, and insufficient funds. Use these so your return page and webhooks do not assume the happy path.
Local development
On a laptop with Postgres:
make bootstrapthenmake dev- Marketing and docs: http://localhost:3000/docs
- API: http://localhost:4000/v1
- OpenAPI: http://localhost:4000/v1/docs
Seeded demo logins are in the repository README. Staff accounts need an authenticator. Do not use seed passwords in production.