Test vs Live Mode
Practice payments without using real money. Test mode lets you build and debug your integration safely.
What is Test Mode?
Test mode is a safe environment where you can try out ClapPay without spending real money. Everything works just like live mode, but:
- No real charges are made
- You use special test card numbers
- Money doesn't actually move
- You can test errors and edge cases
Think of it like a practice field before the real game.
How to Tell Which Mode You're In
Look at your API keys:
| Key Type | Test Mode | Live Mode |
|---|---|---|
| Publishable | pk_test_... | pk_live_... |
| Secret | sk_test_... | sk_live_... |
In the Dashboard, you'll see a toggle at the top that says "Test Mode" or "Live Mode." You can switch between them to see different data.
Test Card Numbers
Use these special card numbers in test mode. They trigger specific behaviors so you can test different scenarios:
Successful Payments
| Card Number | Brand | Result |
|---|---|---|
| 4242 4242 4242 4242 | Visa | Succeeds |
| 5555 5555 5555 4444 | Mastercard | Succeeds |
| 3782 822463 10005 | Amex | Succeeds |
Decline Testing
| Card Number | Result |
|---|---|
| 4000 0000 0000 9995 | Declined - insufficient funds |
| 4000 0000 0000 0002 | Declined - generic decline |
| 4000 0000 0000 0069 | Declined - expired card |
| 4000 0000 0000 0127 | Declined - incorrect CVC |
3D Secure Testing
| Card Number | Result |
|---|---|
| 4000 0025 0000 3155 | Requires 3D Secure |
| 4000 0000 0000 3220 | 3D Secure 2 required |
For all test cards, use:
- Any future expiry date (like 12/34)
- Any 3-digit CVC (or 4 digits for Amex)
- Any ZIP/postal code
What to Test Before Going Live
✓ Test These Scenarios
- Successful payment - does your order get created?
- Failed payment - do you show a helpful error message?
- 3D Secure - does the authentication popup work?
- Webhooks - do you receive and process them?
- Refunds - can you refund a test payment?
- Subscriptions - do renewals work correctly?
- Different payment amounts - very small and large
- Mobile checkout - does it work on phones?
Differences Between Test and Live
| Feature | Test Mode | Live Mode |
|---|---|---|
| Real money | No | Yes |
| Test cards work | Yes | No |
| Real cards work | No | Yes |
| Payouts happen | No | Yes |
| Verification needed | No | Yes |
| Data | Separate test data | Real customer data |
Going Live Checklist
When you're ready to accept real payments:
- 1Complete business verification in Dashboard
- 2Add your bank account for payouts
- 3Switch API keys from test to live
- 4Update webhook endpoints to use live signing secret
- 5Double-check your prices are correct
- 6Test a small real payment with your own card
- 7Make sure refunds work in live mode
- 8Set up monitoring and alerts
Common Mistakes
Using test keys in production
If you try to charge a real card with test keys, it will fail. Make sure to switch to live keys before launching.
Forgetting to update webhooks
Test and live mode have different webhook signing secrets. Update your server to use the live secret.
Mixing test and live data
Test mode and live mode have completely separate data. Customers, payments, and subscriptions created in test mode don't exist in live mode.