# Express Checkout with Payflow Gateway - testing (/api/nvp-soap/payflow/express-checkout/testing)



To test your integration, PayPal provides a [sandbox](https://www.sandbox.paypal.com/) testing environment to verify that your integration is working properly before releasing it to your buyers. The sandbox environment is a duplicate of the live PayPal environment, except no money changes hands.

## Create sandbox accounts [#create-sandbox-accounts]

You must create the following sandbox accounts:

* [PayPal Manager test account for Payflow Gateway](#create-a-paypal-manager-test-account)

* [PayPal Developer account](#create-a-paypal-developer-account)

* [PayPal sandbox seller and buyer accounts](#create-paypal-sandbox-seller-and-buyer-accounts)

> **Note:** **Important:** Once you have created these accounts, you must link your PayPal Manager test account to your seller sandbox account.

## Create a PayPal Manager test account [#create-a-paypal-manager-test-account]

To create a [PayPal Manager](https://manager.paypal.com/) test account:

1. Go to [https://registration.paypal.com/welcomePage.do](https://registration.paypal.com/welcomePage.do).

2. Click **Continue**.

3. Fill out the rest of the form. Select this option: I do not have a Processor. Setup test account.

4. Choose a unique and case sensitive merchant login, for example, `payflowtest`.

5. On the next page, do *not* click Continue, which activates the account and bills you. Instead, click the blue button labeled **Login to PayPal Manager**, which creates a test account.

You can login to your gateway account on the [PayPal Manager](https://manager.paypal.com/) website.

Once you log into [PayPal Manager](https://manager.paypal.com/), create an API user:

1. Click **Account Adminstration**.

2. Click **Manage Users**.

3. Click **Add User**.

4. Create a new user and under *Assign privilege to User* choose one of the predefined roles:

   * *API FULL TRANSACTIONS*. Allows the API user to perform all transaction types including credits.

   * *API LIMITED TRANSACTIONS*. Allows the API user to perform sale and authorization transactions only.

5. Click **Update** to create the user. Use these new user credentials for your website, shopping cart, etc.

> **Note:** **Note:** For external applications, websites should use the `API LIMITED TRANSACTIONS` user only and for back-end applications use the `API FULL TRANSACTIONS` user.

With an API user set up, use the credentials to populate the following fields in your requests:

<div className="pl-[1.625rem]" />

```text lineNumbers
VENDOR=your-login-id&USER=user-id&PWD=user-password&PARTNER=your-partner-id
```

> **Note:** **Note:** Your login ID is case sensitive.

## Create a PayPal Developer account [#create-a-paypal-developer-account]

The PayPal Developer account allows merchants and developers to create, reset and delete sandbox accounts. Additionally, all emails generated by the sandbox are delivered to a special mailbox that is only accessible from the [PayPal Developer portal](/). If you have a live PayPal account, you can sign in using those credentials. If not, create a new account and login. Use the Developer portal to manage all your PayPal development related work.

## Create PayPal sandbox seller and buyer accounts [#create-paypal-sandbox-seller-and-buyer-accounts]

For testing PayPal Express Checkout, you will have to create at least two sandbox accounts on the developer portal, a seller account and a buyer account.

1. Go to the [developer portal](/dashboard/) and login with your developer account from the previous section.

2. Under Sandbox, click **Accounts**, then click **Create Account** on the right hand side of the page.

3. For a Seller Account, set the account type to **Business**. Enter a real or fake email address and a simple password that is easy to remember, such as, `123456789`.

4. Click **Create Account**.

5. To create a buyer account, follow the same steps used to create a seller account above. Set the account type to **Personal** instead of business and enter a high balance amount, such as, `5000`.

## Link the test Manager account with the seller sandbox account [#link-the-test-manager-account-with-the-seller-sandbox-account]

When you've created your buyer and seller sandbox accounts, you're ready to link them to Payflow Pro Manager. Here's how:

1. Log in to your [PayPal Manager](https://manager.paypal.com/) account.

2. Enter your **Partner**, **Merchant Login**, **User** (if applicable) and **Password**, and click **Log In**.

3. Select **Service Settings** > **Set Up**.

4. Under PayPal Express Checkout you'll see **PayPal sandbox email address**. Enter your **PayPal sandbox Seller email address** and scroll to the bottom of the page and click **Save**.

Payflow Manager has now been synced with your PayPal sandbox account and is ready to begin accepting sandbox test transactions.

> **Note:** **Note:** If you don't see the PayPal Express Checkout section on the Set Up page, contact PayPal Customer Service by phone at 1-888-883-9770 or email at [payflow-support@paypal.com](mailto:payflow-support@paypal.com), ask that Express Checkout be added to your Payflow account for testing purposes, and provide your PayPal sandbox email address and your Payflow Merchant login information.

## Credit cards for testing in the sandbox [#credit-cards-for-testing-in-the-sandbox]

In your buyer or personal sandbox account, you can enter generated test credit card numbers for use in your test transactions. You can use credit card numbers generated from the PayPal Developer [Credit Card Generator](/credit-card-number-generator).

In the expiry date field, `ExpDate`, enter any date in future in the format `mmyy`, such as, `1220`. In the card security code field, `Cvv2`, enter a number such as, `111`, `123` or `1234`.

## Handle errors (optional) [#handle-errors-optional]

In some cases, if the transaction does not go through due to buyer funding issues that the buyer can correct, you can notify the buyer of the issue.

### Implementing 10486 error redirect [#implementing-10486-error-redirect]

If you get an error on the final `DoExpressCheckoutPayment` API call with the code `10486`, it is because of lack of funds in the funding source selected by the buyer. In such a scenario you should redirect the buyer back to PayPal. See [How to recover from funding failure error code 10486 in Express Checkout](/archive/express-checkout/ht-ec-fundingfailure10486).

## Additional information [#additional-information]

* Express Checkout best practices
  —
  [PayPal User Interface Standards](https://www.paypalobjects.com/webstatic/en_US/developer/docs/pdf/pp_ecplacement_guide.pdf) help increase your conversion with your customers when they use PayPal Express Checkout and can help you optimize the customer experience for your integration.

* PayPal images and logos
  —
  [PayPal buttons reference page](https://www.paypal.com/webapps/mpp/logos-buttons).

* [Express Checkout for Payflow Gateway reference guide](https://www.paypalobjects.com/webstatic/en_US/developer/docs/pdf/pfp_expresscheckout_pp.pdf).

* [Payflow developer guide](/api/nvp-soap/payflow/integration-guide/).
