Платежные системы. Что мне нужно знать, если я хочу принимать кредитные карты на своем веб-сайте?[закрыто]

StackOverflow https://stackoverflow.com/questions/51094

  •  09-06-2019
  •  | 
  •  

Вопрос

Этот вопрос рассказывает о различных платежных системах и их стоимости, но я ищу ответ на вопрос, что мне нужно делать, если я хочу принимать платежи по кредитным картам?

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

Безопасность данных PCI, который, очевидно, является стандартом хранения информации о кредитных картах, имеет ряд общих требований, но как их реализовать?

А как насчет продавцов, например Виза, у кого есть свои наработки?

Нужен ли мне доступ к машине с помощью брелока?А как насчет физической защиты от хакеров в здании?Или даже что, если кто-то получит в свои руки файлы резервных копий с файлами данных сервера sql?

А как насчет резервных копий?Существуют ли другие физические копии этих данных?

Кончик: Если у вас есть торговый счет, вам следует договориться о том, чтобы они взимали с вас «взаимообмен плюс» вместо многоуровневой цены. При многоуровневом ценообразовании они будут взимать с вас разные тарифы в зависимости от того, какой тип Visa/MC используется, т.е.они берут больше за карты с большими вознаграждениями.Обмен плюс выставление счетов означает, что вы платите процессору только ту сумму, которую взимает с него Visa/MC, плюс фиксированную плату.(Amex и Discover взимают собственные тарифы непосредственно с торговцев, поэтому к этим картам это не относится.Вы обнаружите, что ставки Amex находятся в диапазоне 3%, а Discover может составлять всего 1%.Visa/MC находится в диапазоне 2%). Предполагается, что эта служба проведет переговоры за вас. (Я им не пользовался, это не реклама, и я не связан с сайтом, но эта услуга очень нужна.)

Этот пост в блоге дает полное изложение обработки кредитных карт (специально для Великобритании).


Возможно я неправильно сформулировал вопрос, но мне нужны такие советы:

  1. Использовать СекурИД или eToken чтобы добавить дополнительный уровень пароля к физическому ящику.
  2. Убедитесь, что ящик находится в комнате с физическим замком или комбинацией ключей.
Это было полезно?

Решение

Не так давно я прошел через этот процесс в компании, в которой работал, и планирую вскоре повторить его снова в своем собственном бизнесе.Если у вас есть некоторые технические знания в области сетевых технологий, это действительно не так уж и плохо.В противном случае вам будет лучше использовать Paypal или другой тип сервиса.

Процесс начинается с получения Торговый счет настроен и привязан к вашему банковскому счету.Возможно, вам стоит уточнить это в своем банке, поскольку многие крупные банки предоставляют торговые услуги.Возможно, вам удастся заключить специальные предложения, потому что вы уже являетесь их клиентом, но если нет, то вы можете присмотреться к ценам.Если вы планируете принимать Discover или American Express, они будут отдельными, поскольку они предоставляют торговые услуги для своих карт, и этого не избежать.Есть и другие особые случаи.Это процесс подачи заявки, будьте готовы.

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

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

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

Если вы планируете хранить номера кредитных карт, вам лучше быть готовым принять некоторые внутренние меры безопасности для защиты информации.Убедитесь, что сервер, на котором хранится информация, доступен только тем участникам, которым необходим доступ.Как и в любой хорошей системе безопасности, все делается поэтапно.Чем больше слоев вы разместите, тем лучше.Если вы хотите, вы можете использовать безопасность типа брелока, например SecureID или eToken для защиты комнаты, в которой находится сервер.Если вы не можете позволить себе использование брелока, используйте метод с двумя ключами.Разрешите человеку, имеющему доступ в комнату, выписать ключ, который идет вместе с ключом, который у него уже есть.Для доступа в комнату им понадобятся оба ключа.Затем вы защищаете связь с сервером с помощью политик.Моя политика заключается в том, что единственное, что с ним общается по сети, — это приложение, и эта информация зашифрована.Сервер не должен быть доступен ни в какой другой форме.Для резервного копирования я использую истинный крипт для шифрования томов, на которых будут сохраняться резервные копии.Каждый раз, когда данные удаляются или сохраняются где-то еще, вы снова используете truecrypt для шифрования тома, на котором находятся данные.По сути, где бы ни находились данные, их необходимо зашифровать.Убедитесь, что все процессы получения данных имеют контрольный журнал.используйте логи для доступа в серверную комнату, используйте камеры, если можете, и т. д.Другая мера — зашифровать информацию о кредитной карте в базе данных.Это гарантирует, что данные можно будет просматривать только в вашем приложении, где вы можете указать, кто видит информацию.

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

