Skip to main content
Use test mode to develop and test your integration without processing real payments.

Test vs Live Mode

ModeAPI Key PrefixDescription
Testsk_test_...No real charges. Use test card numbers.
Livesk_live_...Real payments processed.

Test Card Numbers

Use these card numbers in test mode:

Successful Payments

Card NumberBrandDescription
4242424242424242VisaSucceeds
5555555555554444MastercardSucceeds
378282246310005American ExpressSucceeds
6011111111111117DiscoverSucceeds

Decline Scenarios

Card NumberDescription
4000000000000002Card declined
4000000000009995Insufficient funds
4000000000000069Expired card
4000000000000127Incorrect CVC
4000000000000119Processing error

3D Secure Testing

Card NumberDescription
40000000000032203DS required, authentication succeeds
40000000000030633DS required, authentication fails
40000000000030553DS optional, not challenged

Test Expiry and CVC

  • Expiry: Any future date (e.g., 12/25)
  • CVC: Any 3 digits (4 digits for Amex)
  • ZIP: Any 5 digits

Simulating Webhooks

Use the Atlas CLI to trigger test webhooks:
atlas webhooks trigger payment.captured --session sess_xxx
Or use the Dashboard to send test webhook events to your endpoint.

Test Bank Accounts (ACH)

Routing NumberAccount NumberDescription
110000000000123456789Succeeds
110000000000111111116Fails verification
110000000000111111113Account closed

Going Live Checklist

Before switching to live mode:
  • Test successful payments with multiple card brands
  • Test declined payments and error handling
  • Verify webhook signature validation
  • Test 3D Secure flows
  • Confirm refund handling works
  • Review error messages shown to customers
  • Set up monitoring and alerts
  • Configure live webhook endpoints