Procesory płatności - co muszę wiedzieć, jeśli chcę akceptować karty kredytowe na mojej stronie? [Zamknięte]

258

To pytanie dotyczy różnych procesorów płatniczych i ich kosztów, ale szukam odpowiedzi na pytanie, co muszę zrobić, jeśli chcę zaakceptować płatności kartą kredytową?

Załóżmy, że muszę przechowywać numery kart kredytowych dla klientów, aby oczywiste rozwiązanie polegające na obciążeniu procesora karty kredytowej nie było możliwe.

PCI Data Security , który najwyraźniej jest standardem do przechowywania informacji o kartach kredytowych, ma szereg ogólnych wymagań, ale jak je wdrożyć ?

A co z dostawcami, takimi jak Visa , którzy mają własne najlepsze praktyki?

Czy muszę mieć dostęp do pilota w maszynie? Co z fizyczną ochroną przed hakerami w budynku? A nawet jeśli ktoś dostanie kopie zapasowe plików z plikami danych serwera SQL?

Co z kopiami zapasowymi? Czy w pobliżu są inne fizyczne kopie tych danych?

Wskazówka: jeśli masz konto handlowca, powinieneś wynegocjować, że naliczą ci „interchange-plus” zamiast cen warstwowych. W przypadku warstwowych cen będą naliczać różne stawki w zależności od rodzaju użytej karty Visa / MC - tj. obciążają cię za karty z dołączonymi dużymi nagrodami. Interchange plus fakturowanie oznacza, że ​​płacisz procesorowi tylko to, co obciąża go Visa / MC, plus opłata zryczałtowana. (Amex i Discover pobierają własne stawki bezpośrednio od akceptantów, więc nie dotyczy to tych kart. Stawki Amex będą w zakresie 3%, a Discover może wynosić zaledwie 1%. Visa / MC jest w zakres 2%). Ta usługa ma za ciebie przeprowadzić negocjacje (nie korzystałem z niej, to nie jest reklama i nie jestem związany z witryną,

Ten post na blogu zawiera pełny przegląd obsługi kart kredytowych (szczególnie w Wielkiej Brytanii).


Być może źle sformułowałem pytanie, ale szukam takich wskazówek:

  1. Użyj SecurID lub eToken, aby dodać dodatkową warstwę hasła do fizycznej skrzynki.
  2. Upewnij się, że pudełko znajduje się w pomieszczeniu z fizycznym zamkiem lub kombinacją kodu.
Michael Pryor
źródło
1
Zostało to przestarzałe przez PA-DSS 2.0.

Odpowiedzi:

236

Niedawno przeszedłem ten proces w firmie, w której pracowałem, i wkrótce zamierzam przejść go ponownie z własną firmą. Jeśli masz trochę wiedzy technicznej na temat sieci, to naprawdę nie jest tak źle. W przeciwnym razie lepiej skorzystasz z Paypal lub innego rodzaju usługi.

Proces rozpoczyna się od założenia konta sprzedawcy i powiązania go z kontem bankowym. Możesz skontaktować się ze swoim bankiem, ponieważ wiele dużych banków świadczy usługi handlowe. Możesz być w stanie uzyskać oferty, ponieważ jesteś już ich klientem, ale jeśli nie, możesz rozejrzeć się. Jeśli planujesz zaakceptować Discover lub American Express, będą one osobne, ponieważ zapewniają usługi kupieckie dla swoich kart, bez obejścia tego. Istnieją również inne specjalne przypadki. To proces aplikacyjny, bądź przygotowany.

Następnie będziesz chciał kupić certyfikat SSL , którego możesz użyć do zabezpieczenia komunikacji w przypadku przesyłania informacji o karcie kredytowej przez sieci publiczne. Jest wielu sprzedawców, ale moją podstawową zasadą jest wybranie takiego, który jest marką w pewien sposób. Im lepiej są znane, tym lepiej twój klient prawdopodobnie o nich słyszał.

Następnie będziesz chciał znaleźć bramę płatniczą do użycia w swojej witrynie. Chociaż może to być opcjonalne w zależności od tego, jak duży jesteś, ale przez większość czasu tak nie będzie. Będziesz potrzebował jednego. Dostawcy bram płatniczych zapewniają sposób komunikowania się z interfejsem API bramy internetowej, z którym będziesz się komunikować. Większość dostawców zapewnia komunikację HTTP lub TCP / IP z interfejsem API. Przetwarzają dane karty kredytowej w Twoim imieniu. Dwóch dostawców to Authorize.Net i PayFlow Pro . Link, który podam poniżej, zawiera więcej informacji na temat innych dostawców.

Co teraz? Na początek są wytyczne dotyczące tego, do czego aplikacja musi się stosować, aby przekazywać transakcje. Podczas procesu konfiguracji wszystkiego, ktoś zajrzy na twoją stronę lub aplikację i upewni się, że postępujesz zgodnie z wytycznymi, takimi jak SSL, oraz że masz warunki użytkowania i dokumentację dotyczącą zasad korzystania z informacji podanych przez użytkownika. dla. Nie kradnij tego z innej strony. Wymyśl własne, w razie potrzeby zatrudnij prawnika. Większość tych rzeczy znajduje się pod linkiem PCI Data Security, który Michael podał w swoim pytaniu.

Jeśli planujesz przechowywać numery kart kredytowych, lepiej przygotuj się na wprowadzenie wewnętrznych środków bezpieczeństwa w celu ochrony informacji. Upewnij się, że serwer, na którym przechowywane są informacje, jest dostępny tylko dla członków, którzy muszą mieć dostęp. Jak każde dobre bezpieczeństwo, robisz rzeczy warstwami. Im więcej warstw nałożysz, tym lepiej. Jeśli chcesz, możesz użyć zabezpieczeń typu brelok , takich jak SecureID lub eTokenw celu ochrony pokoju, w którym znajduje się serwer. Jeśli nie stać Cię na trasę z pilotem, użyj metody dwóch kluczy. Pozwól osobie, która ma dostęp do pokoju, wylogować się z klucza, który jest dołączony do klucza, który już ma przy sobie. Potrzebują obu kluczy, aby uzyskać dostęp do pokoju. Następnie chronisz komunikację z serwerem za pomocą zasad. Moja polityka polega na tym, że jedyną rzeczą komunikującą się z nią przez sieć jest aplikacja i że informacje są szyfrowane. Serwer nie powinien być dostępny w żadnej innej formie. Używam do tworzenia kopii zapasowych truecryptw celu zaszyfrowania woluminów zostaną zapisane kopie zapasowe. Za każdym razem, gdy dane są usuwane lub przechowywane gdzie indziej, ponownie używasz truecrypt do szyfrowania wolumenu, na którym są dane. Zasadniczo, gdziekolwiek dane są, muszą zostać zaszyfrowane. Upewnij się, że wszystkie procesy uzyskiwania danych przenoszą ścieżki audytu. użyj dzienników, aby uzyskać dostęp do serwerowni, użyj kamer, jeśli możesz itp. ... Innym środkiem jest zaszyfrowanie danych karty kredytowej w bazie danych. Dzięki temu dane można wyświetlać tylko w aplikacji, w której można egzekwować, kto widzi te informacje.

Używam pfsense jako zapory ogniowej. Uruchomiłem ją z karty Compact Flash i skonfigurowałem dwa serwery. Jeden dotyczy przełączania awaryjnego w celu uzyskania nadmiarowości.

Znalazłem ten post na blogu autorstwa Ricka Strahla, który ogromnie pomógł zrozumieć e-commerce i co trzeba zrobić, aby akceptować karty kredytowe za pośrednictwem aplikacji internetowej.

To była długa odpowiedź. Mam nadzieję, że te wskazówki pomogą.

Dale Ragan
źródło
13
Idealna odpowiedź. Mam nadzieję, że inni to dodadzą.
Michael Pryor,
3
Jeden z najlepszych, jakie widziałem .... +1
Frederic Morin
2
@Michael Pryor: Jeśli jest tak doskonały, dlaczego inni muszą go dodawać? Co ???
pączek
17
@donut: Ponieważ czas płynie, a odpowiedzi rzadko pozostają nieruchome.
Anonimowy typ
22

Zadaj sobie następujące pytanie: dlaczego przede wszystkim chcesz przechowywać numery kart kredytowych ? Możliwe, że nie. W rzeczywistości, jeśli uczynić je przechowywać i zarządzać mieć jeden skradziony, można patrzeć na poważne zobowiązania.

Napisałem aplikację, która przechowuje numery kart kredytowych (ponieważ transakcje były przetwarzane offline). Oto dobry sposób, aby to zrobić:

  • Zdobądź certyfikat SSL!
  • Utwórz formularz, aby uzyskać CC # od użytkownika.
  • Zaszyfruj część (nie wszystkie!) CC # i zapisz ją w swojej bazie danych. (Sugeruję środkowe 8 cyfr.) Użyj silnej metody szyfrowania i tajnego klucza.
  • Prześlij pozostałą część numeru CC osobie przetwarzającej Twoje transakcje (prawdopodobnie samemu) z identyfikatorem osoby do przetworzenia.
  • Gdy zalogujesz się później, wpiszesz identyfikator i wysłaną część CC #. Twój system może odszyfrować drugą część i połączyć ponownie, aby uzyskać pełny numer, aby można było przetworzyć transakcję.
  • Na koniec usuń rekord online. Moim paranoicznym rozwiązaniem było zastąpienie rekordu losowymi danymi przed usunięciem, aby usunąć możliwość cofnięcia usunięcia.

Brzmi to jak dużo pracy, ale nigdy nie nagrywając kompletnego CC # gdziekolwiek, utrudniasz hakerowi znalezienie czegoś wartościowego na twoim serwerze internetowym. Zaufaj mi, warto się uspokoić.

Mikrofon
źródło
1
Sprawdź komentarz Michaela wyjechał do Sama Wessela poniżej.
Dale Ragan,
17

Właśnie ukazał się dokument PCI 1.2. Daje proces wdrażania zgodności z PCI wraz z wymaganiami. Pełny dokument można znaleźć tutaj:

https://www.pcisecuritystandards.org/security_standards/pci_dss.shtml

Krótko mówiąc, utwórz oddzielny segment sieci dla dowolnego serwera, który będzie przeznaczony do przechowywania informacji CC (zwykle serwerów DB). Izoluj dane w jak największym stopniu i upewnij się, że obecny jest tylko minimalny dostęp niezbędny do uzyskania dostępu do danych. Zaszyfruj go podczas przechowywania. Nigdy nie przechowuj PAN. Wyczyść stare dane i obróć klucze szyfrujące.

Przykładowe zakazy:

  • Nie pozwól, aby to samo konto, które może wyszukiwać ogólne informacje w bazie danych, szuka informacji CC.
  • Nie przechowuj bazy danych CC na tym samym serwerze fizycznym, co serwer WWW.
  • Nie zezwalaj na ruch zewnętrzny (Internet) do segmentu sieci bazy danych CC.

Przykładowe Dos:

  • Użyj osobnego konta bazy danych, aby uzyskać informacje o CC.
  • Zablokuj cały wymagany ruch do serwera bazy danych CC za pośrednictwem zapory / list dostępu
  • Ogranicz dostęp do serwera CC do ograniczonego zestawu autoryzowanych użytkowników.
Zak
źródło
5
Należy pamiętać, że wymagania PCI-DSS dotyczą wszystkich systemów, przez które przechodzą dane karty, a nie tylko tam, gdzie są one przechowywane . Te same ograniczenia bezpieczeństwa i wymagania dotyczą zatem również serwera WWW / serwera aplikacji (i witryn należących do wszystkich innych hostów na tych komputerach) oraz wszystkich innych hostów w tym samym segmencie sieci, co te komputery.
Cheekysoft
A jeśli akceptujesz numery kart kredytowych przez telefon lub na papierze i wpisujesz je na komputerze stacjonarnym, obowiązują tam również te same ograniczenia.
Stobor
15

Chciałbym dodać komentarz nietechniczny, o którym możesz pomyśleć

Kilku moich klientów prowadzi witryny e-commerce, w tym kilka, którzy mają umiarkowanie duże sklepy. Obaj, chociaż z pewnością mogliby wdrożyć bramę płatności, nie wybierają też, biorą numer DW, przechowują go tymczasowo zaszyfrowane online i przetwarzają ręcznie.

Robią to ze względu na dużą liczbę oszustw, a ręczne przetwarzanie pozwala im przejąć dodatkowe kontrole przed realizacją zamówienia. Powiedziano mi, że odrzucają nieco ponad 20% wszystkich swoich transakcji - ręczne przetwarzanie z pewnością zajmuje więcej czasu, aw jednym przypadku ma pracownika, który nie zajmuje się wyłącznie przetwarzaniem transakcji, ale koszt wypłaty jego pensji jest najwyraźniej niższy niż ich narażenie, jeśli tylko przekroczyły numery CC przez bramę internetową.

Obaj ci klienci dostarczają dobra fizyczne o wartości odsprzedaży, więc są szczególnie narażeni na ryzyko, a w przypadku takich produktów, jak oprogramowanie, w którym nieuczciwa sprzedaż nie spowoduje żadnej rzeczywistej straty, przebieg może być różny, ale warto wziąć pod uwagę aspekty techniczne bramy internetowej jeśli wdrożenie takiego jest naprawdę tym, czego chcesz.

EDYCJA: A od czasu stworzenia tej odpowiedzi chciałbym dodać przestrogę i powiedzieć, że minął czas, kiedy był to dobry pomysł.

Czemu? Ponieważ znam inny kontakt, który miał podobne podejście. Dane karty zostały zapisane w postaci zaszyfrowanej, dostęp do strony internetowej uzyskano za pomocą protokołu SSL, a numery zostały usunięte natychmiast po przetworzeniu. Bezpiecznie myślisz?

Żadna z maszyn w ich sieci nie została zainfekowana trojanem rejestrującym klucze. W rezultacie zidentyfikowano je jako źródło wielu fałszerstw kart kredytowych, w wyniku czego zostały nałożone wysokie grzywny.

W związku z tym nigdy nie radzę nikomu obsługiwać kart kredytowych. Od tego czasu bramki płatnicze stały się znacznie bardziej konkurencyjne i opłacalne, a środki zwalczania oszustw uległy poprawie. Ryzyko nie jest już tego warte.

Mógłbym usunąć tę odpowiedź, ale myślę, że najlepiej zostawić ją zredagowaną jako przestroga.

Cruachan
źródło
1
To naprawdę przydatny komentarz, którego nigdy nie brałem pod uwagę. Dzięki
0plus1
8

Pamiętaj, że używanie protokołu SSL do wysyłania numeru karty z przeglądarki na serwer przypomina zakrycie numeru karty kredytowej kciukiem podczas wręczania karty kasjerowi w restauracji: kciuk (SSL) uniemożliwia innym klientom w restauracji (sieć) przed zobaczeniem karty, ale gdy karta znajdzie się w rękach kasjera (serwera internetowego), karta nie jest już chroniona przez wymianę SSL, a kasjer może robić cokolwiek z tą kartą. Dostęp do zapisanego numeru karty można zatrzymać tylko przez zabezpieczenia na serwerze internetowym. To znaczy, większość kradzieży kart w sieci nie jest wykonywana podczas transmisji, odbywa się to poprzez przełamanie słabego bezpieczeństwa serwera i kradzież baz danych.

Joe Snyder
źródło
W tym momencie pojawia się PCI DSS, tzn. Nie przechowując pełnej PAN na serwerze.
Martin Clarke
5

Po co zawracać sobie głowę zgodnością z PCI? W najlepszym wypadku zmniejszysz ułamek procentowy opłat za przetwarzanie. Jest to jeden z tych przypadków, w których musisz mieć pewność, że właśnie to chcesz robić ze swoim czasem zarówno z góry w fazie rozwoju, jak i z czasem, zgodnie z najnowszymi wymaganiami.

W naszym przypadku najrozsądniej jest zastosować bramę subskrybującą i połączyć ją z kontem handlowym. Savy-gateway subskrypcji pozwala pominąć całą zgodność PCI i zrobić nic więcej, jak tylko poprawnie przetworzyć transakcję.

Używamy TrustCommerce jako naszej bramy i jesteśmy zadowoleni z ich usług / cen. Posiadają kod dla wielu języków, co znacznie ułatwia integrację.

denton
źródło
5
Jednym z powodów byłoby uniknięcie bycia zakładnikiem przez bramę płatniczą, gdzie jeśli chcesz przełączyć się na inną bramę, poprzednia brama prawdopodobnie nie da ci dostępu do wszystkich informacji CC, które mają o twoich klientach, zmuszając cię do tego klienci, aby uzyskać szczegółowe informacje na temat CC przy zakupie za pomocą nowej bramki płatności. Przejdź do kroku 1. :)
Zabba,
3

