Cashback: retrospettiva su un avvio sfidante, con lo sguardo rivolto al futuro

In questo articolo ci prendiamo lo spazio per descrivere la portata di una misura dirompente per il settore dei pagamenti. Non solo per spiegare cosa non ha funzionato alla partenza del Cashback, ma per raccontare le potenzialità di un’infrastruttura complessa, destinata a fare la differenza per la trasformazione digitale del Paese.

Giuseppe Virgone
PagoPA SpA
14 min readDec 30, 2020

--

di Giuseppe Virgone (CEO di PagoPA S.p.A.) e Mirko Calvaresi (CIO di PagoPA S.p.A.)

Il progetto Cashback

Il progetto Cashback, così come la stessa società PagoPA S.p.A., nasce dalla convinzione che lo sviluppo dei pagamenti elettronici sia una componente basilare per la trasformazione digitale dell’intero Paese. Istituito dall’art. 1 commi 288 e seguenti della legge n. 160 del 27 dicembre 2019 (legge di bilancio) e successivamente emendato dal d.L 34 del 2020 (Decreto Rilancio) e dal d.L. 104 del 2020 (Decreto Agosto), il Cashback ha debuttato ufficialmente con una prima fase sperimentale lo scorso 8 dicembre 2020, secondo quanto previsto dal Decreto 24 novembre 2020, n. 156 emesso dal Ministro dell’Economia e delle Finanze.

Come ha dichiarato il Presidente del Consiglio dei Ministri, Giuseppe Conte:

“Il Cashback è una misura di sistema per la rivoluzione digitale del Paese, i cui benefici vanno oltre il periodo della pandemia. È il primo passo per l’integrale digitalizzazione del Paese.”

Solo osservando le altre economie dell’Unione Europea – dove il numero medio di transazioni pro capite con carta risulta più elevato del 175% rispetto all’Italia (168 vs. 61 nel 2019, secondo i dati della community “Cashless Society” di The European House Ambrosetti) – sono evidenti i benefici legati all’incentivazione all’uso dei pagamenti elettronici. Tra questi, basta citare:

  • il contrasto all’evasione fiscale (stimato in 29,5 miliardi di euro il potenziale di recupero dell’economia sommersa nell’ipotesi di allineamento delle transazioni cashless pro capite alla media europea, ibidem)
  • la riduzione dei costi di gestione del contante (circa 7,4 miliardi di euro annui in Italia, ibidem)
  • la maggiore sicurezza dei pagamenti.

Ma c’è di più: nella sua declinazione attuale, il progetto Cashback mette a disposizione di milioni di cittadini italiani un’infrastruttura digitale in grado di erogare in modo diverso i servizi della Pubblica Amministrazione, in ottica mobile attraverso pagoPA e l’app IO, e tramite le altre infrastrutture tecnologiche su cui poggia il sistema dei pagamenti elettronici. L’obiettivo ultimo è favorire una più ampia diffusione dei servizi pubblici digitali nella nostra quotidianità.

Il meccanismo alla base del programma Cashback fa capo all’infrastruttura realizzata da PagoPA S.p.A. e denominata “Centro Stella dei pagamenti elettronici”, nata per gestire servizi di varia natura ponendosi al centro tra i prestatori di servizi di pagamento (i cosiddetti Issuer che emettono gli strumenti di pagamento elettronico utilizzati dai cittadini e gli Acquirer che forniscono agli esercenti i dispositivi per gestire le transazioni), gli utenti dell’app IO e i canali bancari, allo scopo di:

  • poter erogare agli utenti servizi basati sulle loro transazioni di pagamento;
  • raccogliere, da queste transazioni, i dati minimi necessari per l’erogazione del servizio.

In altre parole, il “Centro Stella” è una nuova architettura digitale che rende possibile lo scambio di informazioni tra i sistemi bancari e il cittadino che intende beneficiare dei servizi erogati tramite questa piattaforma. Oggi permette la partecipazione al Cashback, ma questo meccanismo si presta a essere replicato su scenari applicativi diversi.

In futuro, infatti, sul Centro Stella potranno basarsi altri servizi che lo Stato vorrà erogare legandoli all’uso di moneta elettronica. In questo modo, senza cambiare la propria esperienza di acquisto, i cittadini potranno accedere a prestazioni o contributi in modo digitale e personalizzato, con una rapidità e precisione inedite per la Pubblica Amministrazione. L’infrastruttura su cui oggi si regge il Cashback, quindi, ha un potenziale di innovazione che va ben oltre questo progetto in sé e traduce una visione strategica e di sistema che concorre allo sviluppo di nuovi servizi digitali a beneficio di tutto il Paese.

