Skip to content
Last updated

PayPal integration

PayPal is an online payments platform for accepting payments, billing, and payouts. Integrating PayPal with Frontegg lets your application create and capture orders, attach shipment tracking, refund captures, manage invoices and chase unpaid ones, run subscriptions with their plans and products, send payouts, handle disputes, and search transactions on behalf of your users — all through Frontegg's integration layer (PayPal REST API). PayPal authenticates with OAuth 2.0 client credentials.


Prerequisites

Connect to PayPal

PayPal uses the OAuth 2.0 client credentials grant — an app-to-app flow with no browser step or redirect URL. You create a REST API app in the PayPal Developer Dashboard, which issues a Client ID and Secret, and the integration exchanges them for a short-lived access token on each request.

Step 1: Open Apps & Credentials

Sign in to the PayPal Developer Dashboard and open Apps & Credentials. Use the Sandbox / Live toggle to choose the environment — sandbox and live apps have separate credentials. Your account starts with a Default Application, or click Create App to add one.

PayPal Apps & Credentials page with the Sandbox/Live toggle and REST API apps

Step 2: Copy the Client ID and Secret

Open your app. Copy the Client ID and reveal and copy the Secret.

Keep your Secret safe

The Secret grants access to your account through the API. Treat it like a password and never expose it in client-side code or commit it to version control. You can add or delete secrets on the app page.

PayPal app page showing the Client ID and Secret key

Step 3: Enable the features you need

Scroll to Features on the app page and enable the capabilities the integration should use — for example Invoicing, Subscriptions, Payouts, Customer disputes, and Transaction search. PayPal grants only the matching scopes to tokens issued for the app, and drops the rest from the token without failing the request. A missing feature therefore does not stop the integration from connecting — it surfaces later, as a NOT_AUTHORIZED error on the affected operation. If a tool fails that way, check this section first.

PayPal app Features section with payment capabilities and add-on services

Configure the Frontegg portal

Once you have your credentials, configure the integration in the Frontegg portal:

  1. Open the Frontegg portal and navigate to [ENVIRONMENT] → Integrations → PayPal.
  2. Enter the Client ID and Client Secret.
  3. Enable Use sandbox environment only if you entered sandbox credentials. Leave it off for live credentials.
  4. Click Save.

The integration requests the following scopes, granted through the app's Features. All scopes except openid share the prefix https://uri.paypal.com, abbreviated as ... below.

ScopeDescription
.../services/payments/realtimepaymentCreate and manage orders
.../services/payments/paymentAttach and correct shipment tracking on orders
.../services/payments/payment/authcaptureAuthorize, capture, and reauthorize payments
.../services/payments/refundRefund captured payments
.../services/invoicingCreate, send, and manage invoices
.../services/subscriptionsManage subscriptions, plans, and products
.../payments/payoutsSend payouts
.../services/disputes/read-sellerRead disputes
.../services/disputes/update-sellerRespond to disputes
.../services/reporting/search/readSearch transactions and read account balances
openidRead the connected account's profile

Keep your credentials secure

Never share or commit your Secret to version control.

Additional resources