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:
Přihlášení & autentifikace
Pro všechny neveřejné koncové body je potřeba ověření pomocí tokenu JWT. Token (s životností 90 dnů) získáte prostřednictvím koncového bodu /cloud/oauth/token s následujícími poskytnutými argumenty:
- Základní autentizace pro koncové body tokenu (jméno/heslo) – bude poskytnuto pro každého uživatele.
- Uživatelské jméno obchodníka – stejné jako pro GP tom
- Heslo obchodníka – stejné jako pro GP tom
- ID terminálu (TID) – ID cílového terminálu
- Autorizační koncový bod se nachází na:
Tento způsob autentifikace je pro všechny terminály stejný.
Získání access tokenu
Przykładowe zapytanie:
POST {{apiCloudHost}}/cloud/oauth/token
Authorization: Basic YXRvbTphc2hmdWY0ZTVmYQ==
Typ zawartości: 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",
}Obnovení tokenu
Po vypršení platnosti access_tokenu je k dispozici refresh_token.
Przykładowe zapytanie:
POST {{apiHost}}/api/oauth/token
Authorization: Basic YXRvbTphc2hmdWY0ZTVmYQ==
Typ zawartości: application/x-www-form-urlencoded
grant_type=refresh_token&refresh_token=GciO…
GPTomAuth
Vytvoření tasku
Zavolejte koncový bod POST /v1/tasks/TRANSACTION a použijte CreateCloudTaskTransactionApiRequest s následujícími údaji vyplněnými k vytvoření požadavku:
OBOWIĄZKOWE
OBOWIĄZKOWE
OBOWIĄZKOWE
OBOWIĄZKOWE
Příklad: „Faktura 37364FD“
True, pokud má být účtenka vytištěna na zařízení.
Poznámka: U mobilních telefonů se musíte ujistit, že je připojena Bluetooth tiskárna.
OBOWIĄZKOWE
OBOWIĄZKOWE
Možné hodnoty: [ LAST_TRANSACTION, OLDER_TRANSACTION ]
OBOWIĄZKOWE
Pokud se nastaví true, tak se nejdříve vyvolá obrazovka zadání spropitného v GP tom.
Pro vyvolání této obrazovky je potřeba mít také aktivované spropitné v aplikaci
Obsah odpovědi [CloudTaskDetailApiResponse]:
Možné kódy odpovědí jsou:
Níže naleznete proměnné použité v odpovědi:
Kontrola stavu tasku
V dalším kroku budete kontrolovat stav tasku na koncovém bodu GET /v1/tasks/{taskID} pomocí požadavku, který zahrnuje:
Možné návratové kódy:
Proměnné v odpovědi:
Požadavek na stav tasku by se měl opakovat, dokud nezískáte jeden z konečných kódů odpovědi, kterými jsou:
Dalším krokem můžete pokračovat pouze tehdy, když je odpověď ve stavu COMPLETED.
Získání výsledku platby
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žné kódy odpovědí jsou:
Odpověď obsahuje následující proměnné v závislosti na kódu odpovědi:
ACCEPTED - transakce byla úspěšně autorizována
DECLINED - transakce byla zamítnuta z nějakého důvodu
CANCELLED - pokud je transakce zrušena obsluhou nebo zákazníkem
Operace / typ transakce."
EN: Indicates the DCC status. If "ACCEPTED", the transaction was made via DCC and you must fill in the receipt with DCC data. If "NOT_ACCEPTED", then you can ignore the DCC data.
NOT_ACCEPTED
EN: Transaction amount in DCC currency - in the currency of the customer's card. You must present it on your receipt exactly as received through API response including correct decimal numbers.
EN: Currency of the customer's card.
EN: Indicates the exchange rate. This value is in the local terminal currency. You must present it on your receipt exactly as received through API response including correct decimal numbers.
EN: Markup for the conversion rate. You must present it on your receipt exactly as received through API response including correct decimal numbers.
EN: Indicates whether the customer's card was issued within the EU or outside. If the value is "0" or 1", the text "Markup" needs to be displayed on the receipt. If the value is "2", the text "Markup over ECB rate" needs to be displayed on the receipt.
1
2
Pokud budete účtenku generovat nebo tisknout na své straně, doporučujeme zkontrolovat, která pole jsou povinná a musí být vytištěna/zobrazena na účtence. Popis je k dispozici zde.
