1. Utworzenie produktu
Produkt reprezentuje Twój sklep w systemie Paymove. Wszystkie płatności i subprodukty są tworzone w ramach tego produktu. Przykładowy request tworzenia produktu:2. Rejestracja webhooka
Webhook to adres URL po Twojej stronie, który Paymove wywołuje po każdej zmianie statusu płatności. Dzięki temu nie musisz ręcznie sprawdzać statusu - zamówienia mogą być realizowane automatycznie. Lista możliwych statusów: tabela statusów. Przykładowy request rejestracji webhooka:Jak działa webhook
Statusy płatności w Paymove:Status jest zawsze przesyłany jako łańcuch znaków (np.
"COMPLETED"). Liczby spotykane w starszych integracjach są wewnętrzną reprezentacją bazodanową i nie pojawiają się w API ani w webhookach.Payload webhooka
Kształt payloadu zależy od tego, czy ustawiłeśrequestTemplate.
Bez requestTemplate Paymove wysyła pełny obiekt (pola puste są pomijane):
requestTemplate payload to dokładnie to, co wyrenderuje Twój szablon. Dla szablonu z punktu 2:
Weryfikacja podpisu
Każde żądanie webhooka zawiera nagłówekX-Paymove-Signature. Zweryfikuj go, zanim zaufasz treści - bez tego każdy, kto zna Twój URL, może podszyć się pod Paymove i zrealizować zamówienie bez płatności.
Gotowy kod w Node.js, Pythonie i Javie: Weryfikacja podpisu webhooka.
Wymagana odpowiedź
Twój serwer musi odpowiedzieć kodem HTTP równymexpectedCode. Przyjęło się zwracać przy tym:
Treść odpowiedzi nie jest w ogóle sprawdzana. Pole
expectedResponse jest zapisywane przy webhooku i zwracane w odpowiedzi API, ale nigdy nie jest porównywane z tym, co zwróci Twój serwer - możesz odesłać dowolne body.retries - domyślnie 0, czyli ani razu. Przy ustawionym retries kolejne próby następują po 1 s, 5 s, 5 min, 1 h, a następnie co 3 h.
Wywołania webhooka nie mają limitu czasu po stronie Paymove. Odpowiadaj natychmiast, a właściwe przetwarzanie zamówienia wykonuj asynchronicznie - inaczej wolny endpoint będzie blokował przetwarzanie.
3. Przypisanie webhooka do produktu
Po utworzeniu produktu i zarejestrowaniu webhooka należy je ze sobą powiązać. Dzięki temu każde zdarzenie płatności dotyczące tego produktu automatycznie trafia pod wskazany URL webhooka. Przykładowy request:4. Tworzenie płatności
Po skonfigurowaniu produktu i webhooka możesz zacząć tworzyć płatności. Wybierz metodę integracji:SDK
Pakiet Node.js - zainicjalizuj klienta i wywołaj
createPayment.REST API
Bezpośrednie wywołania HTTP - działa z każdym językiem.