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

To pytanie mówi o różnych procesorach płatności i ich kosztach, ale szukam odpowiedzi na to, co muszę zrobić, jeśli chcę akceptować płatności kartą kredytową?

Załóżmy, że muszę przechowywać Numery kart kredytowych dla klientów, tak aby oczywiste rozwiązanie polegania na procesorze kart kredytowych, aby wykonać ciężkie podnoszenie nie było dostępne.

PCI Data Security , który jest najwyraźniej standardem przechowywania informacji o karcie kredytowej, ma kilka Wymagania ogólne, ale jak je wdrożyć ?

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

Czy muszę mieć dostęp do pilota do maszyny? A co z fizyczną ochroną przed hakerami w budynku? A nawet co, jeśli ktoś dostał w swoje ręce pliki kopii zapasowych z plikami danych sql server na nim?

A co z backupami? Czy są w pobliżu inne fizyczne kopie tych danych?

Wskazówka: Jeśli dostajesz konto sprzedawcy, powinieneś negocjować, że naliczają Ci "interchange-plus" zamiast warstwowych cen. z warstwowych cen, będą naliczać różne stawki w zależności od rodzaju wizy / MC jest używany -- tj. pobierają więcej za karty z dużymi nagrodami dołączonymi do nich. Rozliczenie Interchange plus oznacza, że płacisz procesorowi tylko tyle, ile pobiera go Visa / MC, plus zryczałtowana opłata. (Amex i Discover pobierają własne stawki bezpośrednio od sprzedawców, więc nie dotyczy to tych kart. Znajdziesz stawki Amex być w zakresie 3% i Discover może być tak niskie, jak 1%. Visa / MC jest w przedziale 2%). ten serwis ma za Ciebie robić negocjacje (nie korzystałem z niego, to nie jest reklama i nie jestem związany ze stroną, ale ta usługa jest bardzo potrzebna.)

ten wpis na blogu zawiera pełne zestawienie obsługi kart kredytowych (specjalnie dla Wielkiej Brytanii).


Być może źle sformułowałem pytanie, ale szukam porady jak te:

  1. użyj SecurID lub eToken, aby dodać dodatkową warstwę hasła do fizycznego pola.
  2. upewnij się, że pudełko jest w pokoju z fizycznym zamkiem lub kombinacją kodów.
Author: Community, 2008-09-09

9 answers

Przeszedłem ten proces nie tak dawno temu z firmą, dla której pracowałem i planuję przejść przez to ponownie wkrótce z własnym biznesem. Jeśli masz trochę wiedzy technicznej sieci, to naprawdę nie jest tak źle. W przeciwnym razie lepiej będzie korzystać z Paypal lub innego rodzaju usługi.

Proces rozpoczyna się od uzyskania konto sprzedawcy konfiguracja i powiązanie z kontem bankowym. Możesz sprawdzić w swoim banku, ponieważ wiele dużych banków zapewnia handlowca usługi. Możesz być w stanie uzyskać oferty, ponieważ jesteś już ich klientem, ale jeśli nie, możesz rozejrzeć się. Jeśli planujesz akceptację Discover lub American Express, będą one oddzielne, ponieważ zapewniają usługi handlowca dla swoich kart, bez poruszania się po tym. Istnieją również inne szczególne przypadki. To jest proces aplikacyjny, bądź przygotowany.

Następnie będziesz chciał kupić certyfikat SSL, który możesz wykorzystać do zabezpieczenia komunikacji gdy dane karty kredytowej są przesyłane przez sieci publiczne. Jest wielu sprzedawców, ale moją zasadą jest, aby wybrać taki, który jest marką w pewien sposób. Im lepiej są one znane, tym lepiej twój klient prawdopodobnie o nich słyszał.

Następnie będziesz chciał znaleźć bramka płatności do korzystania z witryny. Chociaż może to być opcjonalne w zależności od tego, jak duży jesteś, ale przez większość czasu nie będzie. Będziesz go potrzebował. Dostawcy bramek płatniczych zapewniają sposób na rozmowę z Internet Gateway API, z którym będziesz się komunikować. Większość dostawców zapewnia komunikację HTTP lub TCP / IP za pomocą swojego API. Będą przetwarzać informacje o karcie kredytowej w Twoim imieniu. Dwóch sprzedawców to Authorize.Net i PayFlow Pro . Link, który podaję poniżej, zawiera więcej informacji o innych dostawcach.

