Skip to main content

PayPal Sandbox Test Cards

Official test cards and negative response rejection triggers for PayPal Sandbox, REST APIs, and Advanced Credit and Debit Card Payments testing.

Official PayPal Docs
Developer Notice: PayPal test cards are intended only for PayPal's designated test environment. They do not represent real financial accounts and are not intended for live payment authorization.
Source: Official PayPal testing documentation · Last verified against PayPal documentation: 16 September 2026
Verification methodology →
Need synthetic test numbers for frontend form validation? See our Test Credit Card Numbers guide to understand the difference between synthetic QA fixtures and PayPal's official sandbox values.
Read Guide
Scenario / Test Goal Test Card Number Expiry CVV Expected Result Verification
Successful authorization (Visa)
4012 8888 8888 1881 Any future date 123 Authorization and capture succeed in sandbox environment. Verified against official source Recorded: 2026-09-16 Verified against the linked official provider documentation on 2026-09-16.
Successful payment (Mastercard)
2223 0000 4840 0011 Any future date 123 Payment completes successfully on Mastercard network. Verified against official source Recorded: 2026-09-16 Verified against the linked official provider documentation on 2026-09-16.
Successful payment (American Express)
3714 4963 5398 431 Any future date 1234 Payment completes successfully on American Express network. Verified against official source Recorded: 2026-09-16 Verified against the linked official provider documentation on 2026-09-16.
Card Refused (Rejection Trigger)
Cardholder Name: CCREJECT-REFUSED
4012 8888 8888 1881 Any future date 123 Simulates Card refused with processor response code 0500 (DO_NOT_HONOR). Set Cardholder Name to trigger. Verified against official source Recorded: 2026-09-16 Verified against the linked official provider documentation on 2026-09-16.
Card Declined (Rejection Trigger)
Cardholder Name: CCREJECT-BANK_ERROR
4012 8888 8888 1881 Any future date 123 Simulates Card is declined with processor response code 5100 (GENERIC_DECLINE). Set Cardholder Name to trigger. Verified against official source Recorded: 2026-09-16 Verified against the linked official provider documentation on 2026-09-16.
Insufficient Funds (Rejection Trigger)
Cardholder Name: CCREJECT-IF
4012 8888 8888 1881 Any future date 123 Simulates Insufficient funds with processor response code 5120 (INSUFFICIENT_FUNDS). Set Cardholder Name to trigger. Verified against official source Recorded: 2026-09-16 Verified against the linked official provider documentation on 2026-09-16.

Using PayPal Test Cards and Rejection Triggers

PayPal Sandbox provides distinct mechanisms for testing payment flows: source-verified test card numbers for successful authorizations, case-sensitive card rejection triggers in checkout fields, and HTTP mock response headers for direct REST API simulation.

1. Configure Sandbox Credentials & Endpoints

Authenticate your integration using sandbox API credentials generated in the PayPal Developer Dashboard. Initialize client SDK buttons or direct REST API requests targeting PayPal's sandbox endpoint (api-m.sandbox.paypal.com).

2. Successful Sandbox Card Testing

Use official sandbox card numbers from the table above for Visa, Mastercard, or American Express. Test transactions require any future expiration date and a valid CVV format (123 for Visa/Mastercard, or 1234 for Amex). These cards simulate successful authorization and capture only in PayPal Sandbox and carry no monetary value or live validity.

3. Card-Level Error Simulation (CCREJECT Triggers)

For PayPal Expanded Checkout and card fields, simulate card-level decline states by entering case-sensitive rejection triggers (such as CCREJECT-*) into the First Name or Name on Card field instead of changing the card number. These card triggers simulate bank-level rejections and produce documented processor response codes.

4. Inspect Capture Status & Processor Codes

When capturing or authorizing an order, inspect the returned API response status and the processor_response object (including response_code) to verify that your application presents appropriate customer error messaging and alternative payment options.

Verified Card Rejection Triggers & Processor Codes

In supported Expanded Checkout flows, use the Visa sandbox test card with the following case-sensitive name triggers to produce documented processor response codes:

  • Card Refused Trigger Simulates DO_NOT_HONOR (processor response code 0500). Set cardholder name to the refusal trigger shown in the table to test customer messaging when an issuer refuses authorization.
  • Card Declined Trigger Simulates GENERIC_DECLINE (processor response code 5100). Set cardholder name to the bank error trigger shown in the table to test generic bank decline handling.
  • Insufficient Funds Trigger Simulates INSUFFICIENT_FUNDS (processor response code 5120). Set cardholder name to the insufficient funds trigger shown in the table to test low balance alerts and retry prompts.

API-Level Negative Testing (PayPal-Mock-Response)

In addition to card-level rejection triggers, PayPal REST sandbox integrations can simulate API-layer error conditions by supplying a PayPal-Mock-Response request header on supported requests. These test a completely different layer of the integration than checkout cardholder name triggers:

INSTRUMENT_DECLINED Simulates an order capture failure where the payment instrument is declined, allowing you to test buyer redirect and retry handling.
TRANSACTION_REFUSED Simulates an immediate transaction refusal returned by the PayPal payment engine during order processing.
INTERNAL_SERVER_ERROR Simulates HTTP 500 service unavailability to test application retry policies, logging, and customer fallback messaging.

Note on Sandbox Account Settings: Some PayPal sandbox/API negative-testing workflows require negative testing to be enabled for the sandbox business account under account settings in the PayPal Developer Dashboard. However, card-level testing triggers operate as form-level test values in supported checkout flows and do not require the PayPal-Mock-Response header.

Other Gateway Sandboxes: Stripe Adyen Braintree Square Razorpay

Related Payment Testing Tools & Resources