API Reference

Integracja metody PragmaPay krok po kroku

🚦 Autoryzacja

Przygotuj autoryzację. Dane dostępowe, tzw. key i secret, otrzymasz po wyzwoleniu integracji w Strefie Partnera.

🛠 Wariant integracji i implementacja

Wybierz wariant integracji - pamiętaj, że możesz skorzystać z rekomendacji swojego Opiekuna Biznesowego.
Dostępne warianty integracji:

  1. Przekierowanie na formularz PragmaGO
    Po wybraniu przez klienta metody płatności PragmaPay, prześlij dane za pomocą akcji: Wybranie metody płatności PragmaPay, a następnie przekieruj klienta na adres URL, który otrzymasz w odpowiedzi. Klient zostanie wtedy przekierowany na formularz, w którym będzie mógł zrealizować płatność metodą PragmaPay.
    (Pamiętaj, że wygląd formularza możesz dostosować w Strefie Partnera. Więcej informacji tutaj.)

  2. Pop-up z usługą PragmaPay
    Po wybraniu przez klienta metody płatności PragmaPay, prześlij dane za pomocą akcji: Wybranie metody płatności PragmaPay, a następnie zainicjuj otwarcie pop-up, podając do metody initializePragmaPay wartość paymentId, którą otrzymałeś w odpowiedzi akcji. Dzięki temu otworzy się pop-up umożliwiający Klientowi realizację płatności metodą PragmaPay. (Pamiętaj, że wygląd pop-upu możesz dostosować w Strefie Partnera. Więcej informacji tutaj.)

    Aby zaimplementować otworzenie pop-up:

    1. wygeneruj dedykowany kod w Strefie Partnera,

    2. dodaj go w head i body strony, gdzie będzie wyzwalana metoda PragmaPay.
      Przykład wygenerowanego kodu dla środowiska QA:
      w tagu head:

      <script type="module" src="https://partners-loanfront.box.pragmago.tech/Main.js" async></script>
      

      w tagu body:

       <script type="module" async>
          import {PragmaGo} from "https://partners-loanfront.box.pragmago.tech/sdk.js";
          const {initializePragmaPay} = new PragmaGo();
      
          initializePragmaPay({ 
            paymentId: "46985c85-bf5a-406e-92dc-31b696d04f0f",
            isPopup: true,
          })
        </script>
      
        <div id="pragmago"></div>
      

      Przykład:

      domyślna realizacja

Przykładowa pełna implementacja pop-up'u":

<!doctype html>
<html lang="en">
<head>
    <title>PragmaPay</title>
    <script type="module" src="https://partners-loanfront.box.pragmago.tech/Main.js"></script> <!-- Import link for QA environment - production link will be provided by PragmaGo -->
</head>
<body>
<button id="pragmapay">
    Zapłać PragmaPay
</button>

<div id="pragmago"> <!-- The div with id="pragmago" is necessary - PragmaGo SDK will be injected here -->
</div>

<script type="module">
  import {PragmaGo} from "https://partners-loanfront.box.pragmago.tech/sdk.js"; // Import link for QA environment - production link will be provided by PragmaGo

  async function openPopup() {
    const paymentId = "5b1d1dee-efad-5848-8c8b-e97856452487"; // Payment ID from your backend
    const {initializePragmaPay} = new PragmaGo();
    initializePragmaPay({
      paymentId: paymentId,
      isPopup: true,
      theme: {
        logoFileName: "your_logo.png", //Contact PragmaGo support to get your logo and file name
        primaryColor: "#2DB25D",
        borderRadiusBody: "16px",
        borderRadiusButton: "206px",
      }
    });
  }

  document.getElementById("pragmapay").addEventListener("click", openPopup);
</script>
</body>
</html>

🛎 Notyfikacje z systemu PragmaGO

Następnie zapoznaj się z systemem notyfikacji z systemu PragmaGO: Powiadomienia z systemu PragmaGO. Przygotuj obsługę notyfikacji o statusach płatności - została ona opisana pod linkiem: Zmiana statusu płatności - notyfikacja.
Uwzględnij statusy, jakie może przyjmować płatność metodą PragmaPay. Zostały one opisane pod linkiem: Słownik statusów.

📋 Opcjonalne funkcjonalności