Co teraz? Na początek są wytyczne dotyczące tego, czego musi przestrzegać Twoja aplikacja do przesyłania transakcji. Podczas procesu po skonfigurowaniu wszystkiego, ktoś spojrzy na Twoją witrynę lub aplikację i upewni się, że przestrzegasz wytycznych, takich jak korzystanie z SSL i że masz Warunki użytkowania i dokumentację dotyczącą zasad, do czego służą informacje, które użytkownik Ci podaje. Nie kradnij tego z innej strony. Wymyśl swój własny, wynajmij prawnika, jeśli będzie trzeba. Większość z tych rzeczy należy do łącza bezpieczeństwa danych PCI, które Michael podał w swoim pytaniu.

Jeśli planujesz przechowywać numery kart kredytowych, więc lepiej przygotuj się na wprowadzenie wewnętrznych środków bezpieczeństwa w celu ochrony informacji. Upewnij się, że serwer, na którym są przechowywane informacje, jest dostępny tylko dla członków, którzy muszą mieć dostęp. Jak każda dobra ochrona, robisz rzeczy w warstwach. Im więcej warstw umieścisz, tym lepiej. Jeśli chcesz, możesz użyć zabezpieczeń Typu Brelok, takich jak SecureID lub eToken , aby chronić pomieszczenie, w którym znajduje się serwer. Jeśli nie stać Cię na trasę pilota, użyj dwóch kluczy metoda. Pozwól osobie, która ma dostęp do pokoju, wylogować się z klucza, który jest dołączony do klucza, który już nosi. Będą potrzebować obu kluczy, aby uzyskać dostęp do pokoju. Następnie chronisz komunikację z serwerem za pomocą zasad. Moja zasada jest taka, że jedyną rzeczą komunikującą się z nim przez sieć jest aplikacja, a te informacje są szyfrowane. Serwer nie powinien być dostępny w żadnej innej formie. Do tworzenia kopii zapasowych używam truecrypt do szyfrowania woluminów, które będą zapisany do. Za każdym razem, gdy dane są usuwane lub przechowywane w innym miejscu, ponownie używasz truecrypt do szyfrowania woluminu, na którym znajdują się dane. Zasadniczo tam, gdzie są dane, muszą być zaszyfrowane. Upewnij się, że wszystkie procesy dotarcia do danych prowadzą ścieżki audytu. użyj logów, aby uzyskać dostęp do serwerowni, użyj kamer, jeśli możesz, itp... Innym środkiem jest szyfrowanie informacji o karcie kredytowej w bazie danych. Dzięki temu dane mogą być przeglądane tylko w aplikacji, gdzie można egzekwuj, kto widzi informacje.

Używam pfsense do mojego Firewalla. Uruchamiam go z karty compact flash i mam skonfigurowane dwa serwery. Jeden jest dla fail over dla redundancji.

Znalazłem tenpost na blogu autorstwa Ricka Strahla, który ogromnie pomógł zrozumieć Robienie e-commerce i to, czego potrzeba, aby akceptować karty kredytowe za pośrednictwem aplikacji internetowej.

Cóż, to okazała się długa odpowiedź. Mam nadzieję, że te wskazówki pomogą.

 235
Author: Dale Ragan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:26:05

Zadaj sobie następujące pytanie: Dlaczego chcesz przechowywać numery kart kredytowych w pierwszej kolejności ? W rzeczywistości, jeśli je przechowasz i uda Ci się je ukraść, możesz liczyć na poważną odpowiedzialność.

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

  • Zdobądź certyfikat SSL!
  • Utwórz formularz, aby uzyskać CC# z użytkownik.
  • Encrypt part (not all!) CC# i przechowywać go w bazie danych. (Sugerowałbym środkowe 8 cyfr.) Używać silnej metody szyfrowania i tajnego klucza.
  • Wyślij pozostałą część CC# do tego, kto przetwarza Twoje transakcje (prawdopodobnie do Ciebie) z identyfikatorem osoby do przetworzenia.
  • gdy zalogujesz się później, wpisz ID i wysłaną pocztą część CC#. Twój system może odszyfrować drugą część i rekombinować, aby uzyskać pełną liczbę, dzięki czemu możesz przetworzyć transakcję.
  • na koniec usuń zapis online. Moim paranoicznym rozwiązaniem było nadpisanie rekordu losowymi danymi przed usunięciem, aby usunąć możliwość cofnięcia.

