Test mode
Build and test your integration without moving real money.
Test mode is a separate copy of your account: its own balances, objects, events and webhook endpoints. A test key (mr_test_) only sees test data, a live key (mr_live_) only live data. Every object says which side it belongs to with livemode. In the dashboard, the Test | Live selector in the header switches between the two.
What happens in test mode
- Collections and payouts accept only the published test numbers, in every open country: the last digit decides the outcome, and a real wallet is never reached. Depending on the country, Monerails simulates the operation or sends it to a payment partner’s test environment with that partner’s own test number.
- Cards are issued by the card issuer’s sandbox. Use the test helpers to decide identity verifications and to simulate card payments.
- No real money: test mode never moves real money, in any country. Test operations only change your test balances.
- Webhooks are delivered to your test endpoints, signed with their own secrets.
- Dashboard: test operations created from the dashboard use the same partner sandbox when it is connected; otherwise the dashboard simulates them.
Test helpers
| Endpoint | What it does |
|---|---|
POST /v1/test/cardholders/{id}/verification |
Approves or rejects an identity verification in review. |
POST /v1/test/cards/{id}/authorizations |
Simulates a merchant charging a card, approved or declined. |
They return 400 test_mode_only with a live key. Testing walks through a full scenario.
Balances in test mode
Your test balances start at zero. Collections that succeed in the sandbox credit their net amount to your test balance and let you try payouts and settlements. To issue test cards, first top up the test cards balance: in the dashboard, Cards › Top up the card balance, enter an amount (10 to 100 USD in test mode) and click Credit the test balance (Owner or Finance).
A safe habit
In your tests, check that the objects you receive have "livemode": false. A key mixed up in a configuration file then fails your tests instead of moving real money.