Satispay
Perché scegliere Satispay
Satispay è un'app di pagamento italiana che permette di acquistare online e nei negozi fisici, inviare e ricevere denaro, pagare buoni pasto e abbonamenti. Il pagamento si completa direttamente dall'app, senza inserire i dati di una carta.
Per ulteriori informazioni consulta la documentazione ufficiale Satispay
Servizi e funzionalità disponibili tramite integrazione Fabrick
L'integrazione di Satispay con Fabrick Payment Orchestra mette a disposizione le seguenti funzionalità:
- Tre prodotti di pagamento: e-money, Meal Voucher e Fringe Benefit, in base alle abilitazioni richieste dall'esercente a Satispay.
- Pagamenti ricorrenti: disponibili per tutti gli esercenti tramite tokenizzazione (vedi Tokenizzazione e pagamenti ricorrenti).
- Buoni pasto configurabili: possibilità di limitare o escludere l'utilizzo dei Meal Voucher sulla singola transazione (vedi Meal Voucher).
- Gestione degli storni: storni totali per tutti i prodotti, parziali e multipli per l'e-money (vedi Limiti sugli storni).
- Nessun campo obbligatorio dedicato: la chiamata standard di creazione del pagamento non richiede parametri specifici per Satispay.
Prodotti Satispay disponibili
L'integrazione abilita gli esercenti a ricevere i pagamenti attraverso tre prodotti:
| Prodotto | Descrizione | Abilitazione |
|---|---|---|
| e-money | Prodotto di default di Satispay: borsellino elettronico ricaricato dal cliente tramite IBAN. | Attivo per tutti gli esercenti |
| Meal Voucher | Buoni pasto. Il numero massimo utilizzabile in una transazione è 8 di default, in conformità alla normativa italiana. Combinabile con e-money nella stessa transazione. | Riservato agli esercenti con MCC idonei (es. food, beverage, groceries). Richiede abilitazione esplicita da parte di Satispay e cattura contestuale |
| Fringe Benefit | Benefit aziendali. Non combinabile né con e-money né con Meal Voucher: si tratta di metodi mutuamente esclusivi (riferimento Satispay). | Riservato agli esercenti con MCC idonei. Richiede abilitazione esplicita da parte di Satispay. Nessun vincolo sul tipo di cattura: utilizzabile anche con cattura separata |
Meal Voucher e Fringe Benefit non si attivano tramite Fabrick. Oltre a rientrare nella categoria merceologica idonea, l'esercente deve richiedere esplicitamente a Satispay l'abilitazione di ciascun prodotto sul proprio negozio.
Satispay su Fabrick Payment Orchestra: attivazione e modalità di integrazione
Richiesta di attivazione
Per attivare Satispay sulla propria pagina di pagamento, l'esercente deve seguire questi passaggi:
- Registrare un account business sul sito di Satispay
- Richiedere a Fabrick Payment Orchestra l'attivazione del metodo di pagamento Satispay
- Per utilizzare Meal Voucher e/o Fringe Benefit, richiederne l'abilitazione direttamente a Satispay
- Accedere alla dashboard di Satispay, recuperare lo Shop Code e l'Activation Code e comunicarli a Fabrick
- Attendere conferma da Fabrick che la configurazione del metodo di pagamento sia andata a buon fine
Lo Shop Code e l'Activation Code sono reperibili esclusivamente nella dashboard di Satispay ed è necessario comunicarli a Fabrick: senza questi due codici la configurazione del metodo di pagamento non può essere completata.
Il processo per accedere all'ambiente di test è lo stesso previsto per la produzione: è possibile richiedere direttamente a Satispay l'accesso all'ambiente di test, recuperare lo Shop Code e l'Activation Code dedicati, comunicarli a Fabrick e connettersi all'ambiente di test per verificare i pagamenti.
Da questo momento, il tuo e-commerce è pronto per accettare pagamenti Satispay tramite Fabrick Payment Orchestra.
Tipologie di integrazione
Fabrick offre due modalità di integrazione per utilizzare Satispay:
-
Integrazione hosted
Integrazioni supportate
✓HPPO✓Pay By Link✓LightboxSatispay 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 OnlyIl redirect verso Satispay è gestito direttamente tramite API. È necessario inizializzare la transazione con
payment/createvalorizzando il campopaymentTypecon il tagSATISPAYe gestire il redirect del buyer.
Integrazione tramite API
Per richiedere il pagamento con Satispay utilizzando l'integrazione tramite API, è necessario inizializzare la transazione tramite payment/create utilizzando il tag SATISPAY nel campo paymentType.
Creazione della transazione e redirect verso Satispay
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": "375.50",
"currency": "EUR",
"shopTransactionID": "FBK_OrderID",
"paymentType": ["SATISPAY"],
"paymentChannel": {
"channelType": ["LINK"]
}
}
Satispay non richiede campi specifici nella chiamata di creazione del pagamento. L'esempio riportato sopra è sufficiente per utilizzare il metodo di pagamento senza ulteriori parametri.
Funzionalità aggiuntive del metodo di pagamento
Meal Voucher e Fringe Benefit
Se il negozio è abilitato ai Meal Voucher e/o ai Fringe Benefit, questi prodotti sono sempre attivi: vengono applicati automaticamente da Satispay in base alla disponibilità del buyer e al wallet impostato come principale sulla sua app. Non è necessario inviare alcun parametro specifico per accettarli.
Meal Voucher: limitare i massimali della transazione
Per impostazione predefinita, ovvero quando l'oggetto ProductDetails con Type: "12" non viene inviato, il sistema consente l'utilizzo del numero massimo di buoni previsto, pari a 8.
L'oggetto Type: "12" serve quindi esclusivamente a modificare o azzerare questo comportamento sulla singola transazione:
| Campo | Effetto |
|---|---|
Type: "12" | Identifica la voce come configurazione Meal Voucher |
Quantity | Numero massimo di buoni utilizzabili nella transazione (default: 8) |
Price | Importo massimo complessivo pagabile in buoni |
- Limitare i buoni utilizzabili
- Escludere i buoni pasto
- Dettagliare l'ordine (facoltativo)
Per consentire l'utilizzo di un numero di buoni inferiore al massimale, valorizza Quantity con il numero desiderato. Nell'esempio la transazione accetta al massimo 4 buoni, per un importo complessivo in buoni non superiore a 32 €.
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": "65.50",
"currency": "EUR",
"shopTransactionID": "FBK_OrderID",
"paymentType": ["SATISPAY"],
"paymentChannel": {
"channelType": ["LINK"]
},
"orderDetails": {
"ProductDetails": [
{
"Name": "Buoni pasto",
"Quantity": "4",
"Price": "32",
"UnitPrice": "8",
"Type": "12"
}
]
}
}
Per impedire del tutto l'utilizzo dei buoni pasto sulla transazione, valorizza a 0 i campi Quantity, Price e UnitPrice. L'intero importo verrà pagato con e-money.
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": "65.50",
"currency": "EUR",
"shopTransactionID": "FBK_OrderID",
"paymentType": ["SATISPAY"],
"paymentChannel": {
"channelType": ["LINK"]
},
"orderDetails": {
"ProductDetails": [
{
"Name": "Buoni pasto",
"Quantity": "0",
"Price": "0",
"UnitPrice": "0",
"Type": "12"
}
]
}
}
Non è necessario indicare la differenza tra l'importo pagabile in buoni e il totale della transazione: il sistema la calcola automaticamente e la copre con e-money. È però possibile aggiungere ulteriori voci ProductDetails se si desidera trasmettere un dettaglio più completo dell'ordine.
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": "65.50",
"currency": "EUR",
"shopTransactionID": "FBK_OrderID",
"paymentType": ["SATISPAY"],
"paymentChannel": {
"channelType": ["LINK"]
},
"orderDetails": {
"ProductDetails": [
{
"Name": "Buoni pasto",
"Quantity": "4",
"Price": "32",
"UnitPrice": "8",
"Type": "12"
},
{
"Name": "Acquisto",
"Quantity": "1",
"Price": "33.50",
"UnitPrice": "33.50",
"Type": "1"
}
]
}
}
Questi parametri definiscono solo dei massimali: sarà Satispay a determinare quanti buoni utilizzare effettivamente, in base alla disponibilità sul conto del buyer. Il numero reale di buoni impiegati è noto solo a pagamento completato.
Fringe Benefit: nessun parametro richiesto
Per i Fringe Benefit non esiste alcun parametro di configurazione: se il negozio è abilitato, vengono applicati automaticamente quando il buyer ha il wallet Fringe Benefit impostato come principale. Numero e importo non possono essere indicati verso Satispay, quindi non va inviata alcuna voce ProductDetails dedicata.
I pagamenti effettuati con Fringe Benefit possono essere stornati solo per l'importo totale ed entro la fine del mese di creazione del pagamento (riferimento Satispay). Vedi Limiti sugli storni.
Limiti sugli storni
Le regole di storno variano in base al prodotto Satispay utilizzato dal buyer nel pagamento (riferimento Satispay):
| Prodotto | Finestra temporale | Storno parziale |
|---|---|---|
| e-money | Entro 365 giorni dalla creazione del pagamento | Consentito, anche multiplo fino a concorrenza del totale |
| Meal Voucher | Solo nello stesso giorno della creazione del pagamento | Non consentito: solo importo totale |
| Fringe Benefit | Entro la fine del mese di creazione del pagamento | Non consentito: solo importo totale |
Tokenizzazione e pagamenti ricorrenti
I pagamenti ricorrenti sono abilitati e disponibili per tutti gli esercenti. Il flusso si compone di due fasi: la creazione del token e il suo utilizzo nei pagamenti successivi.
Creazione del token
La tokenizzazione si attiva includendo il campo satisPayDescription nella chiamata payment/create. L'importo può essere impostato a 0.
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": "0",
"currency": "EUR",
"shopTransactionID": "FBK_OrderID",
"paymentType": ["SATISPAY"],
"satisPayDescription": "Abbonamento palestra",
"responseURLs": {
"buyerOK": "https://www.example.com/buyerOK",
"buyerKO": "https://www.example.com/buyerKO"
}
}
Il campo satisPayDescription è obbligatorio per avviare un flusso di pagamenti ricorrenti: contiene la descrizione dell'accordo mostrata al buyer. In sua assenza viene elaborato un pagamento standard.
Utilizzo del token per pagamenti successivi
Crea la richiesta di pagamento tramite payment/create senza valorizzare paymentType, quindi processa il pagamento con payment/submit indicando il token in paymentTypeDetails.satisPay.token.
Request — payment/create
POST /api/v1/payment/create
Host (sandbox): sandbox.gestpay.net
Host (produzione): ecomms2s.sella.it
Authorization: apikey ****************
Content-Type: application/json
{
"shopLogin": "GESPAY12345",
"amount": "22",
"currency": "EUR",
"shopTransactionID": "FBK_OrderID",
"responseURLs": {
"buyerOK": "https://www.example.com/buyerOK",
"buyerKO": "https://www.example.com/buyerKO"
}
}
Request — payment/submit
POST /api/v1/payment/submit
Host (sandbox): sandbox.gestpay.net
Host (produzione): ecomms2s.sella.it
PaymentToken: {paymentToken}
Content-Type: application/json
{
"shopLogin": "GESPAY12345",
"paymentType": "SATISPAY",
"paymentTypeDetails": {
"satisPay": {
"token": "ST2TQTH2TK6L889E"
}
}
}
Assistenza
Fabrick
- Status page: https://status.fabrick.com/
- Support: https://landing.fabrick.com/fabrick-dashboard-support
Satispay
- Docs: https://developers.satispay.com/
- Business dashboard: https://business.satispay.com/login