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

# Connect your data sources

> Add your payment providers as data sources in the Payrails Portal to power analytics, reporting, and fee monitoring.

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)} />;
};

<Note>
  To power Analytics & Reporting in Payrails (specifically as standalone product
  and for fee monitoring), connect your payment providers as **data sources**.
  With **self-serve data integrations**, you create and configure each
  integration yourself in the Payrails portal - no manual setup or intervention
  from Payrails teams is required. You can add a data source in the Payrails
  Portal by following the setup guides below.
</Note>

Each setup guide walks you through how to connect a provider as a data source in Payrails. It includes:

* Required prerequisites
* Provider-side steps to generate API credentials or gather SFTP details
* How to add and configure the integration in the Payrails portal (self-serve)

Use these guides when adding a new data source or reviewing an existing setup.

***

## How the self-serve flow works

After gathering the required credentials from your provider (see each provider guide), connect the data source in Payrails:

1. Log in to the **Payrails portal**.
2. Open **Settings → Integrations → Data**.
3. Click **Add instance** in the top-right corner of the Data integrations list.
4. On the **Select provider** screen, choose your provider and click **Continue**.
5. On the **Configure account** screen, enter the **Integration instance name**, the provider's **settings and credentials**, and *(optionally)* **Additional data**.
6. Click **Save account**.

The new instance appears in the **Data integrations** list with its status, and Payrails begins ingesting data automatically.

***

## Edit or disable an integration instance

You can manage an existing integration at any time from **Settings → Integrations → Data**:

* **Edit:** open the instance from the Data integrations list to update its name, settings, or credentials, then click **Save account**. Use this to rotate an API key, add a merchant account, or adjust the start date.
* **Disable / enable:** change the instance's status. Disabling stops Payrails from pulling new data for that instance without deleting its configuration — you can re-enable it again later.

## What to expect after enabling

* **First run:** once you save and enable an instance, it is picked up on the next scheduled pipeline run.
* **Freshness:** the pipeline pulls from each provider on a **daily** basis. Data is expected to be available in Payrails within **\~3 hours** of the pipeline run completing.
* **Where data lands:** ingested data feeds **Analytics & Reporting** — it appears in the reports and dashboards (Unified Analytics) for the configured workspace.

## Backfilling historical data

<Warning>
  Self-serve backfilling is **not available yet**. If you need historical data
  ingested (for a period before your start date), reach out to your **Payrails
  account manager** to arrange it. Self-serve backfilling is in progress and
  will be enabled over self-serve in a future release.
</Warning>

***

## Data integration setup guides

<Tip>
  These providers are configured exclusively through the self-serve flow, with
  new providers added regularly.
</Tip>

<CardGroup cols="2">
  <Card href="/docs/analytics-and-reporting/getting-started/connect-your-data-sources/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">Data integration</p>
      </div>
    </div>
  </Card>

  <Card href="/docs/analytics-and-reporting/getting-started/connect-your-data-sources/amex">
    <div className="provider-card">
      <span className="provider-card-logo">
        <ProviderLogo code="amex" alt="Amex logo" />
      </span>

      <div>
        <p className="provider-card-name">Amex</p>
        <p className="provider-card-type">Data integration</p>
      </div>
    </div>
  </Card>

  <Card href="/docs/analytics-and-reporting/getting-started/connect-your-data-sources/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">Data integration</p>
      </div>
    </div>
  </Card>

  <Card href="/docs/analytics-and-reporting/getting-started/connect-your-data-sources/checkout">
    <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">Data integration</p>
      </div>
    </div>
  </Card>

  <Card href="/docs/analytics-and-reporting/getting-started/connect-your-data-sources/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">Data integration</p>
      </div>
    </div>
  </Card>

  <Card href="/docs/analytics-and-reporting/getting-started/connect-your-data-sources/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">Data integration</p>
      </div>
    </div>
  </Card>

  <Card href="/docs/analytics-and-reporting/getting-started/connect-your-data-sources/jp-morgan">
    <div className="provider-card">
      <span className="provider-card-logo">
        <ProviderLogo code="jpmorgan" alt="J.P.Morgan logo" mono />
      </span>

      <div>
        <p className="provider-card-name">J.P.Morgan</p>
        <p className="provider-card-type">Data integration</p>
      </div>
    </div>
  </Card>

  <Card href="/docs/analytics-and-reporting/getting-started/connect-your-data-sources/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">Data integration</p>
      </div>
    </div>
  </Card>

  <Card href="/docs/analytics-and-reporting/getting-started/connect-your-data-sources/mangopay">
    <div className="provider-card">
      <span className="provider-card-logo">
        <ProviderLogo code="mangopay" alt="MangoPay logo" bleed />
      </span>

      <div>
        <p className="provider-card-name">MangoPay</p>
        <p className="provider-card-type">Data integration</p>
      </div>
    </div>
  </Card>

  <Card href="/docs/analytics-and-reporting/getting-started/connect-your-data-sources/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">Data integration</p>
      </div>
    </div>
  </Card>

  <Card href="/docs/analytics-and-reporting/getting-started/connect-your-data-sources/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">Data integration</p>
      </div>
    </div>
  </Card>

  <Card href="/docs/analytics-and-reporting/getting-started/connect-your-data-sources/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">Data integration</p>
      </div>
    </div>
  </Card>

  <Card href="/docs/analytics-and-reporting/getting-started/connect-your-data-sources/tap">
    <div className="provider-card">
      <span className="provider-card-logo">
        <ProviderLogo code="tap" alt="TAP logo" mono />
      </span>

      <div>
        <p className="provider-card-name">TAP</p>
        <p className="provider-card-type">Data integration</p>
      </div>
    </div>
  </Card>

  <Card href="/docs/analytics-and-reporting/getting-started/connect-your-data-sources/unlimit">
    <div className="provider-card">
      <span className="provider-card-logo">
        <ProviderLogo code="unlimit" alt="Unlimit logo" />
      </span>

      <div>
        <p className="provider-card-name">Unlimit</p>
        <p className="provider-card-type">Data integration</p>
      </div>
    </div>
  </Card>

  <Card href="/docs/analytics-and-reporting/getting-started/connect-your-data-sources/vippsmobilepay">
    <div className="provider-card">
      <span className="provider-card-logo">
        <ProviderLogo code="vipps" alt="Vipps/MobilePay logo" />
      </span>

      <div>
        <p className="provider-card-name">Vipps/MobilePay</p>
        <p className="provider-card-type">Data integration</p>
      </div>
    </div>
  </Card>
</CardGroup>


## Related topics

- [Getting started](/docs/analytics-and-reporting/getting-started/index.md)
- [Unlimit](/docs/analytics-and-reporting/getting-started/connect-your-data-sources/unlimit.md)
- [Checkout](/docs/analytics-and-reporting/getting-started/connect-your-data-sources/checkout.md)
