Pobieranie płatności

Wprowadzenie

Straal daje cztery możliwości udostępnienia płatności online Twoim klientom.

Niezależnie od kanału, możesz mieć pewność, że dane Twoich klientów są bezpieczne.

Dostępne kanały:

  • strona www, w połączeniu z naszą stroną płatności lub Twoim spersonalizowanym formularzem płatniczym zbudowanym z pomocą Straal.js
  • aplikacje mobilne, oparte o SDK dla Androida lub iOS
  • terminal POS w Twoim fizycznym punkcie sprzedaży

W tej sekcji dowiesz się, jak:

  • zacząć używać Strony Płatności Straal
  • zbudować własny formularz płatniczy
  • korzystać ze Straal API

Strona Płatności Straal

Strona Płatności Straal jest najszybszą i najłatwiejszą metodą uruchomienia własnej integracji ze Straal. Używając naszej Strony Płatności masz gwarancję najwyższej jakości procesu zakupowego bez względu na urządzenie, którego używa Twój klient (czy to jest komputer czy urządzenie mobilne).

Przeczytaj więcej o tworzeniu Strony Płatności w APIref: Checkout Page.

Używanie Strony Płatności Straal:
  1. Wyślij żądanie o stworzenie obiektu checkout w Straal. Więcej szczegółów technicznych znajdziesz w: APIref: Initialize checkout.

  2. Przekieruj użytkownika na adres otrzymany w polu redirect_url w odpowiedzi na żądanie o stworzenie obiektu checkout.

  3. Po zakończeniu próby płatności, otrzymasz notyfikację - checkout_attempt_finished w przypadku płatności kartą, lub pay_by_link_payment_succeeded lub pay_by_link_payment_failed w przypadku płatności Pay-By-Link. Dla jednego obiektu checkout możliwe jest dokonanie więcej niż jednej próby płatności, ponieważ Strona Płatności Straal umożliwia użytkownikom końcowym ponawianie nieudanej płatności. W związku z tym, dla jednej Strony Płatności Straal możliwe jest otrzymanie więcej niż jednej informacji o statusie płatności. Zazwyczaj będzie to informacja o sukcesie po wcześniejszych informacjach o nieudanej płatności. W przypadku, gdy po informacji o sukcesie przyjdzie informacja o nieudanej próbie płatności, należy ją zignorować. Taki przeplot może się wydarzyć w przypadku problemów z połączeniem. Informację o sukcesie płatności należy traktować jako ostateczną.

Przeczytaj więcej o notyfikacjach: Notyfikacje systemowe.

Przeczytaj więcej o notyfikacji checkout_attempt_finished: APIref: checkoutattemptfinished.

Przeczytaj więcej o notyfikacji pay_by_link_payment_succeeded: APIref: pay_by_link_payment_succeeded.

Przeczytaj więcej o notyfikacji pay_by_link_payment_failed: APIref: pay_by_link_payment_failed.

Spersonalizowany formularz płatniczy

Jeśli cenisz sobie konsekwencję wizualną, możesz utworzyć swój własny formularz płatniczy. Będziesz wtedy mógł dopasować szatę graficzną i branding Twojego formularza do wyglądu Twojej witryny sklepowej oraz do utrzymania przebiegu całego procesu zakupowego na Twojej stronie internetowej.

Aby Ci to ułatwić, zapewniamy Twoim klientom bezpieczny sposób wprowadzania danych kartowych. Są one szyfrowane na frontendzie Twojej strony za pomocą biblioteki Straal.js i przesyłane do naszego systemu. W ten sposób to my dbamy o bezpieczeństwo danych Twoich klientów. Jeśli Twój system nie przetwarza pełnych danych kartowych, obowiązuje Cię mniej wymagań bezpieczeństwa PCI DSS. Straal.js przesyła żądania do systemu przy użyciu CryptKeys.

CryptKeys to specjalne obiekty, dzięki którym prześlesz zaszyfrowane dane bezpośrednio do endpointu naszego API. Zawierają już w sobie jednorazowy token. Takie rozwiązanie może być przydatne w różnych sytuacjach, np. przy użyciu aplikacji mobilnych albo webowych, w których nie chcesz używać klucza API.

Więcej o CryptKeys przeczytasz w APIref: CryptKeys.

Informacje na temat biblioteki Straal.js znajdziesz w API Reference: Straal.js.

