Google Pay
Perché scegliere Google Pay
Google Pay è il sistema di pagamento digitale sviluppato da Google che permette di effettuare pagamenti in modo semplice, veloce e sicuro tramite smartphone (NFC) o sul web, utilizzando i dati della carta salvati nel proprio account Google.
Integrarlo nell'ecommerce amplia le modalità di pagamento disponibili e migliora l'esperienza utente grazie a un checkout rapido e senza frizioni. Elimina la necessità di inserire manualmente i dati della carta e, grazie all'autenticazione già presente sul dispositivo o sull'account Google, i clienti autorizzano i pagamenti in modo immediato con un semplice tap.
Per ulteriori informazioni consulta la documentazione ufficiale Google Pay API
Servizi e funzionalità disponibili tramite integrazione Fabrick
L'integrazione di Google Pay 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.
- Compatibile con app e siti web: supporto sia per app Android che per integrazioni web tramite Google Pay JS API.
- Gestione Payment Token: Fabrick gestisce autonomamente il token di pagamento presentando Google Pay sulla propria pagina, senza sviluppi aggiuntivi lato merchant.
- Tokenizzazione: il metodo di pagamento può essere tokenizzato per riutilizzarlo negli addebiti successivi (vedi Tokenizzazione).
- Pagamenti ricorrenti: Google Pay può essere utilizzato come metodo di pagamento di una serie ricorrente (vedi Pagamenti ricorrenti).
- Fabrick Guaranteed Payments: servizio di prevenzione frodi a supporto dell'esercente (scopri di più).
- Fabrick Advice: servizio di Transaction Risk Analysis (TRA) per usufruire delle esenzioni previste dalla PSD2 (scopri di più).
- Riconciliazione semplificata: gestione dei pagamenti tramite report dedicati (scopri di più).
- Gestione avanzata delle transazioni: supporto a catture e storni parziali o multipli per una gestione flessibile dei pagamenti.
- Supporto multivaluta: compatibilità con diverse valute per transazioni internazionali.
- Supporto circuiti internazionali: Google Pay tramite Fabrick supporta Visa e Mastercard.
Google Pay su Fabrick Payment Orchestra: attivazione e modalità di integrazione
Richiesta di attivazione
Per iniziare ad accettare pagamenti con Google Pay, puoi richiedere l'attivazione:
- Contattando il tuo referente commerciale
- Contattando l'assistenza al seguente link
Per l'integrazione tramite Web Component è necessario comunicare il Merchant ID dell'account Google Pay & Wallet Console, da associare all'account Fabrick per l'ambiente in uso (vedi Configurazione aggiuntiva per Web Component e WebView).
Una volta completate le procedure necessarie:
- Fabrick abilita Google Pay sul negozio e informa l'esercente.
- È possibile verificare l'attivazione del metodo di pagamento all'interno della Dashboard, al percorso Workspace → Negozi → [Seleziona negozio] → Configurazioni

Da questo momento, il tuo e-commerce è pronto per accettare pagamenti Google Pay tramite Fabrick Payment Orchestra.
Tipologie di integrazione
Fabrick offre due modalità di integrazione per utilizzare Google Pay:
-
Integrazione hosted
Integrazioni supportate
✓Checkout Page✓Pay By Link✓Web Component✓LightboxGoogle Pay viene mostrato direttamente nella pagina di pagamento. Fabrick gestisce autonomamente la visualizzazione del pulsante, la generazione del token e l'intera fase di processamento della richiesta di pagamento. Per le integrazioni tramite Web Component o che utilizzano la WebView è richiesto un ulteriore passaggio di configurazione.
-
Integrazione tramite API
Integrazioni supportate
✓API OnlyIn questa modalità Google Pay viene integrato direttamente sul sito o sull'app dell'esercente. Il merchant si occupa dell'implementazione del pulsante di pagamento, della generazione del token e del relativo invio a Fabrick per l'elaborazione della transazione.
Google Pay è supportato dai principali browser moderni, tra cui Chrome, Edge, Firefox e Safari.
Per effettuare i test è necessario un account Google e un dispositivo Android o un browser che supporta Google Wallet.
Per approfondire:
Integrazione hosted
Google Pay viene mostrato direttamente nella pagina di pagamento. Fabrick gestisce autonomamente il pulsante, la generazione del token di pagamento e l'eventuale flusso di autenticazione (SCA).

Quando l'utente seleziona Google Pay, viene aperta nel browser la modale di Google per scegliere la carta con cui completare il pagamento.

