Czym dokładnie jest partia? Każda utworzona przez Ciebie transakcja należy do tzw. partii. Podobnie jak paragon, każda partia ma swój numer i stanowi w rzeczywistości zbiór transakcji. Zamknięcie to operacja administracyjna, za pomocą której terminal zamyka partię i wysyła do systemów polecenie zamknięcia tej partii oraz otwarcia nowej. W systemach Global Payments dla każdej transakcji widoczny jest numer zamknięcia i można filtrować transakcje według tego numeru.
Logowanie i uwierzytelnianie
W przypadku wszystkich niepublicznych punktów końcowych wymagane jest uwierzytelnienie za pomocą tokenu JWT. Token (o okresie ważności 90 dni) można uzyskać za pośrednictwem punktu końcowego /cloud/oauth/token, podając następujące argumenty:
- Podstawowe uwierzytelnianie dla punktów końcowych tokenu (nazwa użytkownika/hasło) – zostanie udostępnione każdemu użytkownikowi.
- Nazwa użytkownika sprzedawcy – taka sama jak w przypadku Genius mobile pay
- Hasło handlowca – takie samo jak dla Genius mobile pay
- ID terminala (TID) – identyfikator terminala docelowego
- Punkt końcowy autoryzacji znajduje się pod adresem:
Uzyskanie tokenu dostępu
Treść wniosku:
Nagłówki (zawsze takie same dla wszystkich klientów, należy użyć dokładnie tych wartości):
Punkty (przesyłane w treści żądania; wartości nazwa użytkownika, hasło a porządek (proszę zastąpić danymi klienta):
Przykładowe zapytanie:
curl --location '{{apiCloudHost}}/cloud/oauth/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Basic YXRvbTphc2hmdWY0ZTVmYQ==' \
--data-urlencode 'grant_type=password' \
--data-urlencode 'password=ABCDEFGHIJKL' \
--data-urlencode 'username=jan.novak@example.com' \
--data-urlencode '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",
}Odnowienie tokenu
Po wygaśnięciu ważności access_tokenu dostępny jest refresh_token.
Przykładowe zapytanie:
POST {{apiHost}}/api/oauth/token
Autoryzacja: Basic YXRvbTphc2hmdWY0ZTVmYQ==
Typ zawartości: application/x-www-form-urlencoded
grant_type=refresh_token&refresh_token=GciO…
GPTomAuth
Utworzenie zadania
Wywołaj punkt końcowy POST /v1/tasks/BATCH i użyj CreateCloudTaskTransactionApiRequest, wypełniając następujące dane w celu utworzenia żądania:
OBOWIĄZKOWE
OBOWIĄZKOWE
OBOWIĄZKOWE
OBOWIĄZKOWE
OBOWIĄZKOWE
Przykład: „Faktura 37364FD“
Treść odpowiedzi [CloudTaskDetailApiResponse]:
Możliwe kody odpowiedzi to:
Poniżej znajdują się zmienne użyte w odpowiedzi:
Sprawdzenie stanu torby
W kolejnym kroku należy sprawdzić stan zadania w punkcie końcowym GET /v1/tasks/{taskID} za pomocą żądania zawierającego:
Możliwe kody zwrotne:
Zmienne w odpowiedzi:
Zapytanie o stan zadania powinno być powtarzane do momentu uzyskania jednego z końcowych kodów odpowiedzi, którymi są:
Można przejść do kolejnego kroku tylko wtedy, gdy odpowiedź ma status COMPLETED.
Uzyskanie wyniku zamknięcia
Wiemy już, że partia została zatwierdzona. Celem tego kroku jest uzyskanie statusu partii oraz jej danych. Aby wysłać nowe żądanie, należy wywołać punkt końcowy GET /v1/batches/{batchId}, używając następujących zmiennych:
Możliwe kody odpowiedzi to:
Odpowiedź zawiera następujące zmienne w zależności od kodu odpowiedzi:
-closeBatchNumber (string) – numer zamknięcia partii podrzędnej
- totalCount (number) – Łączna liczba transakcji w partii
- saleCount (number) – Liczba transakcji typu sprzedaż w partii
- saleAmount (number) – wartość transakcji typu sprzedaż w partii
- voidCount (number) – liczba anulowanych transakcji
- voidAmount (number) – wartość anulowanych transakcji w partii