Ma facciamo un passo indietro e torniamo alle giornate che hanno segnato l’avvio ufficiale del Cashback.

L’infrastruttura

Prima di entrare nel merito di una retrospettiva sui problemi riscontrati tra il 7 e il 9 dicembre 2020 e sulle soluzioni individuate per stabilizzare il sistema, è utile descrivere in sintesi le componenti essenziali della piattaforma tecnologica che consente l’erogazione del Cashback.

Backend app IO

L’app IO comunica con il suo backend che, sviluppato su cloud Microsoft Azure, consente tutte le operazioni core dell’app che includono il login, la ricezione dei messaggi, la gestione delle preferenze e l’accesso ai servizi.

Centro Stella

Il Centro Stella è la piattaforma che raccoglie, aggrega e anonimizza le transazioni. È sviluppata su piattaforma Microsoft Azure per la componente che gestisce l’iscrizione dei cittadini al Cashback, la ricezione delle transazioni dagli operatori bancari e l’erogazione dei servizi legati ai dati raccolti.
Questa piattaforma eroga anche le API sincrone utilizzate dalla altre app collegate al progetto Cashback, alternative all’app IO e gestite dagli Issuer Convenzionati.

Payment Manager

La sezione Portafoglio dell’app IO, comune alla piattaforma dei pagamenti pagoPA, è gestita dalla componente denominata Payment Manager, che consente la registrazione e la conservazione sicura dei dati relativi agli strumenti di pagamento elettronici.
Il Payment Manager è attualmente gestito dalla società SIA S.p.A. e ospitato in ambienti con le opportune certificazioni PCI DSS (Payment Card Industry).

Disegno architetturale

La componente “Centro Stella” riceve transazioni da svariati soggetti (Issuer) che emettono strumenti di pagamento elettronici ed è collegata alla quasi totalità degli Acquirer operanti in Italia (circa il 90% ad oggi, con l’obiettivo di copertura al 100% nei prossimi mesi) che trasmettono quotidianamente i flussi dei pagamenti effettuati con gli strumenti di pagamento attivati dai partecipanti ai fini dell’iniziativa. Parliamo, quindi, di una infrastruttura di sistema che collega il complesso mondo dei pagamenti con i cittadini sia attraverso l’app IO, sia tramite le app e i sistemi bancari che offrono accesso al Cashback direttamente dai loro canali.

L’immagine descrive schematicamente i flussi di informazioni veicolati al Centro Stella da diversi soggetti ed elaborati dall’infrastruttura per il Cashback

I problemi iniziali

In questo capitolo evidenziamo le criticità riscontrate all’avvio del Cashback, relative in particolare ai volumi di traffico imponenti e al comportamento inedito degli utenti dell’app IO. Inoltre, forniamo una panoramica degli interventi correttivi apportati e degli aggiustamenti necessari su progetti di questa scala, consapevoli che gli sforzi fatti per superare i problemi in questa prima fase sperimentale del progetto sono funzionali a mettere al servizio dello Stato una infrastruttura sempre più solida e unica nel suo genere.

Prima di entrare nel dettaglio, però, ci sembra utile dare una risposta alle numerose richieste dei cittadini sul perché abbiamo rilasciato l’aggiornamento dell’app con la nuova funzionalità per attivare il Cashback lunedì 7 dicembre e non prima. Questo aspetto è stato determinato da tre fattori complementari:

  • le valutazioni rispetto alla riapertura degli esercizi commerciali sul territorio nazionale, conseguenti alla situazione emergenziale legata alla diffusione dell’epidemia di Covid-19;
  • la data di registrazione del Decreto 24 novembre 2020, n. 156 emesso dal Ministro dell’Economia e delle Finanze (in G.U. il 28 novembre 2020), che ha ufficializzato le modalità di partecipazione al Cashback;
  • la successiva comunicazione del 4 dicembre 2020 da parte del Ministero dell’Economia e delle Finanze che, in qualità di titolare del servizio erogato attraverso l’app IO, ha definito l’effettiva data di avvio nel giorno dell’8 dicembre 2020.

7, 8 e 9 dicembre 2020: cos’è successo

Sin dalla vigilia dell’effettiva partenza del Cashback, l’infrastruttura di backend a servizio dell’app IO e, più nello specifico, la sezione Portafoglio hanno subito disservizi e rallentamenti dovuti a un volume di traffico sostenuto, con picchi (burst) di alcune migliaia di richieste al secondo.

