Принятие лучших методов оплаты - PullRequest
5 голосов
/ 09 июля 2010

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

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

Ответы [ 3 ]

3 голосов
/ 12 июля 2010

Вы захотите спроектировать свой код таким образом, чтобы ваши данные находились в действительном состоянии.

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

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

Вот что я бы сделал:

  1. Разработка таблицы базы данных, котораяотслеживает платежи (назовем это «оплата») и связываю их с вашей таблицей «заказ» (поэтому payment.order_id ссылается на order.id).
  2. Когда пришло время взаимодействовать с вашим шлюзом, настройте новыйзапись о платеже, содержащая любые нечувствительные данные, которые вы собираетесь передать в платежный шлюз.Добавьте в таблицу платежей столбец «status» и установите для него значение «pending»
  3. Попытайтесь выполнить транзакцию авторизации / захвата с вашим шлюзом.Получив ответ, измените статус записи платежа на «одобренный», «отклоненный» или «ошибка» и сохраните все соответствующие метаданные (причины отклонения, идентификатор транзакции и т. Д.).Если время ожидания шлюза истекло, возможно, это просто «ошибка», хотя вы можете повторить попытку один или два раза.и старше, скажем, 30 секунд.Если вы найдете что-либо, запаникуйте и сообщите об этом разработчику / операционному персоналу.

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

1 голос
/ 09 июля 2010

Я не эксперт по обработке платежей и разработке приложений для электронной коммерции, но некоторые из моих (здравых) рекомендаций:

  1. Принудительное использование HTTPS для предоставления информации CC от пользователей (почти все)шлюзы обработки платежей принудительно используют SSL при взаимодействии со своим шлюзом);
  2. Не хранить информацию о кредитной карте в базе данных после обработки; *
  3. Следуйте общим правилам безопасности (например, не сохранятьтекстовые пароли или пароли электронной почты);

* Примечание:

PCI позволяет разрешать хранение кредитной картыдетали после обработки, но вам нужен PCI-совместимый хостинг, который обычно довольно дорогой.И даже тогда вы рискуете.Поэтому, если вы решите предоставить своим клиентам такую ​​возможность (и я знаю, что это очень заманчиво, поскольку крупные сайты, такие как Amazon, предлагают оформление заказа «одним щелчком мыши» ), лучше убедиться, что приложение и сервер надежно заблокированы.

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

0 голосов
/ 09 июля 2010

Используйте SagePay (ранее Protx), он поддерживает PayPal и позволяет принимать платежи по карте. Он также интегрируется в Sage Suite (мечта бухгалтеров) и может автоматизировать много времени, требующего ввода данных.

www.sagepay.com

Как говорят другие - Иногда для небольших сайтов не стоит рисковать хранением карт самостоятельно. Я предпочитаю платить на веб-сайтах, где я перенаправлен на хорошо известную платежную службу (например, PayPal, SagePay или Google Checkout), поскольку я знаю, что много денег тратится на обеспечение этого программного обеспечения. Если вы веб-сайт, которым я пользуюсь в первый раз, я буду откладывать.

...