Хранение Информации О Кредитной Карте
поэтому я знаю, что было много сообщений о хранении информации о кредитной карте. Мы создаем мобильное приложение и хотим, чтобы люди могли вводить информацию о своей карте один раз, а не с каждой покупкой.
мы посмотрели на Authorize.net CIM, и это кажется идеальным решением (мы просто храним идентификатор профиля или токен, который возвращает номер кредитной карты)... но это может не соответствовать нашим потребностям, так как информация о кредитной карте не обрабатывается (обязательно) authorize.net но каким бы ни был торговый счет, мы также отправляем платеж. Другими словами мы хотим хранить информацию о кредитной карте, как кошелек... не обязательно обрабатывать с Authorize.net каждый раз.
чтение документация XML CIM (стр. 94), похоже, что getCustomerPaymentProfileResponse маскирует данные возврата кредитной карты... поэтому я не вижу, как это было бы полезно для обработки, если данные замаскированы?
мы делаем есть некоторые другие варианты реализации, но я действительно надеялся иметь веб-способ для клиентов управлять своими платежными счетами. Кто-нибудь знает какие-либо способы хранения данных кредитных карт, которые могут быть вызваны по требованию для передачи процессору любого продавца?
EDIT 4.28.2011-я бьюсь об стену с этим. Что делать, если мы вообще не храним информацию о кредитной карте, клиенты вводят ее, а затем передают... как нам сделать это безопасно? Не храни его, проходи мимо. HTTPS, шифровать данные карты во время транзита?
3 ответов
к сожалению, нет простого способа достичь этого.
Как вы знаете, поставщики платежных услуг будут надежно хранить данные карты и возвращать идентификатор токена (чтобы вы могли ссылаться на эти данные), но они никогда не смогут вернуть вам исходные данные карты.
Это потому, что PSP пройдет через соответствие PCI-DSS. Часть этого соответствия гарантирует, что в любом месте данные карты передаются (например, другим третьим лицам) и PCI-DSS совместимый. Если они должны были позволить детали карты быть возвращены из хранилища клиенту, то они должны были бы гарантировать, что клиент также совместим с PCI-DSS (что в значительной степени победит точку клиента, использующего поставщика платежных услуг!).
ваши возможности:- Работа через соответствие PCI-DSS, так что вы можете хранить данные карты надежно себя.
- Храните данные карты для каждого Поставщик платежных услуг, с которым вы взаимодействуете, и храните возвращенные маркеры от каждого из них.
полоса делает что-то подобное. Они обрабатывают данные карты без необходимости хранить их и возвращают вам токен, представляющий кредитную карту, которую вы можете:
- либо сделать один раз, или
- сохранить как "клиент", а затем счет в будущем, либо по мере необходимости, или автоматически повторяющимся способом
хороший RailsCast на оплату с полосой, которая стоит проверка. Очень дружелюбный разработчик.
редактировать
Я только что поняла ... Authorize.Net CIM-это своего рода сервис токенизации. Так что вы, вероятно, знаете об этом. Я оставлю пост здесь, хотя-это может быть полезно для кого-то еще.
Если эти торговцы / поставщики готовы изменить свой API, я бы посмотрел на токенизацию карт. Это функция, предлагаемая некоторыми процессорами, которая позволяет совершать платежи без номера карты. Таким образом на первой транзакции пользователь руки информация о карте процессору, который передает обратно маркер торговцу, который однозначно идентифицирует данные держателя карты для этого пользователя и продавца, а данные карты пользователя хранятся внутри процессора.
затем вы можете сохранить эти токены и передать их платежным приложениям поставщика, которые, в свою очередь, будут использовать их для обработки транзакций. Я предполагаю, что эти токены будут уникальными для конкретного продавца, поэтому вам, вероятно, придется хранить 1 токен на поставщика / продавца для конкретный пользователь.
возможно, есть правило об этом, когда поставщик/торговец не может прокси-токены или иным образом получить их от третьей стороны. Если это так, ваши поставщики могут предоставить новый токен/guid, который сопоставляется с токеном, который они хранят внутри для использования с процессором карт...
Google-токенизация кредитных карт
PCI-DSS не шутка, и в то время как эти торговцы / поставщики не технически нужно раскрыть их процессору, что ваше приложение хранит номера карт, но если они раскрывают, это может стать грязным. Может случиться одно из двух:--4-->
- поставщик может быть вынужден запретить вашему приложению использовать API
- ваше приложение должно пройти сертификацию PCI