Bastano alcuni dati per avere un’idea della mole di attività che ha messo sotto stress l’infrastruttura. Nella sola giornata di martedì 8 dicembre:

  • i download dell’app IO, che la sera di lunedì 7 dicembre erano 6,6 milioni, dopo meno di 24 ore sfioravano la soglia dei 7,6 milioni, con un incremento di circa un milione;
  • le richieste di accesso alla sezione “Portafoglio” dell’app IO (per attivare il Cashback o verificare i metodi di pagamento caricati) hanno raggiunto picchi di oltre 14.000 operazioni al secondo con oltre 2,3 milioni di utenti attivi presenti in app;
  • è stata rilevata una media di 2.700 accessi al secondo (per un totale di 233.280.000 operazioni che hanno gravato sul backend dell’app IO).

Per entrare nel dettaglio tecnico delle criticità rilevate a livello di backend dell’app IO, ripercorriamo l’accaduto cronologicamente:

  • lunedì 7 dicembre: la giornata più problematica, con ripercussioni sull’esperienza degli utenti che riescono a loggarsi dopo lunghi tempi di attesa. Ogni ora circa vi è un rallentamento sostanziale della piattaforma, con diverse chiamate fallite e timeout. Scaliamo le risorse su CosmosDB, il plan di Redis e le istanze dell’Application Gateway (il componente dell’infrastruttura che intercetta le chiamate dall’App IO prima che giungano all’applicazione di backend). Nonostante gli interventi, il disservizio non sembra mitigarsi se non con un fisiologico calo del traffico dopo le ore 22:00;
  • martedì 8 dicembre, ore 8:30: continuiamo a riscontrare errori e importanti rallentamenti delle chiamate API. Otteniamo un miglioramento significativo solo intorno alle 9:30, quando spostiamo su una seconda Azure Function dedicata la logica delle chiamate al Notification Hub (il servizio Azure che usiamo per inviare le notifiche push ). Questo intervento sembra essere risolutivo: dalle ore 10:00 e per il resto della giornata, non riscontriamo problemi e la piattaforma rimane responsive;
  • mercoledì 9 dicembre (e giorni successivi): riusciamo a individuare la “root cause” per i disservizi del 7 dicembre, appurando che le chiamate al Notification Hub, effettuate usando l’SDK Javascript Microsoft, non utilizzano il keep-alive. Un alto numero di notifiche push da inviare provoca quindi l’accodamento di numerose chiamate al Notification Hub; tali chiamate esauriscono le porte sorgenti congestionando periodicamente tutte le richieste in uscita effettuate dalla Function (anche quelle che implementano le altre funzionalità, non necessariamente relative alle push). Il problema – sorto in concomitanza di un numero di utenti attivi senza precedenti – è la causa del disservizio già mitigato l’8 dicembre agendo esclusivamente sull’infrastruttura. La soluzione definitiva è consistita nell’integrare il keep-alive per le chiamate al Notification Hub.

Il sovraccarico del Payment Manager, ben oltre i volumi da “Black Friday”

Nelle date descritte sopra, tuttavia, la maggior parte dei problemi riscontrati ha riguardato la componente “Portafoglio”, che risultava accessibile con difficoltà e rendeva complesso il caricamento carta delle carte di credito. Di seguito un grafico che evidenzia il fenomeno:

Il grafico mostra il numero e i picchi di richieste, su base oraria, fatte nella sezione Portafoglio dell’app IO (colore blu) e quelle fallite (colore rosso)

L’aumento dei volumi di traffico descritti nel grafico è stato causato anche dal comportamento costante e frequente degli utenti, che continuavano a ripetere il login nell’app IO, tentando di accedere alla sezione Portafoglio più e più volte nell’arco di pochi secondi e generando così un altissimo numero di richieste verso l’infrastruttura. Questo ha determinato i seguenti problemi:

  1. una situazione di concorrenza del numero di chiamate indirizzate al Payment Manager con conseguente sovraccarico o lock sulle risorse HSM (Hardware security module) cioè i moduli fisici che detengono e gestiscono le chiavi crittografiche di encryption/decryption dei dati relativi alla carte di pagamento;
  2. difficoltà dei componenti del Virtual POS (VPOS), cioè il sistema necessario per effettuare la verifica di una carta, ad accettare ulteriore traffico in arrivo dall’app;
  3. difficoltà dei centri autorizzativi che gestiscono le route verso gli Issuer e la verifica del 3D-Secure, nel supportare volumi di transazioni concorrenti di molto superiori alla media di riferimento giornaliera relativa alle transazioni di pagamento e-commerce. Solo i dati aggregati messi a disposizione da Banca Intesa SanPaolo e SIA (che includono anche indicatori riferiti a Unicredit e PostePay) mostrano, infatti, che nelle giornate del 7 e 8 dicembre (trend proseguito anche nei giorni successivi) si è triplicato il numero di verifiche giornaliere 3D-S su base nazionale rispetto alla media del periodo).