Brzmi to jak dużo pracy, ale nigdy nie nagrywając kompletnego CC # gdziekolwiek, sprawiasz, że hakerowi bardzo trudno jest znaleźć coś wartościowego na twoim serwerze. Zaufaj mi, to jest warte spokoju ducha.

 22
Author: Mike,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-10-07 01:59:25

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

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

W skrócie, Utwórz oddzielny segment sieci dla serwerów, które będą dedykowane do przechowywania informacji CC (Zwykle serwerów DB)). Odizoluj dane w jak największym stopniu i zapewnij tylko minimalny dostęp niezbędny do uzyskania dostępu do danych jest obecny. Zaszyfruj go podczas przechowywania. Nigdy nie przechowuj PAN ' s. Wyczyść stare dane i obróć swoje klucze szyfrowania.

Przykład:

  • nie pozwól, aby to samo konto, które może wyszukać ogólne informacje w bazie danych, wyszukało informacje o CC.
  • nie przechowuj bazy danych CC na tym samym serwerze fizycznym, co serwer WWW.
  • nie zezwalaj na zewnętrzny (internetowy) ruch do segmentu sieci baz danych CC.

Przykład Dos:

  • użyj oddzielnej bazy danych konto do zapytania CC info.
  • nie Zezwalaj na cały, ale wymagany ruch na serwerze baz danych CC przez firewall / access-lists
  • Ogranicz dostęp do serwera CC do ograniczonej grupy autoryzowanych użytkowników.
 17
Author: Zak,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-20 19:59:22

Chciałbym dodać komentarz nietechniczny, o którym warto pomyśleć

Kilku moich klientów prowadzi witryny e-commerce, w tym kilku, którzy mają umiarkowanie duże sklepy. Oba z nich, choć z pewnością mogą wdrożyć bramę płatności wybrać nie zbyt, biorą numer cc, przechowywać go tymczasowo zaszyfrowany online i przetwarzać go ręcznie.

Robią to ze względu na dużą częstość oszustw i ręczne przetwarzanie pozwala im na podjęcie dodatkowych kontroli przed wypełnienie zamówienia. Powiedziano mi, że odrzucają nieco ponad 20% wszystkich swoich transakcji-ręczne przetwarzanie z pewnością zajmuje dodatkowy czas, a w jednym przypadku mają pracownika, który nie robi nic, ale przetwarza transakcje, ale koszt płacenia jego wynagrodzenia jest najwyraźniej mniejszy niż ich ekspozycja, jeśli właśnie przeszli numery cc przez bramę online.

Obaj ci klienci dostarczają towary fizyczne o wartości odsprzedaży, więc są szczególnie narażeni i dla przedmiotów takich jak oprogramowanie, gdzie oszukańcza sprzedaż nie spowodowałaby żadnej rzeczywistej straty, której przebieg byłby różny, ale warto rozważyć ponad techniczne aspekty bramki online, jeśli wdrożenie takiej jest naprawdę tym, czego chcesz.

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

Dlaczego? Bo wiem o innym kontakcie, który przyjmował podobne podejście. Dane karty były przechowywane zaszyfrowane, dostęp do strony internetowej był SSL, a numery zostały usunięte natychmiast po przetworzeniu. Bezpieczne myślisz?

Żadna maszyna w ich sieci nie została zainfekowana przez trojana rejestrującego klucze. W rezultacie zostały one zidentyfikowane jako źródło dla kilku score fałszerstw kart kredytowych-i w konsekwencji zostały dotknięte dużą grzywną.

