Skip to content

Test Data

Test cards, routing numbers, and trigger values for sandbox testing.

Overview

The sandbox environment allows you to test your integration without processing real transactions. Use the test data on this page to simulate different scenarios—approvals, declines, specific card types, and edge cases.

Sandbox Only

This test data only works in the sandbox environment. In production, these card numbers will be rejected.

Test Cards

Use these cards for successful transactions in the sandbox. Any valid expiration date (in the future) and any CVV will work.

Visa

Card NumberTypeSurchargeableCountryCard Level
4111111111111111DebitNoPOLStandard
4005519200000004CreditYesUSABusiness
4009348888881881CreditYesIDNCorporate
4012000033330026CreditYesUSAStandard
4012000077777777CreditYesUSAStandard
4012888888881881CreditYesUKRInfinite
4217651111111119DebitNoUSAStandard
4500600000000061CreditYesCANGold

Mastercard

Card NumberTypeSurchargeableCountryCard Level
5555555555554444DebitNoBRAPrepaid
2223000048400011CreditYesJPN

Amex

Card NumberTypeSurchargeableCountryCard Level
378282246310005CreditYesUSACorporate
371449635398431CreditYesUSAPersonal

Discover

Card NumberTypeSurchargeableCountryCard Level
6011111111111117CreditYesUSAPersonal

Other

Card NumberBrandTypeCountry
36259600000004Diners ClubCreditCHN
3530111333300000JCBCreditJPN

Surcharge

To test surcharge calculations, use:

  • Surchargeable card: 4005519200000004 (Visa Credit)
  • Non-surchargeable card: 4111111111111111 (Visa Debit)

Debit cards are typically not surchargeable by card network rules.


Card Triggers

These card numbers simulate specific decline reasons and edge cases.

Default Behavior

Any card number not listed here will be approved in sandbox.

Card NumberResponseUse Case
4000000000000002DeclineGeneric decline testing
4000000000009995Insufficient FundsTest NSF handling
4000000000009987Lost CardTest lost card response
4000000000009979Stolen CardTest stolen card response
4000000000000069Expired CardTest expired card handling
4000000000000010Auth succeeds, refund declinesTest refund failure scenarios
4000000000000051Partial ApprovalHalf the amount is approved

Partial Approval

When using 4000000000000051, the gateway approves only 50% of the requested amount. Your integration should:

  1. Check the amount_authorized field in the response
  2. Compare it to the amount you requested
  3. Either:
    • Accept the partial amount and collect the rest another way
    • Void the partial authorization and ask for a different payment method
json
// Request: $100.00
{
  "amount": 10000,
  "type": "sale",
  "payment_method": {
    "card": {
      "number": "4000000000000051",
      "expiration_date": "12/25"
    }
  }
}

// Response: Only $50.00 approved
{
  "status": "success",
  "response": "approved",
  "amount": 10000,
  "amount_authorized": 5000,  // Only half approved
  "response_code": 100
}

ACH

For ACH (eCheck) transactions, use any validly formatted account and routing number.

Basic

FieldValue
Account Number111111111
Routing Number111111111
Account TypeChecking or Savings

ACH Triggers

Use these routing numbers to simulate specific ACH scenarios:

Default Behavior

Any routing number not listed here will be approved in sandbox.

Routing NumberResponseDescription
000000000DeclineImmediate rejection
000000001ReturnApproved initially, then returned during settlement
000000002Late ReturnApproved initially, then late return during settlement

Returns

ACH transactions can be returned even after initial approval. This is different from card transactions:

Return TypeTimingCommon Causes
Return1-4 business daysNSF, invalid account, closed account
Late Return5-60 business daysUnauthorized transaction, fraud claim

Use webhooks to receive notifications when ACH returns occur.


CVV

The CVV (Card Verification Value) is the 3-digit code on the back of Visa/MC/Discover or the 4-digit code on the front of Amex.

CVV (Visa/MC/Discover)CID (Amex)Response CodeMeaning
2002000NDoes not match
2012011UNot verified (issuer unable to process)
3013011SIssuer does not participate in CVV
(not provided)(not provided)ICVV not provided
(any other value)(any other value)MMatches

Codes

