pagopa / pagopa-api

Tutti gli schemi XSD e WSDL che seguono release diverse dalle SANP
22 stars 15 forks source link

[RFC] Nuove SANP 2.4.1 e CodiceEsitoPagamento #151

Closed redbox7676 closed 3 years ago

redbox7676 commented 3 years ago

Nelle nuove SANP 2.4.1 in RC è stato rivisto il workflow nel caso di pagamenti modello 3 da PSP (cap 3). Sono previsti ora i casi in cui non si riesca a comunicare al nodo l'esito dell'incasso sulla sendPaymentOutcome.

Il PSP ha quindi l’obbligo, in caso di mancato recapito dell’esito, di avviare un processo di retry all'infinito fino a recepimento di una risposta (anche faultCode) applicativa dal Nodo. Sarà poi il Nodo a gestire la comunicazione delle eventuali RT agli EC.

Come bisogna valorizzare il codice di esito pagamento le file di rendicontazione generato a D+1?

Chiediamo conferma delle assunzioni seguenti:

Incasso effettuato e timeout su invio dell’esito.

1) Se la risposta al retry perviene ENTRO la scadenza del token della sessione di pagamento (30 min), non si identificano potenziali problemi --> codiceEsitoPagamento = 0

2) Se la risposta al retry perviene DOPO la scadenza del token della sessione di pagamento (30 min) e comunque ENTRO la giornata operativa D, il Nodo risponde con PPT_TOKEN_SCADUTO o PPT_PAGAMENTO_DUPLICATO, il PSP si blocca --> codiceEsitoPagamento = 0

3) Se la risposta al retry perviene DOPO la scadenza del token della sessione di pagamento (30 min) e comunque DOPO la giornata operativa D, indipendentemente a cosa e quando risponderà il Nodo, il PSP si bloccherà alla risposta ma produrrà comunque il file di rendicontazione essendo avvenuto l'incasso a D --> codiceEsitoPagamento = 9

Inoltre , si chiede conferma che mai e poi mai, sarà permesso da nessun canale, la possibilità di incassare su mancata risposta alla verifyPayment ed activatePayment.

Anche in questo caso è da implementare un sistema di retry all'infinito?

Grazie

gammam commented 3 years ago

Per motivi di retro-compatibilità con le PA non ancora adeguate ( per le quali il Nodo continuerà a gestire le RPT/ RT ) , negli scenari 2 e 3 il codiceEsitoPagamento dovrà essere impostato a 9.

Confermiamo che non sarà considerato alcun pagamento senza la presenza di un paymentToken , pertanto affinché un pagamento sia eseguito sul Nodo è NECESSARIO aver ottenuto il paymentToken in risposta alla activatePaymentNotice.

L’esecuzione o meno della verifyPaymentNotice non incide in alcun modo sull’operazione di pagamento.

Il retry della SendPaymentOutcome riteniamo debba avvenire sino alla produzione dei FdR. Una volta notificato il riversamento non è più necessario effettuare retry.