Skip to main content
Podstawowy scenariusz integracji z bramką płatniczą Paymove składa się z trzech kroków: jednorazowo tworzysz produkt (reprezentujący Twój sklep) i konfigurujesz webhook, a następnie dla każdego zamówienia tworzysz płatność i przekierowujesz klienta na otrzymany redirectUrl. Wszystkie żądania autoryzujesz kluczem API przekazywanym w nagłówku X-API-KEY.
Przykłady używają środowiska sandbox: https://gateway-api.sandbox.paymove.io. Klucz API i partnerId otrzymasz od Paymove.

Krok 1: Utworzenie produktu (sklepu)

Produkt reprezentuje Twój sklep w systemie Paymove - wszystkie płatności tworzysz w jego ramach. Tworzysz go tylko raz, przy starcie integracji.
Odpowiedź (200):
Pole id z odpowiedzi to productId - identyfikator Twojego sklepu używany w kolejnych krokach.

Krok 2: Konfiguracja webhooka

Webhook powiadamia Twój system o zakończonej płatności. Najpierw go rejestrujesz, potem przypisujesz do produktu. W requestTemplate możesz użyć zmiennych {{externalId}} (Twój orderId) i {{price}} (kwota) - Paymove podstawi je przy wysyłce.
Odpowiedź (200): obiekt webhooka z nadanym id (webhookId) oraz polem signingSecret:
signingSecret służy do weryfikacji podpisu żądań przychodzących od Paymove. Zapisz go bezpiecznie po stronie swojego systemu.
Następnie przypisz webhook do produktu (podmień webhookId i productId):
Odpowiedź (200): obiekt webhooka potwierdzający powiązanie.

Krok 3: Utworzenie płatności

Dla każdego zamówienia tworzysz płatność w ramach produktu. W URL podmień productId z kroku 1.
price musi być liczbą całkowitą. Wartość z częścią dziesiętną (np. 12.99) zostanie po cichu obcięta do 12 groszy, a API i tak zwróci 200. Przeliczaj złotówki przez Math.round(kwota * 100).
Odpowiedź (200):
Parametr externalId w redirectUrl (tutaj ec6RtwTZKb) to wygenerowany przez Paymove 10-znakowy skrót płatności, a nie Twój externalId (order-123). Zapisz go u siebie - to nim posługujesz się przy sprawdzaniu statusu płatności.

Krok 4: Przekierowanie klienta

Przekieruj klienta na otrzymany redirectUrl:
Klient zobaczy stronę checkoutu Paymove z kwotą, nazwą Twojego sklepu i produktu oraz metodami płatności (BLIK, Google Pay, Apple Pay, przelew). Po zakończonej płatności:
  1. Paymove wyśle webhook na Twój endpoint - domyślnie tylko dla statusu COMPLETED.
  2. Twój system weryfikuje nagłówek X-Paymove-Signature (jak to zrobić), odpowiada 200 i { "status": "ok" }, po czym realizuje zamówienie.
  3. Klient widzi ekran potwierdzenia i może wrócić do sklepu pod adres returnUrl.
Nie realizuj zamówienia w obsłudze returnUrl. Przekierowanie jest sterowane przez przeglądarkę klienta i można je wywołać bez opłacenia płatności. Jedynym wiarygodnym potwierdzeniem jest zweryfikowany webhook.

Co dalej?

Bramka płatnicza: webhooki

Rozbuduj integrację o webhooki i reaguj na każdą opłaconą transakcję.

SDK JavaScript

Gotowy klient do integracji w Node.js.