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

Принцип работы

Обычно платежный шлюз разделен на несколько частей:

  • форма оплаты — страница на сайте продавца, которая содержит в себе HTML-форму, которая содержит в себе ряд необходимых параметров (идентификатор продавца, сумма и комментарий платежа). Активировав форму, покупатель перенаправляется на сам платежный шлюз;
  • страница оплаты — страница или набор страниц, на которых покупатель повторно видит данные о покупке, ему предоставляется возможность отказаться от платежа, авторизироваться или выбрать определенные опции. Действия, которые необходимо выполнить для удачного завершения покупки, целиком зависят от платежной системы;
  • страницы статуса платежа («Success URL» и «Fail URL») — страницы на сайте продавца, на которые перенаправляется покупатель в случае удачного или неудачного завершения процесса оплаты;
  • страница результата платежа («Result URL») — страница на сайте продавца, вызываемая ботом платежного шлюза вне зависимости от действий покупателя (даже если у покупателя прервется соединение после оплаты и он не сможет перейти на страницу статуса платежа, страница результата платежа будет вызвана). Страница результата платежа принимает данные о прошедшей платежной операции и именно на этом этапе должны вносится необходимые изменения, связанные с данным платежом.

Безопасность

  • Поскольку от покупателя обычно требуется внести личную информацию, вся коммуникация на странице оплаты (то есть покупатель — платежный шлюз) осуществляется по протоколу HTTPS.
  • Для подтверждения оригинальности запроса на страницу результата платежа, обычно используется подпись запроса — результат функции хеширования в которую передали параметры запроса с неким «секретным словом», известным только продавцу и платежному шлюзу.
  • Для подтверждения оригинальности запроса на страницу результата платежа, иногда используется проверка IP запросившего сервера.

Примеры

Для примера рассмотрим только несколько платежных шлюзов, которые являются яркими представителями разных подходов к реализации шлюза в различных платежных системах.

«PayPal»

«Website Payments Standard» от платежной системы PayPal:

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

«Webmoney»

«Webmoney Merchant» от платежной системы Webmoney:

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

«SMSCOIN»

«sms:bank» от платежной системы SMSCOIN:

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

Преимущества

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