VulCode

Integracja Paynow przez API

Paynow to bramka płatności z grupy mBanku. Podłączamy ją do sklepu albo aplikacji przez API: BLIK, szybkie przelewy, karty, podpisane żądania i powiadomienia oraz zwroty z Twojego panelu.

Płatności online
Zamówienie 10561 w panelu sklepu z dwiema płatnościami Paynow: pierwsza BLIK-iem odrzucona i ponowiona, druga szybkim przelewem potwierdzona, obok historia żądań i powiadomień z podpisem

Siedem statusów płatności Paynow

Paynow opisuje pełny cykl płatności. Każdy status ma w Twoim systemie swoją reakcję. Na tablicy stoją dwie płatności jednego zamówienia z ekranu wyżej, każda w statusie, w którym skończyła.

  1. NEW

    Płatność przyjęta, klient jeszcze nie wybrał metody. Tylko bez metody wskazanej z góry.

    Twój system: Czeka na wybór metody, zamówienie nie rusza.
  2. PENDING

    Metoda wybrana i nie da się jej już zmienić.

    Twój system: Czeka, aż klient dokończy płatność.
  3. CONFIRMED

    Płatność przetworzona, pieniądze są na koncie odbiorcy.

    Płatność 2
    przelew
    Twój system: Uruchamia realizację zamówienia.
  4. REJECTED

    Kupujący nie autoryzował płatności.

    Twój system: Zostawia zamówienie do ponownej płatności.
  5. ERROR

    Problem w trakcie płatności.

    Twój system: Pokazuje klientowi, co dalej, i zapisuje zdarzenie.
  6. EXPIRED

    Minął czas ważności: 10 dni w NEW albo PENDING.

    Twój system: Zapisuje wygaśnięcie przy zamówieniu, które nie rusza.
  7. ABANDONED

    Kupujący ponowił nieudaną płatność, nowa ma nowy identyfikator.

    Płatność 1
    BLIK
    Twój system: Łączy nową płatność z zamówieniem po jego numerze.
Pierwsza płatność BLIK-iem została odrzucona i ponowiona, druga szybkim przelewem przeszła do CONFIRMED. Ponowienie wymaga włączenia tej opcji w panelu Paynow i obsługi statusu ABANDONED.

Podpisane żądania i powiadomienia

Każde żądanie do Paynow i każde powiadomienie od Paynow jest podpisane, więc nikt nie podrobi informacji, że zamówienie zostało opłacone. Najwięcej błędów bierze się z tego, jak złożono dane do podpisu, dlatego składamy je znak w znak.

Płatność za zamówienie 10561 na 138,00 zł

Żądanie płatności

Klucze żądania
klucz sklepu i jednorazowy numer żądania
Dodatkowe parametry
brak
Treść
kwota 138,00 zł, zamówienie 10561, opis, e-mail kupującego
Tajny klucz
klucz do podpisów z panelu Paynow, tylko na serwerze

Co wchodzi do podpisu

Klucze żądania
klucz sklepu i numer żądania
Reguła Paynow

Do podpisu wchodzą tylko te dwa klucze, zawsze w tej samej kolejności.

Dane do podpisu

Dodatkowe parametry
puste, ale też podpisane
Treść
znak w znak jak w wysłanym żądaniu
Reguła Paynow

Klucze, parametry i treść składamy w jedną całość.

Podpis tajnym kluczem

Tajny klucz
liczy podpis z całości, którego nie da się podrobić bez klucza
Reguła Paynow

Tym samym kluczem sprawdzamy powiadomienia od Paynow.

Podpis

Podpis dołączony do żądania
  • Żądanie wysłane drugi raz z tym samym numerem nie tworzy drugiej płatności.
  • Podpis sprawdzamy na testowym przykładzie Paynow, zanim pójdzie pierwsza prawdziwa płatność.
Powiadomienie od Paynow sprawdzamy tym samym kluczem, zanim cokolwiek z nim zrobimy, więc podrobione "opłacone" nigdy nie ruszy zamówienia.

Testy, które symulują błędy