Budowanie własnego formularza płatniczego
  1. Twój backend musi wysłać żądanie do Straal o utworzenie CryptKey dla konkretnego uprawnienia.

  2. Przekieruj CryptKey na swój frontend.

  3. Zainstaluj StraalJS przez NPM oraz zaimportuj metodę sendEncrypted ze straaljs.

  4. Kiedy Twój klient wypełni formularz swoimi danymi, należy przygotować payload żądania odpowiadający używanemu uprawnieniu, a następnie przesłać go do odpowiedniej metody obiektu Straal. Na przykład, po utworzeniu CryptKey dla uprawnienia v1.cards.create_with_customer zbuduj payload taki, jak dla endpointu https://api.straal.com/v1/cards i prześlij go do metody Straal.cards.createWithCustomer razem z CryptKey.

  5. Otrzymasz odpowiedź na frontend. Na jej podstawie możesz wyświetlić klientowi powiadomienie o statusie płatności.

  6. Twój backend otrzyma potwierdzenie jako notyfikację. Dopiero wtedy możesz mieć pewność, że płatność się powiodła. Odpowiedź frontendu nie daje 100% pewności.

Zarządzanie płatnościami przez API Straal

Większości naszych klientów rekomendujemy korzystanie z gotowej Strony Płatności Straal. Nie ma ona tak dużych możliwości jak integracja z API Straal, ale łączy się z mniejszymi wymaganiami bezpieczeństwa dla Twojego systemu.

Integracja backend-to-backend

Integrując się backend-to-backend i korzystając z API Straal, zyskujesz największe możliwości techniczne w porównaniu z innymi typami integracji. Korzystanie z API Straal to jedna z opcji, kiedy decydujesz się na budowę spersonalizowanego formularza płatniczego, który będzie pasował do stylu i kolorów Twojej strony lub aplikacji.

Jest możliwa wtedy, gdy masz status PCI Compliant, czyli możesz przetwarzać dane płatnicze w swoim systemie. Jest to metoda integracji dająca najwięcej możliwości, jednak nie zawsze możliwa z powodu surowych wymagań bezpieczeństwa PCI-DSS.

Minimalnym wymaganiem PCI jest uzupełnienie formularza SAQ D, który stawia Sprzedawcy najwyższe wymagania bezpieczeństwa. Jest on wymagany w przypadku przetwarzania danych kartowych. Wiecej informacji znajdziesz w Assessing the Security of Your Cardholder Data oraz sekcji Standardy PCI-DSS tej dokumentacji.

Integracja za pomocą Straal.js

Najczęściej zalecamy unikać przetwarzania danych kartowych ze względów bezpieczeństwa. W takim wypadku masz możliwość przeniesienia części odpowiedzialności za bezpieczeństwo danych na Straal, ponieważ posiadamy najwyższy poziom Certyfikacji PCI. W większości przypadków rekomendujemy wykorzystanie Strony Płatności Straal lub budowę własnego formularza płatności za pomocą biblioteki Straal.js.

Wiąże się to również z mniejszymi wymogami bezpieczeństwa PCI, ponieważ dane kartowe nie przechodzą przez Twój backend. W większości przypadków, zamiast wypełnienia długiego formularza SAQ D, trzeba wypełnić dużo prostszy formularz SAQ A-EP.

Więcej o korzystaniu z naszego API dowiesz się z API Reference lub przykładów w różnych częściach tej dokumentacji.

Porównanie metod

Zastanawiasz się, który sposób pobierania płatności wybrać? Poniższe zestawienie pokaże Ci główne zalety naszych rozwiązań.

Porównanie sposobów pobierania płatności
Strona Płatności Straal Spersonalizowany formularz płatności Integracja backend-to-backend
Proste i szybkie wdrożenie check
Zwiększone bezpieczeństwo check check
Dane kartowe przetwarzane poza Twoim systemem check check
Pełna kontrola nad danymi klientów check
Formularz płatniczy na Twoim serwerze check check
Możliwość dopasowania wyglądu i działania formularza check check
Elastyczność integracji check
Minimalne wymagania PCI-DSS (formularz do wypełnienia) SAQ A SAQ A-EP SAQ D

Mobilne SDK

Tworzysz aplikację dla swojego biznesu i chcesz, aby ona również obsługiwała płatności? Chętnie pomożemy!

Nasze zestawy gotowych narzędzi deweloperskich (SDK) pozwolą Ci dodać funkcjonalność Straal do swojej aplikacji w systemie Android lub iOS.

Nasze SDK znajdziesz na Githubie (Android, iOS). Oba repozytoria posiadają pliki README, gdzie dowiesz się, jak zintegrować Straal ze swoją aplikacją.

Co dalej:


Jeśli coś jest dla Ciebie niejasne w tej sekcji, zajrzyj do Dokumentacji API Straal.

Możesz też sprawdzić Słowniczek, który pomoże Ci zapoznać się ze słownictwem z obszaru płatności.

Skontaktuj się z nami. Zespół Techniczny: [email protected], Dział Wsparcia Klienta: [email protected].