EPaySe
Testing

Sandbox Test Cards

Test card numbers for simulating different payment scenarios

Quick Reference

Card NumberBrandScenarioStatus
3782 8224 6310 005
amex
✅ American Express - Immediate success
SUCCESS
4000 0000 0000 0002
visa
⏳ Visa - Multi-stage: ATTEMPT → PENDING → SUCCESS (simulates async processing)
SUCCESS
4000 0000 0000 3220
visa
🔐 Visa - 3DS authentication required (simulates 3D Secure flow)
SUCCESS
4242 4242 4242 4242
visa
✅ Visa - Immediate success (most common scenario)
SUCCESS
5200 8282 8282 8210
mastercard
🔐 Mastercard - 3DS authentication required
SUCCESS
5555 5555 5555 4444
mastercard
✅ Mastercard - Immediate success
SUCCESS
4000 0000 0000 0010
visa
⏳ Visa - Multi-stage: ATTEMPT → PENDING → FAIL (simulates delayed failure)
FAIL
4000 0000 0000 0051
visa
❌ Visa - Generic card decline
FAIL
4000 0000 0000 0069
visa
❌ Visa - Expired card
FAIL
4000 0000 0000 0101
visa
❌ Visa - Insufficient funds
FAIL
4000 0000 0000 0127
visa
🔍 Visa - Transaction requires manual review (high-risk indicators)
REVIEW
4000 0000 0000 0135
visa
📄 Visa - Requires document verification (KYC/AML compliance)
REQUIRE_DOCUMENT
4000 0000 0000 0143
visa
🚫 Visa - Transaction cancelled by user
CANCEL
4000 0000 0000 0150
visa
⏰ Visa - Transaction expired (no payment within time limit)
EXPIRE
4000 0000 0000 0168
visa
⚠️ Visa - Incomplete transaction (user abandoned checkout)
INCOMPLETE
4000 0000 0000 0176
visa
💥 Visa - Processing error (system/network failure)
ERROR

How to Use Test Cards

  1. 1. Use these card numbers in your sandbox/test environment
  2. 2. Enter any valid future expiration date (MM/YY format)
  3. 3. Use any 3-digit CVV code (e.g., 123)
  4. 4. The card will simulate the described scenario

Code Example

Bash
Using Test Cards
# 1. Create a sandbox transaction. The request has NO card fields — it is the same body as
#    on the Transaction API page (sign it as shown on the Authentication page; SIGNATURE, TIMESTAMP
#    and NONCE are computed as in the cURL example on the Testing page).
curl -X POST "https://sandbox-gateway.epayse.com/api/v1/transaction/create" \
  -H "Content-Type: application/json" \
  -H "X-Api-Key-Id: $API_KEY_ID" \
  -H "X-Signature: $SIGNATURE" \
  -H "X-Timestamp: $TIMESTAMP" \
  -H "X-Nonce: $NONCE" \
  -H "X-Signature-Version: 3" \
  -d '{"ref":"ORDER-1001","amount":100.5,"currency":"USD","websiteUrl":"https://example.com","redirectUrl":"https://example.com/payment/success","cancelUrl":"https://example.com/payment/cancel","description":"Premium subscription - monthly","customerDetails":{"firstName":"John","lastName":"Doe","email":"[email protected]","country":"US","ip":"203.0.113.10","phoneCode":"US","phoneNumber":"5551234567"}}'

# 2. The response contains data.checkoutUrl. Open https://sandbox-gateway.epayse.com + that path in a
#    browser and enter a test card on the checkout page:
#      Card number   4242 4242 4242 4242    (success test card — see the table above)
#      Expiry        12/36
#      CVV           123

Successful Payments

These cards simulate immediate successful transactions.

amex
SUCCESS

3782 8224 6310 005

✅ American Express - Immediate success

Processing Delay:
2s
visa
SUCCESS

4242 4242 4242 4242

✅ Visa - Immediate success (most common scenario)

Processing Delay:
2s
mastercard
SUCCESS

5555 5555 5555 4444

✅ Mastercard - Immediate success

Processing Delay:
2s

Multi-Stage Transitions

These cards simulate asynchronous payment processing with multiple state changes.

visa
SUCCESS

4000 0000 0000 0002

⏳ Visa - Multi-stage: ATTEMPT → PENDING → SUCCESS (simulates async processing)

State Flow:
ATTEMPT
(1s delay)
PENDING
(3s delay)
SUCCESS
(2s delay)
visa
FAIL

4000 0000 0000 0010

⏳ Visa - Multi-stage: ATTEMPT → PENDING → FAIL (simulates delayed failure)

State Flow:
ATTEMPT
(1s delay)
PENDING
(3s delay)
FAIL
(2s delay)
Error Code:
card_declined

Failed Payments

These cards simulate various payment failure scenarios.

visa
FAIL

4000 0000 0000 0051

❌ Visa - Generic card decline

Error Code:
card_declined
Error Message:
Your card was declined
visa
FAIL

4000 0000 0000 0069

❌ Visa - Expired card

Error Code:
expired_card
Error Message:
Your card has expired
visa
FAIL

4000 0000 0000 0101

❌ Visa - Insufficient funds

Error Code:
insufficient_funds
Error Message:
Your card has insufficient funds

Manual Review & Document Requirements

These cards trigger manual review or document verification flows.

visa
REVIEW

4000 0000 0000 0127

🔍 Visa - Transaction requires manual review (high-risk indicators)

Additional Information:
review reason:high_risk_indicators
expected review time:24-48 hours
visa
REQUIRE_DOCUMENT

4000 0000 0000 0135

📄 Visa - Requires document verification (KYC/AML compliance)

Additional Information:
required documents:government_id, proof_of_address
document deadline:7 days

Cancellations & Expirations

These cards simulate user cancellations, expirations, and incomplete transactions.

visa
CANCEL

4000 0000 0000 0143

🚫 Visa - Transaction cancelled by user

visa
EXPIRE

4000 0000 0000 0150

⏰ Visa - Transaction expired (no payment within time limit)

expiry reason:timeout
original expiry minutes:30
visa
INCOMPLETE

4000 0000 0000 0168

⚠️ Visa - Incomplete transaction (user abandoned checkout)

System Errors

This card simulates processing errors and system failures.

visa
ERROR

4000 0000 0000 0176

💥 Visa - Processing error (system/network failure)

Error Code:
processing_error
Error Message:
An error occurred while processing your payment

3D Secure Authentication

These cards require 3D Secure authentication.

visa
SUCCESS
3DS

4000 0000 0000 3220

🔐 Visa - 3DS authentication required (simulates 3D Secure flow)

3ds version:2.0
authentication type:frictionless
mastercard
SUCCESS
3DS

5200 8282 8282 8210

🔐 Mastercard - 3DS authentication required

3ds version:2.0
authentication type:challenge

Testing Tips

1

Test both success and failure scenarios

2

Verify webhook handling for all statuses

3

Test multi-stage transitions for async flows

4

Validate error messages and error codes