Il grafico mostra i volumi di richieste, nel periodo 7-8-9 dicembre, per l’aggiunta di carte di pagamento nella sezione Portafoglio dell’app IO (colore verde) e le relative richieste fallite (colore marrone)

Tutti i dimensionamenti e i test relativi alle autorizzazioni e alle transazioni, effettuati sull’infrastruttura nelle settimane di preparazione al Cashback, erano basati sui volumi che solitamente si registrano in concomitanza del cosiddetto Black Friday. Tuttavia, dall’analisi dei dati effettuata a posteriori, quelle stime si sono dimostrate non paragonabili con i volumi generati dalla registrazione degli strumenti di pagamento per partecipare all’iniziativa.

Le richieste di autorizzazione al pagamento, hanno superato di circa 3 volte i volumi di un giorno normale e di oltre 2 volte i volumi del Black Friday.

In generale, reputiamo che stress test realistici, inclusivi delle operazioni sui sistemi autorizzativi e su una scala di richieste simile a quella riscontrata nei giorni più critici, sono estremamente lunghi e complessi da pianificare, se non addirittura impossibili: non solo per la natura e il volume stesso del test, ma anche per la necessità di evitare disservizi agli altri canali che condividono gli stessi centri autorizzativi per gli acquisti tramite e-commerce e POS.

Il problema legato alla concorrenza delle chiamate si è risolto tra la giornata del 7 e la mattinata dell’8 dicembre, grazie a:

  • una migliore gestione dei comportamenti dei retry da parte dell’app IO;
  • ulteriori ottimizzazioni nelle componenti (application server) dedicate al servizio delle chiamate della sezione Portafoglio;
  • una policy di traffic shaping che consentisse agli ambienti PCI DSS, più complessi da scalare velocemente, di funzionare in maniera efficiente nei limiti di traffico imposto (circa 3.000 req/s di media durante la giornata).

Per tutta la giornata di martedì 8 dicembre e fino alla mattina del 9, sono proseguiti i problemi nel caricamento delle carte di credito e debito tramite l’app IO, che si manifestavano attraverso due tipi di messaggio: uno che indicava all’utente di riprovare a inserire la carta, oppure uno relativo alla transazione negata per mancata verifica del 3D-Secure. Questo ha indotto gli utenti interessati a effettuare più di un tentativo per inserire la propria carta di credito.

Una scelta per garantire sicurezza

Nello specifico, imporre agli utenti la possibilità di associare una carta al proprio Portafoglio su IO attraverso una transazione che verifica il 3D-Secure – cioè tramite un secondo fattore di sicurezza (app bancaria, per esempio) nel rispetto della Strong Customer Authentication prevista dalla PSD2 e delle richieste dei circuiti – ha pesato non poco sulla capacità complessiva dei sistemi autorizzativi di soddisfare un numero di richieste di verifica delle carte fuori dal consueto. Ciò ha creato inevitabilmente rallentamenti nella verifica del 3D-Secure indipendenti dall’app IO.

È importante sottolineare che questo meccanismo di verifica è imposto dalla Direttiva europea dei Sistemi di Pagamento (PSD2) ed è necessario per verificare che il soggetto che inserisce la carta sia il titolare della stessa o almeno ne abbia la disponibilità (come concordato col Garante della Privacy).

La necessità di verificare il 3D-Secure ha impedito di effettuare operazioni che avrebbero potuto mitigare il carico sugli autorizzativi (modello per esempio utilizzato da grandi marketplace commerciali), utilizzando delle code per la gestione del flusso in maniera asincrona e notificando l’esito all’utente successivamente.

I circuiti autorizzativi, in costante contatto con il team di PagoPA S.p.A. e di SIA, hanno ulteriormente scalato le architetture sulle quali si poggiano i sistemi di verifica carta: la componente Merchant Plugin che identifica se la carta dispone di un secondo fattore di autenticazione e la componente ACS che identifica il soggetto che deve autorizzare il secondo fattore. Grazie a questo intervento, si è riusciti a evitare di mettere in crisi altri attori presenti nella filiera autorizzativa.

Il servizio non si è mai fermato, lo dicono i numeri

