Controllare lo stato di una transazione
Il metodo web service da usare per conoscere lo stato di una transazione è CallReadTrxS2S.
Per usare questo metodo è necessario assegnare gli argomenti per identificare in modo sicuro la transazione.
Una transazione viene identificata univocamente usando in coppia lo shopLogin
e il bankTransactionId
(l’ID assegnato alla transazione dal gateway di pagamento); è comunque possibile anche usare il codice transazione assegnato dal merchant (shopLogin
e shopTransactionID
), accertandosi che identifichi il pagamento in modo univoco.
Nel caso in cui CallReadTrxS2S
non identifichi una specifica transazione, viene restituito l’errore Not uniquely identified
.
Per ottenere il risultato di CallReadTrxS2S
, occorre verificare ErrorCode
(e ErrorDescription
): qualsiasi valore diverso da significa che si è verificato un errore.
Se la transazione è stata identificata correttamente, CallReadTrxS2S
restituisce tutte le informazioni della transazione. Di seguito i campi più importanti (maggiori informazioni sono descritte nella sezione dedicata a CallReadTrxS2S.):
Nome | Descrizione |
---|---|
TransactionResult |
Esito della transazione: OK , KO |
AuthorizationCode |
Per ottenere il codice autorizzativo assegnato alla transazione dal circuito (se la transazione è stata autorizzata) |
AlertCode (e il corrisondente AlertDescription ) |
Se i criteri di Risk Management sono stati impostati sul back office e la transazione ne ha violato uno; e non sono stati impostati, AlertCode restituisce il valore 0. Per maggiori informazioni verificare Risk Management. |
TransactionState |
Lo stato corrente della transazione Può essere: AUT , MOV , CAN , STO o PRE |
Events |
Contiene uno o più tag event , che corrispondono agli eventi occorsi alla transazione. |
Le fasi di una transazione
La storia degli eventi che occorrono ad una transazione vengono registrati in Events.event.eventtype
.
AUT
- Authorized. Una transazione inizia sempre con la richiesta autorizzativa che può avere esito positivo o negativo. Nel primo caso, seguono altri eventi, mentre nel secondo all’esito non ne seguono altri. La transazione può essere movimentata entro 25 giorni o meno, a seconda della configurazione, dopodiché verrà cancellata automaticamente.
CAN
- Cancelled. L’evento cancellazione si concretizza nel caso di cancellazione della transazione, dopo la quale non possono esserci ulteriori cambi di stato della stessa.
MOV
- Amount Transferred. Questo evento può avvenire a seguito di una transazione autorizzata e significa che il denaro viene trasferito dalla carta al conto del merchant.
PRE
- Amount Reserved for Transfer. Se la richiesta di trasferimento delle somme non avviene immediatamente, il sistema aggiunge l’evento PRE
(spesso identificato con il termine prenotazione o reservation, in inglese). Di solito i pagamenti vengono movimentati contestualmente all’ok autorizzativo, tuttavia in certi casi i due momenti possono differire.
Una transazione può essere rimborsata fino a sei mesi dalla sua autorizzazione. Se viene richiesto il rimborso, l’evento STO
può essere aggiunto. Come per l’evento MOV
, se il rimborso non avviene in sincrono, un REQ
evento può essere aggiunto all’evento. I rimborsi possono essere effettuati anche per importi parziali, sino all’eventuale rimborso totale.
Eventi & TransactionState
TrasactionState
identifica lo stato della transazione in quel momento.
Se la transazione è ancora valida e la somma corrispondente è superiore a zero, il suo status è MOV
. Quando l’importo raggiunge lo 0
, la transazione può essere considerata in STO
.
È possibile avere più di un REQ
e STO
la transazione può essere ancora in stato MOV
, se la restante parte è superiore a zero.
Ultimo evento | TransactionState |
---|---|
CAN |
CAN |
AUT |
AUT |
PRE |
PRE |
MOV |
MOV |
REQ |
MOV |
STO e la cancellazione è parziale (importo = 0 ) |
STO |
STO e la cancellazione è parziale (importo > 0 ) |
MOV |