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

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

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

  • адрес покупателя
  • Пользовательский ИД
  • IP-адрес клиента
  • описание
  • электронное письмо
  • имя и фамилия
  • номер счета и номер заказа
  • налоговый и налоговый статус
  • номер транзакции

Ниже перечислены некоторые поля ответа, которые, как мне кажется, обычно возвращаются на веб-сайт:

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

Я хотел бы узнать:

  1. Какие данные вы бы обрабатывали внутри компании, не отправляя их на шлюз?
  2. Какие данные вы бы направили через шлюз перед обработкой?
  3. Какие ответы вы бы использовали для дальнейшей обработки?
  4. Какие ответы вы бы сохранили для использования в будущем и почему?

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

Чтобы начать движение, позвольте мне попытаться

  1. Какие данные вы бы обрабатывали внутри компании, не отправляя их на шлюз?

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


person Question Overflow    schedule 29.10.2011    source источник


Ответы (1)


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

РЕДАКТИРОВАТЬ: Итак, основываясь на ваших комментариях, вот что я сделал в нескольких местах. Обычно мы создаем запись пользователя с любыми пользовательскими данными, которые нам нужны, до отправки платежа. Мы также создаем все записи транзакций перед отправкой данных копии за вычетом окончательного результата транзакции. Таким образом, если в вашей системе произойдет сбой, вы еще не коснулись кредитной карты. Шлюзы взимают плату за возврат. Все ждут, когда установят один или два флага. Получите право взимать плату, получите подтверждение от клиента, затем завершите транзакцию. Если по какой-то причине транзакция не удалась, у вас есть вся информация, необходимая для сброса их страниц ... кроме информации о кредитной карте.

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

person Kris Robison    schedule 29.10.2011
comment
Да, я понимаю, что это требование соответствия PCI. Один из способов полностью избежать такой проблемы - разрешить платежному шлюзу разместить платежную форму. Я спрашиваю, что я хочу разместить платежную форму. Я знаю, что хранить полный номер карты и CCV нельзя. В любом случае мой вопрос не об этом. - person Question Overflow; 29.10.2011
comment
Я думал над твоим ответом и думал, как подойти к ситуации. Как вы думаете, мне следует хранить все транзакции, вызывающие ошибку, вместе с кодом ошибки и идентификатором транзакции в отдельной таблице для устранения неполадок? Как вы поступаете в случае возврата платежа от клиента? Спасибо. - person Question Overflow; 31.10.2011
comment
Вы можете переместить неудавшиеся транзакции в отдельную таблицу. Это, безусловно, полезно вначале. Если вы это сделаете, я бы подумал о том, чтобы сделать это как автономную пакетную задачу. Для возвратных платежей я создал страницу для внутреннего использования, которая позволяет внутреннему лицу, обычно уполномоченному финансовому лицу, оформлять возвратный платеж через систему. Таким образом создается встречная транзакция, которая по-прежнему позволяет выполнять любую требуемую обработку признания выручки. - person Kris Robison; 31.10.2011
comment
Извините, я не совсем понимаю, что касается возвратных платежей. Допустим, клиент оспаривает определенную транзакцию. Банк информирует финансовый отдел, как вы на основании имеющихся у вас данных проверяете, действительна ли такая претензия? И когда возвратный платеж одобрен, что происходит с конкретной строкой в ​​таблице транзакций? Есть ли у вас автоматизированный способ справиться с этим? - person Question Overflow; 01.11.2011
comment
Когда клиент оспаривает платеж, лучшее, что вы можете сделать, - это подтвердить, что система обработала платеж в конкретную дату и была проверена с помощью методов адреса и ccv. Полезно предоставить вашей команде экран для поиска данных по ссылочному номеру. На этом этапе мы предложили интерфейс, который позволял авторизованным пользователям одобрять возврат платежа. система создаст новую транзакцию, которая удалит баланс и будет ссылаться на исходную транзакцию. он также выполнит возврат платежа и сохранит новый ссылочный номер вместе с новой транзакцией. - person Kris Robison; 01.11.2011
comment
Допустим, фильтр CCV включен, и транзакция одобрена на основе совпадения. Есть ли у продавца возможность оспорить действительность такого возвратного платежа? - person Question Overflow; 01.11.2011