## Confirm a PayPal payment

`stripe.confirmPayPalPayment(clientSecret: string, data?: object)`

Use `stripe.confirmPayPalPayment` in the [PayPal Payments with Payment Methods](https://docs.stripe.com/payments/paypal/accept-a-payment.md) flow when the customer submits your payment form.
When called, it will confirm the `PaymentIntent`, and it will automatically redirect the customer to authorize the transaction.
Once authorization is complete, the customer will be redirected back to your specified `return_url`.

> Note that `stripe.confirmPayPalPayment` may take several seconds to complete.
> During that time, you should disable your form from being resubmitted and show a waiting indicator like a spinner.
> If you receive an error result, you should be sure to show that error to the customer, re-enable the form, and hide the waiting indicator.

- `clientSecret`
  The [client secret](https://docs.stripe.com/api/payment_intents/object.md#payment_intent_object-client_secret) of the `PaymentIntent`.

- `data`
  Data to be sent with the request.
Refer to the [Payment Intents API](https://docs.stripe.com/api/payment_intents/confirm.md) for a full list of parameters.
    - `payment_method`
      The `id` of an existing [PaymentMethod](https://docs.stripe.com/api/payment_methods.md).
See the use case sections below for details.
    - `return_url`
      The url your customer will be directed to after they complete authentication.
Required for new PayPal payment methods, but not required when using a previously set up PayPal payment method (via SetupIntent or a PaymentIntent with `setup_future_usage`).

### with a new PaymentMethod

### Data argument properties

- `return_url`
  The url your customer will be directed to after they complete authentication.
Required for new PayPal payment methods, but not required when using a previously set up PayPal payment method (via SetupIntent or a PaymentIntent with `setup_future_usage`).

### Example

```title
Confirm with a new PaymentMethod
```

### with an existing payment method

### Data argument properties

- `payment_method`
  The `id` of an existing `PaymentMethod`.

- `return_url`
  The url your customer will be directed to after they complete authentication.
Required for new PayPal payment methods, but not required when using a previously set up PayPal payment method (via SetupIntent or a PaymentIntent with `setup_future_usage`).

### Example

```title
Confirm with existing payment method
```

### with an attached PaymentMethod

### Example

```title
Confirm with an attached PaymentMethod
```

### Example

```title
Confirm a PayPal payment
```
