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. IlmessageCategoryseleziona il tipo di operazione (es. un pagamento). Consulta la documentazione API per i campi completi diMessageReferencese 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
POITransactionIDper 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
POITransactionIDche 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 diMessageReference.