L'attivazione nella giornata del 1 Luglio 2022 del processo di monitoraggio atto a verificare il rispetto delle specifiche relative ai workflow di pagamento da parte dei PSP ha consentito di rilevare numerose violazioni.
Sulla base di questi risultati ed altri approfondimenti, PagoPA sta definendo un processo strutturato di comunicazione tempestiva delle violazioni ai PSP interessati ed un conseguente piano d'azione in caso di ripetute inadempienze da parte degli stessi Soggetti.
L'analisi dell'utilizzo delle singole primitive previste nei flussi di pagamento ha fatto emergere due principali problemi:
Problema 1: Mancata gestione del token di sessione real time
Questa casistica si verifica per i PSP che non gestiscono il ciclo di vita del token di sessione ed in particolare non si accorgono della sua scadenza e procedono quindi erroneamente con il flusso anche se con token non più valido.
La mancata gestione del token di sessione porta inoltre a considerare tutti i tentatavi (di uno stesso utente) come tentativi separati. Questo comporta, solo a titolo di esempio, il ripetersi di numerosi tentativi di avvio per lo stesso pagamento in luogo del corretto recupero della eventuale sessione in corso. L'errore generato (PPT_PAGAMENTO_IN_CORSO) impedisce al Cittadino di proseguire con un notevole abbassamento della qualità de servizio.
Problema 2: Mancata gestione della chiave di idempotenza
La chiave di idempotenza è un dato fondamentale per gestire le casistiche in cui il PSP non riceve una risposta ad una chiamata idempotente.
Può essere generata dal PSP per le chiamate:
activatePaymentNotice
sendPaymentOutcome
Lo scopo della chiave di idempotenza è quello di permettere l’invocazione più volte di una chiamata senza avere side effect sullo stato del pagamento, l'inserimento della chiave di idempotenza nelle request delle chiamate che la gestiscono è obbligatorio, lo scopo di tale strumento è circoscritto ai casi in cui non è stata ricevuta una response, per qualsiasi motivo, ad una chiamata idempotente.
Non deve essere associato alla chiave di idempotenza il concetto di gestione della sessione di pagamento, che, in realtà, deve avvenire tramite il corretto utilizzo del payment token.
Se un PSP, ad esempio, non riceve la response all'attivazione del pagamento potrà rifare la stessa chiamata, avendo cura di utilizzare la stessa chiave di idempotenza, ottenendo i dati che erano a lui destinati durante la prima chiamata. Qualora non utilizzasse la medesima chiave di idempotenza otterrà invece in response “pagamento in corso” e non potrà procedere con il pagamento.