Configurazione aggiuntiva per Web Component e WebView
Per queste integrazioni, Google Pay viene eseguito direttamente sul dominio dell'esercente. È richiesto, quindi, di registrare il proprio dominio tramite la Google Pay & Wallet Console e attendere l'approvazione da parte di Google. Durante la registrazione, quando richiesto, seleziona PSP: Axerve come tipo di integrazione. La procedura è descritta nella guida ufficiale. In ambiente sandbox l'approvazione del dominio non è richiesta.
Per le integrazioni tramite Web Component, comunica il tuo Merchant ID al referente commerciale o all'assistenza per associarlo all'account Fabrick e completare la configurazione. In produzione, comunicalo dopo aver ricevuto l'approvazione da parte di Google.
Se il tuo checkout web è integrato in una WebView Android, sono richieste configurazioni aggiuntive lato app, per questa integrazione non è necessario comunicare a Fabrick il tuo Merchant ID. Consulta la guida ufficiale Google.
Integrazione tramite API
Requisiti per l'attivazione
Per utilizzare l'integrazione tramite API con Google Pay sono necessari:
-
Google Pay & Wallet Console: È necessario registrare un account sulla Google Pay & Wallet Console per gestire l'integrazione, accettare le policy e ottenere il
merchantIdda utilizzare in produzione. -
Accettazione delle policy Google: Tutti gli esercenti devono accettare la Google Pay API Terms of Service e la Google Pay APIs Acceptable Use Policy prima di procedere con l'integrazione.
-
Registrazione del dominio e accesso in produzione: Prima di andare in produzione è necessario registrare il proprio dominio tramite la Google Pay & Wallet Console e attendere l'approvazione da parte di Google. La procedura è descritta nella guida ufficiale. In ambiente sandbox l'approvazione del dominio non è richiesta.
Attivazione completataDopo aver ricevuto l'approvazione da parte di Google, comunica il tuo Merchant ID al referente commerciale o all'assistenza per associarlo all'account Fabrick e completare la configurazione.
Configurazione del codice JavaScript sul sito
L'integrazione diretta web avviene seguendo la guida ufficiale Google Pay, con alcune impostazioni specifiche per Fabrick descritte nei passi seguenti.
Passo 1 — Configurazione tokenizationSpecification
Impostare gateway su gestpay per indicare a Google Pay di utilizzare Fabrick come gateway di pagamento.
Nel parametro gatewayMerchantId specificare lo shopLogin Fabrick relativo all'ambiente in uso (sandbox o produzione):
"tokenizationSpecification": {
"type": "PAYMENT_GATEWAY",
"parameters": {
"gateway": "gestpay",
"gatewayMerchantId": "GESPAY12345"
}
}
Passo 2 — Reti e metodi di pagamento supportati
Configurare le reti e i metodi di autenticazione supportati da Fabrick tramite i parametri allowedCardNetworks, che definisce i circuiti accettati, e allowedCardAuthMethods, che definisce la modalità di autenticazione. Fabrick supporta entrambe le modalità:
PAN_ONLY— la carta è memorizzata nell'Account Google dell'utente, non sul dispositivo. Google restituisce il PAN con mese e anno di scadenza. La transazione non soddisfa nativamente la SCA: Fabrick eseguirà automaticamente il flusso 3DS come fallback.CRYPTOGRAM_3DS— la carta è tokenizzata sul dispositivo Android tramite Google Wallet. Google restituisce un criptogramma 3DS generato direttamente sul dispositivo, che soddisfa nativamente i requisiti SCA: non sarà necessario gestire il flusso 3DS.
I token CRYPTOGRAM_3DS (DPAN) sono generati esclusivamente su dispositivi Android. Da desktop e da dispositivi iOS Google Pay restituisce sempre token PAN_ONLY (FAQ ufficiale Google).
const allowedCardNetworks = ["MASTERCARD", "VISA"];
const allowedCardAuthMethods = ["PAN_ONLY", "CRYPTOGRAM_3DS"];
Per ulteriori dettagli sui parametri di configurazione consulta la documentazione ufficiale Google.
I due metodi richiedono carte diverse in ambiente di test:
PAN_ONLY— utilizza una carta associata al tuo account Google per i pagamenti online. Sono le carte che vengono mostrate nella finestra di checkout Google Pay da browser. Puoi aggiungerne una direttamente da Chrome: Impostazioni → Compilazione automatica e password → Metodi di pagamento → Aggiungi carta di credito.CRYPTOGRAM_3DS— utilizza una carta tokenizzata su dispositivo Android tramite Google Wallet. Non vengono mostrate nel checkout web: per testarle è necessario effettuare il pagamento da smartphone.
Nota: le carte presenti su payments.google.com sono distinte da quelle abilitate per il checkout web e non vengono mostrate nella finestra di pagamento Google Pay da browser.
Passo 3 — Impostazione ambiente Google Pay
Il parametro environment determina in quale ambiente opera Google Pay. Impostare TEST o PRODUCTION in base all'ambiente in uso:
const paymentsClient =
new google.payments.api.PaymentsClient({ environment: 'TEST' });
// Per l'ambiente di produzione utilizzare: { environment: 'PRODUCTION' }
In ambiente TEST il gatewayMerchantId deve essere valorizzato con lo shopLogin sandbox Fabrick, non con quello di produzione. Il valore va inserito nel Passo 1.
Nota: passare all'ambiente PRODUCTION solo dopo aver completato tutti i test e aver ricevuto le approvazioni da Google.
Passo 4 — Aggiunta del pulsante Google Pay
Aggiungere il pulsante Google Pay alla pagina di checkout rispettando le linee guida di brand Google e le opzioni di personalizzazione disponibili:
function addGooglePayButton() {
const paymentsClient = getGooglePaymentsClient();
const button = paymentsClient.createButton({
onClick: onGooglePaymentButtonClicked,
allowedPaymentMethods: [baseCardPaymentMethod]
});
document.getElementById('container').appendChild(button);
}
Passo 5 — Definizione dei dati di pagamento richiesti
Comporre l'oggetto paymentDataRequest con importo, valuta e merchantInfo:
const paymentDataRequest = Object.assign({}, baseRequest);
paymentDataRequest.allowedPaymentMethods = [cardPaymentMethod];
paymentDataRequest.transactionInfo = {
totalPriceStatus: 'FINAL',
totalPrice: '100.00',
currencyCode: 'EUR',
countryCode: 'IT'
};
paymentDataRequest.merchantInfo = {
merchantId: 'MERCHANT_ID_GOOGLE',
merchantName: 'Nome del tuo negozio'
};
merchantId identifica il tuo account sulla Google Pay & Wallet Console ed è obbligatorio in produzione. In ambiente TEST può essere omesso o valorizzato con un placeholder. Per ottenerlo è necessario completare la registrazione sulla console Google, come descritto nella guida ufficiale.
Passo 6 — Gestione del click e recupero del token di pagamento
Al click sul pulsante, avviare la richiesta e recuperare il token da inviare a Fabrick:
function onGooglePaymentButtonClicked() {
const paymentDataRequest = getGooglePaymentDataRequest();
const paymentsClient = getGooglePaymentsClient();
paymentsClient.loadPaymentData(paymentDataRequest)
.then(function(paymentData) {
// Inviare il token di pagamento a Fabrick tramite payment/submit
processPayment(paymentData.paymentMethodData.tokenizationData.token);
})
.catch(function(err) {
console.error(err);
});
}
Passo 7 — Invio della richiesta di pagamento a Fabrick
Una volta ottenuto il token dall'oggetto paymentData, il pagamento viene gestito in due step consecutivi: payment/create per inizializzare la transazione e payment/submit per inviare il token Google Pay.
Step 1 — Creazione della richiesta di pagamento
Request
POST /api/v1/payment/create
Host (sandbox): sandbox.gestpay.net
Host (produzione): ecomms2s.sella.it
Authorization: apikey ****************
Content-Type: application/json
{
"shopLogin": "GESPAY12345",
"amount": "100",
"currency": "EUR",
"shopTransactionID": "FBK_OrderID"
}
I valori di importo e valuta passati a payment/create devono coincidere esattamente con quelli definiti nel Passo 5.
In sandbox il flusso 3DS per token PAN_ONLY potrebbe non attivarsi automaticamente. Per simulare il comportamento in produzione aggiungere exemption: SKIP nella chiamata payment/create:
{
"shopLogin": "GESPAY12345",
"amount": "100",
"currency": "EUR",
"shopTransactionID": "FBK_OrderID",
"transDetails": {
"threeDsContainer": {
"exemption": "SKIP"
}
}
}
Response
{
"error": {
"code": "0",
"description": "request correctly processed"
},
"payload": {
"paymentToken": "f0419188-8a78-4918-913c-a491e4e78084",
"paymentID": "1881129911957",
"userRedirect": null,
"qrCode": null
}
}
Step 2 — Invio del token e processamento
Inviare una richiesta a payment/submit con il token Google Pay ottenuto al Passo 6:
- Header
PaymentToken: valorizzare con ilpaymentTokenricevuto dallo Step 1 - Body: inserire il token Google Pay in
paymentTypeDetails.googlePay.tokenizationData.token
Request
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
{
"shopLogin": "GESPAY12345",
"paymentType": "GOOGLEPAY",
"paymentTypeDetails": {
"googlePay": {
"tokenizationData": {
"token": {
"signature": "MEYC...",
"protocolVersion": "ECv1",
"signedMessage": "{\"encryptedMessage\":\"EFVBR...\",\"ephemeralPublicKey\":\"BPiL...\",\"tag\":\"ZN43...\"}"
}
}
}
}
}
La response varia in base al tipo di token Google Pay ricevuto:
PAN_ONLY— la SCA non è soddisfatta nativamente. Fabrick restituisce il codice8006conuserRedirect.hrefvalorizzato con l'URL della pagina di autenticazione 3DS. Il merchant deve reindirizzare il buyer a quell'URL per completare la verifica. Al termine, il buyer viene rimandato alla pagina di esito e la transazione viene finalizzata.CRYPTOGRAM_3DS— la SCA è già soddisfatta dal criptogramma generato sul dispositivo, non è necessario gestire il flusso 3DS. Se la transazione viene approvata, la response restituiscetransactionResult: "OK"e il pagamento è completato. Contestualmente, il sistema invia una notifica server to server (S2S) con l'esito della transazione.
Il campo protocolVersion (ECv1 / ECv2) indica la versione del protocollo di cifratura del token, non il metodo di autenticazione: un token ECv2 può veicolare sia PAN_ONLY che CRYPTOGRAM_3DS. Il metodo effettivo (authMethod) è contenuto nel signedMessage cifrato, leggibile solo dal gateway.
Per distinguere lato merchant le transazioni che richiedono lo step-up 3DS, imposta assuranceDetailsRequired: true nei CardParameters (Passo 2): la response Google Pay includerà l'oggetto assuranceDetails con i campi accountVerified e cardHolderAuthenticated. Solo se entrambi sono true la transazione è conforme SCA e non richiede 3DS; in caso contrario Fabrick attiverà il flusso 3DS (codice 8006 con userRedirect.href). Per approfondire consulta la guida SCA ufficiale Google.
- CRYPTOGRAM_3DS — SCA soddisfatta
- PAN_ONLY — SCA non soddisfatta
Esempio di risposta per token che soddisfano nativamente i requisiti SCA:
Response
{
"error": {
"code": "0",
"description": "request correctly processed"
},
"payload": {
"transactionType": "submit",
"transactionResult": "OK",
"transactionErrorCode": "0",
"transactionErrorDescription": "Transaction correctly processed",
"bankTransactionID": "2528",
"shopTransactionID": "FBK_OrderID",
"shopTransactionID_2": "",
"authorizationCode": "284731",
"paymentID": "1881129911957",
"currency": "EUR",
"country": "",
"company": "GOOGLEPAY - VISA",
"tdLevel": "FULL",
"buyer": {
"name": "",
"email": ""
},
"risk": {
"riskResponseCode": "",
"riskResponseDescription": ""
},
"customInfo": {},
"alertCode": "",
"alertDescription": "",
"cvvPresent": "N",
"maskedPAN": "",
"paymentMethod": "",
"productType": "",
"token": "",
"tokenExpiryMonth": "",
"tokenExpiryYear": "",
"userRedirect": {
"href": "https://sandbox.gestpay.net/pagam/AxerveThankYou.aspx"
}
}
}
Esempio di risposta per token che non soddisfano i requisiti SCA:
Response
{
"error": {
"code": "0",
"description": "request correctly processed"
},
"payload": {
"transactionType": "submit",
"transactionResult": "",
"transactionErrorCode": "8006",
"transactionErrorDescription": "Verify By Visa",
"bankTransactionID": "",
"shopTransactionID": "",
"shopTransactionID_2": "",
"authorizationCode": "",
"paymentID": "1881129911957",
"currency": "",
"country": "",
"company": null,
"tdLevel": "",
"buyer": {
"name": "",
"email": ""
},
"risk": {
"riskResponseCode": "",
"riskResponseDescription": ""
},
"customInfo": {},
"alertCode": "",
"alertDescription": "",
"cvvPresent": "N",
"maskedPAN": "",
"paymentMethod": "",
"productType": "",
"token": "",
"tokenExpiryMonth": "",
"tokenExpiryYear": "",
"userRedirect": {
"href": "https://sandbox.gestpay.net/pagam/pagam3d.aspx?a=GESPAY12345&b=f0419188-8a78-4918-913c-a491e4e78084&axerve3D=True&IsLightBox=False"
}
}
}
Funzionalità aggiuntive del metodo di pagamento
Puoi abilitare funzionalità aggiuntive sulla transazione modificando la chiamata payment/create per includere i servizi specifici, come Fabrick Guaranteed Payments o Fabrick Advice. I servizi configurati verranno applicati automaticamente alla transazione quando il buyer seleziona Google Pay.
Separazione tra autorizzazione e cattura
Google Pay è gestito come una carta: la modalità di gestione delle transazioni, contestuale o separata, è quella configurata per le carte e non richiede un'impostazione dedicata.
Per verificare o modificare la configurazione:
-
Accedi alla Dashboard e vai su Impostazioni → Accedi alle configurazioni

