---
title: "Paypal"
slug: "paypal"
updated: 2025-09-19T07:25:17Z
published: 2025-09-19T07:25:17Z
canonical: "docs.apcopay.com/paypal"
---

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

# Paypal

PayPal is a global payment gateway that enables businesses to securely accept online payments from customers using PayPal accounts, credit cards, and other local payment methods.

### Supported Transaction Types

- [ ] Authorisation
- [x] Purchase
- [ ] Capture
- [ ] Void
- [x] Refunds
- [x] Withdrawals

### Integrations Supported

**Deposit**

- [x] Hosted Payment Page
- [ ] Direct Connect

**Withdrawals and Refunds**

- [ ] Hosted Payment Page
- [x] Direct Connect

A merchant registration with PayPal is required in order to begin processing. This process can be completed by obtaining a Brand Code, Client ID and Client Secret from Apco Support ([support@apcopay.com](mailto:support@apcopay.com)) and completing the registration via the link below. Please replace `{brandcode}` in the URL with the code provided.

Merchant Registration URL: [https://payments.apcopay.tech/paypal/Registration?BrandCode={brandcode}](https://payments.apcopay.tech/paypal/Registration?BrandCode={brandcode})

The Client ID and Secret are required on the second screen of the setup, as shown in the screenshot below:

![](https://cdn.document360.io/358ada76-9dff-4d31-80ba-dad90c84bfa9/Images/Documentation/image(32).png)

## Currencies & Countries Supported

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

## Additional attributes required for Deposits

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

| Description | Hosted Payment Page |
| --- | --- |
| **Force Transaction Routing** | "Routing":{ "ForcePayment": "PAYPAL” } |
| **Client Details** | "Client": { "Email": "[test123@gmail.com](mailto:test123@gmail.com)", "ClientAccount": "testing", "Country": "MLT", "City": "City", "State": "State", "ZIPCode": "ZIP", "Street": "Street", "FirstName": "Joe", "LastName": "Doe", "MobileNo": "3561234567", "IPAddress": "127.0.0.1" }, |
| **PaymentMethodData** | "PaymentMethodData": { "ShowSkrillMethod": "WLT,ACC" |
| **Test Indicator** (required in Sandbox Environment only) | "isTest”: true |

Sample request below

```json
{
  "TransactionType": "PURC",
  "Currency": "USD",
  "Amount": "1.23",
  "OrderReference": "MerchantOrder1",
  "RedirectionURL": "https://www.yourURLhere.com/technicalsupporttool-fe/Redirect/",
  "CallBackURL": "https://www.yourURLhere.com/technicalsupporttool-fe/Redirect/",
  "FailRedirectionURL": "https://www.yourURLhere.com/technicalsupporttool-fe/Listener",
  "Language": "en",
  "IsTest": "True",
  "Routing": {
    "ForcePayment": "PAYPAL"
  },
  "Client": {
    "Email": "test123@gmail.com",
    "ClientAccount": "testing",
    "Country": "MLT",
    "City": "City",
    "State": "State",
    "ZIPCode": "ZIP",
    "Street": "Street",
    "FirstName": "Apco",
    "LastName": "Test",
    "MobileNo": "3561234567",
    "IPAddress": "127.0.0.1"
  },
  "Configuration": {
    "Profile": "showandedit"
  }
}
```

## Additional attributes are required for deposits for Airline Companies.

Airline companies are required to pass the below mandatory information in the payload containing certain flight details.

| Description | Hosted Payment Page |
| --- | --- |
| **Force Transaction Routing** | "Routing":{ "ForcePayment": "PAYPAL” } |
| **Client Details** | "Client": { "Email": "[test123@gmail.com](mailto:test123@gmail.com)", "ClientAccount": "testing", "Country": "MLT", "City": "City", "State": "State", "ZIPCode": "ZIP", "Street": "Street", "FirstName": "Joe", "LastName": "Doe", "MobileNo": "3561234567", "IPAddress": "127.0.0.1" }, |
| **AirlineDetails** | "FlightLegDetails": [ { "flightArrivalDate": "2025-06-18", "flightDepartureDate": "2025-06-17", "flightDepartureTime": "19:20", "flightArrivalTime": "22:20", "airlineCode": "LZ", "airlineFlightNumber": "101", "paymentType": "", "departureCountry": "BG", "departureCity": "SOF", "departureAirport": "SIA", "destinationCountry": "TV", "destinationCity": "TVC", "destinationAirport": "TIA", "stopOverCode": "X", "fareBasisCode": "Discounted", "serviceClass": "A" }, { "flightArrivalDate": "2025-06-17", "flightDepartureDate": "2025-06-17", "flightDepartureTime": "19:20", "flightArrivalTime": "22:20", "airlineCode": "BN", "airlineFlightNumber": "103", "paymentType": "", "departureCountry": "BR", "departureCity": "RDJ", "departureAirport": "RIA", "destinationCountry": "RM", "destinationCity": "BUC", "destinationAirport": "BIA", "stopOverCode": "X", "fareBasisCode": "Regular", "serviceClass": "B" } ], "PassengerDetails": [ { "passportNumber": "G7MMOGWFWF", "title": "Mr", "firstName": "Tal", "lastName": "Nuvei", "passengerName": "Passenger NNameN", "middleName": "G", "dateOfBirth": "2000-06-30", "countryCode": "DE" } ], "ReservationDetails": { "pnrCode": "MF8919WL3Q", "bookingSystemUniqueId": "YCWOP57IZK", "computerizedReservationSystem": "Galileo", "ticketNumber": "0299593814", "documentType": "BoardingPass", "flightDateUTC": "2025-06-17", "issueDate": "2025-02-10", "travelAgencyName": "NuveiSunnyTravel", "travelAgencyCode": "01", "issuingCarrierCode": "AI", "restrictedTicket": "1", "salesSource": "" } } |
| **PaymentMethodData** | "PaymentMethodData": { "ShowSkrillMethod": "WLT,ACC" |

Sample request below

```json
{
  "TransactionType": "PURC",
  "Currency": "GBP",
  "Amount": "1.23",
 "OrderReference": "MerchantOrder1",
  "RedirectionURL": "https://www.yourURLhere.com/technicalsupporttool-fe/Redirect/",
  "CallBackURL": "https://www.yourURLhere.com/technicalsupporttool-fe/Redirect/",
  "FailRedirectionURL": "https://www.yourURLhere.com/technicalsupporttool-fe/Listener",
  "Language": "en",
  "IsTest": "True",
  "Routing": {
    "ForcePayment": "PAYPAL"
  },
  "Client": {
    "Email": "test123@gmail.com",
    "ClientAccount": "testing",
    "Country": "MLT",
    "City": "City",
    "State": "State",
    "ZIPCode": "ZIP",
    "Street": "Street",
    "FirstName": "Apco",
    "LastName": "Test",
    "MobileNo": "3561234567",
    "IPAddress": "127.0.0.1"
  },
  "Configuration": {
    "Profile": "showandedit"
  },
  "PaymentMethodData": {
    "ShowSkrillMethod": "WLT,ACC"
  },
  "AirlineDetails": {
    "FlightLegDetails": [
      {
        "flightArrivalDate": "2025-06-18",
        "flightDepartureDate": "2025-06-17",
        "flightDepartureTime": "19:20",
        "flightArrivalTime": "22:20",
        "airlineCode": "LZ",
        "airlineFlightNumber": "101",
        "paymentType": "",
        "departureCountry": "BG",
        "departureCity": "SOF",
        "departureAirport": "SIA",
        "destinationCountry": "TV",
        "destinationCity": "TVC",
        "destinationAirport": "TIA",
        "stopOverCode": "X",
        "fareBasisCode": "Discounted",
        "serviceClass": "A"
      },
      {
        "flightArrivalDate": "2025-06-17",
        "flightDepartureDate": "2025-06-17",
        "flightDepartureTime": "19:20",
        "flightArrivalTime": "22:20",
        "airlineCode": "BN",
        "airlineFlightNumber": "103",
        "paymentType": "",
        "departureCountry": "BR",
        "departureCity": "RDJ",
        "departureAirport": "RIA",
        "destinationCountry": "RM",
        "destinationCity": "BUC",
        "destinationAirport": "BIA",
        "stopOverCode": "X",
        "fareBasisCode": "Regular",
        "serviceClass": "B"
      }
    ],
    "PassengerDetails": [
      {
        "passportNumber": "G7MMOGWFWF",
        "title": "Mr",
        "firstName": "Joe",
        "lastName": "Doe",
        "passengerName": "Passenger NNameN",
        "middleName": "G",
        "dateOfBirth": "2000-06-30",
        "countryCode": "DE"
      }
    ],
    "ReservationDetails": {
      "pnrCode": "MF8919WL3Q",
      "bookingSystemUniqueId": "YCWOP57IZK",
      "computerizedReservationSystem": "Galileo",
      "ticketNumber": "0299593814",
      "documentType": "BoardingPass",
      "flightDateUTC": "2025-06-17",
      "issueDate": "2025-02-10",
      "travelAgencyName": "NuveiSunnyTravel",
      "travelAgencyCode": "01",
      "issuingCarrierCode": "AI",
      "restrictedTicket": "1",
      "salesSource": ""
    }
  }
}
```

## Additional attributes are required for withdrawals - Direct Connect.

Sample request below

```json
{
  "TransactionType": "ORIGINALCREDIT",
  "Amount": "1.23",
  "Currency": "EUR",
  "OrderReference": "Paypal - Payout",
  "IsTest": true,
   "RedirectionURL": "https://www.yourURLhere.com/technicalsupporttool-fe/Redirect/",
  "CallBackURL": "https://www.yourURLhere.com/technicalsupporttool-fe/Redirect/",
  "PspId": "9073270", 
 "Client": {
    "Email": "johndoe@gmail.com",
    "FirstName": "mU",
    "LastName": "sd",
    "City": "Valletta",
    "IPAddress": "1.1.1.1",
    "Country": "MT"
  },
  "Routing": {
    "ForcePayment": "PAYPAL"
  }
}
```

## Additional attributes are required for refunds - Direct Connect.

Sample request below

```json
{
  "TransactionType": "PARTIALREFUND",
  "Amount": "1.00",
  "Currency": "EUR",
  "OrderReference": "Paypal - Refund",
  "RedirectionURL": "https://www.yourURLhere.com/technicalsupporttool-fe/Redirect/",
  "CallBackURL": "https://www.yourURLhere.com/technicalsupporttool-fe/Redirect/",
  "IsTest": true,
  "PspId": "928748"
}
```
