Skip to main content

What are Test Cards?

Test cards are fake credit card numbers that work in the sandbox environment. They let you test payment flows without using real cards or moving real money. Why use test cards:
  • Safe testing: No risk of accidentally charging real cards
  • Predictable results: Each test card returns a specific response
  • Test scenarios: Simulate approvals, declines, and errors
  • Free: No cost to test as much as you want
Important: Test cards only work in sandbox. They will be declined in production. Always use sandbox (api-sandbox.revolv3.com) when testing.

Sandbox Behavior and Limitations

ACH Transactions

  • Status: ACH transactions typically start in Pending status
  • Settlement: Can take 1-2 business days to settle (even in sandbox)
  • Webhooks: Use webhooks to receive status updates when ACH completes

Account Updater

  • Sandbox support: Account Updater in sandbox is only supported by WorldPay
  • Other processors: May not show account updates in sandbox

Rate Limits

  • Sandbox has rate limits and simulator constraints
  • Test high-volume flows carefully
  • Some behaviors may differ from production

WorldPay Test Cards

WorldPay provides comprehensive test card documentation. For the most up-to-date list, see: WorldPay Test Card Documentation

Example: Successful Payment

{
  "CreditCard": {
    "PaymentAccountNumber": "4444333322221111",
    "ExpirationDate": "0330",
    "SecurityCode": "737"
  }
}
Result: Payment should be approved.

Example: Declined Payment

{
  "CreditCard": {
    "PaymentAccountNumber": "4457002900000007",
    "ExpirationDate": "0330",
    "SecurityCode": "737"
  }
}
Result: Payment will be declined with “Generic Decline” message. Response example:
{
  "invoiceStatus": "Noncollectable",
  "invoiceAttemptStatus": "Fail",
  "message": "Generic Decline"
}

WorldPay ACH Test Data

For testing ACH payments with WorldPay:
{
  "ACH": {
    "RoutingNumber": "011075150",
    "AccountNumber": "1099999999",
    "AccountType": "Checking"
  }
}
For ACH testing, WorldPay provides test data: WorldPay ACH Test Data

WorldPay Account Updater

For testing Account Updater functionality: WorldPay Account Updater Test Cards Example:
{
  "CreditCard": {
    "PaymentAccountNumber": "5112010000047111",
    "ExpirationDate": "0899",
    "SecurityCode": 737
  }
}

Adyen Test Cards

Adyen provides test card numbers for their sandbox environment: Adyen Test Card Numbers

Example

{
  "CreditCard": {
    "PaymentAccountNumber": "4444333322221111",
    "ExpirationDate": "0330",
    "SecurityCode": "737"
  }
}

Nuvei Test Cards

Nuvei provides test cards for sandbox testing: Nuvei Test Cards Documentation

ACH Test Data

For successful ACH responses in Nuvei sandbox:
{
  "ACH": {
    "RoutingNumber": "011075150",
    "AccountNumber": "1099999999",
    "AccountType": "Checking"
  }
}

ACH Decline Test Cases

To test ACH declines, use these values: For declined deposits or pre-approvals:
  • Account number: 3666394279
  • Routing number: 123456780
Trigger amounts (use these specific amounts to trigger different responses):
  • NSF (Insufficient Funds): Use amount 1.27
  • Declined response: Use amount 1.30
Example request:
{
  "ACH": {
    "RoutingNumber": "123456780",
    "AccountNumber": "3666394279",
    "AccountType": "Checking"
  },
  "Invoice": {
    "Amount": {
      "value": 1.27  // Triggers NSF response
    }
  }
}

EPX Test Cards

EPX (PaymentHub) provides test card data:

Credit Card Test Data

  • Payment Account Number: 4000000000000002
  • Security Code: 123
  • Expiration Date: Any future date (must be greater than current date)
  • Amount for success: Use 1.00 for successful transactions
EPX Test Data Documentation

Example Request

{
  "CreditCard": {
    "PaymentAccountNumber": "4000000000000002",
    "ExpirationDate": "1225",
    "SecurityCode": "123"
  },
  "Invoice": {
    "Amount": {
      "value": 1.00  // Use 1.00 for success
    }
  }
}

EPX Test Amounts

Different amounts trigger different responses. See the EPX documentation for the complete table, or refer to the image in the documentation: EPX test amounts and responses Note: Create a developer account with EPX to see the most up-to-date test card options.

TSYS Test Cards

Visa Test Card

  • Card number: 4012000098765439
  • Expiration: 12/25
  • CVV: 999
  • Amount for success: 0.52

MasterCard Test Cards

  • Card number: 5146 XXXX 3150 0000 or 5146 XXXX 3122 0000
  • Use standard expiration and CVV

Testing Billing Address

For TSYS, the billing address values are important and trigger different results:
{
  "BillingAddress": {
    "AddressLine1": "100 Main St",
    "City": "Tempe",
    "State": "AZ",
    "PostalCode": "85284",
    "Country": "USA"
  }
}
Important: The address values matter for TSYS—different addresses can trigger different test responses.

Best Practices for Testing

  1. Use sandbox: Always test in sandbox (api-sandbox.revolv3.com) before production
  2. Test all scenarios: Test both success and failure cases
  3. Use webhooks: Set up webhooks to test async scenarios (like ACH)
  4. Test edge cases: Try different amounts, expired cards, etc.
  5. Keep test data separate: Don’t mix test and production data

Common Questions

Q: Can I use these cards in production? A: No, test cards only work in sandbox. They will be declined in production. Q: Do test cards expire? A: Use future expiration dates. The exact date doesn’t matter as long as it’s in the future. Q: What if a test card doesn’t work? A: Check the processor documentation for the most current test cards. Test card numbers can change. Q: Can I test all decline codes? A: Different processors support different test scenarios. Check each processor’s documentation for specific decline codes.

Next Steps