Skip to main content
Dokumentacja endpointów PAY API (DocPay): produkt, subprodukt i kody QR, cennik, formularze, personalizacja UI oraz webhooki. Podstawowy scenariusz integracji (produkt + subprodukt) opisany jest w Tutorialu.

1. Produkt

Produkt reprezentuje Twoją usługę w systemie Paymove i jest rootem całego modelu - subprodukty, cennik, formularze, customizacje i webhooki są podłączane do konkretnego produktu. Produkt tworzysz jednorazowo.

Endpointy - Produkt

Utworzenie produktu

Odpowiedź (200):
Pole id to identyfikator produktu (productId) używany w pozostałych endpointach.

Aktualizacja produktu

Możesz wysłać tylko pola do zmiany; pozostałe relacje (cennik, formularze, webhooki) pozostają bez zmian. Rachunku do wypłat nie zmienisz tym wywołaniem - ustawisz go wyłącznie przy tworzeniu produktu.

Rachunek do wypłat (IBAN)

Przy tworzeniu produktu możesz od razu wskazać rachunek, na który Paymove wypłaci środki z płatności tego produktu. Dodaj do body obiekt bankAccountDetails:
Odpowiedź zawiera wtedy dodatkowo pole bankAccountId - identyfikator rachunku zapisanego na Twoim koncie partnera.
  • Wymagany jest tylko iban - w pełnej postaci: PL i 26 cyfr, wielkimi literami, bez spacji. Suma kontrolna jest weryfikowana, a nieprawidłowy IBAN kończy się kodem 400.
To nie jest rachunek, na który płaci klient. bankAccountDetails decyduje wyłącznie o tym, dokąd trafią wypłacone środki.

2. Subprodukt i kody QR

Subprodukt reprezentuje pojedynczą płatność (np. wezwanie do zapłaty, bilet) powiązaną z zewnętrznym identyfikatorem (externalId). W odpowiedzi generowany jest kod QR w wybranym formacie (PNG/SVG). Po zeskanowaniu kodu użytkownik trafia do płatności za dany subprodukt.

Dane wejściowe

Endpoint - Subprodukt

Rejestracja subproduktu

Odpowiedź (200) to binarna zawartość obrazka z kodem QR w formacie wskazanym w imageFormat (Content-Type: application/octet-stream) - zapisz body odpowiedzi bezpośrednio do pliku. Grafika to gotowy do druku baner z kodem QR przekierowującym do płatności za ten subprodukt.

Rachunek do wypłaty subproduktu

Subprodukt może mieć własny rachunek do wypłat - np. gdy płatności za różne dokumenty mają trafiać na różne konta. Rachunek subproduktu nadpisuje rachunek produktu; bez niego obowiązuje rachunek produktu.
  • IBAN podlega tym samym zasadom co przy produkcie: pełna postać bez spacji, weryfikowana suma kontrolna, nieprawidłowy kończy się kodem 400 i subprodukt nie powstaje.
  • Gdy rachunek o tym IBAN-ie już istnieje, a podasz inne holderName lub nip, dane tego rachunku zostaną zaktualizowane.
  • Przy powtórzonym externalId Paymove zwraca istniejący subprodukt, a bankAccountDetails jest ignorowany - rachunku zarejestrowanego subproduktu nie zmienisz.

3. Cennik

Cennik definiuje opcje płatności dostępne dla klienta - np. „1 godzina”, „cały dzień”, „bilet weekendowy”. Każda pozycja (pricing entry) to oddzielna opcja zakupu wyświetlana na stronie produktu.

Dane pozycji cenowej

Endpointy - Cennik

Utworzenie pozycji cennika

Aktualizacja pozycji cennika

Zmiana jest natychmiast widoczna dla klientów wybierających daną opcję.

4. Formularze

Formularze służą do zbierania od klientów danych wymaganych do zakupu - np. e-mail, numer rejestracyjny, dane kontaktowe. Formularze są wersjonowane; każda zmiana (dodanie/edycja/usunięcie pola) tworzy nową wersję. Bieżąca wersja oznaczana jest flagą isCurrent.

Dane pola formularza (Field)

Endpointy - Formularze

Endpointy - Pola (Fields)

Utworzenie formularza

Dodanie pola (np. e-mail)

Operacja automatycznie tworzy nową wersję formularza; poprzednia traci status bieżącej (isCurrent).

5. Personalizacja UI

Customization pozwala zmienić wygląd i treści widoczne na stronie zakupu produktu. Wszystkie teksty (tytuły, przyciski, opisy) są konfigurowane z poziomu API - frontend jest w pełni sterowany przez partnera bez zmian w kodzie.

Parametry customizacji - co modyfikują

Dla jednego produktu możesz mieć wiele customizacji z różnymi locale; system wybiera odpowiednią według ustawień użytkownika lub kontekstu.

Endpointy - Personalizacja

Utworzenie customizacji

Aktualizacja customizacji

Możesz wysłać tylko te pola, które chcesz zmienić, np.:
Zmiana jest natychmiast odzwierciedlana w prezentacji produktu na stronie zakupu.

6. Webhooki

Webhooki służą do automatycznego informowania partnera o zakończonej płatności lub do pobrania cennika z systemu zewnętrznego. Po zarejestrowaniu webhooka należy przypisać go do produktu - wtedy zdarzenia związane z tym produktem są wysyłane na wskazany endpoint.

Pola konfiguracji webhooka

Endpointy - Webhooki

Utworzenie webhooka

Odpowiedź (200): obiekt webhooka z nadanym id (identyfikator webhooka) oraz polem signingSecret:
signingSecret służy do weryfikacji podpisu żądań przychodzących od Paymove. Przechowuj go bezpiecznie.
Po utworzeniu wywołaj POST /api/pay/plugin/webhook/{webhookId}/products/{productId}, aby powiązać webhook z produktem (odpowiedź: obiekt webhooka). Od tego momentu zdarzenia (np. udana płatność) dla tego produktu trafiają na Twój endpoint.