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

# Nuvei

> Connect Nuvei Movement and Finance Settlement reports as a data source in the Payrails Portal, using the SFTP account Nuvei hosts for you.

<picture noZoom>
  ![Nuvei logo](https://assets.payrails.io/img/logos/nuvei/logo-full-bleed.svg)
</picture>

This guide explains how to connect Nuvei as a data source in Payrails. Nuvei delivers your reports to an SFTP folder it hosts for you, Payrails reads them from that folder every day, and you configure the integration yourself in the Payrails portal.

## Prerequisites

You need:

* Administrator access to the Nuvei Control Panel for your top-level account
* The Nuvei SFTP account of your top-level account: host, port, username, and SSH private key. Nuvei creates one SFTP login per top-level account
* The Payrails IP addresses on the allowlist of that SFTP account (see Step 2)

## Overview

Payrails ingests two Nuvei reports:

* **Movement**: one row per balance movement, such as a sale, credit, chargeback, fee, or payout.
* **Finance Settlement**: one row per payout line, summarizing what Nuvei settles to you.

Nuvei generates both reports on a schedule you set in the Control Panel and delivers them to your SFTP folder. One integration instance covers every account under your top-level account.

## Step-by-step instructions

### Step 1: Schedule the report distributions

In the Nuvei Control Panel, set up a daily SFTP distribution for each report:

1. A **Movement** report distribution. Include the **Movement ID** and **Payout ID** columns. Payrails uses Movement ID to identify each row, and Payout ID to link each movement to its payout.
2. A **Finance Settlement** report distribution.

If you're unsure how to set up a distribution, ask your Nuvei account manager.

### Step 2: Allowlist the Payrails IP addresses

Ask your Payrails account manager for the Payrails IP addresses. Then ask Nuvei Enterprise Support to add them to the allowlist of your SFTP account. Payrails can't connect to the folder until they do.

### Step 3: Add the Nuvei integration in the Payrails portal (self-serve)

1. Log in to the Payrails portal and open **Settings → Integrations → Data**.
2. Click **Add instance** (top-right).
3. In New instance, select integration type **Data**, then click **Continue**.
4. Select provider: **Nuvei**, then click **Continue**.
5. On the **Configure account** screen, fill in:
   * **Integration instance name**: a unique label. Use only letters, numbers, dashes, and underscores.
   * **Start Date**: the date from which Payrails reads reports. Use today's date. For earlier data, contact your Payrails account manager.
   * **Host**, **Port**, and **Username**: the details of your Nuvei SFTP account.
   * **Private Key**: the full SSH private key of your SFTP account, including the `BEGIN` and `END` lines. The key must not have a passphrase.
6. Click **Save account**. The instance appears in the Data integrations list and Payrails begins ingesting data on the next daily run.

## Data availability

Payrails reads new report files once a day. Each file shows on the dashboards after the next daily run that follows its delivery.

Nuvei delivers the Finance Settlement report two days after the settlement date. The delay of the Movement report depends on the schedule you set in Step 1. Nuvei doesn't create a file for a day with no data.


## Related topics

- [Nuvei](https://docs.payrails.com/docs/chargebacks/integrations/nuvei.md)
- [Alipay via Nuvei](https://docs.payrails.com/docs/orchestration/payment-methods/alipay/nuvei.md)
- [Bancontact via Nuvei](https://docs.payrails.com/docs/orchestration/payment-methods/bancontact/nuvei.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.