-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[RFC] faultCode PAA_PAGAMENTO_IN_CORSO #213
Comments
Ciao Luca. E' assolutamente corretta la tua assunzione. Il nodo con il nuovo modello è in grado di gestire il pagamento in corso e il pagamento duplicato, senza arrivare a fare la richiesta all'Ente Creditore. Il nodo per fare questo controllo si basa però esclusivamente sullo IUV. L'unico motivo per cui è stato mantenuto questo faultCode è per permettere a chi gestisce con IUV diversi anche il modello attivato presso all'EC di comunicare alla piattaforma esiste un pagamento in corso. Lascio aperta la issue per eventuali controdomande. |
Ciao Fabio, grazie per la risposta, ma purtroppo mi ha fatto sorgere altri dubbi. |
Provo ad ipotizzare una soluzione. |
Ciao Luca, Questo perché le problematiche mi sembrano le medesime su entrambi i modelli e sono più legate alla gestione della posizione debitoria che al modello di pagamento utilizzato. Dal punto di vista tecnico, in questo momento, la piattaforma non ha evidenze di correlazione fra IUV distinti in relazione a rate (o altro "fattore di correlazione"). Quindi nell’esempio che hai fatto:
se un cittadino prova a paga la rata1 (IUV1) la piattaforma non ha modo di bloccare lo IUV0 su un tentativo di pagamento "immediatamente prossimo": questa gestione rimane tuttora in carico all’Ente Creditore (come nel "precedente" modello 3). Consideriamo tale casistica comunque marginale, e che merita un approfondimento nelle future evoluzione della piattaforma (già in roadmap interna). I fault code E' quindi corretta la tua affermazione:
Per quanto riguarda invece il comportamento del nodo sull' “estensione del modello 1” ( https://docs.italia.it/italia/pagopa/pagopa-specifichepagamenti-docs/it/v2.5.0/_docs/sezione3-specifiche-tecniche/3_01_04_multi_beneficiario.html) l’obiettivo di alcune delle assumptions che trovi in SANP sono orientate proprio al permettere di introdurre controlli sullo IUV in termini di “pagamento in corso” e “pagamento duplicato”. Per quanto riguarda la documentazione stiamo lavorando sull’esplicitare meglio alcuni comportamenti. Un ultimo appunto: è stato eliminato il concetto di “opzioni multiple di pagamento” per la difficoltà di gestione lato Ente Creditore. Per permettere infatti una gestione corretta delle opzioni multiple (che alla fine è quello che stai scrivendo tu) ci sarebbero due alternative:
Ti chiedo cortesemente di darmi un feedback su quanto ti ho scritto. Lascio inoltre aperta questo discussione perchè:
|
Ciao Fabio,
Il requisito va soddisfatto sia a modello 3 che a modello 1: a modello 3 i messaggi scambiati consentono già di supportare agevolmente il requisito, a modello 1, è necessario introdurre una correlazione fra gli iuv: per le posizioni multi-ente il CCP, per come è costruito, contiene già il numero avviso, l'idea potrebbe essere estesa anche alle posizioni mono-ente. Commento puntualmente alcune tue frasi per chiarire meglio alcuni aspetti
Certo, ma è richiesto solo per i pagamenti multi-ente , ma basterebbe estendere le assumptions sul CCP a tutti i pagamenti modello1 (ovviamente richiede anche che esista un numero avviso, che per un pagamento modello1 spontaneo non sarebbe tecnicamente necessario)
Per restituire un'unica opzione di pagamento lato EC è necessario eseguire logiche che dipendono dal tipo di servizio di pagamento, sono le stesse logiche che dovrei eseguire per restituire opzioni multiple, solo che alla fine devo sceglierne una, fornendo alla fine meno supporto all'utente: in sintesi restituire una sola opzione semplifica la vita solo nel caso in cui ne esiste di fatto una sola, restituire tutte le opzioni valide non crea difficoltà ulteriori, anzi.
A modello 1, la modalità con cui si consente all'utente di eseguire il pagamento è un problema dell'EC, l'uso delle opzioni potrebbe essere peraltro un modo intelligente per guidare l'utente; a modello 3 lo opzioni sono importanti per veicolare, tramite il PSP, le informazioni disponibili all'utente.
Se il numero di avviso è unico per una posizione debitoria questo diventa il "fattore di correlazione": nel modello 3 c'è già, nel modello 1 bisogna imporre la costruzione del CCP in modo che contenga il numero avviso. Se si abbandona l'ipotesi di gestire un unico numero avviso per la posizione debitoria, il nodo con il paymentToken può bloccare il singolo pagamento ma non l'intera posizione. Probabilmente è improbabile che qualcuno cerchi di pagare due avvisi distinti per la stessa posizione debitoria (quasi) contemporaneamente, però tecnicamente diventa possibile. |
Ciao Luca, |
Aggiornamento: La gestione dei FaultBean è ora riportata qui: https://docs.pagopa.it/gestionedeglierrori/struttura-degli-errori/fault-bean |
Fra i possibili faultCode previsti per la paVerifyPaymentNotice documentati nella tabella FaultCode EC è elencato anche PAA_PAGAMENTO_IN_CORSO: in quale occasione dovrebbe verificarsi?
Mi aspetto che sia direttamente il nodo a notificare al PSP se c'è un pagamento in corso per il numero avviso specificato (esiste un paymentToken attivo per quel numero avviso), mentre per l'EC l'operazione di pagamento o è possibile (pagamento in attesa) o è stato già terminata (è arrivata la ricevuta).
Anche se è stato attivato un pagamento modello 1 è sempre il nodo che genera il paymentToken, quindi sarà sempre il nodo a gestire lo stato pagamento in corso.
Stesso ragionamento farei per la paGetPayment.
The text was updated successfully, but these errors were encountered: