link-it / govpay

Porta di accesso al sistema pagoPA
GNU General Public License v3.0
43 stars 22 forks source link

flussiRendicontazione e Attestazione pagamento PSP #347

Closed MatteoT9890 closed 3 years ago

MatteoT9890 commented 3 years ago

DOMANDA 1: Stando alle specifiche del nodo pagoPA, i flussi di rendicontazione scadono dopo 30 giorni. Se si ha la necessità di tenerli storati per più tempo, è necessario salvarseli sui propri database. Tale operazione è già svolta da GovPay e i flussi di rendicontazione non sono mai soggetti a scadenza? Se no, qual è la data di scadenza oltre la quale non è più possibile reperire tali dati?

La prima stranezza che noto è che (in fase di collaudo) il flusso rendicontato da PagoPA non corrisponde alla somma dei singoli pagamenti registrati come "ESEGUITI", a cosa potrebbe essere dovuto?

NOTE: Per il piano esecuzione dei test, sarebbe utile far partire la primitiva "nodoChiediFlussoRendicontazione" i cui payload sono visibili nel giornale degli eventi sulla GUI di backoffice, purtroppo però non trovo l'API adibita a tale funzionalità.

DOMANDA 2: Attraverso quale API nella doc è possibile ricevere l'attestazione di pagamento generata dal PSP?

Riferimento alla doc di pagoPA:

Al termine dell’operazione il PSP ,in linea con le norme vigenti, consegna un’attestazione di pagamento la quale dovrà contenere (in aggiunta a quanto previsto dalle normative) l’identificativo della sessione di pagamento ottenuto durante le operazioni di pagamento (paymentToken)

nardil commented 3 years ago

Ciao @MatteoT9890 ,

GovPay non esegue svecchiamento dei dati, operazione che viene demandata al gestore del DB, quindi i flussi di rendicontazione sono disponibili fin quando esplicitamente rimossi.

Per quanto riguarda l'anomalia nel flusso che hai individuato, se presenta importi non corrispondenti alle RT che rendiconta o un totale non congruo alla somma degli importi, dovresti chiedere chiarimenti a pagoPA.

Infine le RT sono acquisibili da tutte le API, conformemente alle autorizzazioni del richiedente, dalla risorsa /rpp/{idDominio}/{iuv}/{ccp}/rt, nei formati json, pdf o xml in base al valore dell'header Accept indicato nella richiesta.

MatteoT9890 commented 3 years ago

Buongiorno Lorenzo,

grazie come sempre. Il flusso rendicontazione viene eseguito da un cronjob automaticamente da GovPay, oppure è necessario schedulare sui nostri server un nostro cronjob che invoca le API messe a disposizione da GovPay?

Infine rimane ancora il discorso relativo al piano di esecuzione dei test che ho inserito nella nota:

Per il piano esecuzione dei test, sarebbe utile far partire la primitiva "nodoChiediFlussoRendicontazione" i cui payload sono visibili nel giornale degli eventi sulla GUI di backoffice, purtroppo però non trovo l'API adibita a tale funzionalità.

Infatti invocando la GET /flussiRendicontazione/{idFlusso} govpay risponde, ma la primitiva “nodoChiediFlussoRendicontazione” non appare nel giornale degli eventi, infatti mi è necessario compilare il piano dei test con la risposta in formato XML ricevuta dal nodo. Anche in questo caso basterá modificare l’header e si riceve la risposta originale data dal nodo, oppure è un XML che è generato dall’applicativo GovPay manipolando a sua volta l’XML ricevuto dal nodo?

nardil commented 3 years ago

Il flusso rendicontazione viene eseguito da un cronjob

Se intendi se i flussi di rendicontazione vengono scaricati da GovPay, si è cosi ed i batch che gestiscono l'acquisizione sono attivi per default.

ma la primitiva “nodoChiediFlussoRendicontazione” non appare nel giornale degli eventi

se il flusso è disponibile, la primitiva è stata invocata. La configurazione di default del giornale degli eventi prevede la registrazione di questa invocazione. Controlla dalle impostazioni che la registrazione sia abilitata e prova a filtrare gli eventi del giornale per tipo evento Richiesto flusso rendicontazioni a pagoPA

MatteoT9890 commented 3 years ago

Filtrando nel giornale degli eventi per Richiesto flusso rendicontazioni a pagoPA, mi porta solo 2 risultati relativi al 10/06 ore 18:00. Infatti i risultati tornano in quanto i flussi di rendicontazione registrati nei database risultano massimo fino al 10/06. E' un comportamento atteso questo? Oppure la primitiva dovrebbe essere invocata con una maggiore frequenza di default?

UPDATE: Ho notato che la primitiva nodoChiediElencoFlussiRendicontazione viene invece triggerata più volte al giorno, ma è probabile che la primitiva nodoChiediFlussoRendicontazione non venga poi invocata perchè la risposta da parte del nodo è che non ci sono nuovi flussi. Potrebbe esser così? Se mi confermi che è questo il caso, aprirò un ticket di assistenza mostrando le evidenze delle primitive generate dall'applicativo.

nardil commented 3 years ago

I flussi di rendicontazione sono acquisiti da pagoPA periodicamente da batch, come hai intuito dal giornale degli eventi. Una volta scaricati i flussi e memorizzati localmente, le richieste di lettura sono gestite senza richiedere nuovamente il flusso a pagoPA.

MatteoT9890 commented 3 years ago

Grazie @nardil, ho aperto un ticket di assistenza via ServiceNow, è molto probabile che sia un problema dovuto alla fase di collaudo, anche perchè vedo che il nodo ha spesso momenti di down, probabilmente causati da aggiornamenti che stanno facendo per modificare il comportamento di alcuni modelli.

L'ultimo punto scoperto a questo punto è l'attestazione di pagamento che non sono sicuro che per il piano di test coincida con l'RT, faccio riferimento a questa documentazione (3.3). Ci sono infatti dei dati che non appaiono esplicitamente nella RT inviata dal nodo attraverso la primitiva paaInviaRT. Anche per questa esigenza ho aperto il ticket di assistenza e ti aggiorno su ciò di cui loro hanno bisogno per il piano di esecuzione dei test, in ottica di risolvere quest'esigenza a futuri utilizzatori dell'applicativo GovPay.

Come sempre, ti ringrazio per l'estrema disponibilità. Buon lavoro!

nardil commented 3 years ago

GovPay produce una attestazione di pagamento conforme ai requisiti pagoPA che puo' eventualmente essere usata allo scopo, ma non essendoci normative sulla resa grafica, puo' essere eventualemnte sostituita da una versione personalizzata che esula dal perimetro di GovPay.

Faccio presente che il riferimento alla documentazione che hai indicato e' per l'attestazione di pagamento dei PSP, non degli EC che invece e' descritto qua: https://docs.italia.it/italia/pagopa/pagopa-specifichepagamenti-docs/it/master/_docs/sezione2-gestione-posizione-debitoria/2_01_00_gestione_posizione_debitoria.html#ricevuta-di-pagamento