A sandbox that behaves like live.
Test keys route every call to a simulator. Same API, same code, same responses, with no real cards and no real money.
Test keys reach a simulator. Live keys reach the gateway.
Test mode is not a second system. A call made with a test key, such as sk_test_…, runs through the same engine and goes to the simulator instead of the gateway.
- The same engine code runs in both modes. Only the route differs.
- Webhooks go to your test endpoints, marked as test events.
- Test mode is not billed and never touches real cards or money.

Example data
Test cards and amount tails for every outcome.
Online, use a test token. At a test terminal, the last two digits of the amount choose the outcome.
Test tokens
| Token | What happens |
|---|---|
tok_test_approved | Approved (Visa, last four 4242) |
tok_test_declined_insufficient | Declined: insufficient funds |
tok_test_declined_do_not_honor | Declined: do not honor |
tok_test_timeout_authorized | The gateway goes quiet after it approved. Reconcile finds the payment. |
tok_test_timeout_unauthorized | The gateway goes quiet before it approved. |
tok_test_partial | Partial approval for half the amount |
tok_test_retryable_error | An error, then approved on retry |
tok_test_amex | Approved (American Express) |
tok_test_debit | Approved (Visa debit) |
Amount tails
| Cents | What happens |
|---|---|
.00 to .49 | Approved |
.51 | Declined: insufficient funds |
.52 | Declined: do not honor |
.61 | Times out, but the gateway approved |
.62 | Times out, and the gateway did not approve |
.63 | Times out after approval, and the first lookup fails |
.71 | Partial approval for half the amount |
.81 | An error on the first try, approved on retry |
Refunds and captures use tails too: .61 times out after the gateway acted, and .62 times out before it saw the call.
Fast-forward instead of waiting.
Move the test clock forward to see what happens tomorrow, next week or at the end of a dispute.
- Settle the day and see the batch, the fees and the deposit.
- Raise a dispute and decide it.
- Release a held refund before its undo window ends.
- Replay or duplicate webhooks, or send them late and out of order.
- Expire checkout sessions.
One test payment, fast-forwarded
- NowPayment captured
- Settle the dayBatch and estimated fees
- Advance the clockDeposit expected
- Raise a disputeDispute opened, deadline set
- Decide itWon or lost
- Each stepSends its webhook
Example
Tell us what you're building.
We'll set up a sandbox with test keys, test cards and the developer docs.
- Test mode is not billed and never touches real cards or money.
- Docs, OpenAPI, the SDK and llms.txt included.
- Going live needs each merchant's own merchant account from a payments provider.
Run a single business? Your developers use your Sovara One™ account. An ISO or sub-ISO? Start with Sovara Hub™.