Ustal odpowiedzi na pytania dotyczące opcjonalnych funkcjonalności:

  1. Czy przed wysłaniem środków za dane zamówienie będziecie potwierdzać ostatecznie płatność?
    Opis funkcjonalności został opisany pod linkiem: Potwierdzenie zamówienia przed finansowaniem. Możecie ją włączyć w Strefie Partnera lub kontaktując się ze swoim Opiekunem Biznesowym.
    Czas na potwierdzenie jest ustalany indywidualnie. Jeśli płatność nie zostanie potwierdzona w ustalonym czasie, to po tym czasie zamówienie nie zostanie opłacone.
    W przypadku oczekiwania na potwierdzenie, Klient jest informowany o statusie płatności w poniższy sposób:

  2. Czy klient może wybrać inną metodę płatności za zamówienie, jednocześnie nie porzucając procesu płatności PragmaGO? (np. gdy jest wysyłany mail z powrotem do płatności)
    Jeśli tak, wówczas płatność PragmaPay należy anulować za pomocą akcji: Anulowanie płatności - dzięki czemu klient nie opłaci jednego zamówienia kilkukrotnie. Akcja może zostać również wykorzystana, gdy towar nie jest już dostępny w magazynie.

  3. Czy środki za zwroty będą przesyłane przez sprzedającego lub Was (jeśli jednocześnie nie jesteście sprzedającym) do PragmaGO?
    Jeśli taki zwrot środków będzie miał miejsce, wtedy należy wykorzystać do tego akcję: Zwroty zamówień

  4. Czy sprzedający będą prezentować potencjalnym klientom koszt i możliwe warianty płatności jeszcze przed wyborem metody płatności?
    Jeśli tak, możecie wykorzystać do tego:

    1. Pop-up z kalkulatorem
      To jak zaimplementować otworzenie pop-up z kalkulatorem zostało opisane tutaj.

    2. lub API, które umożliwia obliczenie:

      1. Całkowitej kwoty, jaką Klient będzie zobowiązany zapłacić PragmaGO, w tym prowizji za finansowanie.

      2. Kosztu finansowania, czyli wysokości prowizji, którą Klient będzie musiał uiścić za korzystanie z finansowania.

      3. Wysokości raty obliczonej dla Klienta, co ma zastosowanie tylko w przypadku wybrania okresu spłaty w formie rat (typ 'installments').

        W tym celu należy wykonać akcję: Kalkulator spłaty w PragmaPay

  5. Czy będziecie prezentować Klientom wartość dostępnego limit w PragmaPay.
    Rozwiązanie szczególnie rekomendowane, gdy prowadzicie platformę sprzedażową (hurtownia, ERP), macie listę faktur, udostępniacie kredyt kupiecki lub listę faktur w Strefie Klienta. A także w przypadku marketplace, banków i wielu innych, gdzie Klienci muszą być zalogowani.

    1. Dla Klientów regularnie korzystających z usługi jest to aktualna wartość, do której wysokości Klient może opłacać zamówienia za pomocą PragmaPay.
    2. Klient może wnioskować o płatność metodą PragmaPay bez względu na wartość limitu.
    3. Opis implementacji został umieszczony pod linkiem: Pobranie wartości limitu

⚖️ Wyrażenie zgody na przesłanie danych

Przed przekazaniem danych w API Klient powinien zaakceptować przesłanie jego danych. W tym celu można wykorzystać treść przygotowaną poniżej:

Przyjmuję do wiadomości, że dane rejestrowe i handlowe kont powiązanych z firmą w serwisie (tu wpiszcie nazwę swojego serwisu) będą przekazywane do PragmaGO S.A. jako kolejnemu administratorowi, co jest niezbędne do obsługi umów zawartych z PragmaGO S.A., na co wyrażam zgodę.

🔍 Testy w środowisku testowym

Przetestuj działanie w środowisku testowym. Dostęp do niego zostanie wygenerowany automatycznie przy wyzwoleniu integracji ze Strefy Partnera.

Token SMS wysyłany jest docelowo na numer telefonu podany przez użytkownika. Aby pobrać token dla środowiska testowego skorzystaj z akcji Pobranie tokenu SMS .

🎯 Gotowe!

Rozwiązanie jest gotowe do uruchomienia produkcyjnego. Jeśli chcesz sprawdzić proces, w tym odbiór notyfikacji w środowisku produkcyjnym (przy braku finansowania) skontaktuj się ze swoim Opiekunem Biznesowym. Pamiętaj jednak, że wszystkie zamówienia opłacone metodą PragmaPay w środowisku produkcyjnym są nieodwracalne, jak również nie ma możliwości sfinansowania transakcji testowej.