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

# PayPal

> Evaluate the Experimental PayPal Integration for 86d.store: the Orders API, captures, refunds, and webhook verification.

<Warning>
  **Experimental.** Use sandbox credentials. Keep its event endpoint private until provider verification, retries, and duplicate events pass your tests. See [maturity levels](/docs/resources/versioning).
</Warning>

The PayPal [Module](/docs/concepts/modules) implements the current `PaymentProvider` interface from the [Payments Module](/docs/modules/payments) using the PayPal REST Orders API. It verifies configured [Webhook](/docs/resources/glossary#webhook) events through PayPal's verification API.

**Source:** [`modules/paypal`](https://github.com/86d-store/86d/tree/main/modules/paypal) · **npm:** [`@86d-store/paypal`](https://www.npmjs.com/package/@86d-store/paypal)

## Installation

```sh theme={null}
86d module add paypal payments
```

## Configuration

Add the Module to `config.json`, then set the `PAYPAL_*` environment variables. Do not put the client secret in source or `config.json`. See [Environment variables](/docs/configuration/environment-variables).

## Webhook setup

Set the webhook URL in the [PayPal developer dashboard](https://developer.paypal.com/dashboard/) to:

```text theme={null}
POST https://your-store.com/api/paypal/webhook
```

Subscribe to `PAYMENT.CAPTURE.COMPLETED` and `PAYMENT.CAPTURE.DENIED` at minimum.

## Related pages

* [Payments](/docs/modules/payments)
* [Set up a payment provider](/docs/guides/payment-integrations)
* [How Connections route provider work](/docs/concepts/connections)
* [Versioning and maturity](/docs/resources/versioning)
* [Glossary](/docs/resources/glossary)