Mentre eravamo al lavoro per risolvere gli aspetti che abbiamo descritto sopra, il servizio per aderire al Cashback non si è mai interrotto. Solo martedì 8 dicembre, tramite l’app IO sono stati registrati circa 1.2 milioni di strumenti di pagamento e circa 1 milione il giorno successivo.

Le modifiche introdotte hanno portato il sistema a normalizzare la situazione già dall’8 dicembre mattina sul backend dell’app IO e dal 9 dicembre pomeriggio sul Payment Manager e sull’aggiunta degli strumenti di pagamento.

Ad oggi, la partecipazione al programma Cashback continua a registrare numeri importanti:

  • Più di 5,7 milioni di cittadini iscritti al Cashback ad oggi, dall’app IO e da altri canali
  • Oltre 9,6 milioni di strumenti di pagamento attivati, di cui 7,5 milioni solo sull’app IO
  • Più di 49,6 milioni di transazioni elaborate, già acquisite dal sistema e visualizzabili dai partecipanti

(dati aggiornati alle ore 8:00 del 30 dicembre 2020)

Cosa abbiamo imparato

Quando, nel 2018, abbiamo concepito il progetto da cui nasce l’app IO raccontandone la visione con la storia di Anna, non potevamo certo immaginare di arrivare fin qui. Dal debutto di IO negli store nell’aprile 2020, a distanza di soli otto mesi, IO è già tra le mani di quasi 10 milioni di cittadini.

La crescita sostenuta dell’app e l’integrazione di servizi nazionali innovativi basati sulle infrastrutture digitali sviluppate da PagoPA – dapprima per il Bonus Vacanze e ora per il Cashback – hanno portato a confrontarci con sfide e prospettive del tutto nuove.

Abbiamo capito che i cittadini pronti a usare servizi pubblici digitali innovativi ed erogati attraverso un’app sono molti di più di quanto alcuni credevano, e che per soddisfare appieno questa domanda serve tempo.

Abbiamo capito che è molto difficile comunicare alle persone che un servizio lanciato su questa scala deve necessariamente essere considerato “sperimentale” in un primo periodo, specie quando viene promosso con forza ed entusiasmo dalle istituzioni.

Oggi più che mai, abbiamo realizzato in concreto che l’app IO è solo un pezzo del puzzle. IO è lo strumento che permette ai cittadini una nuova esperienza di accesso ai servizi pubblici e, per questo, esprime al meglio la sintesi di molteplici infrastrutture digitali che PagoPA continua a sviluppare e gestire “dietro le quinte”, affinché la loro complessità sia sempre più invisibile agli occhi delle persone.

Molte di queste infrastrutture nascono però al di fuori del progetto IO: sono state concepite prima o parallelamente all’app dei servizi pubblici. Non sempre, quindi, sono state concepite per gestire i volumi e le interazioni real time che un’app mobile così diffusa impone. Abbiamo capito che IO è anche un modo per mettere alla prova le altre infrastrutture pubbliche digitali e per raccogliere dati aggregati su di esse così da poterle evolvere in modo che siano sempre più facili da usare per i cittadini.

Sappiamo di dovere consolidare l’ingranaggio che fa dialogare tutti i processi e le tecnologie necessarie per offrire ai nostri utenti un prodotto così ambizioso. E siamo altrettanto consapevoli del fatto che il nostro lavoro sarà sempre associato ai successi o alle difficoltà di ogni servizio erogato attraverso l’app IO. Ma questo è solo l’inizio di un percorso, destinato a segnare la strada verso un avanzato processo di trasformazione digitale del Paese, senza più inversioni di marcia.

Abbiamo, infine, imparato che per mantenere ed evolvere un servizio su questa scala sono necessarie molte persone e competenze; è per questo che PagoPA crescerà ancora acquisendo risorse di valore come quelle che hanno lavorato, giorno e notte, su questo progetto.

La nostra Società è nata come un nuovo asset al servizio della governance digitale dello Stato. Tutti i progetti che ci sono stati affidati finora hanno una portata inedita e — come tutte le sfide di innovazione — non sono semplici né intendono esserlo; ciò comporta inevitabili momenti critici da cui imparare e migliorare.

Ed è la ragione per cui continueremo a condividere traguardi e “incidenti di percorso” nell’evoluzione di tutte le piattaforme tecnologiche che ruoteranno attorno all’app IO, anche in futuro.

--

--

Giuseppe Virgone
PagoPA SpA

Digital Payment — CEO di PagoPA SpA — Entrpreneurs, Strategic Payment, Husband and father