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

# Set up accounts

You can use the procedures in this section to set up the sandbox and production accounts that are required to add additional payment methods to your Expanded Checkout integration and test them.

## Set up sandbox account

<Tabs>
  <Tab title="Merchants">
    1. <a href="https://www.paypal.com/signin?returnUri=https%3A%2F%2Fdeveloper.paypal.com%2Fdashboard%2F&intent=developer&ctxId=ul14c2e612301b4f5c99383ae8f762a937" target="_blank" rel="noopener noreferrer">Sign up for a developer account</a>. On successful signup, PayPal automatically creates your sandbox environment. The sandbox environment is a test environment that helps you mimic real-world transactions. By default, the environment includes a business and personal account. When testing your app, you can use the business account to simulate merchant actions and the personal account to simulate customer actions. You can create multiple additional business and personal accounts.

    2. **Set up the sandbox environment**:
       1. Go to your <a href="https://developer.paypal.com/dashboard/" target="_blank" rel="noopener noreferrer">PayPal developer account</a> and toggle to **Sandbox**.
       2. Go to **Apps & Credentials** and select **Create App**.
       3. Enter your app name, select **Type** as **Merchant**, select the sandbox business account to test your app, and select **Create App**. The app details page is displayed.
       4. Go to **Feature** > **Accept payments**.
          1. By default, **Vault** is selected. If not, select it.
          2. Select **JavaScript SDK v6**.
          3. Select the additional payment methods that you want to add to your Expanded Checkout integration.
              <Note>
                To enable ACH payments for your account, contact your PayPal Account Manager.
              </Note>
       5. Configure a webhook listener for the app and subscribe to events:

          1. On the app details page, go to **Live Webhooks**.
          2. Select **Add Webhook**.
          3. Enter a **Webhook URL** (the server endpoint where notifications from PayPal are sent), select the events the app wants to subscribe to, and select **Save**.
          4. The webhook listener is successfully configured, and a **Webhook ID** is displayed. You can store the ID and use it in your app code to verify the source sending messages to your listener.

          For more information on webhooks, see <a href="https://developer.paypal.com/api/rest/webhooks/" target="_blank" rel="noopener noreferrer">Webhooks guide</a>. For the list of payment-method events that the app can subscribe to, see <a href="/reference/webhook-events/payments-v2" target="_blank" rel="noopener noreferrer">Webhook reference</a>.

    3. **Retrieve sandbox app credentials:** To integrate payment method APIs and test them successfully, you require the following sandbox credentials for your app:

       * **Client ID:** App identifier that helps with account authentication.
       * **Client secret:** App credential that helps with app authorization.

       To retrieve the sandbox credentials:

       1. Go to your PayPal developer account and switch to Sandbox.
       2. Go to **Apps & Credentials** > **API Credentials** > **REST API apps**.
       3. Copy the **Client ID** and **Secret (Client secret)** listed next to your app name and save them.

    4. **Retrieve sandbox account credentials:** When you test your integration end-to-end, you run your app, start a payment as a customer, log in to your business account, and verify that the money moves into the account. To do this, you require sandbox log-in credentials.

       For information on how to get these from your developer account, see <a href="/developer/how-to/api/get-started#3-get-sandbox-account-credentials" target="_blank" rel="noopener noreferrer">Get sandbox account credentials</a>.

    5. Set up the development environment. This involves building your server, installing dependencies, verifying configuration files that the package managers use, and setting up the environment variables.
  </Tab>

  <Tab title="Partners">
    1. <a href="https://www.paypal.com/signin?returnUri=https%3A%2F%2Fdeveloper.paypal.com%2Fdashboard%2F&intent=developer&ctxId=ul14c2e612301b4f5c99383ae8f762a937" target="_blank" rel="noopener noreferrer">Sign up for a developer account</a>. On successful signup, PayPal automatically creates your sandbox environment. The sandbox environment is a test environment that helps you mimic real-world transactions. By default, the environment includes a business and personal account. When testing your app, you can use the business account to simulate merchant actions and the personal account to simulate customer actions. You can create multiple additional business and personal accounts.

    2. **Set up the sandbox environment**:
       1. Go to your <a href="https://developer.paypal.com/dashboard/" target="_blank" rel="noopener noreferrer">PayPal developer account</a> and toggle to **Sandbox**.
       2. Go to **Apps & Credentials** and select **Create App**.
       3. Enter your app name, select **Type** as **Platform**, select the sandbox business account to test your app, and select **Create App**. The app details page is displayed.
       4. Go to **Feature** > **Accept payments** and ensure **Advanced Credit and Debit Card Payments** is selected.
       5. Configure a webhook listener for the app and subscribe to events:

          1. On the app details page, go to **Live Webhooks**.
          2. Select **Add Webhook**.
          3. Enter a **Webhook URL** (the server endpoint where notifications from PayPal are sent), select the events the app wants to subscribe to, and select **Save**.
          4. The webhook listener is successfully configured, and a **Webhook ID** is displayed. You can store the ID and use it in your app code to verify the source sending messages to your listener.

          For more information on webhooks, see <a href="https://developer.paypal.com/api/rest/webhooks/" target="_blank" rel="noopener noreferrer">Webhooks guide</a>. For the list of payment-method events that the app can subscribe to, see <a href="/reference/webhook-events/payments-v2" target="_blank" rel="noopener noreferrer">Webhook reference</a>.

    3. **Retrieve sandbox app credentials:** To integrate payment method APIs and test them successfully, you require the following sandbox credentials for your app:

       * **Client ID:** App identifier that helps with account authentication.
       * **Client secret:** App credential that helps with app authorization.

       To retrieve the sandbox credentials:

       1. Go to your PayPal developer account and switch to Sandbox.
       2. Go to **Apps & Credentials** > **API Credentials** > **REST API apps**.
       3. Copy the **Client ID** and **Secret (Client secret)** listed next to your app name and save them.

    4. **Retrieve sandbox account credentials:** When you test your integration end-to-end, you run your app, start a payment as a customer, log in to your business account, and verify that the money moves into the account. To do this, you require sandbox log-in credentials.

       For information on how to get these from your developer account, see <a href="/developer/how-to/api/get-started#3-get-sandbox-account-credentials" target="_blank" rel="noopener noreferrer">Get sandbox account credentials</a>.

    5. Set up the development environment. This involves building your server, installing dependencies, verifying configuration files that the package managers use, and setting up the environment variables.
  </Tab>
