Square test cards
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.
How to choose a test result
Section titled “How to choose a test result”- Square’s sandbox refuses real cards and accepts only its own test values.
- The card number sets the result. For the error triggers, 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 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). 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 when the checkout asks you to connect a bank.
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
Section titled “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
Section titled “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
Section titled “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
Section titled “Address and CVC checks”| Value | Result |
|---|---|
CVV 911 |
Declined: CVV incorrect |
Postcode 99999 |
Declined: postcode incorrect |
ACH (US bank accounts)
Section titled “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)
Section titled “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.
Was this page helpful?
What went wrong?
Thanks for telling us.