Платіжні процесори - Що мені потрібно знати, чи хочу приймати кредитні картки на своєму веб-сайті? [зачинено]


258

Це запитання стосується різних платіжних процесорів та їх вартості, але я шукаю відповідь, що мені потрібно зробити, якщо я хочу прийняти платежі за допомогою кредитної картки?

Припустимо, мені потрібно зберігати номери кредитних карт для клієнтів, щоб очевидне рішення покладатися на процесор кредитної картки для важкого підйому не було доступним.

Захист даних PCI , який, мабуть, є стандартом для зберігання інформації про кредитні картки, має купу загальних вимог, але як їх реалізувати ?

А як щодо постачальників, як Visa , які мають свої найкращі практики?

Чи потрібно мати доступ до машини на клавіатурі? А як фізично захистити його від хакерів у будівлі? Або навіть що робити, якщо хтось потрапив на резервні файли з файлами даних sql-сервера на ньому?

А що з резервними копіями? Чи є інші фізичні копії цих даних навколо?

Порада. Якщо ви отримаєте рахунок продавця, вам слід домовитись про те, щоб вони стягували плату за «обмін-плюс» замість багаторівневого ціноутворення. За допомогою багаторівневого ціноутворення вони стягуватимуть різні тарифи залежно від типу Visa / MC, який використовується - тобто. вони платять вам більше за картки з великими нагородами, прикріпленими до них. Обмін плюс виставлення рахунків означає, що ви платите процесору лише те, що стягує з них Visa / MC, плюс фіксовану плату. (Amex і Discover стягують свої власні ставки безпосередньо у продавців, тому це не стосується цих карток. Ви помітите, що ставки Amex знаходяться в межах 3%, а Discover може бути лише 1%. Visa / MC знаходиться в діапазон 2%). Ця послуга повинна зробити переговори за вас (я не використовував її, це не реклама, і я не пов'язаний з веб-сайтом,

Ця публікація в блозі дає повний термін поводження з кредитними картками (спеціально для Великобританії).


Можливо, я неправильно сформулював питання, але я шукаю такі поради:

  1. Використовуйте SecurID або eToken, щоб додати додатковий шар пароля у фізичне поле.
  2. Переконайтесь, що вікно знаходиться в приміщенні з фізичним замком або комбінацією клавіш.

1
PA-DSS 2.0 цю програму застаріло.

Відповіді:


236

Я не так давно пройшов цей процес з компанією, над якою працював, і незабаром планую пережити його разом із власним бізнесом. Якщо у вас є якісь технічні знання в мережі, це насправді не так вже й погано. Інакше вам буде краще використовувати Paypal або інший тип послуги.

Процес починається з налаштування рахунку продавця та прив’язки до вашого банківського рахунку. Можливо, ви захочете проконсультуватися у своєму банку, оскільки багато великих банків надають торгові послуги. Можливо, ви зможете отримати угоди, оскільки ви вже є їхнім клієнтом, але якщо ні, то ви можете робити покупки. Якщо ви плануєте прийняти Discover або American Express, вони будуть окремими, оскільки вони надають послуги продавця за свої картки, не обійшовши цього. Є й інші особливі випадки. Це процес подачі заявок, будьте готові.

Далі вам потрібно придбати сертифікат SSL, який ви можете використовувати для захисту своїх комунікацій, коли інформація про кредитну картку передається через загальнодоступні мережі. Продавців багато, але моє правило полягає в тому, щоб певним чином вибрати той, який є торговою маркою. Чим краще вони відомі, тим краще ваш клієнт, напевно, чув про них.

Далі ви хочете знайти шлюз платежів, який буде використовуватись на вашому сайті. Хоча це може бути необов’язковим залежно від того, наскільки ви великі, але більшість часу це не буде. Вам знадобиться. Постачальники шлюзу платежів надають спосіб спілкуватися з API інтерфейсу Internet Gateway, з яким ви будете спілкуватися. Більшість постачальників надають HTTP або TCP / IP зв’язок зі своїм API. Вони будуть обробляти інформацію кредитної картки від вашого імені. Два постачальника - Authorize.Net і PayFlow Pro . Наведене нижче посилання містить додаткову інформацію щодо інших постачальників.

А тепер що? Для початку є вказівки щодо того, чого ваша програма повинна дотримуватися для передачі транзакцій. Під час налаштування все, хтось перегляне ваш сайт або додаток і переконається, що ви дотримуєтесь інструкцій, як-от використання SSL, а також, що ви маєте умови використання та документацію щодо політики, яку інформацію використовує вам користувач. для. Не крадіть це з іншого сайту. Придумайте свого, найміть адвоката, якщо потрібно. Більшість із цих речей підпадає під посилання PCI Data Security, яке надав Майкл у своєму питанні.

Якщо ви плануєте зберігати номери кредитних карток, то вам краще бути готовим вжити внутрішніх заходів безпеки для захисту інформації. Переконайтеся, що сервер, на якому зберігається інформація, доступний лише тим членам, яким потрібно мати доступ. Як і будь-яка хороша безпека, ви робите речі шарами. Чим більше шарів ви поставите на місце, тим краще. Якщо ви хочете, ви можете використовувати захист типу брелока, наприклад SecureID або eTokenщоб захистити кімнату, на якій знаходиться сервер. Якщо ви не можете дозволити собі маршрутизацію ключів, то скористайтеся двома ключовими методами. Дозвольте людині, яка має доступ до кімнати, вийти з ключа, який додається до ключа, який вони вже несуть. Для доступу до кімнати їм знадобляться обидві клавіші. Далі ви захищаєте зв’язок із сервером за допомогою політики. Моя політика полягає в тому, що єдине, що передається їй через мережу, - це програма, і інформація шифрується. Сервер не повинен бути доступним в будь-якій іншій формі. Для резервного копіювання я використовую truecryptдля шифрування томів, в які будуть збережені резервні копії. Щоразу, коли дані видаляються або зберігаються десь в іншому місці, ви знову використовуєте truecrypt, щоб зашифрувати обсяг, на якому дані є. В основному там, де коли-небудь є дані, їх потрібно зашифрувати. Переконайтесь, що всі процеси отримання даних містять аудиторські сліди. використовуйте журнали для доступу до серверної кімнати, використовуйте камери, якщо можете, тощо. Ще одним заходом є шифрування даних кредитної картки в базі даних. Це гарантує, що дані можна переглядати у вашій програмі лише там, де ви можете примусити тих, хто бачить інформацію.

Я використовую pfsense для свого брандмауера. Я запускаю її з компактної флеш-карти та маю два сервери. Один - за невдачу для надмірності.

Я знайшов цю публікацію в блозі Ріка Штраля, яка дуже допомогла зрозуміти, що робити електронна комерція та що потрібно приймати кредитні картки через веб-додаток.

Ну, це виявилося довгою відповіддю. Сподіваюся, ці поради допоможуть.


13
Ідеальна відповідь. Я сподіваюся, що інші додають до цього.
Майкл Прайор

3
Один з найкращих, що я бачив .... +1
Фредерік Морін

2
@Michael Pryor: Якщо це так ідеально, навіщо іншим потрібно додати його? Так?
пончик

17
@donut: Оскільки час рухається, і відповіді рідко залишаються статичними.
Анонімний тип

22

Задайте собі таке питання: чому ви хочете в першу чергу зберігати номери кредитних карт ? Можливо, ви цього не зробите. Справді, якщо ви робите їх зберігання і управління мати один вкрадений, ви могли б дивитися на який - то серйозної відповідальності.

Я написав додаток, який зберігає номери кредитних карток (оскільки трансакції оброблялися в автономному режимі). Ось хороший спосіб зробити це:

  • Отримайте сертифікат SSL!
  • Створіть форму для отримання CC # від користувача.
  • Зашифруйте частину (не всі!) CC # і збережіть її у вашій базі даних. (Я пропоную середні 8 цифр.) Використовуйте сильний метод шифрування та секретний ключ.
  • Надішліть решту CC # тому, хто обробляє ваші транзакції (можливо, ви самі) з ідентифікатором особи, яка обробляє.
  • Коли ви ввійдете пізніше, ви введете ідентифікатор та пошту частини CC #. Ваша система може розшифрувати іншу частину та повторно поєднатись, щоб отримати повний номер, щоб ви могли обробити транзакцію.
  • Нарешті, видаліть онлайн-запис. Моє параноїдальне рішення полягало в тому, щоб перезаписати запис випадковими даними перед видаленням, щоб усунути можливість відновлення.

Це звучить як багато роботи, але ніколи не записуючи повний CC # ніде, ви змушуєте вкрай важко знайти хакера на своєму веб-сервері. Повірте, варто душевного спокою.


1
Ознайомтеся з коментарем, який Майкл залишив для Сема Весселя нижче.
Дейл Раган

17

Щойно вийшов документ PCI 1.2. Він дає процес, як реалізувати відповідність PCI разом з вимогами. Ви можете знайти повний документ тут:

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

Якщо коротко розповісти, створіть окремий мережевий сегмент для того, який би сервер був присвячений для зберігання інформації CC (зазвичай, серверів (-ів) БД)). Максимально ізолюйте дані та забезпечте лише мінімальний доступ, необхідний для доступу до даних. Зашифруйте його, коли ви зберігаєте його. Ніколи не зберігайте ПАН. Очистіть старі дані та обертайте ваші ключі шифрування.