я нашел это Сообщение блога Рика Страла, который очень помог понять, как вести электронную коммерцию и что нужно для приема кредитных карт через веб-приложение.

Что ж, это оказался длинный ответ.Надеюсь, эти советы помогут.

Другие советы

Задайте себе следующий вопрос: почему вы вообще хотите хранить номера кредитных карт?Скорее всего, вы этого не сделаете.На самом деле, если вы делать сохраните их и сумеете украсть один, вам может грозить серьезная ответственность.

Я написал приложение, которое хранит номера кредитных карт (поскольку транзакции обрабатывались в автономном режиме).Вот хороший способ сделать это:

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

Это звучит как большая работа, но, никогда и нигде не записывая полный CC#, хакеру будет чрезвычайно сложно найти что-либо ценное на вашем веб-сервере.Поверьте, это стоит душевного спокойствия.

Документ PCI 1.2 только что вышел.В нем описан процесс реализации соответствия PCI наряду с требованиями.Полный документ можно найти здесь:

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

Короче говоря, создайте отдельный сегмент сети для серверов, которые будут выделены для хранения информации CC (обычно это серверы БД).Изолируйте данные насколько это возможно и обеспечьте лишь минимальный доступ, необходимый для доступа к данным.Зашифруйте его при хранении.Никогда не храните PAN.Очистите старые данные и поменяйте ключи шифрования.

Примеры, чего нельзя делать:

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

Пример действий:

  • Используйте отдельную учетную запись базы данных для запроса информации CC.
  • Запретить весь трафик, кроме необходимого, на сервер базы данных CC через брандмауэр/списки доступа.
  • Ограничьте доступ к серверу CC ограниченному кругу авторизованных пользователей.

Я хотел бы добавить нетехнический комментарий, о котором вы, возможно, захотите подумать.

Некоторые из моих клиентов владеют сайтами электронной коммерции, в том числе пара, у которой есть магазины умеренного размера.Оба из них, хотя они, конечно, не могли бы реализовать выбор платежного шлюза, они берут номер копии, временно хранят его в зашифрованном виде в Интернете и обрабатывают его вручную.

Они делают это из-за высокого уровня мошенничества, а ручная обработка позволяет им проводить дополнительные проверки перед выполнением заказа.Мне сказали, что они отклоняют чуть более 20% всех своих транзакций - обработка вручную, конечно, требует дополнительного времени, и в одном случае у них есть сотрудник, который ничего не делает, кроме обработки транзакций, но затраты на выплату его зарплаты, видимо, меньше их риск, если они только что передали номера копий через онлайн-шлюз.

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

РЕДАКТИРОВАТЬ:И с момента создания этого ответа я хотел бы добавить предостережение и сказать, что прошло то время, когда это было хорошей идеей.

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

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

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

Я мог бы удалить этот ответ, но считаю, что лучше оставить его отредактированным в качестве предостережения.

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

Зачем беспокоиться о соблюдении требований PCI??В лучшем случае вы сэкономите долю процента от платы за обработку.Это один из тех случаев, когда вы должны быть уверены, что это именно то, что вы хотите делать со своим временем как на начальном этапе разработки, так и со временем, чтобы соответствовать последним требованиям.

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

Мы используем TrustCommerce в качестве нашего шлюза и довольны их услугами и ценами.У них есть код для множества языков, что упрощает интеграцию.

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

В этом процессе много всего.Самый простой способ сделать это — использовать сервисы, аналогичные PayPal, чтобы вы никогда не обрабатывали данные кредитной карты.Кроме того, нужно пройти немало процедур, чтобы получить разрешение на предложение услуг кредитных карт на вашем веб-сайте.Вероятно, вам следует поговорить со своим банком и людьми, которые выдают ваш идентификатор продавца, чтобы помочь вам в настройке этого процесса.

Как уже отмечали другие, самый простой способ войти в эту область — использовать ПайПал, Google касса или Ночекс.Однако, если вы планируете работать со значительным объемом бизнеса, вы можете поискать «обновление» до услуг интеграции сайта более высокого уровня, таких как WorldPay, НетБанкс (Великобритания) или Нетеллер (США).Все эти сервисы достаточно легко настроить.И я знаю, что Netbanx предлагает удобную интеграцию с некоторыми готовыми решениями для корзин покупок, такими как Интершоп (потому что я написал некоторые из них).Помимо этого, вы рассматриваете возможность прямой интеграции с банковскими системами (и их системами APAX), но это сложно, и на этом этапе вам также необходимо доказать компаниям, выпускающим кредитные карты, что вы безопасно обрабатываете номера кредитных карт (вероятно, не стоит рассматривать, если вы не берете 100 тысяч долларов в месяц).

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top