Obavijest
Status transakcije važan je pokazatelj za aplikacije trećih strana. Govori vam u kojem se stanju transakcija nalazi i može li se transakcija ponoviti. Ne govori ništa o uspjehu/neuspjehu transakcije.
Request [transactionId]
Ulazna vrijednost TransactionId generira se u koraku 1 – Registracija transakcije.
void stateRequest(String transactionId, IStateResultListener listener) throws RemoteException
Response [StateResultEntity]
Stavy
Nakon što primite stanje ZAVRŠENO (trenutne vrijednosti 6, 7 i 8), zahtjev možete smatrati završenim. U slučaju ZAVRŠENO (stanje 6), trebali biste započeti pozivanje upita za detalje transakcije kako biste dobili rezultat transakcije, pogledajte "4. Dobivanje detalja transakcije"
– Ako je isRepeatable == true, tada možete ponoviti transakciju s istom vrijednošću transactionId, pogledajte Korak 2: Zahtjev za transakciju
– Ako je isRepeatable == false, tada ne možete ponoviti transakciju s istom vrijednošću transactionId, pogledajte Korak 2: Zahtjev za transakciju i morate generirati novi transactionId, pogledajte Korak 1: Registracija transakcije.
– Pokud se vrátí stav IN_PROGRESS, musíte počkat na dokončení transakce, tedy zeptat se znovu za 500 ms.
Ako je status U_TOKU stariji od 5 minuta, transakciju možete tretirati kao neuspješnu.
Primjer odgovora na status:
{„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“}
Objašnjenje: resultCode=0 znači da je zahtjev uspješno obrađen, status=8 znači da je transakcija u stanju "error", code=43 daje detaljan opis pogreške zašto je završila s pogreškom zadatka, prema dokumentaciji ovdje, vrijednost "isRepeatable=false" znači da ne možete ponovno pozvati TransactionRequestV2 s istom vrijednošću TransactionID.