W wyniku tego ja teraz nigdy nie radzę nikomu obsługiwać kart kredytowych samodzielnie. Bramki płatnicze stały się od tego czasu znacznie bardziej konkurencyjne i opłacalne, a oszustwa Środki się poprawiły. Ryzyko nie jest już tego warte.

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

 13
Author: Cruachan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-05-09 18:34:57

Należy pamiętać, że użycie SSL do wysłania numeru karty z przeglądarki na serwer jest jak zakrycie numeru karty kredytowej kciukiem, gdy podajesz kartę kasjerowi w restauracji: twój kciuk (SSL) uniemożliwia innym klientom w restauracji (sieci) zobaczenie karty, ale gdy karta znajduje się w rękach kasjera (serwera www), karta nie jest już chroniona przez wymianę SSL, a kasjer może robić wszystko z tą kartą. Dostęp do zapisanego numeru karty może być zatrzymane tylko przez zabezpieczenia na serwerze WWW. Czyli większość kradzieży kart w sieci nie odbywa się podczas transmisji, odbywa się przez przełamanie słabego bezpieczeństwa serwera i kradzież baz danych.

 7
Author: joe snyder,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-06-27 23:07:20

Po co zawracać sobie głowę zgodnością z PCI?? W najlepszym razie zaoszczędzisz ułamek procenta z opłat Manipulacyjnych. Jest to jeden z tych przypadków, w których musisz mieć pewność, że to jest to, co chcesz robić z czasem zarówno z góry w rozwoju, jak iw czasie, nadążając za najnowszymi wymaganiami.

W naszym przypadku najbardziej sensowne było użycie bramy subskrypcyjnej savy gateway i sparowanie jej z kontem handlowca. Subskrypcja-savy gateway pozwala pominąć całą zgodność z PCI i zrobić nic więcej niż przetworzyć transakcję prawidłowo.

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

 5
Author: denton,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-04-28 21:29:17

Upewnij się, że masz kontrolę nad dodatkową pracą i budżetem wymaganym dla PCI. PCI może wymagać ogromnych zewnętrznych opłat za audyt i wewnętrznego wysiłku/wsparcia. Należy również pamiętać o grzywnach / karach, które mogą być jednostronnie nakładane na ciebie, często ogromnie nieproporcjonalne do skali "ofense".

 3
Author: andora,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-09-15 11:02:52

Jest wiele w całym procesie. Najprostszym sposobem na to jest korzystanie z usług podobnych do paypal, dzięki czemu nigdy nie obsługujesz żadnych danych kart kredytowych. Poza tym, jest sporo rzeczy do przejścia, aby uzyskać zatwierdzenie do oferowania usług kart kredytowych na swojej stronie internetowej. Prawdopodobnie powinieneś porozmawiać ze swoim bankiem i osobami, które wydają Twój identyfikator sprzedawcy, aby pomóc ci w skonfigurowaniu procesu.

 2
Author: Kibbee,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-09 01:56:34

Jak już inni wspomnieli, najprostszym sposobem na wejście do tego obszaru jest użycie Paypal, Google checkout lub Nochex . Jednak jeśli zamierzasz korzystać z dużej ilości firm, możesz poszukać "aktualizacji" do usług integracji witryn wyższego poziomu, takich jak WorldPay, NetBanx (UK) lub Neteller (US). Wszystkie te usługi są dość łatwe do skonfigurowania. I Wiem, że Netbanx oferuje wygodną integrację z niektórymi z rozwiązania do wózków sklepowych typu Intershop (bo kilka z nich napisałem). Poza tym patrzysz na bezpośrednią integrację z systemami bankowymi (i ich systemami APAX), ale to trudne i w tym momencie musisz również udowodnić firmom obsługującym Karty kredytowe, że bezpiecznie obsługujesz numery kart kredytowych (prawdopodobnie nie warto rozważyć, jeśli nie bierzesz $100k wartości miesięcznie).

Praca od 1 do ostatniego koszty / korzyści są to, że wczesne opcje są znacznie łatwiej (szybciej/taniej) skonfigurować put płacisz dość wysokie opłaty manipulacyjne dla każdej transakcji. późniejsze są znacznie droższe w konfiguracji, ale płacisz mniej na dłuższą metę.

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

 2
Author: Vagnerr,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-09 10:48:59