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

# PayPal

> Accept payments via PayPal with PayNext.

PayPal enables customers to pay using their PayPal balance, linked cards, or bank accounts.

## Processor Details

|                          |                                                                                                   |
| :----------------------- | :------------------------------------------------------------------------------------------------ |
| **Payment Methods**      | <Badge>PayPal Wallet</Badge>                                                                      |
| **Supported Currencies** | [Currency list](https://developer.paypal.com/docs/reports/reference/paypal-supported-currencies/) |
| **Metadata Mapping**     | ✓ (Limited)                                                                                       |
| **ARN**                  | ✗                                                                                                 |
| **Fraud Signals**        | ✗                                                                                                 |

<Note>
  PayNext uses PayPal Billing Agreements API which supports both one-time and recurring payments. Billing Agreements require manual approval by PayPal—contact your PayPal representative to enable this feature.
</Note>

## Integration Guide

<Steps>
  <Step title="Open PayPal Developer Dashboard">
    Sign in to the [PayPal Developer Dashboard](https://developer.paypal.com/) and navigate to **Apps & Credentials**
  </Step>

  <Step title="Create or open an App">
    Click **Create App**, name it, and select your PayPal business account—or open an existing App
  </Step>

  <Step title="Select environment">
    Use the environment switcher (top right) to choose **Sandbox** or **Live**
  </Step>

  <Step title="Copy the Client ID and Secret" />

  <Step title="Add PayPal in PayNext">
    In **PayNext Dashboard → Integrations**, click **Add new integration → PayPal → Connect**
  </Step>

  <Step title="Complete credentials">
    Fill in the following fields:

    * **Name**: Label for this connection (example: "PayPal Live")
    * **Account ID**: Your PayPal business email
    * **Client ID**: Value copied from PayPal
    * **Client Secret**: Value copied from PayPal
    * **Enable PayPal dynamic statement descriptor** (optional): Generates a unique code for each transaction to help match chargeback alerts. See the [PayPal Wallet guide](/integrations/payment-methods/paypal-wallet#dynamic-statement-descriptor) for details
  </Step>

  <Step title="Configure webhooks">
    In the PayPal Developer Dashboard, go to **Apps & Credentials**, find your App, and click **Edit**.

    In the **Webhooks** section, add the PayNext webhook URL and subscribe to:

    * `PAYMENT.CAPTURE.REFUNDED`
    * `PAYMENT.REFUND.DENIED`
    * `PAYMENT.REFUND.FAILED`
    * `PAYMENT.REFUND.CANCELLED`
    * `BILLING_AGREEMENTS.AGREEMENT.CANCELLED`

    <Note>
      `BILLING_AGREEMENTS.AGREEMENT.CANCELLED` reports when a customer cancels a billing agreement, so
      PayNext marks the vaulted PayPal payment method as revoked and stops using it for renewals.

      This event belongs to the classic Billing Agreements API and is not listed in the Developer
      Dashboard event picker. Add it through the REST API instead.
    </Note>
  </Step>

  <Step title="Copy Webhook ID">
    Copy the **Webhook ID** from PayPal and paste it into the **Webhook ID** field in PayNext
  </Step>

  <Step title="Save integration">
    Click **Connect** to complete the setup
  </Step>
</Steps>

## Metadata Mapping

PayPal supports limited metadata fields:

| PayPal field                 | Purpose                                                                | Limit          |
| :--------------------------- | :--------------------------------------------------------------------- | :------------- |
| `purchase_units.description` | Order description displayed to customers in the PayPal app and website | 127 characters |

Customers see this description when viewing their order details in their PayPal account. Content exceeding 127 characters (including spaces) is truncated automatically.

See [Metadata Mapping](/guides/advanced/metadata-mapping) for configuration instructions.

## Testing

[PayPal sandbox guide](https://developer.paypal.com/tools/sandbox/) — Create test accounts and simulate payments.
