Statusy
Zwróć uwagę na pisownię
CANCELED - przez jedno „l”.
Payload webhooka
Kształt zależy od tego, czy przy rejestracji webhooka ustawiłeśrequestTemplate.
Bez requestTemplate
Paymove wysyła pełny obiekt płatności. Pola bez wartości są pomijane, więc konkretne powiadomienie może zawierać ich mniej:
price odpowiada kwocie, którą podałeś przy tworzeniu płatności, więc możesz porównać ją z wartością zapisaną u siebie. Klient widzi na checkoucie tę kwotę powiększoną o prowizję, jeśli Twój produkt ją nalicza.Payload nie zawiera pola
event ani type i nie jest opakowany w kopertę. To płaski obiekt, a rodzaj zdarzenia rozpoznajesz po polu status.Z requestTemplate
Payload to dokładnie to, co wyrenderuje Twój szablon. Dla szablonu {"orderId": "{{externalId}}", "price": "{{price}}"} otrzymasz:
{{status}}, {{paymentMethod}}, {{email}}, {{date}} czy {{orderId}}, nie tylko {{externalId}} i {{price}}. Zwróć uwagę, że wartości wstawiane do szablonu tekstowego trafiają do payloadu jako łańcuchy znaków.
Szablon wymusza własny kształt payloadu i zawiera wyłącznie to, co w nim wypiszesz. Jeśli chcesz rozróżniać statusy, dodaj
{{status}} do szablonu albo w ogóle nie ustawiaj requestTemplate.Sprawdzenie statusu zapytaniem
Przydatne jako uzupełnienie webhooka - na przykład gdy klient wrócił nareturnUrl, a powiadomienie jeszcze nie dotarło.
Gdy płatność o podanym skrócie nie istnieje, otrzymasz:
Endpoint nie wymaga klucza API. Nie przekazuj do niego danych wrażliwych i nie traktuj samej odpowiedzi jako jedynego dowodu płatności w krytycznych przepływach - wiarygodnym potwierdzeniem jest zweryfikowany webhook.
Zalecany przepływ
- Utwórz płatność i zapisz u siebie
externalIdoraz skrót płatności zredirectUrl. - Przekieruj klienta na checkout.
- Na stronie
returnUrlpokaż komunikat „przetwarzamy płatność” - bez realizacji zamówienia. - Poczekaj na webhook, zweryfikuj jego podpis i zrealizuj zamówienie idempotentnie.
- Jeśli po powrocie klienta webhook jeszcze nie dotarł, możesz odpytać o status, żeby od razu pokazać właściwy komunikat.
Zwroty
Zwroty realizuje Paymove - nie ma publicznego endpointu API do ich wykonywania. Jeśli potrzebujesz zwrócić płatność, skontaktuj się z integration@paymove.io. Po wykonaniu zwrotu płatność przyjmuje statusREFUNDED.
Co dalej
Weryfikacja podpisu
Obowiązkowy krok przed realizacją zamówienia.
Konfiguracja webhooka
Rejestracja webhooka i przypisanie go do produktu.