# PayPal Payflow Pro test cards

> Test card numbers, amounts and other details for PayPal Payflow Pro's test environment, and the result each one gives.

Use these details to try payments in a PayPal Payflow Pro sandbox (test) account. They work only in the sandbox: never use them in live, and never put real card or bank details into a sandbox.

Payflow's test servers simulate the payment network, and the amount you enter decides the result. Which results you can trigger depends on the card processor set up for your Payflow account, which you can see in PayPal Manager.

:::note[Where these details come from]
These are PayPal's test details, not ours. They were copied from PayPal's [Test Payflow transactions](https://developer.paypal.com/api/nvp-soap/payflow/payflow-pro/payflow-pro-testing/), [Test transactions](https://developer.paypal.com/api/nvp-soap/payflow/integration-guide/test-transactions/) and [Card testing](https://developer.paypal.com/tools/sandbox/card-testing/) pages on 19 October 2026, and were correct on that date as far as those pages show. PayPal can change or withdraw them at any time, and we can't confirm that they work. Check PayPal's pages for the current details, and ask PayPal if one doesn't behave as described.
:::

## How to choose a test result

- **Sandbox:** tick **Sandbox** on the Payflow Pro connection here, so payments go to Payflow's test servers. Only the [test card numbers](https://developer.paypal.com/api/nvp-soap/payflow/integration-guide/test-transactions/) below work there.
- **Approvals and declines:** the [amount](https://developer.paypal.com/api/nvp-soap/payflow/payflow-pro/payflow-pro-testing/) sets the result. Type it in the checkout as shown below, for example `1012` for a decline. Which results you can trigger depends on the processor behind your Payflow account.
- **Address and postcode checks:** the first line of the billing address and the billing postcode set the [address check results](https://developer.paypal.com/api/nvp-soap/payflow/integration-guide/test-transactions/). Switch on **Require address (AVS)** on the Payflow Pro connection here so that the checkout asks for the billing address.
- **CVC checks:** the CVC you enter sets the CVC check result.

## Cards

Use only these test card numbers: any other number gives an error. The expiry date must be a valid date in the future.

If your Payflow account uses PayPal as its processor and has a PayPal sandbox email address set up (in PayPal Manager under **Service Settings**, then **Set Up** under **Hosted Checkout Page**), these numbers and amounts don't apply. Use the credit card generator on PayPal's [Card testing](https://developer.paypal.com/tools/sandbox/card-testing/) page instead.

### Successful payments

Any amount from `0` to `1000` is approved.

| Card | Number | Notes |
| --- | --- | --- |
| Visa | `4111 1111 1111 1111` | |
| Mastercard | `5555 5555 5555 4444` | |
| American Express | `3782 822463 10005` | |
| Discover | `6011 1111 1111 1117` | |
| Diners Club | `3056 930902 5904` | |
| JCB | `3530 1113 3330 0000` | |

PayPal lists more test numbers on its [Test transactions](https://developer.paypal.com/api/nvp-soap/payflow/integration-guide/test-transactions/) page.

### Declines and errors

Use any test card above with one of these amounts. Amounts from `1001` to `2000` that aren't listed are declined.

| Number or trigger | Result |
| --- | --- |
| Amount `1012`, or any amount of `2001` or more | Declined (RESULT 12) |
| Amount `1013` | Referral (RESULT 13) |
| Amount `1104` | Timeout waiting for the processor (RESULT 104) |
| Amount `1050` | Declined: insufficient funds (RESULT 50). Paymentech only |
| Amount `1030` | Duplicate transaction (RESULT 30). Global Payments only |
| Amount `1114` | CVC mismatch (RESULT 114). TSYS Acquiring Solutions, Merchant e-Solutions and Global Payments only |
| Amount `2000` | Generic processor error (RESULT 1000). Not Elavon, American Express or Global Payments |

PayPal's [Test transactions](https://developer.paypal.com/api/nvp-soap/payflow/integration-guide/test-transactions/) page lists which results each processor supports.

### Address and CVC checks

The test servers set the address check result from the first three digits of the billing street address, and the postcode check result from the billing ZIP or postcode.

| Value | Result |
| --- | --- |
| Street address starting `000` to `333` (for example `24285 Elm`) | Street matches (Y) |
| Street address starting `334` to `666` (for example `49354 Main`) | Street doesn't match (N) |
| Street address starting `667` or higher, or with a letter | Street and postcode both return X |
| Postcode `00000` to `50000` (for example `00382`) | Postcode matches (Y) |
| Postcode `50001` to `99999` (for example `94303`) | Postcode doesn't match (N) |
| CVC `000` to `300` | CVC matches (Y) |
| CVC `301` to `600` | CVC doesn't match (N) |
| CVC `601` or higher | CVC check not supported (X) |

Some processors decline the payment (RESULT 12) when the CVC doesn't match, without returning a CVC result.