> ## Documentation Index
> Fetch the complete documentation index at: https://docs.atlaspay.cc/llms.txt
> Use this file to discover all available pages before exploring further.

# Testing

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

## Test vs Live Mode

| Mode     | API Key Prefix | Description                             |
| -------- | -------------- | --------------------------------------- |
| **Test** | `sk_test_...`  | No real charges. Use test card numbers. |
| **Live** | `sk_live_...`  | Real payments processed.                |

## Test Card Numbers

Use these card numbers in test mode:

### Successful Payments

| Card Number        | Brand            | Description |
| ------------------ | ---------------- | ----------- |
| `4242424242424242` | Visa             | Succeeds    |
| `5555555555554444` | Mastercard       | Succeeds    |
| `378282246310005`  | American Express | Succeeds    |
| `6011111111111117` | Discover         | Succeeds    |

### Decline Scenarios

| Card Number        | Description        |
| ------------------ | ------------------ |
| `4000000000000002` | Card declined      |
| `4000000000009995` | Insufficient funds |
| `4000000000000069` | Expired card       |
| `4000000000000127` | Incorrect CVC      |
| `4000000000000119` | Processing error   |

### 3D Secure Testing

| Card Number        | Description                           |
| ------------------ | ------------------------------------- |
| `4000000000003220` | 3DS required, authentication succeeds |
| `4000000000003063` | 3DS required, authentication fails    |
| `4000000000003055` | 3DS 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:

```bash theme={null}
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 Number | Account Number | Description        |
| -------------- | -------------- | ------------------ |
| `110000000`    | `000123456789` | Succeeds           |
| `110000000`    | `000111111116` | Fails verification |
| `110000000`    | `000111111113` | Account 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
