> ## 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.

# Stripe

> Accept payments via Stripe with PayNext.

Stripe is a global payments platform that powers millions of businesses worldwide, with support for 135+ currencies and enterprise-grade infrastructure.

## Processor Details

|                          |                                                                                                                           |
| :----------------------- | :------------------------------------------------------------------------------------------------------------------------ |
| **Payment Methods**      | <Badge>Cards</Badge> <Badge>Apple Pay</Badge> <Badge>Google Pay</Badge> <Badge>Cash App</Badge> <Badge>Amazon Pay</Badge> |
| **Supported Currencies** | [Currency list](https://docs.stripe.com/currencies)                                                                       |
| **Metadata Mapping**     | ✓                                                                                                                         |
| **Network Tokens**       | ✓ (Contact your Stripe representative to enable)                                                                          |
| **Adaptive Acceptance**  | ✓ (Contact your Stripe representative to enable; requires Network Tokens)                                                 |
| **Fraud Support**        | ✓ (Stripe Radar)                                                                                                          |
| **3DS Support**          | ✓                                                                                                                         |
| **3RI Support**          | ✓                                                                                                                         |
| **ARN**                  | ✓ (Requires the Payment Records API on your Stripe account)                                                               |
| **Fraud Signals**        | ✓ (Early fraud warnings)                                                                                                  |

## Integration Guide

<Steps>
  <Step title="Enable raw card handling">
    In Stripe [integration settings](https://dashboard.stripe.com/settings/integration), enable **Handle card information directly**

    <Warning>
      This setting requires approval from Stripe. For production, provide your PCI DSS certificate—contact your PayNext representative to obtain it. For Sandbox, you can test without getting this feature approved by Stripe.
    </Warning>
  </Step>

  <Step title="Copy credentials">
    Log in to the [Stripe Dashboard](https://dashboard.stripe.com/):

    * Copy **Account ID** from **Settings → Account details**
    * Copy **Publishable key** and **Secret key** from **Developers → API keys**

    <Note>
      **Publishable Key is required** for Cash App Pay. Without it, Cash App Pay will not appear in checkout.
    </Note>
  </Step>

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

  <Step title="Enter credentials">
    * **Name**: Label for this connection (e.g., "Stripe US")
    * **Account ID**, **API Key** (Secret key), **Publishable Key**: Values from Stripe
    * **Network Tokens**: Enable if activated by your Stripe account manager
    * **Adaptive Acceptance**: Enable if activated (requires Network Tokens)
  </Step>

  <Step title="Configure webhooks">
    In Stripe **Developers → Webhooks**, create an endpoint with the PayNext webhook URL and subscribe to:

    * `payment_intent.succeeded`
    * `payment_intent.payment_failed`
    * `payment_intent.processing`
    * `payment_intent.canceled`
    * `payment_intent.amount_capturable_updated`
    * `payment_intent.requires_action`
    * `refund.created`
    * `refund.failed`
    * `refund.updated`
    * `radar.early_fraud_warning.created`
    * `payment_attempt_record_entry.capture_settled`
    * `mandate.updated`

    <Note>
      `mandate.updated` reports when a customer revokes a mandate for a payment method that is charged
      off-session, such as Cash App Pay or Pix Automático. PayNext marks the payment method as revoked
      so it is no longer used for renewals. Without this event, PayNext keeps attempting renewals on a
      mandate the customer has already cancelled.
    </Note>

    <Note>
      `payment_attempt_record_entry.capture_settled` delivers the **Acquirer Reference Number (ARN)** for settled charges via Stripe's **Payment Records API**. This API is a Stripe beta that Stripe enables per account — contact your Stripe representative to have it enabled on your Stripe account. Without it, this event is not delivered and ARN is not captured for Stripe payments.
    </Note>
  </Step>

  <Step title="Copy webhook secret">
    Copy the **Signing secret** from Stripe and paste it into the **Webhook Secret** field in PayNext
  </Step>

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

## Metadata Mapping

Stripe supports full metadata mapping. Common use cases:

| Stripe field                  | Purpose                                                                             |
| :---------------------------- | :---------------------------------------------------------------------------------- |
| `radar_options.session`       | Pass Stripe Radar session ID for fraud scoring                                      |
| `statement_descriptor_suffix` | Statement descriptor suffix (card payments only accept suffix, not full descriptor) |

## Testing

[Stripe testing guide](https://docs.stripe.com/testing) — Test cards, declines, and 3DS scenarios.