Приклад Не потрібно:

  • Не дозволяйте тому самому обліковому запису, який може шукати загальну інформацію в базі даних, шукати інформацію CC.
  • Не тримайте базу даних CC на тому ж фізичному сервері, що і веб-сервері.
  • Не дозволяйте зовнішньому (Інтернет) трафіку в мережевий сегмент вашої бази даних CC.

Приклад Dos:

  • Використовуйте окремий обліковий запис Бази даних для запиту інформації про CC.
  • Вимкнути весь, крім необхідного, трафік на сервер бази даних CC через брандмауер / списки доступу
  • Обмежити доступ до сервера CC обмеженим набором авторизованих користувачів.

5
Зауважте, що вимоги PCI-DSS поширюються на всі системи, через які проходять дані картки, а не лише там, де вони зберігаються . Одні й ті ж обмеження безпеки та вимоги також застосовуються до веб-сервера / сервера додатків (та сайтів, що належать усім іншим вистрадам на цих машинах) та всіх інших хостів у тому ж мережевому сегменті, що і ці машини.
Cheekysoft

Якщо ви приймаєте номери кредитних карток по телефону або на папері і вводите їх на настільний комп’ютер, то такі ж обмеження діють і там.
Стобор

15

Я хотів би додати нетехнічний коментар, про який ви можете подумати

