Test mode & live mode
Test mode and live mode are fully separate. The API key you use decides the mode, and each mode has its own payments, payouts, balances, webhooks and logs.
| Test mode | Live mode | |
|---|---|---|
| Key prefix | sk_test_ | sk_live_ |
| Available | As soon as your account is created | After business verification is approved and live mode is enabled for your account |
| Payments | Processed by our built-in simulator. No real funds move. | Created with Cryptomus or Binance Pay |
| Payouts | Approved automatically and simulated | Reviewed by our team (when approval is required), then sent through the provider |
| Data | Only visible to test keys and the dashboard's test view | Only visible to live keys and the dashboard's live view |
Why a simulator?
Neither Cryptomus nor Binance Pay offers a public sandbox for merchant payments. To let you build and test your integration safely, test mode uses a simulator that follows the same request and response formats, status flow and webhooks as live mode.
Simulating payments
Create a payment with a test key, then open its checkout_url. The sandbox checkout page lets you choose the outcome:
| Outcome | Resulting status |
|---|---|
| Paid | completed, and your test balance is credited with the net amount |
| Underpaid | underpaid, and only the amount actually received is credited |
| Failed | failed |
| Expired | expired |
Each outcome sends the same webhook events a live payment would, so you can test your fulfilment logic end to end.
Simulating payouts
Test payouts are approved automatically. The create response shows approved, and a few moments later the payout moves to completed and a payout.completed webhook is sent. To simulate a provider-side failure, include the word fail in the destination value. For example, use a crypto address such as TFAILxxxxxxxxxxxxxxxxxxxxx. The payout then ends in failed and the reserved amount returns to your test balance.
You need a test balance to request a test payout, so complete a few simulated payments first.
Going live
- Submit business verification from Settings → Verification.
- Once approved, create a live API key and a live webhook endpoint (HTTPS only).
- Swap the test key for the live key in your server configuration.
- Run one small real payment before you announce the launch.