Aviz
Starea tranzacției este un indicator important pentru aplicațiile terțe. Aceasta vă indică în ce stadiu se află tranzacția și dacă aceasta poate fi repetată. Nu oferă nicio informație cu privire la reușita sau eșecul tranzacției.
Cerere [transactionId]
Valoarea de intrare TransactionId este generată în etapa 1 - Înregistrarea tranzacției.
void stateRequest(String transactionId, IStateResultListener listener) throws RemoteException
Răspuns [StateResultEntity]
Statele
Odată ce statutul pe care îl primiți este, FINALIZAT (în prezent valorile 6, 7 și 8), puteți considera cererea ca fiind finalizată. În cazul stării COMPLETAT (starea 6), trebuie să începeți să apelați interogarea detaliilor tranzacției pentru a obține rezultatul tranzacției, consultați „4.Obținerea detaliilor tranzacției„
– Dacă isRepeatable == true, atunci puteți repeta tranzacția cu aceeași valoare a transactionId, a se vedea Pasul 2: Cererea de tranzacție
– Dacă isRepeatable == false, atunci nu puteți repeta tranzacția cu același transactionId; a se vedea Pasul 2: Solicitarea unei tranzacții și trebuie să generați un nou transactionId, a se vedea Pasul 1: Înregistrarea tranzacției.
Exemplu de răspuns de stare:
{„created“:“2023-09-11T12:29:11.300Z“,“error“:{„code“:43,“internalErrorCode“:0,“internalErrorSubCode“:0,“platform“:“TOM_APP“},“isRepeatable“:false,“resultCode“:0,“state“:8,“transactionId“:“d03484bc-509e-11ee-ba37-77691fde9486″,“updated“:“2023-09-11T12:30:34.337Z“}
Explicație: resultCode=0 înseamnă că solicitarea a fost procesată cu succes, starea=8 înseamnă că tranzacția se află în starea „error“, code=43 oferă detalii despre motivul pentru care sarcina s-a încheiat cu o eroare, conform documentației de aici, iar valoarea „isRepeatable=false“ înseamnă că nu puteți apela din nou TransactionRequestV2 cu aceeași valoare a TransactionID.
