Po otrzymaniu identyfikatora transakcji aplikacja powinna wygenerować i wysłać żądanie transakcji. Aplikacja płatności uruchomi cały proces płatności i zwróci wynik. W starszych wersjach (poniżej wersji 1.2) do uzyskania wyniku transakcji używana była komunikacja synchroniczna (funkcja nasłuchiwania jest przestarzała). W nowej wersji komunikacja jest asynchroniczna, gdzie metoda getTransactionState służy do uzyskania aktualnego stanu transakcji.
void transactionRequestV2(String transactionRequesJsonString, ITransactionResultListener listener) throws RemoteException
Request [TransactionRequestV2Entity]
W zależności od typu transakcji, następujące pola są wymagane/opcjonalne/opcjonalne:
[(M) obowiązkowe, (O) opcjonalne]].
Zawiadomienie
Format wszystkich kwot jest do dwóch miejsc po przecinku, więc na przykład 50 CZK należy wpisać jako 5000.
Opis pól
kwota
Kwota określa wielkość transakcji. Kwota ta jest obliczana w walucie krajowej używanej przez terminal. Format jest do dwóch miejsc po przecinku, więc na przykład 50 CZK powinno być wypełnione jako 5000.
TipAmount
W restauracjach można poprosić klienta o dodanie napiwku, który jest wprowadzany do systemu. Kwota ta jest następnie dodawana do pierwotnej kwoty wprowadzonej przez sprzedawcę.
transactionID
Unikalny identyfikator generowany przez aplikację płatniczą podczas procesu rejestracji transakcji.
clientID
transactionType
Typ transakcji określa typ transakcji, którą chcesz zainicjować. Dostępne wartości to:
- SPRZEDAŻ(1)
- VOID(2)
- CLOSE_BATCH(4)
originTransactionID
Służy do anulowania transakcji i powinien zawierać identyfikator transakcji, którą chcesz anulować.
originReferenceNum
To pole jest opcjonalne i może być wypełnione numerem referencyjnym - dowolnym ciągiem znaków AN o maksymalnej długości 20 znaków. Ciąg ten jest widoczny we wszystkich raportach transakcji i pomaga działom księgowości w dopasowywaniu płatności do zamówień. Znaki diakrytyczne nie są obsługiwane.
cancelMode
2 - Starsze transakcje
printByPaymentApp
Określa, czy paragon jest przekazywany do klienta przez aplikację, czy przez GP tom. Domyślną wartością jest true (tj. GP tom zaoferuje metodę przekazania paragonu do klienta). Jeśli wyślesz wartość "false", zwrócimy użytkownika do Twojej aplikacji natychmiast po transakcji i to do Ciebie należy przekazanie paragonu.
clientInfo
W przypadku wysyłania paragonu bezpośrednio z aplikacji GP tom możliwe jest wstępne wypełnienie adresu e-mail lub numeru telefonu klienta za pośrednictwem interfejsu API.
preferableReceiptType
W przypadku wysyłania paragonu z aplikacji GP tom możliwe jest wstępne zdefiniowanie metody wysyłania paragonu przez API. Możliwe wartości to:
- TELEFON
- QR
- DRUK
TipCollect
Opcjonalne pole, które wyświetla ekran wprowadzania napiwku w aplikacji GP tom. Po wprowadzeniu napiwku w aplikacji wyświetlany jest ekran dołączania karty. Aby wyświetlić ten ekran, w aplikacji muszą być również włączone napiwki