Integracja Tpay przez Open API
Przelewy, BLIK, karty i zwroty Tpay w sklepie, aplikacji albo na platformie z wieloma sprzedawcami. Z podpisem JWS sprawdzanym przy każdym powiadomieniu i statusami, którym można ufać.
Z czego składa się integracja Tpay
Od formularza w koszyku do księgowania wpłaty. Każda warstwa ma swoje zadanie i swój test.
Zanim zaczniemy
- Konto w Tpay i dostęp do sandboxa zakładasz Ty, jako sprzedawca.
- Jeśli sklep działa na popularnej platformie, Tpay ma do niej gotową wtyczkę i od niej zaczynamy.
- Marketplace wymaga Programu Partnerskiego Tpay i osobnej umowy, więc ustalamy to na początku.
- Klucze client_id i client_secret trzymamy w zmiennych środowiskowych, nigdy w kodzie.
Tpay nie publikuje listy adresów IP, bo są dynamiczne. Jedynym zabezpieczeniem jest podpis, więc jego sprawdzenie jest obowiązkowe.
Koszyk i formularz
- wybór metody
- pole kodu BLIK
- zgoda na płatność powtarzalną
Klient wybiera BLIK i wpisuje kod albo zgadza się na płatność powtarzalną.
Twój serwer
- token OAuth
- POST /transactions
- zapis transakcji przy zamówieniu
Serwer tworzy transakcję i zapisuje ją przy zamówieniu.
Tpay
- strona płatności albo BLIK Level 0
- autoryzacja w banku
- rozliczenie
Klient potwierdza płatność w banku, a Tpay ją rozlicza.
Powiadomienia
- podpis JWS w X-JWS-Signature
- certyfikat sprawdzony z root CA Tpay
Podpis JWS sprawdzony, zanim cokolwiek się zmieni.
Tu zapada decyzja o statusie
Zamówienie
- status opłacone
- zwroty
- dziennik zdarzeń
Status opłacone i wpis w dzienniku zdarzeń.
Trzy sposoby na BLIK w Tpay
BLIK może przekierować klienta, zostać na Twojej stronie albo pamiętać sklep na kolejne zakupy.
Z przekierowaniem
formularz eBLIKGdzie klient wpisuje kodna formularzu TpayPole w żądaniugroupId 150Klient zostaje w sklepieNieKolejne zakupy bez koduNieDobre donajprostszego startuPotwierdzeniew aplikacji banku, kod BLIK jest ważny 2 minutyLevel 0
kod na Twojej stronieGdzie klient wpisuje kodw Twoim formularzuPole w żądaniublikToken z kodemKlient zostaje w sklepieTakKolejne zakupy bez koduNieDobre dozakupów na telefoniePotwierdzeniew aplikacji banku, kod BLIK jest ważny 2 minutyOne Click
alias zamiast koduGdzie klient wpisuje kodtylko przy pierwszej płatnościPole w żądaniualias użytkownikaKlient zostaje w sklepieTakKolejne zakupy bez koduTakDobre dosklepów i aplikacji z kontamiPotwierdzeniew aplikacji banku, kod BLIK jest ważny 2 minuty
Zwroty: pułapka statusu
Pełny i częściowy zwrot zachowują się w Tpay inaczej. Twój panel musi liczyć zwroty sam, a nie patrzeć tylko na status transakcji.
- Zwrot częściowy domyka 100%Pierwszy zwrot objął jeden talerz, drugi resztę zamówienia, razem całą kwotę. Dla Tpay oba są zwrotami częściowymi.
- Status transakcji bez zmianZwroty częściowe nie zmieniają statusu w Tpay, nawet gdy dojdą do 100%. Kwotę zwróconą liczy Twój system, a status refund daje tylko zwrot całkowity.
- Saldo sprawdzone przed zleceniemZwrot ruszy tylko wtedy, gdy saldo konta pokrywa kwotę i prowizję. Panel pokazuje to, zanim zlecisz zwrot.
Płatność w marketplace Tpay
Jedna płatność klienta za produkty od kilku sprzedawców. Tak wygląda przebieg w API marketplace.
- Klient 02217,00 zł
Koszyk od trzech sprzedawców, jedna płatność.
Twoja platformaTpay nie porównuje kwot podrzędnych z cenami produktów, więc platforma sprawdza je z koszykiem, zanim utworzy transakcję.
80,00 + 73,00 + 64,00 = 217,00 złPOST /marketplace/v1/transaction - transakcje podrzędne
- Sprzedawca 0180,00 zł
- Świeca sojowa 180 g x 2: 68,00 zł
- Dostawa: 12,00 zł
konto Tpay 01J9W3K8QZ…C0MD - Sprzedawca 0273,00 zł
- Ręcznik lniany 50 x 90 cm: 59,00 zł
- Dostawa: 14,00 zł
konto Tpay 01J9X0D4TR…KZ3W - Sprzedawca 0364,00 zł
- Notes A5 w kropki x 3: 54,00 zł
- Dostawa: 10,00 zł
konto Tpay 01JA1R9C3N…HB5Z
- Warunek startu
- Marketplace działa tylko w Programie Partnerskim Tpay i po podpisaniu osobnej umowy.
- Identyfikatory
- Sprzedawcy i punkty płatności mają identyfikatory ULID zakodowane w base32. Przechowujemy je przy kontach sprzedawców.
- Powiadomienie o opłaceniu
- Z wartością, którą platforma nadała transakcji, np. numerem zamówienia.
Lista kontrolna przed uruchomieniem
To sprawdzamy na sandboxie Tpay, zanim przyjmiesz pierwszą prawdziwą płatność.
- Ścieżka płatności3
- Powiadomienia i zwroty3
Ścieżka płatności
Token OAuth i jego odnowienie
Token domyślnie żyje 2 godziny. Moduł odnawia go przed wygaśnięciem, zamiast czekać na błąd.
Przekierowanie na transactionPaymentUrl
Adres płatności przychodzi w odpowiedzi na utworzenie transakcji. Nie składamy go sami.
BLIK po czasie
Kod żyje 2 minuty. Sprawdzamy komunikat dla klienta i możliwość ponowienia płatności.
Powiadomienia i zwroty
Podpis JWS przy każdym powiadomieniu
Bez listy adresów IP podpis jest jedynym dowodem, że powiadomienie przyszło od Tpay.
Powtórzone powiadomienie
Drugie powiadomienie o tej samej płatności nie może drugi raz aktywować usługi ani wysłać paczki.
Licznik zwrotów częściowych
Status w Tpay nie mówi, ile zwrócono, więc panel liczy to sam.
Najczęstsze pytania o Tpay
Odpowiedzi o BLIK-u, marketplace i powiadomieniach.
Czytaj dalej
Strony, które warto zobaczyć przy wyborze bramki.
Sprzedajesz sam czy z innymi sprzedawcami?
Napisz, gdzie mają działać płatności Tpay i czy potrzebujesz marketplace. Odpowiemy w godzinę z pytaniami i wyceną.

