Accept PayPal as a payment method with Stripe in the EU, UK and Switzerland
Tags: stripe, paypal
Published: 2023-07-18 14:42:35

---
title: Accept PayPal as a payment method with Stripe in the EU, UK and Switzerland
published: true
description: PayPal is now available as a payment method on Stripe in the EU, UK, and Switzerland. Learn how to integrate it so you can start accepting PayPal payments today.
tags: stripe, paypal
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u3923gdujbzn7kaodopf.png
---

We recently made [PayPal](https://www.paypal.com) available as a payment method in the EU, UK, and Switzerland, so you can now offer an additional way for your customers to submit payments using their PayPal account.
If you have a [Connect account](https://stripe.com/connect), first reach out to the [support team](https://support.stripe.com/topics/connect) to see if you’re eligible. If you’re a direct merchant, meaning you accept payments directly from consumers, let’s go through the steps to enable it.

## Requirements

**This feature is only available for Stripe accounts set in the European Economic Area (with the exception of Hungary), the UK, and Switzerland**. If your Stripe account is registered in another country, you will unfortunately not be able to activate PayPal at this time.
You’re also required to have a **PayPal business account in the EEA, Switzerland or UK**. You can create one during the onboarding process.

## Enabling PayPal

To enable the PayPal feature in the [Stripe Dashboard](https://dashboard.stripe.com/), navigate to the [Payments settings page](https://dashboard.stripe.com/settings/payment_methods). If you’re eligible, you should see “PayPal” as an option under the “Wallets” section.

![Wallets section in the Stripe dashboard showing PayPal as a payment method available](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mqphkv4ujcwyyl038udz.png)

Click the “Turn on” button to start the onboarding process.

![Pop-up to activate PayPal as a payment method. Estimated time to complete between 2-5 minutes](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v8nmi1fyfdwdyvhphagk.png)

Confirm that your account meets all the requirements and click “Continue”.

Then, select where you’d like to keep your PayPal funds and click the “Connect to PayPal” button to connect and activate your accounts.

![Pop-up to choose how to settle your funds. Either add your PayPal funds to your Stripe balance or keep PayPal funds in PayPal balance.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2umd17n8vjyl7f32r6mm.png)

Alternatively you can choose to settle your funds into your PayPal account instead:

![Pop-up to choose how to settle your funds. Either add your PayPal funds to your Stripe balance or keep PayPal funds in PayPal balance.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0ytp8rjv5q8ulffl4cs4.png)

When you are redirected to PayPal, you can either log into an existing account or create a new one as part of the process. As mentioned in the previous section, **your PayPal account needs to be a business account in the EEA, Switzerland or the UK**.

Once this step is done, if you logged into an existing account, you should see a green checkmark on the right of the payment method to indicate that your PayPal account has been successfully connected to Stripe. 

From there, you can enable or disable recurring payments as well as contact support if you need to change how your funds are settled.

If you created a new account as part of the onboarding flow, it will first be pending approval until you verify your email.

![Screenshot showing the PayPal payment method option expanded to show the "Pending approval" state](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5p7ovtx075r5q9bsy7p8.png)

You can turn this payment method off at any time by opening the details dropdown and clicking the “Turn off” button in the Stripe Dashboard.

If you’re mostly using Stripe’s no-code products such as [Payment Links](https://stripe.com/payments/payment-links), this is all you need to do. PayPal will now be a payment option for all your customers.


## Integrating PayPal

### No-code solution

Once you’ve enabled PayPal on your account, you can test that the feature is working by navigating to your [products page](https://dashboard.stripe.com/products), selecting a product you created a Payment Link for, click on the “View payment link” button under the Pricing section, copy the link, and open it in your browser. You should see PayPal displayed as a payment method.

![Screenshot of Stripe Checkout page with the PayPal payment method](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jxyp2brx7l0oaa4pamao.png)

Your customer will then be guided through PayPal’s UI to confirm the payment.


### Checkout integration

Integrating PayPal as a payment method using the Stripe API requires minimal changes to your code.

First, if you’re using Checkout, locate where you are creating a Checkout session in your codebase. If you are already specifying different payment methods using the `payment_method_types` attribute, all you need to do is add `paypal` to your array.


```js
  const session = await stripe.checkout.sessions.create({
    mode: "payment",
    payment_method_types: ["card", "paypal"],
    line_items: [
      {
        price: process.env.PRICE,
        quantity: 1,
      },
    ],
    success_url: `${domainURL}/success.html?session_id={CHECKOUT_SESSION_ID}`,
    cancel_url: `${domainURL}/canceled.html`,
  });
```

By default, if you don’t specify any payment method types, it will display all payment methods enabled, including PayPal.

```js
  const session = await stripe.checkout.sessions.create({
    mode: "payment",
    line_items: [
      {
        price: process.env.PRICE,
        quantity: 1,
      },
    ],
    success_url: `${domainURL}/success.html?session_id={CHECKOUT_SESSION_ID}`,
    cancel_url: `${domainURL}/canceled.html`,
  });
```

### Payment Element and Express Checkout Element integration

If you’re using [Payment Element](https://stripe.com/docs/payments/payment-element) or [Express Checkout Element](https://stripe.com/docs/elements/express-checkout-element), locate where you are creating the `PaymentIntent`. If you have the attribute `automatic_payment_methods` set to enabled, PayPal will show up as an option automatically. Otherwise, if you’re using the `payment_method_types` attribute to customize the options, you’ll only need to add `paypal` to the array and you’ll be good to go.  

```js
    const paymentIntent = await stripe.paymentIntents.create({
      amount: 1999,
      currency: currency,
      payment_method_types: ['card', 'paypal']
    });
```


![Example with Express Checkout Element](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a24goe9m7g3i6j44g3vv.png)



These code samples shown above are using Node.js, but the change is very similar in other programming languages. If you want to read more, please [check the docs](https://stripe.com/docs/payments/paypal/accept-a-payment?platform=web&ui=checkout#enable-paypal-as-a-payment-method).

![Screenshot of the docs showing different programming languages.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ucy7p5qmld3bq15inwt4.png)

## Issuing refunds

If you need to issue a refund to a customer who paid using PayPal, navigate to the [payments page](https://dashboard.stripe.com/payments) in the Stripe Dashboard, select the payment you’d like to issue the refund for, click on the refund button, and confirm the refund in the pop-up displayed.

![Screenshot of the Stripe dashboard showing the refund link.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5sqsggoiggrmu8l4jtus.png)

## Conclusion

If you have a Stripe account registered in the EU, UK, or Switzerland, you can now enable PayPal as a payment method with Stripe with a few clicks and some minor code changes. This feature will allow you to reach more potential customers and provide them with a better checkout experience. If you’re interested in learning more, check out [our docs](https://stripe.com/docs/payments/paypal).

## About the author

![Charlie is a caucasian woman with long brown hair and wearing glasses. She is standing in front of a plain white wall with purple lights.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l83n2g64kwljoodl0glt.png)

[Charlie Gerard](https://twitter.com/@devdevcharlie) is a developer advocate at Stripe, a [published author](https://www.amazon.com/Practical-Machine-Learning-JavaScript-TensorFlow-js/dp/1484264177) and a [creative technologist](https://charliegerard.dev/). She loves researching and [experimenting with technologies](https://charliegerard.dev/). When she’s not coding, she enjoys spending time outdoors, reading, and setting random challenges for herself.