Pamiętaj o dodatkowej pracy i budżecie wymaganym dla PCI. PCI może wymagać ogromnych opłat za audyt zewnętrzny i wewnętrznego wysiłku / wsparcia. Należy również pamiętać o grzywienach / karach, które mogą zostać nałożone jednostronnie na ciebie, często bardzo nieproporcjonalne do skali „ofensywy”.

Andora
źródło
2

Cały proces ma wiele. Najłatwiejszym sposobem na to jest skorzystanie z usług podobnych do paypal, aby nigdy nie przetwarzać danych karty kredytowej. Poza tym jest wiele rzeczy do przejścia, aby uzyskać zgodę na oferowanie usług kart kredytowych w Twojej witrynie. Prawdopodobnie powinieneś porozmawiać ze swoim bankiem i osobami, które wydają Twój identyfikator sprzedawcy, aby pomóc Ci w skonfigurowaniu procesu.

Kibee
źródło
2

Jak wspomnieli inni, najłatwiejszą drogą do tego obszaru jest skorzystanie z Paypal , Google Checkout lub Nochex . Jeśli jednak zamierzasz prowadzić znaczną część działalności, możesz poszukać „uaktualnienia” do usług integracji witryn wyższego poziomu, takich jak WorldPay , NetBanx (Wielka Brytania) lub Neteller (USA) . Wszystkie te usługi są dość łatwe do skonfigurowania. Wiem, że Netbanx oferuje wygodną integrację z niektórymi gotowymi rozwiązaniami koszyków na zakupy, takimi jak Intershop(ponieważ napisałem niektóre z nich). Poza tym zastanawiasz się nad bezpośrednią integracją z systemami bankowymi (i ich systemami APAX), ale jest to trudne i w tym momencie musisz również udowodnić firmom kart kredytowych, że bezpiecznie posługujesz się numerami kart kredytowych (prawdopodobnie nie warto zastanawiać się, czy nie bierzesz 100 000 $ miesięcznie).

Praca od pierwszego do ostatniego kosztu / korzyści polega na tym, że wczesne opcje są znacznie łatwiejsze (szybsze / tańsze) w konfiguracji, dlatego płacisz dość wysokie opłaty manipulacyjne za każdą transakcję. późniejsze są znacznie droższe w konfiguracji, ale w dłuższej perspektywie płacisz mniej.

Inną zaletą większości niepedykowanych rozwiązań jest to, że nie trzeba zabezpieczać numerów zaszyfrowanych kart kredytowych. To problem kogoś innego :-)

Vagnerr
źródło