Итак, в индустрии кредитных карт есть нечто, называемое PCI-соответствием.Посмотрите https://www.pcisecuritystandards.org/ или какой-либо другой такой сайт для получения дополнительной информации.Существует довольно много требований к хранению / обработке данных кредитных карт самостоятельно.Вместо этого вы можете использовать такую компанию, как http://www.chargify.com, которая позаботится о соответствии PCI для вас.Они предоставляют модуль обработки для ссылки на вашей веб-странице.Данные никогда не пересекают ваши серверы, пока не будут обработаны.Тогда вам будут выдаваться такие вещи, как информация о клиенте, токен повторяющегося платежа, если вы хотите настроить подписки.
РЕДАКТИРОВАТЬ: Итак, исходя из ваших комментариев, вот что я сделал впара мест.Обычно мы создаем пользовательскую запись с любыми пользовательскими данными, которые мы хотим иметь до отправки платежа.Мы также создаем все записи транзакций перед отправкой данных cc - минус конечный результат транзакции.Таким образом, если в вашей системе произойдет сбой, вы еще не прикоснулись к кредитной карте.Шлюзы взимают за возврат.Все ждут, когда будет установлен один или два флага.Получите полномочия на начисление, получите подтверждение от клиента, а затем завершите транзакцию.Если по какой-либо причине транзакция не удалась, у вас есть вся информация, необходимая для сброса их страниц ... кроме информации о кредитной карте.
Что касается информации о транзакции, обязательно сохраните статус и ссылочный номер.Ваши финансовые специалисты оценят возможность привязывать конкретные транзакции к конкретным записям в отчетах шлюза cc.Что касается дополнительной информации о транзакциях, я обнаружил, что в целом никто не использует ее снова ... если вы не хотите оценить, как часто ваш шлюз отклоняет карты.Если он сильно задыхается от информации об адресе, вы можете переключить шлюзы.