Paynow ma w środowisku testowym kody, które wywołują konkretne zachowania. Używamy ich, żeby sprawdzić ścieżki, których w działającym sklepie nie da się wywołać. Do testów zakładasz osobne konto testowe Paynow albo korzystamy z publicznych kluczy testowych.

Panel sklepu: przebieg scenariuszy w środowisku testowym Paynow, tabela kodów BLIK, przelewu testowego i statusów oraz szczegóły błędu po 20 sekundach
  1. Testowe kody BLIK

    • BLIK 222222Płatność zostaje w PENDING
    • BLIK 333334Autoryzacja odrzucona, kod wygasł
    • BLIK 444444NEW przez 20 sekund, potem ERROR

    Każdy kod wywołuje inne zachowanie. Sprawdzamy ekran oczekiwania, komunikat dla klienta z ponowieniem i obsługę błędu w panelu.

  2. Przelew na kwotę testową

    • Przelew na 9999,99 złPłatność kończy się błędem

    Ta kwota kończy płatność błędem. Sprawdzamy stronę powrotu, bo powrót klienta niczego nie potwierdza.

  3. Wynik każdego scenariusza

    Klient widzico dalej po nieudanej płatności
    Panel pokazujezdarzenie ERROR w historii zamówienia

    Scenariusz jest zaliczony, gdy klient i panel widzą to, czego oczekujemy, a zamówienie nie rusza przed potwierdzeniem.

Co płynie między Twoim systemem a Paynow

Każdy rodzaj danych ma swój kierunek i swój wyzwalacz. Zamówienie zmienia się po powiadomieniu na Twój serwer, nawet gdy klient zamknie stronę po płatności.

Twój systemPaynow bramka płatności
  • Koszyk

    • Płatność, z Twojego systemu do Paynowkwota, numer zamówienia, opis, e-mail kupującegokiedy: klient klika "Zapłać"
    • Metody płatności, z Paynow do Twojego systemulista dostępnych metod do własnego wyboru w koszykukiedy: wyświetlenie koszyka
  • Serwer

    • Zmiana statusu, z Paynow do Twojego systemupowiadomienie na adres z panelu Paynowkiedy: każda zmiana statusu płatności
    • Status na żądanie, w obie stronyzapytanie o status po identyfikatorze płatnościkiedy: powrót klienta albo brak powiadomienia
  • Panel

    • Zwrot, z Twojego systemu do Paynowzwrot i jego status, z możliwością anulowaniakiedy: decyzja w Twoim panelu

Płatność wpięta w Twój system, a nie obok niego

Gotowa wtyczka Paynow wystarcza tylko wtedy, gdy płatność kończy się zmianą statusu w samej platformie sklepu. Gdy płatność jest częścią aplikacji, panelu albo rezerwacji, piszemy integrację przez API, która obsługuje wszystkie statusy, zwroty i ponowienia. W obu przypadkach płatności sprawdzamy na testach, zanim pójdzie pierwsza prawdziwa.

Gotowa wtyczka

  • Sklep stoi na platformie, dla której Paynow ma wtyczkę.
  • Płatność kończy się zmianą statusu zamówienia w samej platformie.
Wniosek: Instalujemy ją, wpisujemy klucze z panelu Paynow i sprawdzamy na płatnościach testowych.

Integracja przez API

  • Płatność dzieje się w aplikacji, panelu klienta albo systemie rezerwacji.
  • Chcesz BLIK-a albo kartę na swojej stronie, bez przekierowania (white label).
  • Potrzebujesz linków do płatności, zwrotów z panelu albo marketplace.
Wniosek: Integracja z Paynow w Twoim kodzie, z podpisami, ochroną przed podwójną płatnością i obsługą wszystkich statusów.

Najczęstsze pytania o Paynow

Odpowiedzi o koncie, potwierdzeniu płatności, ponowieniach, zwrotach, testach i wycenie.

Chcesz przyjmować płatności przez Paynow?

Napisz, w jakim systemie mają działać płatności i jakie metody są potrzebne. Odpowiemy w godzinę z pytaniami i wyceną.