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

# Setting up PayPal

> Connect your PayPal account to get paid in your app. Add PayPal checkout from the AI chat, test it, then track payments, refunds and subscriptions in one place.

PayPal is a built-in payment provider that lets your customers pay with PayPal without leaving your app. You connect your own PayPal account, so payments go straight to it.

Setting up PayPal takes 4 steps. You connect your PayPal account, check that PayPal is ready, add checkout with the AI chat, then make a test payment.

You can sell one-time purchases, carts of several products, physical goods with shipping and subscriptions, and track every payment, refund and subscription from your app dashboard.

![A screenshot of an app checkout page with delivery details, an order summary and a Pay with PayPal button](https://mintcdn.com/base44/IMwYFXZrPuumVGEc/images/apps-paypal-checkout-hero.png?fit=max\&auto=format\&n=IMwYFXZrPuumVGEc\&q=85\&s=0d00e31f0a66ca20344642f0073ce713)

PayPal checkout in your app

> [!WARNING]
>
> **Before you set up PayPal:**
>
> * **Plan:** You need a [Builder plan](https://base44.com/pricing) or higher, because PayPal checkout runs on backend functions.
> * **Country:** You can use PayPal wherever PayPal lets sellers receive payments. PayPal checks your business country when you sign up.
> * **One provider per app:** You can't connect PayPal to an app that already takes payments through Base44 Payments, Stripe, a Wix store or a Shopify store. To switch to PayPal, disconnect your current provider first. If your business is in the United States, Base44 Payments already lets your customers pay with PayPal.

***

## Step 1 | Connect PayPal

Connect PayPal from the Integrations page in your app dashboard. Base44 takes you to PayPal to sign in or create an account, then brings you back to your app when you're done. When PayPal is ready to take payments, a message in the AI chat tells you that PayPal is now connected to your app.

> [!TIP]
>
> **Before you connect PayPal:**
>
> * **PayPal account:** Have your PayPal login ready, or be ready to create a PayPal account during signup.
> * **Card payments:** To accept card payments as well as PayPal, you need a PayPal business account.

**To connect PayPal:**

1. Go to your app editor.

2. Click **Dashboard**.

3. Click **Integrations**.

4. Click **Add connector**.

5. Search for PayPal and click **PayPal**.

6. Click **Connect**.

   ![A screenshot of the PayPal connect window showing PayPal as Not connected, with the Connect button outlined](https://mintcdn.com/base44/IMwYFXZrPuumVGEc/images/apps-paypal-connect-dialog.png?fit=max\&auto=format\&n=IMwYFXZrPuumVGEc\&q=85\&s=ffe4d5b784219ca544f9e79e6efdeaa6)

   Connecting your PayPal account

7. Sign in to PayPal, or create an account, and follow PayPal's steps to finish signing up.

> [!TIP]
>
> You can also start in the AI chat. Ask it to add PayPal payments to your app, and it builds your products and checkout page first. It then asks you to connect PayPal from the Integrations page, using the steps above. Until you do, your checkout page shows that PayPal is being set up.

***

## Step 2 | Check your status

To see whether your app can take PayPal payments yet, click **Integrations** in your app dashboard and check the message under **PayPal**. Once you're live, you also see your PayPal merchant ID, so you can tell which PayPal account an app is paid into.

![A screenshot of the PayPal entry on the Integrations page, with the Finish signing in to PayPal status message outlined](https://mintcdn.com/base44/IMwYFXZrPuumVGEc/images/apps-paypal-integrations-status.png?fit=max\&auto=format\&n=IMwYFXZrPuumVGEc\&q=85\&s=90a303e6c640d1925a6db3c376ed4936)

Checking PayPal's status on the Integrations page

The message under **PayPal** tells you what, if anything, to do next:

| What you see | What to do |
| - | - |
| Finish signing in to PayPal to start accepting payments | You started PayPal's signup but didn't finish it. Click **Finish setup** to continue. |
| Confirm your email address in PayPal to finish setup | Open the email PayPal sent you and confirm your address. |
| PayPal is still reviewing your account | Nothing. PayPal is checking your account, and the message updates when it's done. |
| PayPal didn't grant all the permissions needed to take payments. Reconnect and approve them. | Click **Finish setup** and approve every permission PayPal asks for. |
| Access was revoked in PayPal. Reconnect to accept payments again. | Base44 no longer has access to your PayPal account, for example because you removed it in PayPal. Click **Finish setup** to connect again. |
| Accepting PayPal payments. Upgrade to a business account in PayPal to accept cards. | Your customers can pay with PayPal. To accept cards too, upgrade to a business account in PayPal. |
| Accepting payments | Nothing. Your app is ready to take payments. |

> [!NOTE]
>
> PayPal may need you to finish a step on its side first. The message under **PayPal** updates automatically once you do.

***

## Step 3 | Add checkout

Once PayPal is connected, ask the AI chat to add PayPal checkout. Your customers click the PayPal button on your checkout page and approve the payment with PayPal, without leaving your app. If your PayPal account accepts cards, your customers can also pay by card. You don't need to paste any PayPal keys into the chat.

> [!WARNING]
>
> Your checkout uses your live PayPal account in both your preview and your published app, so every payment made there is real.

If PayPal isn't connected yet, the AI chat asks you to connect it from the Integrations page first, then come back and tell it you're done.

![A screenshot of the AI chat reply asking you to connect PayPal from the Integrations page before it adds checkout](https://mintcdn.com/base44/IMwYFXZrPuumVGEc/images/apps-paypal-ai-chat-connect.png?fit=max\&auto=format\&n=IMwYFXZrPuumVGEc\&q=85\&s=4fac6aee9e504211396c513ab1e9b520)

The AI chat asking you to connect PayPal first

**To add PayPal checkout:**

1. Go to your app editor.
2. Describe what you sell and how customers should pay in the AI chat. For example:
   ```text theme={null}
   Add PayPal checkout to my app. Let customers book a trip package for a one-time payment, and offer a monthly Premium plan as a subscription. After someone pays, save their booking or plan to their account and show a confirmation page.
   ```

> [!TIP]
>
> If your checkout collects a shipping address and PayPal can't accept it, your checkout tells your customer which field to fix, such as a missing postal code.

***

## Step 4 | Make a test payment

Check that your PayPal account takes payments by paying a \$1 test order on PayPal's checkout page. You need a different PayPal account or a card, because PayPal doesn't let you pay the account you connected. It's a real payment, and you can [refund it](#tracking-and-refunding-payments) afterwards.

If you'd rather not make a payment, the AI can check your checkout for you instead. Open the Payments page in your app dashboard, then click **Review** under **Ask the builder to check it**. The AI reviews your products, checkout and what happens after a payment, and fixes anything that would stop a customer from paying.

![A screenshot of Ask the builder to check it on the Payments tab, with the Review button outlined](https://mintcdn.com/base44/IMwYFXZrPuumVGEc/images/apps-paypal-ask-builder.png?fit=max\&auto=format\&n=IMwYFXZrPuumVGEc\&q=85\&s=ba992bbc4a46fdce0df7df52a4d7cfd9)

Asking the AI to check your checkout

**To make a test payment:**

1. Go to your app editor.
2. Click **Dashboard**.
3. Click **Payments**.
4. Under **Make a test purchase**, click **Test with \$1**.
5. Pay with a different PayPal account or a card.

***

## Tracking and refunding payments

Your PayPal payments appear on the Payments tab in your app dashboard, with your revenue, transactions and subscriptions. You handle disputes, payouts and receipts in your PayPal account, which you can open from the **PayPal account** link above your transactions on the Payments tab. See [Tracking payments in your app](https://docs.base44.com/Setting-up-your-app/tracking-payments.md).

Base44 doesn't take a fee on PayPal payments. PayPal charges its standard fees, and may keep its fee when you refund a payment.

> [!NOTE]
>
> If you're new to selling with PayPal, PayPal may hold some of your first payments for up to 21 days before you can use them.

You can refund all or part of a payment from its details page.

**To refund a payment:**

1. Go to your app editor.
2. Click **Dashboard**.
3. Click **Payments**.
4. Click **Transactions**.
5. Click the payment you want to refund.
6. Click **Refund**.
7. Enter the amount to refund. It can be less than the full payment.
8. Click **Refund**, then click **Yes, refund** to confirm.

![A screenshot of the Refund payment window with the Refund button outlined](https://mintcdn.com/base44/IMwYFXZrPuumVGEc/images/apps-paypal-refund-window.png?fit=max\&auto=format\&n=IMwYFXZrPuumVGEc\&q=85\&s=a4912f6c17125faa4c4c71d2bda3eaa0)

The Refund payment window

> [!TIP]
>
> You can also ask the AI chat to add a refund button to an admin page in your app, so you can refund customers without opening your dashboard. The same admin page can also [manage your subscriptions](#managing-subscriptions).

***

## Managing subscriptions

With PayPal subscriptions, you can cancel, pause or resume a customer's plan from your app. Ask the AI chat to add these actions to an admin page, and it sets up your app to handle each one. For example:

```text theme={null}
Add an admin page that lists every subscription. Let me cancel, pause or resume a customer's plan, and refund their latest payment.
```

Here's what each action does to your customer's access:

* **Cancel:** PayPal stops the plan right away, so it shows as Canceled, not Canceling, on your Subscriptions tab. Your customer keeps access until the end of the period they've already paid for.
* **Pause:** Billing stops, and your customer loses access while the plan is paused.
* **Resume:** The plan becomes active again, and your customer has access while their plan is paid for.
* **Refund:** A full refund of the latest subscription payment ends your customer's access. A partial refund keeps their plan running.

A plan with a free trial keeps its trial, so your customer isn't charged until the trial ends.

If you refund or cancel a subscription in your PayPal account, or a renewal payment fails, your app removes your customer's access automatically.

> [!TIP]
>
> Create a workflow with the **Subscription canceled** trigger to act when a plan ends, for example to email your customer or update their account. It runs when a subscription is canceled, expires or is paused. Learn more about [app payment workflows](https://docs.base44.com/Building-your-app/Creating-workflows.md#app-payment).

***

## Disconnecting PayPal

Disconnecting PayPal stops your app from taking new payments right away. Your past transactions stay in your records.

> [!WARNING]
>
> Your customers' subscriptions keep billing in PayPal until you cancel them in your PayPal account. After you disconnect, you can't refund payments through Base44, so issue any refunds first.

**To disconnect PayPal:**

1. Go to your app editor.
2. Click **Dashboard**.
3. Click **Integrations**.
4. Click the **More actions** icon  next to **PayPal**.
5. Click **Disconnect**.

***

## Troubleshooting

If PayPal isn't working as expected, find your situation below.

> [accordion] My PayPal signup didn't work
>
> PayPal may not let sellers in your business country receive payments. You can take payments with [Base44 Payments](https://docs.base44.com/Setting-up-your-app/setting-up-wix-payments.md) or [Stripe](https://docs.base44.com/documentation/setting-up-your-app/setting-up-payments.md) instead.

> [accordion] PayPal says my app already takes payments
>
> Your app already takes payments through another provider or a store, and each app can use only 1. Disconnect your current provider, then connect PayPal.

> [accordion] My checkout says PayPal is being set up
>
> Your checkout waits until PayPal is connected and ready. Check the message under **PayPal** on the Integrations page, finish any step it asks for, then ask the AI chat to finish your PayPal checkout.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.