Bezpieczeństwo płatności internetowych i ochrona danych w Oplac
Bezpieczeństwo płatności internetowych w Oplac zaczyna się od architektury: dane kart wpisuje klient w formularzu licencjonowanego dostawcy płatności, zdarzenia mają podpis HMAC, klucze API mają zakres, a dostęp do panelu chronią 2FA, role, SSO SAML i log audytu.
Kto odpowiada za które zabezpieczenie
Bezpieczeństwo płatności to kilka warstw, a każdą z nich zabezpiecza ktoś inny. Oplac jest oprogramowaniem, a nie instytucją płatniczą, więc nie przyjmuje ani nie przechowuje środków. Przepływ opisujemy szczegółowo na stronie jak działa Oplac.
Dane kart i autoryzacja
- Kto zabezpiecza
- dostawca płatności
- Jak
- formularz dostawcy, wymogi PCI DSS, silne uwierzytelnianie klienta
Środki klientów
- Kto zabezpiecza
- dostawca płatności
- Jak
- nadzór KNF albo organu nadzoru w UE
Integracja i zdarzenia
- Kto zabezpiecza
- Oplac
- Jak
- podpisy HMAC, idempotencja, TLS
Dostęp do panelu
- Kto zabezpiecza
- Oplac i Twoja firma
- Jak
- 2FA, role, SSO SAML, log audytu
Klucze API na Twoich serwerach
- Kto zabezpiecza
- Twoja firma
- Jak
- przechowywanie poza repozytorium kodu, rotacja
Dane kart w formularzu dostawcy płatności
Na stronie płatności Oplac pole karty pochodzi od licencjonowanego dostawcy płatności: jako osadzone pola formularza (hosted fields) albo jako przekierowanie na stronę dostawcy. Numer karty, data ważności i kod CVC trafiają bezpośrednio do dostawcy, a Oplac dostaje wyłącznie token i ostatnie cyfry karty do wyświetlenia w panelu. Dzięki temu dane kart nie trafiają ani na Twoje serwery, ani na serwery Oplac. Licencjonowani dostawcy płatności podlegają wymogom standardu PCI DSS, a płatności kartą w Europejskim Obszarze Gospodarczym wymagają silnego uwierzytelniania klienta (SCA) zgodnie z dyrektywą PSD2, na przykład przez 3D Secure albo potwierdzenie w aplikacji banku.
Podpisy webhooków HMAC
Każde zdarzenie, które Oplac wysyła do Twojego systemu, ma nagłówek z podpisem HMAC SHA256 wyliczonym z treści i znacznika czasu. Twój serwer liczy podpis sekretem webhooka i odrzuca zdarzenie, którego podpis się nie zgadza albo którego znacznik czasu jest starszy niż ustawione okno. Chroni to przed podszyciem się pod Oplac i przed powtórzeniem starego zdarzenia. Gotowy kod weryfikacji w PHP, Node i Pythonie oraz format nagłówka opisuje dokumentacja API.
Klucz idempotencji w żądaniach do API sprawia, że ponowione żądanie nie tworzy drugiej płatności ani drugiego zwrotu. Szerzej o ponowieniach i idempotencji piszemy w artykule webhooki płatności.
$podpis = hash_hmac('sha256', $znacznikCzasu . '.' . $trescZdarzenia, $sekretWebhooka);
if (hash_equals($podpis, $podpisZNaglowka) === false) {
http_response_code(400);
exit;
}
Klucze API z zakresem
- Osobne klucze testowe i produkcyjne, rozpoznawalne po przedrostku.
- Zakres klucza: na przykład tylko tworzenie płatności, tylko odczyt raportów albo tylko zwroty.
- Rotacja klucza z okresem przejściowym, w którym działają stary i nowy klucz.
- Lista adresów IP, z których klucz może wywoływać API.
- Natychmiastowe unieważnienie klucza w panelu, gdy podejrzewasz wyciek.
Dostęp do panelu z 2FA, rolami, SSO i logiem audytu
Logowanie do panelu Oplac chroni uwierzytelnianie dwuskładnikowe z aplikacją generującą kody. W planie Platforma i Enterprise dochodzą role i uprawnienia (na przykład osoba z finansów widzi raporty, ale nie widzi kluczy API), logowanie przez SSO SAML z dostawcą tożsamości Twojej firmy oraz log audytu. Log audytu zapisuje, kto i kiedy utworzył klucz, zmienił ustawienia webhooka, zlecił zwrot albo dodał osobę do zespołu. Wpisy z logu eksportujesz do własnego systemu monitoringu.
Szyfrowanie, RODO i umowa powierzenia
Cała komunikacja ze stroną płatności, panelem i API odbywa się wyłącznie przez HTTPS z TLS. Dane osobowe Twoich klientów, takie jak imię, adres e-mail i dane do faktury, Oplac przetwarza w Twoim imieniu jako podmiot przetwarzający w rozumieniu RODO, na podstawie umowy powierzenia przetwarzania danych. W planie Enterprise warunki umowy powierzenia i SLA są negocjowane. Zakres danych, które przechowujemy, ograniczamy do tego, czego potrzebują płatności, subskrypcje i faktury. Szczegóły są w polityce prywatności.
Ciągłość działania i awarie dostawcy
Awaria jednego dostawcy płatności nie musi zatrzymać sprzedaży. W planie Skala i wyższych smart routing przełącza płatności na innego podpiętego dostawcę, gdy pierwszy nie odpowiada. Plan Platforma obejmuje SLA 99,9 procent dostępności oprogramowania Oplac.
Ochrona przed nadużyciami i oszustwami płatniczymi
Ocenę ryzyka transakcji kartowych i BLIK prowadzi dostawca płatności, który widzi sygnały z całej swojej sieci. Oplac dokłada kontrole po stronie oprogramowania, które ustawiasz w panelu dla swojego konta.
- Limity kwoty pojedynczej płatności i dziennej sumy dla linków do płatności.
- Termin ważności linku, po którym link przestaje przyjmować płatności.
- Blokada wielu nieudanych prób z jednej sesji na stronie płatności.
- Powiadomienie e-mail o nietypowej serii zwrotów zleconych z jednego konta w panelu.
Zgłoszenie podatności
Jeśli znajdziesz lukę w bezpieczeństwie Oplac, napisz na [email protected] z opisem i krokami do odtworzenia. Nie testuj luk na danych innych kont i nie publikuj szczegółów przed naprawą.
Najczęstsze pytania
Wszystkie pytaniaCzy Oplac ma dostęp do numerów kart moich klientów?
Nie, numery kart wpisuje klient w formularzu licencjonowanego dostawcy płatności. Oplac dostaje token i ostatnie cyfry karty.
Czy muszę spełniać wymogi PCI DSS, jeśli używam Oplac?
Zakres Twoich obowiązków zależy od tego, jak przyjmujesz karty i od wymagań Twojego dostawcy płatności. Gdy dane kart wpisuje klient w formularzu dostawcy, zakres po Twojej stronie jest mniejszy, bo numery kart nie trafiają na Twoje serwery. Szczegóły ustala z Tobą dostawca płatności.
Jak sprawdzić, że webhook naprawdę wysłał Oplac?
Policz podpis HMAC treści zdarzenia sekretem webhooka i porównaj go z podpisem z nagłówka. Zdarzenie bez zgodnego podpisu odrzuć.
Który plan ma SSO SAML i log audytu?
SSO SAML, role i uprawnienia oraz log audytu są w planie Platforma za 2 999 zł miesięcznie netto i w planie Enterprise. Uwierzytelnianie dwuskładnikowe jest w każdym planie.
Co się dzieje, gdy wycieknie klucz API?
Unieważniasz klucz w panelu, tworzysz nowy i podmieniasz go na serwerze. Log audytu pokazuje, kto utworzył klucz, a lista adresów IP ogranicza, skąd mógł być użyty.
Sprawdź podpisy webhooków w piaskownicy
Załóż konto, utwórz klucz testowy z zakresem i odbierz pierwsze podpisane zdarzenie.