Test Card Numbers & 3D Secure Testing

This guide provides the simulated credit card numbers and step-by-step instructions you'll need to test payment flows including 3D Secure (3DS) authentication in the sandbox environment before going live.

Never use real card details in the sandbox. All numbers below are simulated test values only and will not process real transactions.

When submitting these cards via the API or VoPay Account portal, you can use any cardholder name, CVV, and future-dated expiry unless a specific value is called out below.

Successful Transactions

Use these cards to simulate a fully successful, non-3DS payment.

Card NumberCard TypeDescription
4263970000005262VisaSuccessful transaction
5425230000004415MastercardSuccessful transaction
374101000000608American ExpressSuccessful transaction
36256000000725Diners ClubSuccessful transaction
6011000000000087DiscoverSuccessful transaction

Declined Transactions

Use these to simulate common decline scenarios by card brand.

Card NumberCard TypeResult CodeDescription
4000120000001154Visa101Declined by the bank
4000130000001724Visa102Referral B
4000160000004147Visa103Referral A – Card reported lost/stolen
4009830000001985Visa200Communication error
4242420000000091Visa111Strong Customer Authentication required
5114610000004778Mastercard101Declined by the bank
5114630000009791Mastercard102Referral B
5121220000006921Mastercard103Referral A – Card reported lost/stolen
5135020000005871Mastercard200Communication error
5100000000000131Mastercard111Strong Customer Authentication required
376525000000010American Express101Declined by the bank
375425000000907American Express102Referral B
343452000000306American Express103Referral A – Card reported lost/stolen
372349000000852American Express200Communication error
374205502001004American Express111Strong Customer Authentication required

3D Secure 2 (3DS2) Testing

A simulated issuer Access Control Server (ACS) is provided so you can test different 3DS2 outcomes for Visa and Mastercard without a live issuer.

Setup note: To use the newer message-version 2.2 fields and values, include the header X-GP-VERSION: 2.2.0 on your requests.

Visa — Message Version 2.2

Card NumberFlow TypeTransaction ResultExpected ECI
4222000006285344FrictionlessAuthentication successful05
4222000009719489FrictionlessAuthentication successful – no method URL05
4222000005218627FrictionlessAuthentication attempted but not successful*06
4222000002144131FrictionlessAuthentication failed07
4222000007275799FrictionlessAuthentication issuer rejected07
4222000008880910FrictionlessAuthentication could not be performed07
4222000001227408ChallengeChallenge requiredN/A

*The bank still offers chargeback protection in this scenario, so the transaction is expected to proceed as a success.

Mastercard — Message Version 2.2

Card NumberFlow TypeTransaction ResultExpected ECI
5354560000000004FrictionlessAuthentication successful02
5571596304025153FrictionlessAuthentication successful – no method URL02
5580364874958322FrictionlessAuthentication attempted but not successful01
5540010585397800FrictionlessAuthentication failed00
5588312194362669FrictionlessAuthentication issuer rejected00
5520680211891022FrictionlessAuthentication could not be performed00
5506874496684651ChallengeChallenge requiredN/A

The Electronic Commerce Indicator returned will always tell you whether liability has shifted to the issuer in your favor. Exact values can vary slightly by issuer in production, but the values above are what the sandbox simulator returns.

3DS Testing Tips

  • Use the exact card numbers above - substituting your own test PAN won't trigger the ACS simulator correctly, and challenge screens may fail to load.
  • Challenge flow cards (4222000001227408 for Visa, 5506874496684651 for Mastercard) will route the user to a hosted challenge page during testing build your integration to expect a redirect/iframe step for these.
  • Frictionless flow cards complete authentication in the background with no shopper interaction, so your integration should proceed straight to authorization.

General Testing Notes

  • No real data: These are simulated values only — do not attempt to process live transactions with them.
  • Free-form fields: Outside of the specific expiry/CVV combinations called out for network tokens or Click to Pay, you can enter any cardholder name, CVV, and any future-dated expiry.
  • Result codes: 00 = approved. Non-zero codes map to specific decline/referral/error reasons per the tables above — use these to validate your integration's handling of each scenario.
  • Digital wallets (Apple Pay / Google Pay): These use amount-based simulation rather than card numbers reach out to your VoPay implementation contact if you need the wallet-specific test amount tables.

Did this page help you?