Upgrade to PayPal Complete Payments

Unlock the latest features from PayPal and get ready for innovative features coming to PayPal Complete Payments this summer. Share these instructions with your Developer.


Verify your current integration

If you’re using JavaScript SDK buttons and REST API, you’re good to go. Just make sure that your checkout experience is based on version 2 of our Orders API.




If you’re using an older PayPal solution, you’ll need to upgrade. The following legacy solutions require an update to PayPal Complete Payments:

  • Payflow
  • PayPal Pro
  • PayPal Payments Pro
  • Express Checkout
  • Website Payments Standard
  • Checkout.js
  • Orders/Payments v1 APIs

Note: If you need assistance verifying your current integration, call us at (888) 429-3035 or submit this form.


Choose between Standard and Advanced versions of PayPal Complete Payments

For maximum flexibility, we recommend integrating Advanced Checkout, which gives you the ability to customize every aspect of your checkout experience. See applicable rates and fees.


Standard Checkout

Includes PayPal, Pay Later, and Venmo (US only).
Advanced Checkout

Includes PayPal, Pay Later, Venmo (US only), custom credit card fields, and alternative payment methods.
image image

Know before you code:

Ensure your account is ready to upgrade. Complete this form before you begin so we can help you along the way.


Set up your sandbox

Get your API keys

Log in to the Developer Dashboard to create a REST API app and obtain your client ID and access token.

Set up your sandbox accounts

Get your sandbox credentials, including business and personal accounts for testing on web and mobile apps.


Set up payment buttons

If you’ve been with PayPal a long time, you may still be using “static” graphical PayPal buttons, such as clickable GIFs. To get all the features of PayPal Complete Payments, start by upgrading your static buttons to JavaScript SDK buttons. The JavaScript SDK keeps your integration current with the latest button styles and payment and donation features.

Upgrade static buttons

Follow steps 1-2 in this guide to upgrade your buttons to JavaScript SDK.

Customize buttons

See the JavaScript SDK reference to configure the look and feel of your buttons.

Set data attributes

See the JavaScript SDK reference to specify the required data attributes for your experience. Initiate payment must include intent, commit, amount, currency, description of purchase and unique order reference. These attributes must align to your server-side processing.


Set up server-side processing

Use the Orders v2 API to create, update, retrieve, authorize, and capture orders. Use the Payments v2 API for post-payment actions.

Set up a payment or donation

Follow steps 3-4 in this guide to set up a basic transaction and finalize a payment or donation1 using the Orders v2 API.

1. Payment methods such as Apple Pay, Google Pay, and Pay Later are not available to non-profits.

Map your parameters

Check if your current parameters are supported on Orders v2, then convert your current API integration to Orders v2.

Fine tune your experience

See the Orders v2 API Reference to configure the details of your integration.


Customize your integration

With PayPal Complete Payments, you can enjoy the full breadth of PayPal capabilities.

Subscriptions and recurring payments

Create subscriptions to bill customers at regular intervals.

Pay Later offers

Add Pay Later buttons and messaging to your checkout integration.

Pay with Venmo

Add Venmo as a payment button to your checkout integration (US only).

Save payment methods

Save payment methods so payers don't have to enter details for future transactions.

Apple Pay/Google Pay

Accept mobile payments and digital wallets, such as Apple Pay and Google Pay.

Alternative payment methods

Allow customers to pay with their bank accounts, wallets, and other local payment methods.

Note: See a comparison of Standard and Advanced Checkout features.


Test and go live

When coding is complete, you’re ready to test and go live with your integration.


Test your integration in the PayPal sandbox.

Go Live

Update your code with your live client ID and start processing live transactions. Remember to swap the credentials and API URL from sandbox to production when going live with your integration.

If you have any issues accepting live payments or donations, contact us at (888) 429-3035 and ask us to activate PayPal Complete Payments on your account.

Reference and Links

API References

Integration Resources

  • Use our video library to integrate PayPal Complete Payments directly or follow instructions on how to set it up with one of our eCommerce platforms.
  • Use Postman to explore PayPal’s REST APIs without a developer account.
  • Use the integration builder to choose your payment options, adjust the layout, and see a preview of the checkout experience.
  • SDKs are available to help with the integration on GitHub.


Where do I start?

Start with setting up your sandbox environment by following the sandbox test guide along with the YouTube guide.

What is a client ID?

If your previous integration was through NVP/SOAP, then you will likely have not encountered a client ID during development. A client ID is a unique credential that is required to execute the API calls using PayPal’s JavaScript SDK.

How can I get the client ID?

Log in to developer.paypal.com, create a REST app and click on it to see the Client ID and the Secret. Here’s a YouTube guide on creating a REST app.

How do I go live?

To move your integration to production, follow this reference.

Why am I having issues going live?

Use this reference to make sure all deprecations are addressed. Make sure you are using your production credentials and client ID.

What’s the difference between NVP/SOAP and REST API Integrations?

Here are some differences you’ll notice between NVP/SOAP and REST APIs:

  • API credentials - REST APIs use a different type of credentials than NVP or SOAP. You’ll use these credentials to obtain an OAuth 2.0 access token, which you’ll provide to the REST APIs.
  • Endpoints - In NVP and SOAP, all requests are done using the HTTP POST verb to the same URL. REST uses a wider range of HTTP verbs (GET, POST, PUT, PATCH, and DELETE) along with a URI specific to the API and/or resource being accessed. HTTP headers are sometimes used to provide additional information. In addition, HTTP response codes are used to indicate whether the call succeeded or failed.
  • Parameters/field names - Orders v2 is structured differently, and the parameters may not be the same as your previous integration. PayPal is developing tools to help you map your NVP/SOAP parameters to Orders v2.

For questions and assistance, refer to the linked pages and FAQs. For additional help, contact your account manager or call (888) 429-3035. For more upgrade options, explore the PayPal Upgrade Hub.