dodany: 25.02.2013 | tagi: , , ,

Autor:

Bezpieczne płatności elektroniczne

0
Płatności

Pisząc poprzedni artykuł byłem świadom, że nie będę w stanie jednocześnie nawiązać przekrojowo do samego tematu przesyłania danych w aplikacjach online, a także szczegółowo opisać wszystkich omawianych interfejsów. W jego podsumowaniu starałem się zachęcić do zapoznania ze sposobem działania rozwiązań płatności elektronicznych, ale pomyślałem, że może warto ten temat opisać w osobnym artykule. Takie rozwiązania nie są mocno skomplikowane, ale ich solidność i niezawodność jest bardzo ważna – w końcu poprzez takie usługi przesyłamy wirtualnie pieniądze z naszych kont i płacimy ufając, że dotrą one do odbiorców. Pomyślałem też, że warto przekazać zarys procesu – może przyda się kiedyś części z Was jako wstępny materiał, jeśli będziecie mieli wdrożyć w swojej firmie taki system.

Pomimo niezaprzeczalnej wygody dokonywania szybkich “e-płatności” nadal sporo osób boi się płacić w ten sposób i woli przelewać pieniądze wprost ze swojego konta bankowego lub nawet (coraz rzadziej) wypełniając druczki i pojawiając się z nimi w okienku w banku czy na poczcie. Powodami tego jest kwestia zaufania i przywiązania do kanałów tradycyjnych lub takich, z których korzystamy od wielu lat. Widząc podbijany druk przelewu przez pracownika poczty, wiele osób czuje się bezpiecznie i preferuje ten sposób bardziej niż własnoręczne wysłanie pieniędzy po zalogowaniu się na swoje konto w banku. Klienci, którzy na co dzień korzystają z systemów elektronicznej bankowości, mają mniej oporów w przejściu na szybkie płatności, chociaż też nie zawsze się decydują. Najczęściej płacimy w ten sposób za zakupy w sklepach internetowych, dużo rzadziej za rachunki i faktury za usługi (np. dla operatorów telewizji kablowej lub telekomunikacyjnych). Zaletą szybkich płatności jest m.in. fakt, że pieniądze docierają bardzo szybko na konto odbiorcy, poza standardowymi sesjami bankowymi (elixir). Wadą jest niekiedy doliczana klientowi prowizja za realizację usługi – 50 groszy – 1,50 zł) – nie wszyscy usługodawcy i sklepy zgadzają się opłacać prowizję i przenoszą ten koszt na korzystających z usługi płatności. Klient musi też mieć zaufanie do operatora usługi – całe szczęście lista ich jest krótka, a firmy są dobrze znane.

Nie rozwodząc się zbytnio nad wadami i zaletami (każdy sam musi ocenić i stwierdzić, czy np. koszt prowizji jest akceptowalny albo że operator usługi jest wiarygodny), chciałbym przejść do opisu sposobu działania takich usług. Dla zainteresowanych zamieszczam poniżej listę najbardziej znanych i popularnych usług (w kolejności alfabetycznej):

Chęć wykorzystania usługi płatności elektronicznych wymaga wybrania firmy je oferującej, porozumienia się i podpisania umowy, a także odpowiedniej integracji na bazie specyfikacji dostarczanej przez dostawcę usługi. W zależności od konkretnego rozwiązania proces dokonania płatności nieco się różni i różne są przebiegi i przesyłane komunikaty. Na poniższej ilustracji przedstawiam typowy proces płatności online, który opisuję niżej na przykładzie wymyślonego sklepu internetowego.

Płatności

Etap 1 – uruchomienie płatności
Proces nie jest skomplikowany i rozpoczyna się w momencie wybrania opcji wykonania płatności elektronicznej w systemie sklepu internetowego. Następuje wywołanie strony systemu płatności i przekazanie parametrów transakcji, które mogą zawierać kwotę, numer klienta, tytuł płatności, dane odbiorcy, numer konta i inne niezbędne informacje, które system przetwarza, aby wybraną kwotę odpowiednio przekazać do odbiorcy pieniędzy. Strona (a także kolejne uczestniczące w procesie) jest otwierana obowiązkowo przez bezpieczne połączenie SSL (w końcu są tu przekazywane bardzo istotne dane), a dodatkowo wywołanie z reguły jest przekazywane jako POST (czasem jest opcja GET, ale jest niezalecana).