CodeMeaningRecommended Action
MMatchProceed with transaction
NNo MatchConsider declining; possible fraud
UNot VerifiedUse other fraud signals; issuer couldn't verify
SNot SupportedIssuer doesn't support CVV; use other fraud signals
INot ProvidedYou didn't send CVV; consider requiring it

Examples

json
// Test CVV mismatch
{
  "payment_method": {
    "card": {
      "number": "4111111111111111",
      "expiration_date": "12/25",
      "cvv": "200"  // Will return "N" (no match)
    }
  }
}

AVS

AVS (Address Verification System) compares the billing address you provide against the address on file with the card issuer. In sandbox, use these postal codes to trigger specific responses:

Postal CodeResponse CodeMeaning
20000NAddress does not match
20001UAddress not verified (unavailable)
(not provided)IAddress not provided
(any other value)MAddress matches

Codes

CodeMeaningRecommended Action
MFull match (address + zip)Proceed with transaction
NNo matchHigher fraud risk; consider additional verification
UUnavailableIssuer can't verify; use other fraud signals
INot providedYou didn't send address; consider requiring it

Examples

json
// Test AVS mismatch
{
  "billing_address": {
    "address_line_1": "123 Test St",
    "city": "Chicago",
    "state": "IL",
    "postal_code": "20000"  // Will return "N" (no match)
  }
}

AVS Best Practices

AVS should be one factor in your fraud decision, not the only factor. Many legitimate transactions have partial or no AVS matches (international cards, new addresses, etc.).


Account Updater

Account Updater automatically updates stored card information when cards are reissued. Use these test cards to simulate different updater responses.

Responses

ResponseMeaningWhat to Do
updated_cardNew card number issuedUpdate stored card with new number
updated_expiryNew expiration dateUpdate stored expiration date
validCard is still validNo action needed
no_matchCard not found in updater networkCard may be closed; contact customer
contactContact cardholderReach out to customer for new card
contact_closedAccount closedRemove card; contact customer

Visa

Card NumberResponse
4012000000000016updated_card
4012000000000024updated_expiry
4012000000000032no_match
4012000000000040valid
4012000000000057contact
4012000000000065contact_closed

Mastercard

Card NumberResponse
5442980000000016updated_card
5442980000000024updated_expiry
5442980000000032no_match
5442980000000040valid
5442980000000057contact
5442980000000065contact_closed

Discover

Card NumberResponse
6011000000000012updated_card
6011000000000020updated_expiry
6011000000000038no_match
6011000000000046valid
6011000000000053contact
6011000000000061contact_closed

3DS Challenge

Use these cards to test 3D Secure (3DS) challenge flows. These cards will trigger the authentication challenge prompt during checkout.

Card NumberBrand
4012000033330026Visa
4485666666666668Visa
5100060000000002Mastercard
5472065555555557Mastercard
6011000991300009Discover
6011402344444445Discover
378282246310005American Express
340000111111117American Express

For additional 3DS test scenarios, see the Paay documentation.


Scenarios

Here are recommended test cases and which test data to use:

Happy Path

ScenarioCard/Data to Use
Successful card sale4111111111111111
Successful ACH saleAccount: 111111111, Routing: 111111111
Credit card with CVV matchAny test card + CVV 123
Credit card with AVS matchAny test card + Postal code 60601

Declines

ScenarioCard/Data to Use
Generic decline4000000000000002
Insufficient funds4000000000009995
Lost card4000000000009987
Stolen card4000000000009979
Expired card4000000000000069
ACH declineRouting: 000000000

Edge Cases

ScenarioCard/Data to Use
Partial approval4000000000000051
Refund failure4000000000000010 (auth succeeds, refund fails)
ACH returnRouting: 000000001
ACH late returnRouting: 000000002
CVV mismatchCVV 200
AVS mismatchPostal code 20000

Surcharge

ScenarioCard to Use
Surchargeable (credit)4005519200000004
Non-surchargeable (debit)4111111111111111

Expiration Dates

Any valid future expiration date will work in sandbox. Common test values:

  • 12/27
  • 12/30

Troubleshooting

IssueSolution
Card declined unexpectedlyMake sure you're using sandbox environment, not production
CVV/AVS not matching triggersVerify you're sending the exact trigger value (e.g., 200 not 0200)
ACH not returningReturns are processed during settlement; check webhooks
Test card not recognizedEnsure the card number has no spaces or dashes

Last updated: