# Square test cards

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

Use these details to try payments in a Square 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.

Square's sandbox accepts only these test values, not real cards. Connecting a sandbox account works slightly differently from a live one: see the sandbox steps in [Connecting Square](/payment-providers/square-connect/).

:::note[Where these details come from]
These are Square's test details, not ours. They were copied from Square's [Sandbox Payments](https://developer.squareup.com/docs/devtools/sandbox/payments) page on 19 October 2026, and were correct on that date as far as that page shows. Square can change or withdraw them at any time, and we can't confirm that they work. Check Square's page for the current details, and ask Square if one doesn't behave as described.
:::

## How to choose a test result

- Square's sandbox refuses real cards and accepts only its own [test values](https://developer.squareup.com/docs/devtools/sandbox/payments#web-and-mobile-client-testing).
- The card number sets the result. For the [error triggers](https://developer.squareup.com/docs/devtools/sandbox/payments#error-state-values), type the CVV, expiry date or postcode into the Square card form in the checkout: the postcode goes in the postcode box of that same card form. Our Square connection doesn't take card numbers in an API request, so test cards can only be tried through the checkout.
- The [SCA (3D Secure) cards](https://developer.squareup.com/docs/devtools/sandbox/payments#sca-testing-in-the-web-payments-sdk) only show their result when we ask Square to verify the payment. We do this on every online card payment while **Use Square Risk Manager for 3D Secure** is off in the Square connection settings here (see [Connecting Square](/payment-providers/square-connect/)). Leave it off to test them. With it on, your Square Risk Manager rule decides. Payments taken over the phone (MOTO) are never verified, so the SCA cards can't be tested that way.
- ACH needs **Enable ACH** switched on in the Square connection settings here, and ACH enabled on the Square account. The setting appears only when the Square account takes USD. Then sign in to Plaid's [test bank](https://developer.squareup.com/docs/devtools/sandbox/payments#ach-bank-transfer-success-state-values) when the checkout asks you to connect a bank.

## Cards

Use any future expiry month and year, and the CVV shown. Payments in USD, CAD and GBP need a valid postcode; payments in Japan don't use a postcode.

### Successful payments

| Card | Number | Notes |
| --- | --- | --- |
| Visa | `4111 1111 1111 1111` | CVV `111` |
| Mastercard | `5105 1051 0510 5100` | CVV `111` |
| American Express | `3400 000000 00009` | CVV `1111` |
| Discover | `6011 0000 0000 0004` | CVV `111` |
| Diners Club | `3000 0000 0000 04` | CVV `111` |
| JCB | `3569 9900 1009 5841` | CVV `111` |
| UnionPay | `6222 9888 1234 0000` | CVV `123` |

### Declines and errors

| Number or trigger | Result |
| --- | --- |
| `4000 0000 0000 0002` | Declined |
| `4000 0000 0000 0010` | Declined when the card is saved for later payments (card on file) |
| Expiry date `01/40` | Declined: expiry date incorrect |

### 3D Secure

Square calls this SCA (strong customer authentication). In the sandbox, Square asks for verification in every region, not only where it is required. Where a card shows a challenge, enter the verification code `123456`; it stands in for the code a bank would send by text message.

| Number | Result |
| --- | --- |
| `4800 0000 0000 0004` | Visa. No challenge |
| `5222 2200 0000 0005` | Mastercard. No challenge |
| `6011 0000 0020 1016` | Discover (EU). No challenge |
| `3569 9900 0000 0017` | JCB. No challenge |
| `4310 0000 0020 1019` | Visa (EU). Challenge: enter code `123456` |
| `5248 4800 0021 0026` | Mastercard. Challenge: enter code `123456` |
| `5500 0000 0020 1016` | Mastercard (EU). Challenge: enter code `123456` |
| `3700 000002 01014` | American Express (EU), CVV `1111`. Challenge: enter code `123456` |
| `3569 9900 0000 0009` | JCB. Challenge: enter code `123456` |
| `4811 1100 0000 0008` | Visa. No challenge, and verification fails |

Use CVV `111` unless a row says otherwise. Square supports testing with JCB cards only for sellers in Australia, Canada and Japan.

### Address and CVC checks

| Value | Result |
| --- | --- |
| CVV `911` | Declined: CVV incorrect |
| Postcode `99999` | Declined: postcode incorrect |

## ACH (US bank accounts)

Square's sandbox takes ACH payments through Plaid's test bank sign-in rather than a routing and account number. When asked to sign in to the bank, use the user name `user_good` and the password `pass_good`.

These values come from Plaid and can change.

## In person (Square terminal)

Square's sandbox doesn't support testing card-present payments, so in-person payments on a Square terminal can't be tried in the sandbox.