> ## Documentation Index
> Fetch the complete documentation index at: https://auth0.com/llms.txt
> Use this file to discover all available pages before exploring further.

# PayPal

> Connect your AI agent to a user's PayPal account to automate invoice sending and process payments.

Connect your AI agent to a user's PayPal account to automate the sending of invoices, process payments, and manage recurring subscription billing.

## Connect PayPal to Auth0

**1. PayPal setup**

1. Visit the [PayPal Developer account](https://developer.paypal.com/) page and sign up.
2. Create a new App in the PayPal Developer Console.
3. Give the app a name and choose whether it's for test (**Sandbox**) or live.
4. Select **Create App** to see the app detail page.
5. Copy the Client ID and Client Secret.
6. Enable the appropriate features.
7. Select **Advanced Settings** and configure the Return URL.

   * **Return URL**: `https://YOUR_AUTH0_DOMAIN/login/callback`

   You can find the **Auth0 domain** in the [Auth0 Dashboard](https://manage.auth0.com/).

   You can find this under **Applications > \[Your Application] > Settings > Basic Information > Domain**.

   If you are using the [custom domains](https://auth0.com/docs/customize/custom-domains.md) feature, your Auth0 domain is the custom domain. You can find this under **Branding > Custom Domains**.
8. Select the **Scope Attributes** for the OpenID Connect (OAuth2) protocol.
9. Select **Save** to save changes.

To learn more about setting up PayPal, read the [PayPal Developer documentation](https://developer.paypal.com/docs/api/overview/).

**2. Auth0 setup**

<ol>
  <li>In the [Auth0 Dashboard](https://manage.auth0.com), go to
  **Authentication > Social**.</li>
  <li>Select **Create Connection**, then choose **PayPal**.</li>
  <li>Select **Continue**.</li>

  <li>
    In **General**:

    <ol type="A">
      <li>Enter the **Client ID** and **Client Secret** from
      your PayPal OAuth app.</li>

      <li>
        Under **Attributes**, select the scope(s) required for your
        application. These determine what permissions your application can
        request from PayPal, whether for authentication (such as
        accessing basic profile details) or for API access (such as
        connecting to the provider's APIs).

        For a Dropbox and Google social
        connection, you must select **Offline Access** in the Auth0 Dashboard, enabling
        the client application to obtain an Auth0 refresh token.
      </li>

      <li>Add any additional scopes your application requires in the
      **Additional Scopes** field.</li>
    </ol>
  </li>

  <li>In **Purpose**, toggle on **Connected Accounts for Token Vault**. This lets the
  connection retrieve and securely store access tokens for external
  APIs. Learn more in
  [Connected Accounts for Token Vault](https://auth0.com/docs/secure/call-apis-on-users-behalf/token-vault/connected-accounts-for-token-vault.md).</li>
  <li>Select **Create**.</li>

  <li>
    After creation, you are redirected to the **Applications** page.
    Select the application(s) to enable this connection for.

    In a new Auth0 tenant, you can select the **Default App**.
  </li>

  <li>Once you have created your PayPal social connection, [test your connection](https://auth0.com/docs/authenticate/identity-providers/test-connections.md) to ensure the setup is working correctly before using it in your application.</li>
</ol>

This guide walks you through setting up the **PayPal** connection in Auth0.
For an end-to-end example that shows how to set up your app to call third-party APIs on the user's behalf
using a connection like this, read the
[Call third-party APIs on user's behalf quickstart](https://auth0.com/ai/docs/get-started/call-third-party-apis-on-users-behalf.md).

## Token Vault configuration example

To configure the Token Vault for your PayPal connection, you can use the following code snippet in your application:

**JavaScript**

**Python**

## Next steps

* To learn how to configure applications to access Token Vault, read [Configure Token Vault](https://auth0.com/docs/secure/call-apis-on-users-behalf/token-vault/configure-token-vault.md).
* If your application uses [Organizations](https://auth0.com/docs/manage-users/organizations.md), authenticate the user with the target organization before initiating the Connected Accounts flow. Connected accounts remain linked to the individual user profile.
* To learn how to get an access token to make a tool call, complete the [Call third-party APIs on user's behalf Quickstart](https://auth0.com/ai/docs/get-started/call-third-party-apis-on-users-behalf.md).
