Uwaga
Stan transakcji jest ważnym wskaźnikiem dla aplikacji stron trzecich. Informuje on, w jakim stanie znajduje się transakcja i czy można ją powtórzyć. Nie mówi nic o powodzeniu lub niepowodzeniu transakcji.
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
Po otrzymaniu statusu, ZAKOŃCZONE (obecnie wartości 6, 7 i 8), można uznać żądanie za zakończone. W przypadku stanu ZAKOŃCZONE (stan 6), należy rozpocząć wywoływanie zapytania o szczegóły transakcji, aby uzyskać wynik transakcji, patrz „4.Pobieranie szczegółów transakcji„
– Jeśli isRepeatable == true, to można powtórzyć transakcję z tą samą wartością transactionId, zobacz Krok 2: Żądanie transakcji
– Jeśli isRepeatable == false, nie można powtórzyć transakcji o tym samym identyfikatorze transactionId; zob. Krok 2: Żądanie transakcji i należy wygenerować nowy identyfikator transactionId, patrz Krok 1: Rejestracja transakcji.
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“}.
Wyjaśnienie: resultCode=0 oznacza, że żądanie zostało pomyślnie przetworzone, status=8 oznacza, że transakcja znajduje się w stanie „error“, code=43 podaje szczegółowy błąd wyjaśniający, dlaczego zadanie zakończyło się błędem, zgodnie z dokumentacją tutaj, wartość „isRepeatable=false“ oznacza, że nie można ponownie wywołać metody TransactionRequestV2 z tą samą wartością TransactionID.
