Transakcja sprzedaży to podstawowa operacja płatnicza, która przenosi określoną kwotę z konta bankowego posiadacza karty na konto sprzedawcy.
Jeśli chodzi o proces płatności, procedura wygląda następująco:
Logowanie i uwierzytelnianie
Uwierzytelnianie tokenem JWT jest wymagane dla wszystkich niepublicznych punktów końcowych. Token (o okresie ważności 90 dni) jest uzyskiwany za pośrednictwem punktu końcowego /cloud/oauth/token z następującymi argumentami:
- Podstawowe uwierzytelnianie dla punktów końcowych tokena (nazwa/hasło) - zostanie zapewnione dla każdego użytkownika.
- Nazwa użytkownika tradera - taka sama jak w przypadku GP Tom
- Hasło tradera - takie samo jak w przypadku GP Tom
- Identyfikator terminala (TID) - identyfikator terminala docelowego
- Punkt końcowy autoryzacji znajduje się pod adresem:
Ta metoda uwierzytelniania jest taka sama dla wszystkich terminali.
Uzyskiwanie tokenu dostępu
Przykładowe żądanie:
POST {{apiCloudHost}}/cloud/oauth/token
Authorization: Basic YXRvbTphc2hmdWY0ZTVmYQ==
Content-Type: application/x-www-form-urlencoded
(Authorization a Contect-Type je pro všechny zákazníky vždy stejný – použijte prosím stejné údaje jako v příkladu. Do grant_type je potřeba následně vložit unikátní údaje klienta).
grant_type=password&username=jan.novak@example.com&password=ABCDEFGHIJKL&tid=999888
Przykładowa odpowiedź:
{ "access_token": "eyJh…", // access token used in authenticated API requests "token_type": "bearer", "refresh_token": "GciO…", "expires_in": 3600, "scope": "read write", "tid": "999888", }
Odnawianie tokena
Po wygaśnięciu access_token dostępny jest refresh_token.
Przykładowe żądanie:
POST {{apiHost}}/api/oauth/token
Authorization: Basic YXRvbTphc2hmdWY0ZTVmYQ==
Content-Type: application/x-www-form-urlencoded
grant_type=refresh_token&refresh_token=GciO…
GPTomAuth
Tworzenie torby
Wywołaj punkt końcowy POST /v1/tasks/TRANSACTION i użyj CreateCloudTaskTransactionApiRequest z wypełnionymi następującymi informacjami, aby utworzyć żądanie:
OBOWIĄZKOWE
OBOWIĄZKI
OBOWIĄZKI
OBOWIĄZKOWE
Przykład: "Faktura 37364FD".
True, jeśli paragon ma zostać wydrukowany na urządzeniu.
Uwaga: W przypadku telefonów komórkowych należy upewnić się, że drukarka Bluetooth jest podłączona.
OBOWIĄZKOWE
OBOWIĄZKOWE
Możliwe wartości: [ LAST_TRANSACTION, OLDER_TRANSACTION ]
OBOWIĄZKOWE
Jeśli ustawione na true, ekran wprowadzania napiwków w GP tom będzie wywoływany jako pierwszy.
Aby wywołać ten ekran, musisz mieć również włączone napiwki w aplikacji.
Treść odpowiedzi [CloudTaskDetailApiResponse]:
Możliwe kody odpowiedzi to:
Poniżej znajdują się zmienne użyte w odpowiedzi:
Sprawdź stan torby
V dalším kroku budete kontrolovat stav tasku na koncovém bodu GET /v1/tasks/{taskID} pomocí požadavku, který zahrnuje:
Możliwe kody zwrotne:
Zmienne odpowiedzi:
Zapytanie o stan torby należy powtarzać aż do uzyskania jednego z końcowych kodów odpowiedzi, którymi są:
Możesz przejść do następnego kroku tylko wtedy, gdy odpowiedź jest w stanie COMPLETED.
Uzyskanie wyniku płatności
Nyní víme, že transakce byla autorizována. Cílem tohoto kroku je získat stav transakce a detaily transakce. Pro nový požadavek zavoláte koncový bod GET /v1/transactions/{transactionId}, kde použijete následující proměnné:
Możliwe kody odpowiedzi to:
Odpowiedź zawiera następujące zmienne w zależności od kodu odpowiedzi:
ACCEPTED - transakcja została pomyślnie autoryzowana
DECLINED - transakcja została odrzucona z jakiegoś powodu
CANCELLED - jeśli transakcja została anulowana przez operatora lub klienta
Typ operacji / transakcji".
Jeśli będziesz generować lub drukować paragon po swojej stronie, zalecamy sprawdzenie, które pola są obowiązkowe i muszą być drukowane/wyświetlane na paragonie. Opis jest dostępny tutaj.