Кілька моїх клієнтів керують веб-сайтами електронної комерції, включаючи пару, які мають помірно великі магазини. І те, і інше, хоча вони, безумовно, можуть впровадити шлюз платежів, також не вибирають, вони беруть номер електронного коду, зберігають його тимчасово зашифровано в Інтернеті та обробляють його вручну.

Вони роблять це через високу частоту шахрайства, а обробка вручну дозволяє їм пройти додаткові перевірки перед заповненням замовлення. Мені кажуть, що вони відхиляють трохи більше 20% усіх своїх транзакцій - обробка вручну, безумовно, займає додатковий час, і в одному випадку у них є працівник, який не робить нічого, окрім операцій, але вартість виплати його зарплати, очевидно, менша, ніж їхня експозиція, якщо вони щойно передали номери куб. см, хоч Інтернет-шлюз.

Обидва ці клієнти доставляють фізичні товари з ціною перепродажу, тому особливо піддаються впливу та для предметів, таких як програмне забезпечення, де шахрайська продаж не призведе до фактичної втрати, пробіг буде відрізнятися, але варто врахувати вище технічні аспекти інтернет-шлюзу. якщо реалізація таких дійсно потрібна.

РЕДАКТ: І з моменту створення цієї відповіді я хотів би додати застереження і сказати, що минув час, коли це було гарною ідеєю.

Чому? Тому що я знаю іншого контакту, який застосовував подібний підхід. Дані картки зберігалися в зашифрованому вигляді, веб-сайт отримав доступ до SSL, а номери були видалені відразу після обробки. Ви впевнені, думаєте?

Ні - жодна машина у їхній мережі заразилася ключовим трояном. В результаті вони були визначені як джерело для декількох підробок кредитних карток - і, отже, зазнали великого штрафу.

Внаслідок цього я ніколи нікому не раджу обробляти кредитні картки самостійно. З тих пір шлюзові платежі стали набагато більш конкурентоспроможними та економічно ефективними, а заходи шахрайства покращилися. Зараз ризикувати вже не варто.