Etap 2 – Wybór sposobu płatności
Na otwartej stronie użytkownik może zapoznać się z parametrami płatności i dokonać wyboru sposobu jej realizacji. W zależności od konfiguracji rozwiązania i wyboru wariantu, na ekranie może być dostępna tylko opcja płatności elektronicznej (prosto z konta bankowego), opcja płatności z karty bankowej lub obie możliwości naraz. Użytkownik tu wybiera, jak chce zapłacić i wybiera swój bank z listy lub typ posiadanej karty płatniczej. Po dokonaniu wyboru następuje przekierowanie do ekranu logowania wybranego banku (lub pokazuje się ekran wprowadzenia danych karty płatniczej w przypadku wybrania tego sposobu płatności)

Etap 3 – potwierdzenie płatności
Użytkownik potwierdza płatność w systemie transakcyjnym banku (np. poprzez hasło jednorazowe), a po udanym zakończeniu przelewu, następuje wylogowanie i przekierowanie z powrotem do systemu płatności elektronicznych.

Zwykle (nie spotkałem się z inną opcją) rozwiązanie jest konfigurowane tak, żeby użytkownik realizujący transakcję, nie mógł zmienić żadnych danych przelewu, a jedyne co może zrobić, to potwierdzić płatność w systemie banku.

Jeżeli była wybrana opcja płatności kartą, w tym momencie następuje autoryzacja transakcji i blokada kwoty w banku wystawcy, po czym wyświetlany jest wynik i użytkownik powraca do strony systemu płatności.

Etap 4 – powrót do sklepu
Po zakończeniu płatności użytkownik może być automatycznie przekierowany z powrotem do sklepu internetowego, który otrzymuje w tym momencie przekazany wynik transakcji (czy jest pozytywna, czy odrzucona). Ten status płatności jest najczęściej prezentowany obok zamówienia w sklepie internetowym jako wstępna informacja o zakończeniu zapłaty za towar i rozpoczęciu realizacji zamówienia.

Etap 5 – równoległe przekazanie statusu
W trakcie dokonywania płatności, może się zdarzyć, że użytkownik zamknie okno przeglądarki, połączenie internetowe zostanie przerwane lub zdarzy się coś innego, co uniemożliwi powrót statusu transakcji opisany w etapie 4 powyżej. Wtedy status może nigdy nie wrócić do sklepu internetowego, a zamówienie nie będzie mogło być realizowane pomimo dokonania zapłaty. Tego problemu można uniknąć dzięki równoległemu przesyłaniu pytań o statusy lub realizacji osobnego interfejsu w tym celu. Może to być zrobione na co najmniej dwa sposoby:

1. Sklep internetowy w krótkim czasie po wywołaniu opcji płatności wysyła zapytanie do systemu płatności o podanie statusu transakcji (ten sposób realizuje komunikację w analogicznym kierunku, jak same płatności elektroniczne, co nie wymaga dodatkowych zabezpieczeń sieci wewnętrznej – komunikacja jest wychodząca z sieci lokalnej na zewnątrz).

2. System płatności wysyła status po każdej transakcji na wystawiony specjalnie w tym celu interfejs przez sklep internetowy (tu mamy zagadnienie odpowiedniego zabezpieczenia wystawionego interfejsu – SSL i inne mechanizmy, aby uniemożliwić niepowołany dostęp i zabezpieczyć się przed próbami włamania do sieci wewnętrznej).

Dla użytkowników nieświadomych mechanizmów działających z tyłu za wyświetlanymi stronami usługa płatności wygląda jako prosty przebieg i kilka przekierowań ze strony na stronę. Dla osób znających tematykę, rozwiązanie może nie jest specjalnie skomplikowane, ale wymaga sporej uwagi i dokładności we wdrożeniu zabezpieczeń. Wszelkie połączenia ze światem zewnętrznym muszą być zaszyfrowane, a proces musi uwzględniać wszelkie możliwe scenariusze niepowodzeń realizacji transakcji. Oczywiście całe rozwiązanie powinno wykorzystywać DMZ i wcześniej przeze mnie opisywane podejście. Tu w grę wchodzą nie tylko same przekazywane dane, ale przede wszystkim pieniądze klientów. Użytkownicy będą walczyć o wyjaśnienie każdej nieudanej transakcji, która spowoduje zaginięcie czy utknięcie środków gdzieś po drodze.

