---
title: "Nuvei Card Processing"
slug: "nuvei"
updated: 2026-02-27T08:10:02Z
published: 2026-02-27T08:10:02Z
canonical: "docs.apcopay.com/nuvei"
---

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

# Nuvei Card Processing

## Supported Transaction Types

- [x] Authorisation `AUTH`
- [x] Capture `CAPT`
- [x] Purchase `PURC`
- [x] Refund `PARTIALREFUND`
- [x] Void `GENERALVOID`
- [x] Payouts `ORIGINALCREDIT`
- [x] Recurring `PURC`

## Integrations Supported

**Deposit - Authorisation / Purchase**

- [x] Hosted Payment Page
- [x] Direct Connect ( server-to-server)

**Capture, Void, Refunds, Payouts, Recurring**

- [ ] Hosted Payment Page
- [x] Direct Connect ( server-to-server)

## Supported Wallet

- [x] GooglePay
- [x] Applepay

![AirLine Ready-Small Cropped.png](https://cdn.document360.io/358ada76-9dff-4d31-80ba-dad90c84bfa9/Images/Documentation/AirLine%20Ready-Small%20Cropped.png) Airline Ready - Follow [link](/v1/docs/nuvei#airline-details) for further information related to required Airline Details specific to this Acquirer.

## Currencies & Countries Supported

| Title | Description |
| --- | --- |
| **Currencies Supported** | Most major currencies |

## Additional attributes to process Deposits

You must include the following JSON Attributes to the payload. These attributes inform us to proceed with the redirection to Nuvei to finalize the payment process.

if you are using our **Hosted Payment Page**

| Description | Hosted Payment Page |
| --- | --- |
| **Transaction Type** | "TransactionType": "AUTH" or "PURC" |
| **Force Transaction Routing** | “Routing”:{ "ForceBank": "SAFECHARGE” } |
| **Client Details** | "Client": { "Email": "test@mailinator.com", "FirstName": "Apco", "LastName": "Test", "City": "Valletta", "Country": "MLT", “IPAddress": "1.1.1.1" } |
| **Test Indicator** | "isTest”: true |

Sample requests using our Hosted Payment Page can be viewed here.

```json
 {
  "TransactionType": "PURC",
  "Currency": "EUR",
  "Amount": 1.00,
  "OrderReference": "Order2321",
  "UniqueReference": "4b8da4f0-d3b4-44ae-8019-8c66905ffad7",
  "RedirectionURL": "https://www.yourURLhere.com/Redirect/",
  "CallBackURL": "https://www.yourURLhere.com/Listener",
  "FailRedirectionURL": "https://www.yourURLhere.com/Redirect/",
  "IsTest": true,
  "Routing": {
    "ForceBank": "SAFECHARGE"
  },
  "Client": {
    "Email": "apcotest@gmail.com",
    "ClientAccount": "testing",
    "FirstName": "Apco",
    "LastName": "Test",
    "Country": "MLT",
    "Street": "Street1",
    "City": "City",
    "State": "State",
    "IPAddress": "214.21.134.79"
  }
}
```

If you are using our **direct connect solution** (server-to-server)

| Description | Direct Connect |
| --- | --- |
| **Transaction Type** | "TransactionType": "AUTH" or "PURC" |
| **Force Transaction Routing** | "Routing":{ "ForceBank": "SAFECHARGE” } |
| **Client Details** | "Client": { "Email": "test@gmail.com", "FirstName": "Apco", "LastName": "Test", "MobileNo": "7777777", "Street": "Church Street", "City": "Valletta", "State": "Rabat", "ZIPCode": "RBT2640", "Country": "MLT", "IPAddress": "1.1.1.1" } |
| **Card Details** | "PaymentCredentials": { "PaymentSource": "Card", "CardType": "MASTERCARD", "CardNumber": "5351772561457936", "Cvv2": "123", "ExpMonth": "03", "ExpYear": "2027", "CardHolderName": "Joe Smith" }, |
| **Browser details** | "BrowserDetails": { "UserAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36", "JavaEnabled": true, "ScreenColorDepth": "1", "ScreenWidth": "1080", "ScreenHeight": "840", "TimeZone": "2", "AcceptHeader": "application/json", "BrowserLanguage": "en" } |
| **Test Indicator** | "isTest”: true |

Sample requests using **Direct Connect** can be viewed here.

```json
 {
    "TransactionType": "AUTH",
    "Currency": "EUR",
    "Amount": 1.00,
    "OrderReference": "Order12324",
    "UniqueReference": "4b8da4f0-d3b4-44ae-8019-8c66905ffad7",
    "Language": "en",
    "RedirectionURL": "https://www.yourURLhere.com/Redirect/",
    "CallBackURL": "https://www.yourURLhere.com/callback",
    "FailRedirectionURL": "https://www.yourURLhere.com/FailRedirect",
    "IsTest": true,
     "Routing":{
     "ForceBank": "SAFECHARGE"
  },
    "Client": {
        "Email": "joe.bloggs@testjb.com",
        "ClientAccount": "CliAcc01002",
        "FirstName": "Joe",
        "LastName": "Smith",
        "Country": "MLT",
        "MobileNo": "0044123456789",
        "Street": "High Street",
        "City": "Valletta",
        "ZIPCode": "VLT1234",
        "State": "Valletta",
        "IPAddress": "214.21.134.79"
    },
    "BrowserDetails": {
        "UserAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",
        "JavaEnabled": true,
        "ScreenColorDepth": "1",
        "ScreenWidth": "1080",
        "ScreenHeight": "840",
        "TimeZone": "2",
        "AcceptHeader": "application/json",
        "BrowserLanguage": "en"
    },
    "PaymentCredentials": {
        "PaymentSource": "Card",
        "CardType": "VISA",
        "CardNumber": "4544445544554454",
        "CvV2": "123",
        "ExpMonth": "12",
        "ExpYear": "2028",
        "CardHolderName": "Frictionless Processed"
    }
}
```

### Requesting a Capture

If you wish to `Capture` a transaction of type `Authorisation`, below are the mandatory fields.

| Description | Direct Connect |
| --- | --- |
| **Transaction Type** | "TransactionType": "CAPT", |
| **Transaction Reference** | "PspID": "342342” |

Sample request for processing a `capture` request.

```json
{
"TransactionType": "CAPT",
"Amount": 10.00,
"CallBackURL": "https://www.yourURLhere.com/Listener",
"IsTest": true,
"UniqueReference": "6514441d-8abe-4d7b-9e0c-3aa386333b34",
"PspID":"839791" 
}
```

### Requesting a Refund

Using our direct integration, below are the mandatory fields required to process a `refund`. Refund are only possible up to the original deposit amount.

| Description |  |
| --- | --- |
| **Transaction Type** | "TransactionType": "PARTIALREFUND" |
| **Transaction or Payment Reference** | "PspID": "342342” |
| **Test Indicator** | "isTest”: true |

Sample refund request below

```json
 {
  "TransactionType": "PARTIALREFUND",
  "Amount": "1.00",
  "OrderReference": "REF0017283_Refund",
  "UniqueReference": "4fe126cb-146b-426c-8234c-c8ca12e5072f",
  "RedirectionURL": "https://www.yourURLhere.com/Redirect/",
  "CallBackURL": "https://www.yourURLhere.com/Listener",
  "PspId" : "153574",
  "IsTest": true
}
```

### Requesting a Payout

Using our direct integration, below are the mandatory fields required to process a `payout`. We currently support three options for payout:

- via a PSP ID
- via a Card Token
- via a full Card PAN details

| Description | PSP ID | Card Token | Full Card PAN |
| --- | --- | --- | --- |
| **Transaction Type** | "TransactionType": "ORIGINALCREDIT" |
| **Force Transaction Routing** | *Not required* | "Routing": { "ForceBank": "SAFECHARGE" }, | "Routing": { "ForceBank": "SAFECHARGE" }, |
| **Client** | "Client": { "FirstName": "Apco", "LastName": "Test", "Email": "apcotest@test.com", "Street": "1, Street", "City": "Marsa", "IPAddress": "1.1.1.1", "ZIPCode": "MRS3000", "Country": "MLT", "MobileNo": "+20100000000" }, | "Client": { "FirstName": "Apco", "LastName": "Test", "Email": "apcotest@test.com", "Street": "1, Street", "City": "Marsa", "IPAddress": "1.1.1.1", "ZIPCode": "MRS3000", "Country": "MLT", "MobileNo": "+20100000000" }, | "Client": { "FirstName": "Apco", "LastName": "Test", "Email": "apcotest@test.com", "Street": "1, Street", "City": "Marsa", "IPAddress": "1.1.1.1", "ZIPCode": "MRS3000", "Country": "MLT", "MobileNo": "+20100000000" }, |
| **Transaction or Payment Reference** | "PspID": "342342” | "PaymentDestination": { "PaymentMethod": "CardToken", "CardToken": "c840e58e-519d-409a-b525-297fadf60733" }, | "PaymentDestination": { "PaymentMethod": "Card", "CardType": "VISA", "CardNumber": "4000000000001018", "CardHolderName": "Apco Test", "ExpMonth": "12", "ExpYear": "2040", "CvV2":"123" }, |
| **Test Indicator** | "isTest”: true | "isTest”: true | "isTest”: true |

**Sample Payout Request using the PSP ID**

```json
{
  "TransactionType": "ORIGINALCREDIT",
  "Amount": 1.00,
  "Currency": "EUR",
  "OrderReference": "Order42323",
  "UniqueReference": "4b8da4f0-d3b4-44ae-8019-8c66905ffad7",
  "ClientAccount": "testing",
  "CallBackURL": "https://www.yourURLhere.com/Listener",
  "RedirectionURL": "https://www.yourURLhere.com/Redirect/",
  "FailRedirectionURL": "https://www.yourURLhere.com/Redirect/failed",
  "Client": {
    "FirstName": "Apco",
    "LastName": "Test",
    "Email": "apcotest@test.com",
    "Street": "1,Street",
    "City": "Marsa",
    "IPAddress": "1.1.1.1",
    "ZIPCode": "MRS3000",
    "Country": "MLT",
    "MobileNo": "+20100000000"
  },
  "IsTest": true,
  "PSPID": "823205"
}
```

### **Requesting a Recurring transaction**

The mandatory fields are required to process a recurring transaction using our direct connect integration. Note that we use a transaction reference as payment credentials since a recurring transaction is linked to an original deposit.

| Description | Direct Connect |
| --- | --- |
| **Transaction Type** | "TransactionType": "PURC" |
| **Payment Credentials** | "PaymentCredentials": { "PaymentSource": "TransactionReference" }, |
| **Client** | "Client": { "FirstName": "Apco", "LastName": "Test", "Email": "apcotest@test.com", "Street": "1,Street", "City": "Marsa", "IPAddress": "1.1.1.1", "ZIPCode": "MRS3000", "Country": "MLT", "MobileNo": "+20100000000" }, |
| **Transaction Reference** | "PspID": "342342” |
| **Test Indicator** | "isTest”: true |

**Sample Request of a Recurring transaction**

```json
 {
  "TransactionType": "PURC",
  "Currency": "EUR",
  "Amount": 10.12,
  "OrderReference": "Order2323",
  "UniqueReference": "4b8da4f0-d3b4-44ae-8019-8c66905ffad7",
  "RedirectionURL": "https://www.yourURLhere.com/Redirect",
  "CallBackURL": "https://www.yourURLhere.com/Listener",
  "FailRedirectionURL": "https://www.yourURLhere.com/Redirect?page=failed",
  "Language": "en",
  "IsTest": true,
  "PspId": "840510",
  "PaymentCredentials": {
    "PaymentSource": "TransactionReference"
  },
  "Client": {
    "Email": "apcotest@gmail.com",
    "FirstName": "Apco",
    "LastName": "Test",
    "MobileNo": "77777777",
    "ZIPCode": "RBT2640",
    "Street": "Church Street",
    "Country": "MLT",
    "City": "Valletta",
    "State": "Rabat",
    "ClientAccount": "testing"
  }
}
```

## **Airline Details**

When processing payment transactions in the context of airline bookings, one needs to include additional booking information captured under a dedicated JSON node within the main `AUTH`, `PURC `or `ORIGINALCREDIT `payload termed `AirlineDetails`. This object encapsulates flight-related, passenger, and reservation details for airline related payment transactions. To facilitate cross provider implementations, the entire JSON object needs to be implemented however supplying the minimum required values as per Acquirer specific guidelines hereunder. In addition this would help future proofing the integration since some attributes may become enforceable over time.

NOTE: Empty string values should be supplied for non required values.

| `AirlineDetails Attributes` | NUVEI eTicket | NUVEI Ticketless |
| --- | --- | --- |
| AirlineDetails:{ |  |  |
| FlightLegDetails: [ |  |  |
| { |  |  |
| flightArrivalDate | REQUIRED | REQUIRED |
| flightArrivalTime | NOT REQUIRED | NOT REQUIRED |
| flightDepartureDate | REQUIRED | REQUIRED |
| flightDepartureTime | NOT REQUIRED | NOT REQUIRED |
| airlineCode | REQUIRED | REQUIRED |
| airlineFlightNumber | REQUIRED | REQUIRED |
| paymentType | NOT REQUIRED | NOT REQUIRED |
| departureCountry | REQUIRED | NOT REQUIRED |
| departureCity | REQUIRED | NOT REQUIRED |
| departureAirport | REQUIRED | REQUIRED |
| destinationCountry | REQUIRED | NOT REQUIRED |
| destinationCity | REQUIRED | NOT REQUIRED |
| destinationAirport | REQUIRED | REQUIRED |
| stopOverCode | REQUIRED | NOT REQUIRED |
| fareBasisCode | NOT REQUIRED | NOT REQUIRED |
| serviceClass | NOT REQUIRED | NOT REQUIRED |
| } |  |  |
| ], |  |  |
| PassengerDetails: [ |  |  |
| { |  |  |
| passportNumber | REQUIRED | NOT REQUIRED |
| title | REQUIRED | REQUIRED |
| firstName | REQUIRED | REQUIRED |
| lastName | REQUIRED | REQUIRED |
| passengerName | REQUIRED | REQUIRED |
| middleName | REQUIRED | REQUIRED |
| dateOfBirth | NOT REQUIRED | NOT REQUIRED |
| countryCode | NOT REQUIRED | NOT REQUIRED |
| } |  |  |
| ], |  |  |
| ReservationDetails: { |  |  |
| pnrCode | REQUIRED | REQUIRED |
| bookingSystemUniqueId | REQUIRED | REQUIRED |
| computerizedReservationSystem | REQUIRED | REQUIRED |
| ticketNumber | REQUIRED | NOT REQUIRED |
| documentType | REQUIRED | REQUIRED |
| flightDateUTC | REQUIRED | REQUIRED |
| issueDate | REQUIRED | REQUIRED |
| travelAgencyName | NOT REQUIRED | NOT REQUIRED |
| travelAgencyCode | NOT REQUIRED | NOT REQUIRED |
| travelAgentCity | NOT REQUIRED | NOT REQUIRED |
| issuingCarrierCode | NOT REQUIRED | NOT REQUIRED |
| restrictedTicket | NOT REQUIRED | NOT REQUIRED |
| salesSource | NOT REQUIRED | NOT REQUIRED |
| } |  |  |
| } |  |  |

#### **Sample Request - Hosted Payment Page**

```json
{
	"TransactionType": "PURC",
	"Currency": "EUR",
	"Amount": 1.0,
	"OrderReference": "Order2321",
	"UniqueReference": "4b8da4f0-d3b4-44ae-8019-8c66905ffad7",
	"RedirectionURL": "https://www.yourURLhere.com/Redirect/",
	"CallBackURL": "https://www.yourURLhere.com/Listener",
	"FailRedirectionURL": "https://www.yourURLhere.com/Redirect/",
	"IsTest": true,
	"Client": {
		"Email": "apcotest@gmail.com",
		"ClientAccount": "testing",
		"FirstName": "Apco",
		"LastName": "Test",
		"Country": "MLT",
		"Street": "Street1",
		"City": "City",
		"State": "State",
		"IPAddress": "214.21.134.79"
	},
	"AirlineDetails": {
		"FlightLegDetails": [
			{
				"flightArrivalDate": "2024-12-24",
				"flightArrivalTime": "",
				"flightDepartureDate": "2024-12-24",
				"flightDepartureTime": "",
				"airlineCode": "AA",
				"airlineFlightNumber": "1357",
				"paymentType": "",
				"departureCountry": "US",
				"departureCity": "New York",
				"departureAirport": "JFK",
				"destinationCountry": "GB",
				"destinationCity": "London",
				"destinationAirport": "LHR",
				"stopOverCode": "0",
				"fareBasisCode": "",
				"serviceClass": ""
			}
		],
		"PassengerDetails": [
			{
				"passportNumber": "A12345678",
				"title": "Mr",
				"firstName": "John",
				"lastName": "Doe",
				"passengerName": "John Doe",
				"middleName": "Michael",
				"dateOfBirth": "",
				"countryCode": ""
			}
		],
		"ReservationDetails": {
			"pnrCode": "XYZ123",
			"bookingSystemUniqueId": "BOOK123456789",
			"computerizedReservationSystem": "Amadeus",
			"ticketNumber": "0012345678901",
			"documentType": "TKT",
			"flightDateUTC": "2024-12-24 16:30:00",
			"issueDate": "2024-12-01",
			"travelAgencyName": "",
			"travelAgencyCode": "",
			"travelAgentCity": "",
			"issuingCarrierCode": "",
			"restrictedTicket": "",
			"salesSource": ""
		}
	}
}
```

**Test Credentials**

Test Card details below. You must use a future expiry date and use “Frictionless Processed” as the cardholder name. For more test information on different card use cases [here](/v1/docs/test-card-numbers).

| Card Details |
| --- |
| 4200000000000000 |
| 4711100000000000 |
| 5555555555554444 |