</Tabs>

## Set up production business account

<Tabs>
  <Tab title="Merchants">
    1. Log in to your PayPal business account at the [PayPal Developer Dashboard](https://developer.paypal.com/).

    2. Switch to the **Live** environment.

    3. Go to **Apps & Credentials** and create a new app or select an existing app.

    4. Go to **Feature** > **Accept payments**:
       1. By default, **Vault** is selected. If not, select it.
       2. Select **JavaScript SDK v6**.
       3. Select the additional payment methods that you want to add to your Expanded Checkout integration.
           <Note>
             To enable ACH payments for your account, contact your PayPal Account Manager.
           </Note>

    5. Configure a webhook listener for the app and subscribe to events:

       1. On the app details page, go to **Live Webhooks**.
       2. Select **Add Webhook**.
       3. Enter a **Webhook URL** (the server endpoint where notifications from PayPal are sent), select the events the app wants to subscribe to, and select **Save**.
       4. The webhook listener is successfully configured, and a **Webhook ID** is displayed. You can store the ID and use it in your app code to verify the source sending messages to your listener.

       For more information on webhooks, see <a href="https://developer.paypal.com/api/rest/webhooks/" target="_blank" rel="noopener noreferrer">Webhooks guide</a>. For the list of payment-method events that the app can subscribe to, see <a href="/reference/webhook-events/payments-v2" target="_blank" rel="noopener noreferrer">Webhook reference</a>.

    6. Copy your **Client ID** and **Secret** for the live app.
  </Tab>

  <Tab title="Partners">
    <Note>
      Complete <a href="https://developer.paypal.com/docs/multiparty/" target="_blank" rel="noopener noreferrer">this form</a>. A PayPal representative will reach out to you. You can work with them to configure your **Live** account. Use the following procedure after your **Live** account is configured.
    </Note>

    1. Log in to your PayPal business account at the [PayPal Developer Dashboard](https://developer.paypal.com/).

    2. Switch to the **Live** environment.

    3. Go to **Apps & Credentials** and create a new app or select an existing app.

    4. Go to **Feature** > **Accept payments** and ensure **Advanced Credit and Debit Card Payments** is selected.

    5. Configure a webhook listener for the app and subscribe to events:

       1. On the app details page, go to **Live Webhooks**.
       2. Select **Add Webhook**.
       3. Enter a **Webhook URL** (the server endpoint where notifications from PayPal are sent), select the events the app wants to subscribe to, and select **Save**.
       4. The webhook listener is successfully configured, and a **Webhook ID** is displayed. You can store the ID and use it in your app code to verify the source sending messages to your listener.

       For more information on webhooks, see <a href="https://developer.paypal.com/api/rest/webhooks/" target="_blank" rel="noopener noreferrer">Webhooks guide</a>. For the list of payment-method events that the app can subscribe to, see <a href="/reference/webhook-events/payments-v2" target="_blank" rel="noopener noreferrer">Webhook reference</a>.

    6. Copy your **Client ID** and **Secret** for the live app.
  </Tab>
</Tabs>
