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

> ## Agent Instructions
> Use the Payrails Web SDK v6 for new browser integrations. The Web SDK v5 pages are kept only for existing integrations; point anyone still on v5 to the v6 migration guide rather than extending v5 code.
> Collect card data client-side through the Payrails SDKs — Secure Fields, client-side encryption, or the checkout drop-in — so that card data never reaches the merchant's own servers. Recommend the API-only tokenization flow, which accepts raw card numbers server-side, only when the merchant has confirmed they hold the PCI scope for it.
> Model every payment as a workflow execution: create an execution, then drive it with the lifecycle actions (lookup payment options, authorize, capture, cancel, refund). Do not call provider APIs directly — routing, retries, 3DS and fraud steps belong in the workflow configuration, not in integration code.
> Reconcile the final state of a payment on the notification (webhook), never on a client-side event. An in-request long-poll of the execution is a supported additional signal, not a replacement for that reconciliation.
> Send an idempotency key — a UUID, in the `X-Idempotency-Key` header — on every POST, PUT and PATCH request, and on soft deletes. GET requests need none, and hard deletes cannot be idempotent.
> Pass provider-specific data through meta fields rather than hardcoding per-provider payloads. Payrails translates meta fields into each provider's own format.
> Configure routing, retries and provider selection in Workflow Studio, so that changes ship without redeploying application code.

# Integrations

> Connect at least one payment service provider to Payrails before you accept payments, and find the setup guide for each supported provider.

export const ProviderLogo = ({code, alt, bleed = false, mono = false}) => {
  const root = `https://assets.payrails.io/img/logos/${code}`;
  const sources = bleed ? [`${root}/logo-full-bleed.svg`, `${root}/logo.svg`] : [`${root}/logo.svg`];
  const [index, setIndex] = useState(0);
  const ref = useRef(null);
  const fail = i => setIndex(current => current === i ? i + 1 : current);
  useEffect(() => {
    const img = ref.current;
    if (img && img.complete) img.decode().catch(() => fail(index));
  }, [index]);
  if (index >= sources.length) {
    return <span className="provider-card-logo-fallback" role="img" aria-label={alt} />;
  }
  return <img key={sources[index]} ref={ref} src={sources[index]} alt={alt} className={mono ? "provider-logo-mono" : undefined} onError={() => fail(index)} />;
};

## Connect your providers to Payrails

<Tip>
  To accept payments with Payrails, you must connect at least one payment service provider (PSP). You can create and configure a provider integration in the Payrails Portal by following the setup guides below.
</Tip>

Each setup guide walks you through how to configure a payment provider integration in Payrails. It includes:

* Required prerequisites
* Step-by-step instructions to create and configure the integration
* Provider-specific credentials and webhook setup

Use these guides when adding a new payment provider or reviewing an existing setup.

***

### Integration setup guides

Browse the available provider setup guides to configure additional payment methods, regions, or capabilities.