-
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
-
Individua la riga delle carte e seleziona la modalità desiderata tra Contestuale e Separata
La modalità impostata per le carte vale per tutti i pagamenti con carta, inclusi quelli effettuati con Google Pay e Apple Pay: modificarla per il wallet significa modificarla anche per le carte.
Per approfondire il funzionamento delle due modalità, consulta la sezione separazione tra autorizzazione e cattura.
Tokenizzazione
Il metodo di pagamento utilizzato con Google Pay può essere tokenizzato: Fabrick restituisce un token che rappresenta la carta scelta dal buyer nel proprio wallet e che può essere riutilizzato per gli addebiti successivi, senza chiedere di nuovo i dati di pagamento.
La tokenizzazione si richiede nella chiamata payment/create, valorizzando il campo requestToken con MASKEDPAN.
Il token si comporta allo stesso modo con PAN_ONLY e con CRYPTOGRAM_3DS: il metodo di autenticazione utilizzato durante il pagamento non incide sulla generazione del token né sul suo riutilizzo.
- Integrazione hosted
- Integrazione tramite API
È sufficiente la chiamata payment/create: Fabrick gestisce il pulsante Google Pay, la generazione del payload e la restituzione del token.
Request
POST /api/v1/payment/create
Host (sandbox): sandbox.gestpay.net
Host (produzione): ecomms2s.sella.it
Authorization: apikey ****************
Content-Type: application/json
{
"shopLogin": "GESPAY12345",
"amount": "100",
"currency": "EUR",
"shopTransactionID": "FBK_OrderID",
"paymentChannel": { "channelType": ["LINK"] }, // Solo per Pay By Link
"requestToken": "MASKEDPAN"
}
Valorizzando paymentType con ["CREDITCARD"] la pagina di pagamento mostra la carta e i wallet abilitati sullo shopLogin, tra cui Google Pay. La richiesta non cambia in base al metodo scelto dal buyer e il token restituito corrisponde al metodo utilizzato.
Il campo requestToken va inserito nella payment/create. Nella payment/submit, che trasporta il payload Google Pay, il campo non va ripetuto.
Request
POST /api/v1/payment/create
Host (sandbox): sandbox.gestpay.net
Host (produzione): ecomms2s.sella.it
Authorization: apikey ****************
Content-Type: application/json
{
"shopLogin": "GESPAY12345",
"amount": "100",
"currency": "EUR",
"shopTransactionID": "FBK_OrderID",
"requestToken": "MASKEDPAN"
}
La payment/submit resta quella descritta allo Step 2.
Il token è disponibile nella risposta di payment/detail, nel campo payload.token. Per maggiori informazioni sul token è possibile leggere l'oggetto payload.tokenDetails.
Per la lettura dei dati del token, la sua modifica e la cancellazione consulta Lettura dati token.
Pagamenti ricorrenti
Google Pay può essere utilizzato come metodo di pagamento di una serie ricorrente. Il buyer autorizza il primo pagamento della serie (First, CIT) con la propria autenticazione, mentre i pagamenti successivi (Next, MIT) vengono eseguiti dall'esercente in sua assenza, utilizzando il token ottenuto durante la First.
| Transazione | Integrazioni disponibili | Dati da inviare |
|---|---|---|
| First (CIT) | Integrazioni hosted oppure API Only | Payload Google Pay, oppure un token già esistente |
| Next (MIT) | API | Token generato o utilizzato nella First |
Nelle transazioni Next il token va sempre inviato nel campo paymentTypeDetails.creditcard.token, anche quando la First è stata pagata con Google Pay. Il flusso Next è quindi identico a quello della carta.
Per il flusso completo, i campi obbligatori della First, i dati da salvare e la gestione del soft decline 8026 consulta Pagamenti ricorrenti con carta e wallet.
Assistenza
Fabrick
- Status page: https://status.fabrick.com/
- Support: https://landing.fabrick.com/fabrick-dashboard-support