Sam koszt pracy zespołu nad projektem architektury, testami i implementacją obsługi serwisu płatności to jedna z części budżetu projektu. Trzeba pamiętać także o udostępnieniu takiej usługi przez jej operatora. Niektórzy z nich żądają określonej kwoty na samo przygotowanie rozwiązania dla nas, a później wymagają opłacania utrzymania usługi. Inni z kolei nie chcą nic na start (wdrażają bez żadnych opłat) i nie ma żadnych kosztów utrzymania, a otrzymują prowizję od każdej transakcji (np. 1-1,5 zł od pojedynczej płatności). Od firmy udostępniającej możliwość dokonania zapłaty (np. sklepu internetowego, operatora telekomunikacyjnego) zależy, czy przeniesie ten koszt na użytkownika w całości, czy będzie w nim partycypować żądając np. 0,5 zł od użytkownika. Idealna dla klientów sytuacja to taka, gdy nie muszą płacić za takie przelewy nic. Ale wtedy całkowite obciążenie pozostaje po stronie sklepu czy wystawcy faktury.

Systemy płatności są obecnie tak skonstruowane, że proces pobrania środków powiedzie się, jeżeli przejdziemy go z sukcesem od początku do końca. W trakcie wdrożenia muszą być mimo wszystko przeprowadzone naprawdę dokładne i kompleksowe testy, które wykażą wszelkie nieścisłości na systemach testowych, zanim uruchomimy rozwiązanie produkcyjnie. Warto także pamiętać o okresowych testach penetracyjnych. Dodatkowo na korzyść działa fakt, że rozwiązania płatności są gotowymi produktami z ustalonym interfejsem komunikacyjnym i nie ma nawet za bardzo możliwości ich radykalnej zmiany. Tu bardziej dostosować się musi sklep internetowy czy integrowany z usługą system. Dzięki temu usługa jest spójna z innymi uruchomionymi w innych przypadkach, co ułatwia utrzymanie dobrego poziomu zabezpieczenia.

Tego typu sposób płatności, chociaż powoli, zdobywa coraz więcej zwolenników. Coraz więcej firm także wprowadza je i promuje wśród klientów, przesyłając linki ułatwiające rozpoczęcie i nazwane w rodzaju “zapłać teraz”. Czas, który mija od kliknięcia takiej opcji do zakończenia płatności jest porównywalny z wykonaniem zwykłego przelewu (z zalogowaniem do banku, skopiowaniem numeru faktury za usługi i potwierdzeniem kodem jednorazowym). Użytkownicy jednak sądzą, że jest to szybszy sposób. Na pewno takie płatności są doskonałe w sytuacji, gdy mamy konto w innym banku niż odbiorca pieniędzy – jeśli wykonamy zwykły przelew, musimy poczekać, aż pieniądze przejdą z banku do banku standardowymi sesjami elixir. Firmy oferujące szybkie przelewy elektroniczne, mogą mieć założone rachunki w każdym z popularnych banków i realizują przekazy pieniężne przelewami wewnątrzbankowymi, które docierają momentalnie na konto odbiorcy. Dzięki temu możemy błyskawicznie opłacić np. zaległą fakturę, o którą upomina się dział windykacji firmy. Pozostaje nadal jednak czas potrzebny na wczytanie tego przelewu przez system rozliczeniowy usługodawcy – może być tak, że pieniądze i tak dotrą dzień później. To nie przeszkadza osobom, które są skłonne zapłacić nawet 5 zł za tzw. 15-minutowy przelew i wiedzieć, że zrobili wszystko, żeby dostarczyć pieniądze na czas :-)

avatar
IT Project Manager
Kierownik projektu, analityk i projektant z szeroką wiedzą techniczną i doświadczeniem w procesie tworzenia oprogramowania, zdobytymi w trakcie realizacji projektów, także dofinansowywanych z UE.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *