link-it / govpay

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

Integrazione MyPivot per caricamento dei pagamenti #282

Closed nardil closed 3 years ago

nardil commented 3 years ago

Necessità: Integrazione ai servizi di riconciliazione MyPivot : https://www.regione.puglia.it/documents/410606/413675/MyPivot+-+Nota+tecnica+Integrazione+Ente+V.5.6.2.pdf/60cc0453-c0ec-3076-77bf-5794f2171116?t=1591803805170

Soluzione:

La piattaforma GovPay deve produrre periodicamente le esportazioni dei pagamenti completati da far riversare nel MyPivot dell'Ente Creditore

Configurazione

Aggiungere all'anagrafica dell'Ente Creditore la possibilita' di aggiungere dei connettori.

L'aggiunta di un connettore richiede queste informazioni:

Database

Aggiungere la tabella MYPIVOT_NOTIFICHE:

Aggiungere alla tabella RT la FK a MYPIVOT_NOTIFICHE (nullable)

STATI DEL TRACCIATO

Batch spedizione e aggiornamento stato

Questo batch viene eseguito ogni 30 minuti

--- (caso spedizione via web service)

Dei tracciati in stato FILE_CARICATO richiede un aggiornamento di stato tramite il servizio “pivotSILChiediStatoImportFlusso”. Se lo stato ricevuto e' uno dei terminali, il tracciato transita in quello stato

Dei tracciati in stato FILE_NUOVO esegue una richiesta al servizio “pivotSILAutorizzaImportFlusso” e salva le informazioni requestToken/uploadURL/authorizationToken su DB aggiornando lo stato in FILE_DA_CARICARE

Dei tracciati in stato FILE_DA_CARICARE ne esegue l'upload alla URL fornita. Al termine dell'upload aggiorna lo stato in FILE_CARICATO

--- (caso spedizione via email)

Dei tracciati in stato FILE_NUOVO esegue la spedizione via mail all'indirizzo configurato. In caso di successo aggiorna lo stato in FILE_CARICATO, altrimenti lascia cosi

--- (caso spedizione via fs)

Dei tracciati in stato FILE_NUOVO esegue la scrittura su FS al path indicato. In caso di successo aggiorna lo stato in FILE_CARICATO, altrimenti lascia cosi.

Batch creazione flussi

Questo batch viene eseguito alle 3 di mattina

Per ciascun ente che ha abilitato il connettore MyPay e che non ha tracciati pendenti ricerca i pagamenti positivi intercorsi dall'ultimo invio in stato IMPORT_ESEGUITO eseguito sulla base della ricezione dell'RT fino alla mezzanotte del giorno precedente e produce un CSV che rispetta la sintassi del tracciato della versione corrispondente a quella indicata:

Il tracciato viene salvato zippato su database in stato "FILENUOVO" con nome file "GOVPAY{idDominio}_{id}.zip".

pintorig commented 3 years ago

Completata realizzazione della spedizione dei tracciati con modalita' Email e File System. La spedizione tramite connettore WebService sara' realizzata appena avremo a disposizione un ambiente di simulazione per il servizio MyPivot.

pintorig commented 3 years ago

@simo-git Realizzare il cruscotto di configurazione per il connettore MyPivot

Nella schermata di dettaglio del Dominio, aggiungere una nuova card per le liste di secondo livello:

Screenshot from 2021-02-18 15-35-20

Il click sul tasto '+' dovra' portare alla maschera di creazione di un nuovo connettore:

Screenshot from 2021-02-18 15-40-12

La select list presenta i tipi di connettori che sono disponibili, attualmente MyPivot e Secim (quando un connettore viene aggiunto deve essere eliminata la corrispondente voce nella lista dei connettori disponibili).

Quando viene selezionato il tipo MyPivot, il cruscotto deve presentare la corrispondente maschera di configurazione:

Screenshot from 2021-02-18 11-40-49

L'oggetto dove salvare il connettore e' dominio.connettoreMyPivot. In fase di edit la form dovra' essere precompilata con i valori presenti in questo oggetto.

Realizzare l'intervento nel branch feature/282_integrazione_my_pivot

nardil commented 3 years ago

I dati di contabilita' prevedono la possibilita' di generare le informazioni come attese da MyPivolt. Procedere alle seguenti modifiche:

tipoDovuto: al posto di versamento.datiAllegati.mypivot.tipoDovuto, utilizzare il campo versamento.vocePendenza[0].contabilita.proprietaCustom.tipoDovuto bilancio: al posto di versamento.datiAllegati.mypivot.bilancio, costruire l'XML previsto da myPivot con l'array in versamento.vocePendenza[0].contabilita.quote, se specificate:

<bilancio>
  <capitolo>
    <codice>cod1</codice>
    <importo>0.01</importo>
  </capitolo>
  <capitolo>
    <codice>cod2</codice>
    <importo>0.02</importo>
  </capitolo>
 ...
</bilancio>
pintorig commented 3 years ago

Intervento effettuato nel branch #309.