Verifica dello stato della transazione

  • Aggiornato

 

Una richiesta di stato della transazione recupera l'esito di una transazione precedente. Il suo uso principale è il recupero: se la tua app ha perso la connessione o è stata riavviata durante il pagamento e non ha mai ricevuto la risposta, una richiesta di stato ti dice cosa è realmente successo così da non addebitare due volte o lasciare una vendita in sospeso.

Prerequisito: una sessione attiva.


La chiamata

viewModelScope.launch {
    clientSDK.sendTransactionStatusRequest(
        RetailerMessageArguments.StatusRequestMessageArguments(
            MessageReference(messageCategory = "Payment")
        )
    )
}
  • MessageReference — identifica quale messaggio/transazione controllare. Il messageCategory seleziona il tipo di operazione (es. un pagamento). Consulta la documentazione API per i campi completi di MessageReference se hai bisogno di mirare a un messaggio specifico piuttosto che all'ultimo.

Per impostazione predefinita questo recupera lo stato dell'ultima transazione completata nella categoria di riferimento.


Lettura del risultato

when (message) {
    is SuccessRetailerTransactionStatusResponse -> { /* leggi l'esito recuperato */ }
    is ErrorRetailerTransactionStatusResponse   -> { /* nessuna transazione corrispondente / fallita */ }
    is RetailerDisplayRequest                   -> { /* progresso, se presente */ }
}

Una risposta di stato con successo riporta il risultato della transazione originale, incluso il suo POITransactionID — il che rende la richiesta di stato un modo per recuperare un ID transazione POI necessario per un annullamento ma non memorizzato. Vedi Guida: annullare una transazione.


Quando usarlo

  • Dopo una perdita di connessione durante un pagamento — conferma se il pagamento è andato a buon fine prima di riprovare.
  • Dopo che la tua app si è riavviata a metà transazione — recupera l'esito che ti sei perso.
  • Per recuperare un POITransactionID per un annullamento quando non lo hai acquisito al momento del pagamento.

Per i pagamenti di routine in cui hai ricevuto normalmente la risposta, non è necessaria una richiesta di stato — hai già l'esito.


Correlati

  • Guida: effettuare un pagamento — la transazione di cui controlli lo stato.
  • Guida: annullare una transazione — utilizza il POITransactionID che una richiesta di stato può recuperare.
  • Ciclo di vita della sessione e login — gli scenari di perdita di connessione che rendono necessarie le verifiche di stato.
  • Riferimento API (sdk-doc.zip) — campi completi di MessageReference.

Questo articolo ti è stato utile?

Utenti che ritengono sia utile: 0 su 0