Хранение данных кредитной карты


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

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

Переход на PayPal для использования их подписки - это не вариант. Мы должны хранить их, и мне нужно убедиться, что хранилище безопасно!

Мы используем MSSQL 2005 для наших данных, и все уже защищено SSL.

Author: Mark Henderson, 2010-07-16

10 answers

Вам нужно будет следовать (дословно) и предпочтительно превышать стандарт PCI DSS. Это ни в коем случае не простая задача, и к ней не следует относиться тривиально.

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

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

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

  • Системные программисты (вам понадобятся крючки аудита на уровне ядра и файловой системы)
  • Гуру IDS/IPS (если вам не нравится блокировка поставщика)
  • персонал 24/7/365 для мониторинга предупреждений, полученных от системы, которые разработали эксперты. Эти люди не дешевы, они принимают решение отключить платежную систему или сообщить об ошибке в алгоритмах, которые вы используете.

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

 86
Author: Tim Post, 2010-07-20 09:32:33

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

 23
Author: Whisk, 2013-06-23 21:17:32

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

Лучшим предложением было бы предоставить это хранилище третьей стороне.

 13
Author: Bryson, 2010-07-16 05:57:13

Не включает ли ваш сторонний продавец возможность непрерывных платежей по кредитным картам - большинство основных здесь, в Великобритании, безусловно, включают (DataCash, RBS World Pay и т.д.).

В принципе, вы отправляете им данные карты один раз с запросом в орган CCC (который, если я правильно помню, должен включать ожидаемый график и регулярную сумму), а затем вы получаете от них токен обратно. Затем каждый месяц/независимо от того, что вы опрашиваете продавца с помощью токена, и они обрабатывайте последующие транзакции за вас - обычно также существуют средства для их настройки для переменных, специальных запросов. Ключевое требование с вашей стороны - уведомить клиента (обычно не менее чем за 10 дней) до получения платежа.

Таким образом, вы нигде не сохраняете данные CC, все это обрабатывается людьми, которые соответствуют требованиям.

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

 8
Author: Zhaph - Ben Duguid, 2013-07-04 17:02:11

Мы должны хранить их, и мне нужно убедиться, что хранилище безопасно!

Один вопрос: Почему?

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

(Примечание: Если вы занимаетесь электронной коммерцией, вы должны соответствовать стандарту PCI, даже если вы не храните данные CC. Если вы сейчас не жалуетесь, считайте, что вам повезло, что он вас еще не укусил.)

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

 5
Author: dragonmantank, 2010-07-17 04:20:48

Как упоминали другие люди, вы ищете PCI-DSS. Также, как упоминали другие люди, соблюдение требований, вероятно, будет непомерно дорогим для небольших сайтов.

Переход на PayPal для использования своих подписок - это не вариант. Мы должны хранить их, и мне нужно убедиться, что хранилище безопасно!

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

Также имейте в виду, что даже если вы не сохраняете данные кредитной карты на диске, вы все равно соответствуете некоторым требованиям PCI-DSS. Безусловно, самый простой способ быть совместимым - это не принимать никаких данных CC (т.Е.: Путем отправки формы оплаты непосредственно на платежный шлюз).

 4
Author: Thiago Figueiro, 2010-07-17 08:50:44

Такие услуги, как http://chargify.com / предлагают дополнительный слой поверх существующих платежных шлюзов. Скорее всего, они предложат вам всевозможные способы хранения кредитных карт, осуществления регулярных платежей и даже создания отчетов для вас.

Это позволит вам обойти всю ответственность и проблему соответствия требованиям PCI. Одна из моих проблем заключается в том, захотите ли вы однажды сменить поставщиков, торговые счета или шлюзы. Как вы берете с собой 10 000 своих клиентов? Передают ли они база данных кредитных карт? Будет ли работа с конкурентом по переносу информации о кредитной карте?

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

 3
Author: zaqintosh, 2010-07-17 22:39:08

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

Мы использовали Authorize.net для любых клиентов, которые не желают использовать PayPal, и он работает довольно хорошо (наша единственная большая жалоба заключается в том, что ключ API сбрасывается каждые 6 месяцев, и они не утруждают себя уведомлением вас, когда это происходит, поэтому страница просто перестает работать). Их API основан на XML, и вы можете найти обертки для него практически на каждом языке.

 2
Author: ChiperSoft, 2017-04-13 12:33:24

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

Кстати, вам не нужен код безопасности карты для совершения транзакции. Это повышает уровень обнаружения мошенничества, но вам это не понадобится, если у вас постоянные отношения с клиентом. (И даже если вы думаете, что вам это нужно, вы не можете храните его. Несмотря ни на что.)

Я также поддерживаю другие рекомендации не хранить информацию. Авторизовать.Менеджер информации о клиентах Net прост и дешев в использовании. Вам будет НАМНОГО дешевле использовать его, чем нести расходы на PCI, связанные с хранением информации на ваших собственных серверах.

 2
Author: Larry K, 2011-05-09 23:21:14

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

 2
Author: Milner, 2013-06-23 21:18:30