Рекомендации по получению и хранению информации о кредитной карте с помощью PHP

#php #transactions #credit-card

#php #транзакции #кредитная карта

Вопрос:

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

Могут ли файлы cookie быть взломаны и превратиться в судебный процесс? Это слишком рискованно?

Нужно ли мне каким-либо особым образом защищать свою базу данных при хранении номеров кредитных карт?

Приветствуются любые рекомендации и личный опыт.

Ответ №1:

Проблемы с кредитными картами требуют строгих требований (Google «Соответствие PCI») к хранению данных кредитной карты.

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

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

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

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

В конце концов, если вы не имеете дело с особо большим бюджетом, вам лучше передать хранение # карты на аутсорсинг. Делать это самому — слишком большая ответственность.

(Редактировать: что касается хранения вещей в сеансе — да, вам, вероятно, это сойдет с рук, но вам, вероятно, следует избегать этого. Просто сделайте свою первоначальную аутентификацию / захват в процессе, когда будет отправлена информация CC.)

Комментарии:

1. Authorize.net имеет хороший API для регулярных платежей. Использую его сейчас. И да, мы оставляем хранение номеров наших кредитных карт на Authorize.net . В противном случае слишком много юридических рисков.

2. При выборе шлюза для хранения данных вашей кредитной карты имейте в виду, что большинство поставщиков услуг не вернут вам ваши данные, если вы захотите уйти. Мы (Braintree) внедрили стандарт переносимости данных кредитной карты для решения этой проблемы bit.ly/a2uEvm .