Я міг би видалити цю відповідь, але я вважаю, що найкраще залишити її відредагованою, як застереження.


1
Це дійсно корисний коментар, що я ніколи не вважав. Спасибі
0plus1

8

Майте на увазі, що використання SSL для надсилання номера картки з браузера на сервер - це як прикриття пальцем номера вашої кредитної картки, коли ви вручаєте картку в касу в ресторані: великий палець (SSL) не дозволяє іншим клієнтам у ресторані (Мережа) від того, щоб бачити картку, але як тільки карта перебуває в руках касира (веб-сервера), карта більше не захищена біржею SSL, і касир може робити з цією карткою все, що завгодно. Доступ до збереженого номера картки може бути зупинений лише захистом на веб-сервері. Тобто, більшість крадіжок карт в мережі не робиться під час передачі, вони здійснюються шляхом пробивання слабкої безпеки сервера та крадіжок баз даних.


Звідси надходить PCI DSS, тобто не зберігаючи повну PAN на сервері.
Мартін Кларк

5

Навіщо турбуватися з дотриманням PCI ?? У кращому випадку ви поголите частку відсотка від витрат на обробку. Це один з тих випадків, коли ви повинні бути впевнені, що це те, що ви хочете робити зі своїм часом, як вперед, так і з часом, в ногу з останніми вимогами.

У нашому випадку було найбільш сенсом використовувати шлюз, підключений до підписки, і поєднати його з торговим рахунком. Зберігаючи підписку шлюз дозволяє пропустити всі відповідність PCI і не робити нічого більше, ніж правильно обробити транзакцію.

Ми використовуємо TrustCommerce як наш шлюз і задоволені їх сервісом / цінами. Вони мають код для багатьох мов, що робить інтеграцію досить простою.


5
Однією з причин було б уникнути утримання в заручниках платіжного шлюзу, коли, якщо ви хочете перейти на інший шлюз, попередній шлюз, ймовірно, не надасть вам доступ до всієї інформації про КС, яку вони мають ваші клієнти, тим самим змушуючи вас запитувати клієнти за інформацією про придбання CC за допомогою нового шлюзу платежів. Перейдіть до кроку 1. :)
Забба,

3

Не забудьте зрозуміти додаткову роботу та бюджет, необхідний для PCI. PCI може зажадати великих плати за зовнішній аудит та внутрішніх зусиль / підтримки. Також пам’ятайте про штрафи / штрафи, які можуть бути накладені на вас в односторонньому порядку, часто дуже непропорційно масштабу «злочину».


2

Усього процесу багато. Найпростіший спосіб зробити це - скористатися послугами, схожими на paypal, щоб ви ніколи не обробляли будь-які дані кредитної картки. Окрім цього, є ще чимало речей, які потрібно пройти, щоб отримати схвалення щодо надання послуг кредитної картки на вашому веб-сайті. Напевно, ви повинні поговорити зі своїм банком та людьми, які видають ваш посвідчення продавця, щоб допомогти вам у налаштуванні процесу.


2

Як згадували інші, найпростіший шлях у цю сферу - це використання Paypal , каси Google або Nochex . Однак якщо ви маєте намір зробити великий бізнес, ви можете шукати "модернізацію" до інтеграції сайтів вищого рівня, таких як WorldPay , NetBanx (Великобританія) або Neteller (США) . Усі ці служби досить легко налаштувати. І я знаю, що Netbanx пропонує зручну інтеграцію в деякі рішення поза кошиками, наприклад, на полиці Intershop(бо я написав деякі з них). Крім того, ви дивитесь на пряму інтеграцію з банківськими системами (та їх системами APAX), але це важко, і в цей момент вам також потрібно довести компаніям кредитних карток, що ви обробляєте номери кредитних карток надійно (напевно, не варто враховувати, якщо ви не берете на суму 100 000 доларів на місяць).

Працюючи з першого до останнього, ціна / вигода полягають у тому, що ранні варіанти налаштувати набагато простіше (швидше / дешевше), щоб ви платили досить високі витрати на обробку за кожну транзакцію. пізніші налаштування набагато дорожчі, але ви платите менше в довгостроковій перспективі.

Інша перевага більшості не виділених рішень полягає в тому, що вам не потрібно зберігати зашифровані номери кредитних карт в безпеці. Ось чужа проблема :-)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.