---
title: "PayPal"
description: "PayPal è uno dei metodi di pagamento più diffusi al mondo. In questa guida scoprirai come attivarlo, configurarlo su Fabrick Payment Orchestra e integrarlo correttamente nel tuo ecommerce."
url: "https://docs.fabrick.com/payment-hub-and-orchestra/ecommerce/alternative-payments/paypal/"
language: "it"
---

# PayPal

## Perché scegliere PayPal

PayPal è uno dei **metodi di pagamento più diffusi al mondo**, disponibile in oltre 200 paesi. Integrarlo nell'ecommerce amplia le modalità di pagamento disponibili e aumenta la fiducia degli utenti grazie a un'esperienza di checkout consolidata e riconoscibile.

> **Approfondimento**
>
> Per ulteriori informazioni consulta il [sito ufficiale](https://www.paypal.com/us/business)

---

## Servizi e funzionalità disponibili tramite integrazione Fabrick

L'integrazione di PayPal con Fabrick Payment Orchestra mette a disposizione un ecosistema completo di funzionalità per semplificare la gestione delle transazioni e migliorare l'esperienza sia per il venditore che per il cliente.

- **Protezione venditore (Seller Protection)**: tutela l'esercente da transazioni non autorizzate o contestazioni, riducendo il rischio di frodi ([scopri di più](https://www.paypal.com/it/webapps/mpp/paypal-safety-and-security)).
- **Fabrick Guaranteed Payments**: servizio di prevenzione frodi a supporto dell'esercente ([scopri di più](https://docs.fabrick.com/payment-hub-and-orchestra/ecommerce/features/fraud-prevention/fabrick-guaranteed-payments/)).
- **Pagamento a rate**: la soluzione *Pay Later* permette ai clienti di suddividere l'importo in rate, aumentando la flessibilità di acquisto ([scopri di più](https://developer.paypal.com/docs/checkout/pay-later/it/)).
- **Pagamenti ricorrenti**: ideale per abbonamenti o servizi continuativi.
- **Gestione avanzata delle transazioni**: supporto a catture e storni parziali o multipli per una gestione flessibile dei pagamenti.
- **Separazione/contestualità tra autorizzazione e conferma finanziaria**: la cattura può essere contestuale all'autorizzazione oppure disposta in un momento successivo.
- **Supporto multivaluta**: compatibilità con diverse valute ([lista completa](https://developer.paypal.com/docs/reports/reference/paypal-supported-currencies/)).
- **Copertura internazionale**: disponibile in oltre 200 paesi ([scopri di più](https://www.paypal.com/us/webapps/mpp/country-worldwide)).
- **Riconciliazione semplificata**: gestione dei pagamenti tramite report dedicati ([scopri di più](https://www.fabrick.com/it-it/assistenza/fabrick-dashboard/)).
- **Chargeback**: le contestazioni vengono gestite direttamente tramite la dashboard PayPal ([scopri di più](https://securepayments.paypal.com/it/cshelp/article/che-cosa-sono-i-chargeback-e-perch%C3%A9-ne-ho-ricevuto-uno-help607)).

---

### Separazione tra autorizzazione e cattura

Per impostare o modificare la modalità di gestione delle transazioni del metodo di pagamento:

1. Accedi alla Dashboard e vai su **Impostazioni → Accedi alle configurazioni** ![Accesso alle configurazioni dalla Dashboard](https://docs.fabrick.com/assets/images/dashboard-access-configurations-f4782eb17db7b8fb6f23649ba8e3e5d7.png)

2. Una volta reindirizzato sul backoffice, vai su **Configurazioni → Ambiente** e clicca su **MOTO**: si apre un pannello laterale con l'elenco dei metodi di pagamento attivi

3. Individua il metodo di pagamento e seleziona la modalità desiderata tra **Contestuale** e **Separata** ![Configurazione MOTO per PayPal](https://docs.fabrick.com/assets/images/paypal-moto-62b5c1d7b12834d19c72704a37b10d6d.png)

> **MOTO**
>
> Per approfondire il funzionamento delle due modalità, consulta la sezione [separazione tra autorizzazione e cattura](https://docs.fabrick.com/payment-hub-and-orchestra/ecommerce/introduction/getting-started/#moto).

---

## PayPal su Fabrick Payment Orchestra: attivazione e modalità di integrazione

### Richiesta di attivazione

Per iniziare ad accettare pagamenti con PayPal, puoi richiedere l'attivazione:

- Contattando il tuo referente commerciale
- Contattando l'assistenza al seguente [link](https://landing.fabrick.com/fabrick-dashboard-support)

### Collegamento dell'account PayPal Business

Una volta attivato il metodo, è necessario collegare il tuo account PayPal Business alla piattaforma Fabrick:

- **Sandbox**: utilizza un [account PayPal Business di test](https://developer.paypal.com/tools/sandbox/accounts/)
- **Produzione**: effettua il login con le credenziali del tuo account Business

Per completare il collegamento:

1. Accedi alla Dashboard Fabrick

2. Dal menu laterale, seleziona **Workspace → Negozi → \[Seleziona negozio] → Configurazioni → Attiva ora** ![PayPal](https://docs.fabrick.com/assets/images/pp-link-01-960484e165e84bd24ca201bbe9d6e1a3.png)

3. Clicca su **Attiva ora**, verrai reindirizzato alla pagina di collegamento PayPal ![PayPal](https://docs.fabrick.com/assets/images/pp-link-02-199aaaa1f77f7acfb896ef315f153338.png)

4. Inserisci le credenziali del tuo account Business e conferma l'accesso

5. Autorizza Fabrick cliccando su **Consenti** ![PayPal](https://docs.fabrick.com/assets/images/pp-link-03-28e3d53f4a11e6cbd19df015dc2ec096.png)

6. Dopo l'autorizzazione, clicca su **Torna al negozio** per completare la procedura ![PayPal](https://docs.fabrick.com/assets/images/pp-link-04-4f5f42e2cbc323efbc36710fbc997d2e.png)

7. Lo stato nella dashboard passerà da **Attiva ora** a **Attivato** ![PayPal](https://docs.fabrick.com/assets/images/pp-link-05-3824315bf14384d28c7178857ccb5132.png)

> **Attivazione completata**
>
> Da questo momento, il tuo e-commerce è pronto per accettare pagamenti PayPal tramite Fabrick Payment Orchestra.

### Tipologie di integrazione

Fabrick offre due modalità di integrazione per utilizzare PayPal:

- **Integrazione hosted**

  ### Integrazioni supportate

  ✓ — Checkout Page

  ✓ — Pay By Link

  ✓ — Web Component

  ✓ — Lightbox

  PayPal viene mostrato direttamente nella pagina di pagamento Fabrick, senza alcun intervento di sviluppo lato merchant. Fabrick gestisce autonomamente la visualizzazione del metodo e l'intera fase di processamento.

- **Integrazione tramite API**

  ### Integrazioni supportate

  ✓ — API Only

  In questa modalità il redirect verso PayPal viene gestito direttamente tramite API. È necessario inizializzare la transazione tramite `payment/create` e gestire il redirect del buyer.

---

## Integrazione hosted

**PayPal viene mostrato direttamente nella pagina di pagamento Fabrick**, senza alcuno sviluppo aggiuntivo da parte del merchant. Fabrick gestisce autonomamente la visualizzazione del metodo e l'intera fase di processamento della transazione.

Per impostare la chiamata con l'integrazione hosted, vai alla sezione [creazione della transazione e redirect verso PayPal](https://docs.fabrick.com/payment-hub-and-orchestra/ecommerce/alternative-payments/paypal/#creazione-della-transazione-e-redirect-verso-paypal) e **rimuovi il campo `paymentType`** dalla chiamata `payment/create`.

![PayPal](https://docs.fabrick.com/assets/images/pp-buyer-01-07f96f9bbe23c868d9941e0f5d35f5ec.png)

Quando l'utente seleziona PayPal, viene reindirizzato al servizio per effettuare il login e completare il pagamento.

![PayPal](https://docs.fabrick.com/assets/images/pp-buyer-02-ee59217d6a05d4918f7967e285cb7f22.png)

---

## Integrazione tramite API

Per richiedere il pagamento con PayPal utilizzando l'integrazione tramite API, è necessario inizializzare la transazione tramite `payment/create` utilizzando il tag **`PAYPAL`** nel campo `paymentType` e gestire il redirect del buyer verso il metodo di pagamento.

### Creazione della transazione e redirect verso PayPal

**Request**

```http
POST /api/v1/payment/create
Host (sandbox): sandbox.gestpay.net
Host (produzione): ecomms2s.sella.it
Authorization: apikey ****************
Content-Type: application/json
```

```json
{
  "shopLogin": "GESPAY12345",
  "amount": "100",
  "currency": "EUR",
  "shopTransactionID": "FBK_OrderID",
  "paymentType": ["PAYPAL"], // Per integrazione hosted eliminare questa riga
  "paymentChannel": { "channelType": ["LINK"] }
}
```

In risposta viene restituito nel campo `payload.userRedirect.href` il link per il redirect del buyer verso PayPal.

**Response**

```json
{
  "error": {
    "code": "0",
    "description": "request correctly processed"
  },
  "payload": {
    "paymentToken": "f0419188-8a78-4918-913c-a491e4e78084",
    "paymentID": "1881129911957",
    "userRedirect": {
      "href": "https://sandbox-web.axerve.com/orchestra/checkout/a/f991s1ba01d24eacaa3fac4b2145262a/b/36ab092425ff34515f7430e38babb28b84f16a31d63102b829072a1366c13580ae128e86-d779-4d98-88a2-0c035bcbd42eiAQ8ZaRT3IFyanLLjcIxtsuc3DTwycBdj5FD7FjuhlKm-mNnpirMdm9p3O8bhycmHVVPz6QOyo811UzHG3csjOSlH2KbF2EiUIxEwWFPAvk9TdUDrgWtyKLJYWayfzbZlP4iULt9eHTvhJEhK21sS8Smd0hX"
    },
    "qrCode": null
  }
}
```

> **Pulsante PayPal**
>
> Il link restituito può essere utilizzato sotto un pulsante *Paga con PayPal*, rispettando le [linee guida grafiche PayPal](https://developer.paypal.com/docs/log-in-with-paypal/customize/button-design-guide/).

---

## Funzionalità aggiuntive del metodo di pagamento

Puoi abilitare funzionalità aggiuntive sulla transazione modificando la chiamata `payment/create` per includere i servizi specifici. I servizi configurati verranno applicati automaticamente alla transazione quando il cliente seleziona PayPal.

### Seller Protection

Per richiedere la funzionalità Seller Protection applicata ad una transazione PayPal, nella chiamata `POST /payment/create`, aggiungi l'oggetto `OrderDetails` valorizzando i campi di `ShippingAddress`, in questo modo le informazioni di spedizione verranno trasmesse correttamente a PayPal.

**Request**

```http
POST /api/v1/payment/create
Host (sandbox): sandbox.gestpay.net
Host (produzione): ecomms2s.sella.it
Authorization: apikey ****************
Content-Type: application/json
```

```json
{
  "shopLogin": "GESPAY12345",
  "amount": "10",
  "currency": "EUR",
  "shopTransactionID": "FBK_OrderID",
  "paymentType": ["PAYPAL"],
  "paymentChannel": { "channelType": ["LINK"] },
  "OrderDetails": {
    "ShippingAddress": {
      "FirstName": "John",
      "Lastname": "Doe",
      "StreetName": "Via Corradino Sella, 10",
      "Streetname2": "",
      "CountryCode": "IT",
      "State": "Biella",
      "StateCode": "BI",
      "City": "Biella",
      "ZipCode": "13900",
      "PrimaryPhone": "015012345"
    }
  }
}
```

![PayPal](https://docs.fabrick.com/assets/images/pp-seller-01-it-5986929ecf723e43b7fd4657cd1a636f.png)

### Fabrick Guaranteed Payment

Per una transazione PayPal è possibile aggiungere il servizio [Fabrick Guaranteed Payment](https://docs.fabrick.com/payment-hub-and-orchestra/ecommerce/features/fraud-prevention/fabrick-guaranteed-payments/) in chiamata. Può essere utilizzato anche in combinazione con Seller Protection per un livello di tutela aggiuntivo.

### Pagamento a rate

Non è necessario aggiungere parametri specifici in chiamata, PayPal propone automaticamente la modalità a rate in base alle regole del servizio [Pay Later](https://developer.paypal.com/docs/checkout/pay-later/it/). Al completamento della transazione l'intero importo viene accreditato all'esercente.

![PayPal](https://docs.fabrick.com/assets/images/pp-paylater-02-it-5f53033b8221396e7db6bb7c6c5b1719.png)

Su richiesta è possibile abilitare il tasto **Pay Later** in modo separato.

![PayPal](https://docs.fabrick.com/assets/images/pp-paylater-01-97c987bd7a69e460a579d0471707281e.png)

> **Redirect diretto verso il metodo di pagamento**
>
> Per effettuare il redirect del buyer verso il pagamento a rate, se hai richiesto l'attivazione separata del tasto **Pay Later**, nella chiamata `POST /payment/create` valorizza il campo `paymentType` con il tag **`PAYPAL_BNPL`**.

### Pagamenti ricorrenti

#### Inizializzazione del billing agreement

Nella chiamata `POST /payment/create` aggiungi il campo `payPalDescription` con la descrizione dell'accordo.

**Request**

```http
POST /api/v1/payment/create
Host (sandbox): sandbox.gestpay.net
Host (produzione): ecomms2s.sella.it
Authorization: apikey ****************
Content-Type: application/json
```

```json
{
  "shopLogin": "GESPAY12345",
  "amount": "100",
  "currency": "EUR",
  "shopTransactionID": "FBK_OrderID",
  "paymentChannel": { "channelType": ["LINK"] },
  "payPalDescription": "Description Billing Agreements"
}
```

**Response**

```json
{
  "error": {
    "code": "0",
    "description": "request correctly processed"
  },
  "payload": {
    "paymentToken": "f0419188-8a78-4918-913c-a491e4e78084",
    "paymentID": "1881129911957",
    "userRedirect": {
      "href": "https://sandbox-web.axerve.com/orchestra/checkout/a/f991s1ba01d24eacaa3fac4b2145262a/b/36ab092425ff34515f7430e38babb28b84f16a31d63102b829072a1366c13580ae128e86-d779-4d98-88a2-0c035bcbd42eiAQ8ZaRT3IFyanLLjcIxtsuc3DTwycBdj5FD7FjuhlKm-mNnpirMdm9p3O8bhycmHVVPz6QOyo811UzHG3csjOSlH2KbF2EiUIxEwWFPAvk9TdUDrgWtyKLJYWayfzbZlP4iULt9eHTvhJEhK21sS8Smd0hX"
    },
    "qrCode": null
  }
}
```

Il buyer conferma l'autorizzazione cliccando **Accetta e continua**.

![PayPal](https://docs.fabrick.com/assets/images/pp-recurring-01-it-9c3c79b701b4aba0d7ed381920dcaf15.png)

Al completamento, recupera il token generato tramite `GET /payment/detail` nel campo `payload.token` e salvalo per i pagamenti successivi.

**Request**

```http
GET /api/v1/payment/detail/{paymentID}
Host (sandbox): sandbox.gestpay.net
Host (produzione): ecomms2s.sella.it
Authorization: apikey ****************
Content-Type: application/json
```

**Response**

```json
{
    "error": {
        "code": "0",
        "description": "request correctly processed"
    },
    "payload": {
        "transactionType": "detail",
        "transactionResult": "APPROVED",
        "transactionState": "AUT",
        "transactionErrorCode": "0",
        "transactionErrorDescription": "Transazione correttamente effettuata",
        "bankTransactionID": "1363",
        "shopTransactionID": "FBK_OrderID",
        "shopTransactionID_2": "",
        "authorizationCode": "PP7476",
        "paymentID": "1881129911957",
        "currency": "EUR",
        "country": "",
        "company": "PayPal",
        "tdLevel": "",
        "threeDS": {
            "authenticationResult": null,
            "transDetails": null
        },
        "events": [
            {
                "event": {
                    "eventtype": "AUT",
                    "eventamount": "10.00",
                    "eventdate": "07/05/25 14:45:31",
                    "eventARN": "",
                    "eventID": "",
                    "eventReferred": ""
                }
            }
        ],
        "buyer": {
            "name": "",
            "email": ""
        },
        "risk": {
            "riskResponseCode": "",
            "riskResponseDescription": ""
        },
        "customInfo": null,
        "alertCode": "",
        "alertDescription": "",
        "cvvPresent": "FALSE",
        "dcc": null,
        "maskedPAN": "",
        "paymentMethod": "PayPal",
        "productType": "",
        "token": "PPG5KMGN62NGKRLV",
        "tokenExpiryMonth": "",
        "tokenExpiryYear": "",
        "tokenDetails": null,
        "fraudPrevention": {
            "check": "FALSE",
            "state": "",
            "description": "",
            "order": ""
        },
        "automaticOperation": {
            "type": "CAN",
            "date": "01/06/25 00:00:00",
            "amount": "10.00"
        }
    }
}
```

> **Importo 0 €**
>
> È possibile impostare l'importo a 0 €. In questo modo, al momento dell'inizializzazione del billing agreement, PayPal non addebiterà alcun importo al cliente ma restituirà comunque il token necessario per i pagamenti successivi.
>
> **Dettaglio risposta**
>
> **Request**
>
> ```http
> GET /api/v1/payment/detail/{paymentID}
> Host (sandbox): sandbox.gestpay.net
> Host (produzione): ecomms2s.sella.it
> Authorization: apikey ****************
> Content-Type: application/json
> ```
>
> **Response**
>
> ```json
> {
>   "error": {
>     "code": "0",
>     "description": "request correctly processed"
>   },
>   "payload": {
>     "transactionType": "detail",
>     "transactionResult": "APPROVED",
>     "transactionState": "",
>     "transactionErrorCode": "",
>     "transactionErrorDescription": "",
>     "bankTransactionID": "",
>     "shopTransactionID": "",
>     "shopTransactionID_2": "",
>     "authorizationCode": "",
>     "paymentID": "",
>     "currency": "",
>     "country": "",
>     "company": "",
>     "tdLevel": "",
>     "threeDS": {
>       "authenticationResult": null,
>       "transDetails": null
>     },
>     "events": null,
>     "buyer": null,
>     "risk": null,
>     "customInfo": null,
>     "alertCode": "",
>     "alertDescription": "",
>     "cvvPresent": "",
>     "dcc": null,
>     "maskedPAN": "",
>     "paymentMethod": "",
>     "productType": "",
>     "token": "PPG5KMGN62NGKRLV",
>     "tokenExpiryMonth": "",
>     "tokenExpiryYear": "",
>     "tokenDetails": null,
>     "fraudPrevention": null,
>     "automaticOperation": null
>   }
> }
> ```

> **Cos'è il billing agreement?**
>
> Il **billing agreement** è un accordo tra il buyer e l'esercente che consente di addebitare il conto PayPal del cliente per pagamenti futuri, senza che il buyer debba autenticarsi nuovamente per ogni transazione. È la base per i pagamenti ricorrenti e on-demand tramite PayPal ([scopri di più](https://developer.paypal.com/api/rest/integration/orders-api/api-use-cases/billing-agreements/)).

> **Compatibilità**
>
> Servizio non compatibile con il **pagamento a rate**.

#### Utilizzo del token per pagamenti successivi

Crea la richiesta di pagamento utilizzando la chiamata `POST /payment/create`

**Request**

```http
POST /api/v1/payment/create
Host (sandbox): sandbox.gestpay.net
Host (produzione): ecomms2s.sella.it
Authorization: apikey ****************
Content-Type: application/json
```

```json
{
  "shopLogin": "GESPAY12345",
  "amount": "100",
  "currency": "EUR",
  "shopTransactionID": "FBK_OrderID"
}
```

**Response**

```json
{
  "error": {
    "code": "0",
    "description": "request correctly processed"
  },
  "payload": {
    "paymentToken": "f0419188-8a78-4918-913c-a491e4e78084",
    "paymentID": "1881129911957",
    "userRedirect": null,
    "qrCode": null
  }
}
```

Nella chiamata `POST /payment/submit` utilizza il token per processare il pagamento:

- Header **`PaymentToken`**: valorizzare con il `paymentToken` ricevuto dallo step precedente
- Body: aggiungi `paymentTypeDetails.payPal.token` valorizzato con il token PayPal

**Request**

```http
POST /api/v1/payment/submit
Host (sandbox): sandbox.gestpay.net
Host (produzione): ecomms2s.sella.it
PaymentToken: f0419188-8a78-4918-913c-a491e4e78084
Content-Type: application/json
```

```json
{
  "shopLogin": "GESPAY12345",
  "paymentType": "PAYPAL",
  "paymentTypeDetails": {
    "payPal": {
      "token": "PPG5KMGN62NGKRLV"
    }
  }
}
```

**Response**

```json
{
    "error": {
        "code": "0",
        "description": "request correctly processed"
    },
    "payload": {
        "transactionType": "submit",
        "transactionResult": "OK",
        "transactionErrorCode": "0",
        "transactionErrorDescription": "Transazione correttamente effettuata",
        "bankTransactionID": "1414",
        "shopTransactionID": "FBK_OrderID",
        "shopTransactionID_2": "",
        "authorizationCode": "PP2163",
        "paymentID": "1881129911957",
        "currency": "EUR",
        "country": "",
        "company": null,
        "tdLevel": "",
        "buyer": {
            "name": "",
            "email": ""
        },
        "risk": {
            "riskResponseCode": "",
            "riskResponseDescription": ""
        },
        "customInfo": {},
        "alertCode": "",
        "alertDescription": "",
        "cvvPresent": "",
        "maskedPAN": "",
        "paymentMethod": "",
        "productType": "",
        "token": "",
        "tokenExpiryMonth": "",
        "tokenExpiryYear": "",
        "userRedirect": {
            "href": "https://sandbox.gestpay.net/pagam/AxerveThankYou.aspx"
        }
    }
}
```

> **Pagamento ricorrente**
>
> Se viene richiesto un pagamento ricorrente, il sistema restituisce un link diretto verso PayPal, saltando la pagina di selezione.

---

## Riconciliazione

Dalla sezione Report della dashboard puoi configurare report dedicati per le riconciliazioni.

**Per eventi:**

- *Numero personalizzato* (PayPal) ↔ *Chiave di riconciliazione* (Fabrick)
- *Codice transazione* (PayPal) ↔ *ID PayPal* (Fabrick)
- *N° ordine commerciante* (PayPal) ↔ *Shop transaction ID + \_ + ID cattura* (Fabrick)

**Per pagamenti:**

- *Numero personalizzato* (PayPal) ↔ *Chiave di riconciliazione* (Fabrick)
- *Codice transazione* (PayPal) ↔ *ID PayPal* (Fabrick)

Per approfondire consulta la [guida alla dashboard](https://www.fabrick.com/it-it/assistenza/fabrick-dashboard/).

---

## Assistenza

**Fabrick**

- **Status page**: [https://status.fabrick.com/](https://status.fabrick.com/)
- **Support**: [https://landing.fabrick.com/fabrick-dashboard-support](https://landing.fabrick.com/fabrick-dashboard-support)

**PayPal**

- **Status page**: [https://www.paypal-status.com/product/production](https://www.paypal-status.com/product/production)
- **Support**: [https://developer.paypal.com/support/](https://developer.paypal.com/support/)