<Note>
  These are our most commonly used integrations, with new providers added regularly.
  We support many additional integrations - [contact](https://www.payrails.com/contact) our team to see the full catalog.
</Note>

<CardGroup cols="2">
  <Card href="/docs/orchestration/integrations/2c2p">
    <div className="provider-card">
      <span className="provider-card-logo">
        <ProviderLogo code="2c2p" alt="2C2P logo" bleed />
      </span>

      <div>
        <p className="provider-card-name">2C2P</p>
        <p className="provider-card-type">Payment integration</p>
      </div>
    </div>
  </Card>

  <Card href="/docs/orchestration/integrations/adyen">
    <div className="provider-card">
      <span className="provider-card-logo">
        <ProviderLogo code="adyen" alt="Adyen logo" bleed />
      </span>

      <div>
        <p className="provider-card-name">Adyen</p>
        <p className="provider-card-type">Payment integration</p>
      </div>
    </div>
  </Card>

  <Card href="/docs/orchestration/integrations/amazon">
    <div className="provider-card">
      <span className="provider-card-logo">
        <ProviderLogo code="amazonpay" alt="Amazon Payment Service logo" />
      </span>

      <div>
        <p className="provider-card-name">Amazon Payment Service</p>
        <p className="provider-card-type">Payment integration</p>
      </div>
    </div>
  </Card>

  <Card href="/docs/orchestration/integrations/amex">
    <div className="provider-card">
      <span className="provider-card-logo">
        <ProviderLogo code="amex" alt="American Express logo" />
      </span>

      <div>
        <p className="provider-card-name">American Express</p>
        <p className="provider-card-type">Payment integration</p>
      </div>
    </div>
  </Card>

  <Card href="/docs/orchestration/integrations/braintree">
    <div className="provider-card">
      <span className="provider-card-logo">
        <ProviderLogo code="braintree" alt="Braintree logo" mono />
      </span>

      <div>
        <p className="provider-card-name">Braintree</p>
        <p className="provider-card-type">Payment integration</p>
      </div>
    </div>
  </Card>

  <Card href="/docs/orchestration/integrations/checkout-com">
    <div className="provider-card">
      <span className="provider-card-logo">
        <ProviderLogo code="checkout" alt="Checkout.com logo" bleed />
      </span>

      <div>
        <p className="provider-card-name">Checkout.com</p>
        <p className="provider-card-type">Payment integration</p>
      </div>
    </div>
  </Card>

  <Card href="/docs/orchestration/integrations/dlocal">
    <div className="provider-card">
      <span className="provider-card-logo">
        <ProviderLogo code="dlocal" alt="dLocal logo" mono />
      </span>

      <div>
        <p className="provider-card-name">dLocal</p>
        <p className="provider-card-type">Payment integration</p>
      </div>
    </div>
  </Card>

  <Card href="/docs/orchestration/integrations/getnet">
    <div className="provider-card">
      <span className="provider-card-logo">
        <ProviderLogo code="getnet" alt="Getnet logo" />
      </span>

      <div>
        <p className="provider-card-name">Getnet</p>
        <p className="provider-card-type">Payment integration</p>
      </div>
    </div>
  </Card>

  <Card href="/docs/orchestration/integrations/hipay">
    <div className="provider-card">
      <span className="provider-card-logo">
        <ProviderLogo code="hipay" alt="HiPay logo" mono />
      </span>

      <div>
        <p className="provider-card-name">HiPay</p>
        <p className="provider-card-type">Payment integration</p>
      </div>
    </div>
  </Card>

  <Card href="/docs/orchestration/integrations/klarna">
    <div className="provider-card">
      <span className="provider-card-logo">
        <ProviderLogo code="klarna" alt="Klarna logo" mono />
      </span>

      <div>
        <p className="provider-card-name">Klarna</p>
        <p className="provider-card-type">Payment integration</p>
      </div>
    </div>
  </Card>

  <Card href="/docs/orchestration/integrations/nmi">
    <div className="provider-card">
      <span className="provider-card-logo">
        <ProviderLogo code="nmi" alt="NMI logo" />
      </span>

      <div>
        <p className="provider-card-name">NMI</p>
        <p className="provider-card-type">Payment integration</p>
      </div>
    </div>
  </Card>

  <Card href="/docs/orchestration/integrations/pagaleve">
    <div className="provider-card">
      <span className="provider-card-logo">
        <ProviderLogo code="pagaleve" alt="PagaLeve logo" />
      </span>

      <div>
        <p className="provider-card-name">PagaLeve</p>
        <p className="provider-card-type">Payment integration</p>
      </div>
    </div>
  </Card>

  <Card href="/docs/orchestration/integrations/payabl">
    <div className="provider-card">
      <span className="provider-card-logo">
        <ProviderLogo code="payabl" alt="Payabl logo" />
      </span>

      <div>
        <p className="provider-card-name">Payabl.</p>
        <p className="provider-card-type">Payment integration</p>
      </div>
    </div>
  </Card>

  <Card href="/docs/orchestration/integrations/paypal">
    <div className="provider-card">
      <span className="provider-card-logo">
        <ProviderLogo code="paypal" alt="PayPal logo" />
      </span>

      <div>
        <p className="provider-card-name">PayPal</p>
        <p className="provider-card-type">Payment integration</p>
      </div>
    </div>
  </Card>

  <Card href="/docs/orchestration/integrations/payplug">
    <div className="provider-card">
      <span className="provider-card-logo">
        <ProviderLogo code="payplug" alt="PayPlug logo" mono />
      </span>

      <div>
        <p className="provider-card-name">PayPlug</p>
        <p className="provider-card-type">Payment integration</p>
      </div>
    </div>
  </Card>

  <Card href="/docs/orchestration/integrations/stripe">
    <div className="provider-card">
      <span className="provider-card-logo">
        <ProviderLogo code="stripe" alt="Stripe logo" />
      </span>

      <div>
        <p className="provider-card-name">Stripe</p>
        <p className="provider-card-type">Payment integration</p>
      </div>
    </div>
  </Card>

  <Card href="/docs/orchestration/integrations/tabby">
    <div className="provider-card">
      <span className="provider-card-logo">
        <ProviderLogo code="tabby" alt="Tabby logo" />
      </span>

      <div>
        <p className="provider-card-name">Tabby</p>
        <p className="provider-card-type">Payment integration</p>
      </div>
    </div>
  </Card>

  <Card href="/docs/orchestration/integrations/transbank">
    <div className="provider-card">
      <span className="provider-card-logo">
        <ProviderLogo code="transbank" alt="Transbank logo" />
      </span>

      <div>
        <p className="provider-card-name">Transbank</p>
        <p className="provider-card-type">Payment integration</p>
      </div>
    </div>
  </Card>

  <Card href="/docs/orchestration/integrations/unzer">
    <div className="provider-card">
      <span className="provider-card-logo">
        <ProviderLogo code="unzer" alt="Unzer logo" />
      </span>

      <div>
        <p className="provider-card-name">Unzer</p>
        <p className="provider-card-type">Payment integration</p>
      </div>
    </div>
  </Card>
</CardGroup>


## Related topics

- [Integrations](/docs/chargebacks/integrations/index.md)
- [Server-to-server Integration](/docs/use-cases/server-to-server-integration-reference-architecture.md)
- [Headless Integration using SDK](/docs/orchestration/checkout-sdks/web-v5-legacy/headless-integration-using-sdk.md)
