Uwaga
Stav transakce je důležitým ukazatelem pro aplikace třetích stran. Říká vám, v jakém stavu se transakce nachází a zda lze transakci opakovat. Neříká nic o úspěchu/neúspěchu transakce.
Request [transactionId]
Wartość wejściowa TransactionId jest generowana w kroku 1 -. Rejestracja transakcji.
void stateRequest(String transactionId, IStateResultListener listener) throws RemoteException
Response [StateResultEntity]
Państwa
Jakmile je stav, který obdržíte, FINISHED (momentálně hodnoty 6,7 a 8), můžete považovat požadavek za ukončený. V případě stavu COMPLETED (state 6), měli byste začít volat dotaz na podrobnosti transakce, abyste získali výsledek transakce, viz „4.Získání detailů o transakci„
– Pokud isRepeatable == true, pak můžete transakci opakovat se stejnou hodnotou transactionId, viz Krok 2: Požadavek na transakci
– Pokud je isRepeatable == false, pak nemůžete opakovat transakci se stejnou hodnotou transactionId, viz Krok 2: Požadavek na transakci a musíte vygenerovat nové transactionId, viz Krok 1: Registrace transakce.
- Jeśli status zwróci wartość IN_PROGRESS, musíte počkat na dokončení transakce, tedy zeptat se znovu za 500 ms.
Jeśli stan IN_PROGRESS jest starszy niż 5 minut, można przetworzyć transakcję jako niepowodzenie.
Przykład odpowiedzi na warunek:
{„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“}.
Vysvětlení: resultCode=0 znamená, že požadavek byl úspěšně zpracován, stav=8 znamená, že transakce je ve stavu „error“, code=43 dává detailní chybu proč skončil task errorem a to dle dokumentace zde, hodnota „isRepeatable=false“ znamená, že nemůžete znovu volat TransactionRequestV2 se stejnou hodnotou TransactionID.
