Pagamenti presso frontend dell'EC in modalità asincrona
In questa pagina viene fornito un possibile flusso di integrazione relativo ad un pagamento iniziato dal frontend dell'EC, nel caso in cui questo sia in produzione sulla piattaforma pagoPA in modalità asincrona.
Il flusso descritto in questa sezione è a scopo prettamente esemplificativo e non deve dunque essere considerato come una specifica di implementazione mandatoria.
I pagamenti presso frontend dell'EC in modalità asincrona hanno l'obiettivo di fare in modo che, in tutti i casi in cui la posizione debitoria non possa essere caricata preventivamente, questa risulti presente sul servizio posizioni debitorie PagoPA prima della fase di attivazione del pagamento.
Quando il front end dell'EC riceve la richiesta di pagamento di uno o più avvisi, prima di inoltrare la richiesta a Checkout mediante una redirect, procede al caricamento della/e relative posizioni debitorie mediante l'invocazione dell'api
createDebtPosition
esposta dalla componente GPD-Core;al fine di creare, pubblicare e porre le posizioni debitorie nello stato
VALID
con una sola invocazione verso la componente GPD-Core, si suggerisce di valorizzare il query parametertoPublish=true
e il campo della posizione debitoriavalidityDate=null;
a questo punto la/e posizioni debitorie sono presenti all'interno del servizio posizioni debitorie PagoPA e si trovano nello stato corretto per poter essere pagate;
Checkout, in base al numero di avvisi che ha ricevuto, chiede al Nodo di attivare gli n pagamenti, a sua volta il Nodo dei Pagamenti girerà le richieste alla componente GPD-Payments che risponderà alla primitiva paGetPaymentV2 per conto dell'EC;
il processo di pagamento procede invariato come descritto nella pagina Pagamento presso frontend dell'EC fino al momento dell'invocazione della primitiva paSendRTV2, che nel caso di integrazione asincrona viene inoltrata alla componente GPD-Payments ed eventualmente alle stazioni di broadcast configurate;
l'EC diretto o l'intermediario devono rendere disponibile un endpoint aderente alle specifiche riportate nella sezione Connettività, dove dovrà essere esposto il servizio paSendRTV2. Ciò consentirà a PagoPA S.p.A. di configurare una stazione di broadcast sulla quale inviare le receipt in tempo reale man mano che i pagamenti si concludono con esito positivo. Questa configurazione agevola l'EC nella ricezione delle ricevute in modalità push, senza dover mettere a terra meccanismi di polling verso le API esposte dalla componente
GPD-Core
. Le API per il recupero delle receipt potranno essere utilizzate in casi particolari come ad esempio un problema tecnico durante la ricezione di una o più receipt tramite stazione di broadcast;quando la componente
GPD-Payments
riceve la receipt provvede alla chiusura della posizione debitoria.