# Authorize.Net test cards

> Test card numbers, bank accounts and other details for Authorize.Net's sandbox, and the result each one gives.

Use these details to try payments in an Authorize.Net sandbox (test) account. They work only in the sandbox: never use them in live, and never put real card or bank details into a sandbox.

You need a separate Authorize.Net sandbox account, which you can sign up for on Authorize.Net's [sandbox page](https://developer.authorize.net/hello_world/sandbox/). Keep the sandbox account in Live Mode: Authorize.Net says transactions sent in Test Mode aren't stored and return a transaction ID of zero. Most results are triggered by the billing ZIP code or the CVC you enter, not by the card number.

:::note[Where these details come from]
These are Authorize.Net's test details, not ours. They were copied from Authorize.Net's [Testing guide](https://developer.authorize.net/hello_world/testing_guide.html) on 19 October 2026, and were correct on that date as far as that page shows. Authorize.Net can change or withdraw them at any time, and we can't confirm that they work. Check Authorize.Net's page for the current details, and ask Authorize.Net if one doesn't behave as described.
:::

## How to choose a test result

- Any card number below is approved. The billing ZIP code and the CVC set the other results ([Testing guide](https://developer.authorize.net/hello_world/testing_guide.html)).
- Enter the ZIP code in the billing address at the checkout: ZIP code `46282` declines the payment, and the ZIP codes under "Address and CVC checks" return set address check results. We only ask for a billing address, and send the ZIP code to Authorize.Net, while **Require address (AVS)** is switched on in the Authorize.Net connection settings. It's on by default; if it's off, these triggers can't be used.
- Enter the CVC values below in the checkout's CVC field. When paying with a saved card, we ask for the CVC again only if **Require CVC** is switched on in the connection settings.
- For ACH, the amount sets the result: enter an amount under `100.00` to be accepted and over `100.00` to be declined ([Testing guide](https://developer.authorize.net/hello_world/testing_guide.html)). Switch on **Enable ACH** in the connection settings and on your Authorize.Net sandbox account first.

## Cards

Use any expiry date after today. If a CVC is needed, use any three digits, or four digits for American Express.

### Successful payments

| Card | Number | Notes |
| --- | --- | --- |
| Visa | `4111 1111 1111 1111` | |
| Mastercard | `5424 0000 0000 0015` | |
| Mastercard (2-series) | `2223 0000 1030 9703` | |
| American Express | `3700 000000 00002` | Four-digit CVC |
| Discover | `6011 0000 0000 0012` | |
| Diners Club | `3800 0000 0000 06` | |
| JCB | `3088 0000 0000 0017` | |

### Declines and errors

| Number or trigger | Result |
| --- | --- |
| Billing ZIP code `46282` | Declined: general bank decline |

### Address and CVC checks

Enter these as the billing ZIP code or the CVC, with any test card above. Authorize.Net lists more ZIP codes on its testing page.

| Value | Result |
| --- | --- |
| ZIP code `46201` | Address matches, ZIP code doesn't (AVS code A) |
| ZIP code `46217` | ZIP code matches, address doesn't (AVS code Z) |
| ZIP code `46205` | Neither address nor ZIP code matches (AVS code N) |
| ZIP code `46209` | Cardholder address information unavailable (AVS code U) |
| ZIP code `46207` | Address check system unavailable (AVS code R) |
| ZIP code `46203` | Address data invalid, or address check not allowed for this card type (AVS code E) |
| ZIP code `46204` | Card issuer is outside the US and doesn't support address checks (AVS code G). Not for American Express |
| CVC `900` | CVC matches |
| CVC `901` | CVC doesn't match |
| CVC `904` | CVC not processed |
| CVC `902` | CVC should be on the card, but isn't indicated |
| CVC `903` | Issuer not certified, or hasn't provided an encryption key |

## Apple Pay and Google Pay

We take Apple Pay and Google Pay as network tokens, through our own wallet integration rather than Authorize.Net's. To test them, see [Testing Apple Pay and Google Pay](/platforms/testing/apple-pay-google-pay/).

## ACH (US bank accounts)

Use a valid US routing number (Authorize.Net points to the Federal Reserve website for these) and any account number. The sandbox has a monthly eCheck limit of $5,000: once it's exceeded, eCheck payments are declined.

| Routing number | Account number | Result |
| --- | --- | --- |
| Any valid US routing number | Any | Amount under $100: accepted |
| Any valid US routing number | Any | Amount over $100: declined |
| `125000024` | `12345678912345678` | Accepted (amount under $100). Used in our own tests |