SDK, które ułatwi tworzenie requestów do Przelewy24 możesz pobrac tutaj:
Tworzenie integracji do przelewy 24, to nie jest jakaś bardzo skomplikowana sprawa, pod warunkiem że już masz jakieś doświadczenie w programowaniu.
W przypadku naszej integracji aplikacji z serwisem płatniczym, cała zabawa polega na utworzeniu biblioteki, która będzie tworzyła requesty REST. Oczywiście na podstawie dokumentacji, możesz stworzyć swój własny kod od zera, ale zdecydowanie łatwiej będzie Ci skorzystać z gotowej biblioteki, która zawiera już gotowe modele i serwis (klasę), która pozwoli tworzyć rządania i przetwarzać odpowiedzi.
Na początek należy pobrać kod z serwisu GitHub, następnie projekt P24 możesz dodać do Twojej solucji, w której chcesz wprowadzić integrację. Kod zawiera również projekt P24.UnitTest, opcjonalnie możesz go też załączyć aby przeprowadzić test łączności.
Do prawidłowego działania, niezbędne jest posiadanie identyfikatora użytkownika, hasła oraz CRC, które możesz odczytać w panelu administracyjnym serwisu Przelewy24.
Gdy już poprawnie dołączyłeś projekt do Twojej solucji, to możesz stworzyć obiekt Przelewy24
, który pozwoli na utworzenie transakcji.
Ogólny zarys kodu znajduje się poniżej, jednak musisz go dostosować do Twojego projektu, w zależności od tego jak zapisujesz dane w bazie danych.
Przy tworzeniu transakcji, najważniejsze jest poprawne skonfigurowanie obiektu P24TransactionRequest
-
zawiera on dane, które są wysyłane do API serwisu płatniczego. Poniżej krótkie objaśnienie pól:
MerchantId
- ID Użytkownika (Twoje ID)PosId
- ID Użytkownika (Twoje ID) SessionId
- identyfikator sesji (dowolny Ciąg znaków który pozwoli Ci zidentyfikować request)Amount
- kwota w groszachCurrency
- kod walutyDescription
- opisEmail
- email klienta (kupującego)Country
- kod krajuLanguage
- kod językaUrlReturn
- URL zwrotny (klient powróci na niego po skończeniu płatności w serwisie Przelewy24)UrlStatus
- URL weryfikacyjny - na ten URL Przelewy24 wyślą Paylad informujący o pozytywnym zakończeniu transakcjiPrzykładowe zastosowanie:
W osobnym kontrolerze utworzyłem funkcję, która odbiera notyfikację od Przelewy24 w celu weryfikacji transakcji (możesz również zrobić to w tym samym kontrolerze, jednak pamiętak o atrybucie AllowAnonymous
). Po otrzymaniu payloadu w obiekcjie P24Notification
,
musisz wykonać jeszcze jeden request (TransactionVerifyAsync
)do API, w celu potwierdzenia transakcji. W tym miejscu powinieneś również zaktualizować status płatności w Twojej bazie danych,
ponieważ po otrzymaniu notyfikacji, już wiesz że klient poprawnie opłacił zamówienie :).
Tak może wyglądać kod odbierający notyfikację od Przelewy24.
Jedna rzecz o której warto pamiętać, to że odbioru notyfikacji raczej nie przetestujesz na lokalnym komputerze, bez poprawnej konfiguracji routera i wystawieniu Twojej aplikacji przez publiczny adres IP. Z tego względu lokalnie warto testy wykonywać np. za pomocą Postmana lub innej aplikacji umożliwiającej wywyłanie requestów. Poniżej znajduje się payload, jaki Przelewy24 wysyłąją podczas notyfikacji.
Notyfikacje możesz również testować po wypublikowaniu Twojej aplikacji na środowisko testowe, jeżeli takie posiadasz.
Pamiętaj jedynie, aby aplikacja testowa była podłączona do sandbox'a (url podany w przykładzie 1).
Jeżeli już wszystko będzie działało, to w środowisku produkcyjnym poinieneś tworzyć requesty do API pod tym adresem https://secure.przelewy24.pl
.
Mam nadzieję, że ten artykuł pomoże Ci w zintegrowaniu Twojej aplikacji z API. Jeżeli jednak, coś jest niejasno napisane to zachęcam do zadawania pytań w komentarzu.