Настройка приема платежей на сайте. Цикл статей

Share

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

Механизм работы всех систем примерно одинаков, есть форма создания заказа (описание заказа, стоимость), есть ключи или специальные идентификаторы для обеспечения безопасности при передаче/обработке данных, есть Result URL — ссылка на которую платежная система отправит данные после успешной оплаты, а также некоторые системы имеют Success URL и Fail URL, ссылки на которые будет перенаправлен пользователь, соответственно, после успешной оплаты или возникновения ошибки.  Стоит обязательно отметить, что на Success URL пользователь также попадает и после успешной выписки счета, например, реквизитов для перевода Western Union, то есть переход по ссылке в данной настройке нельзя интерпретировать как удачную оплату, проверять прошла оплата или нет, нужно только через Result URL.

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

  1. Настройка магазина в платежной системе — заполнения всех необходимых данных о магазине, название, описание, контактная информация, а также технические настройки, среди них секретные коды, специальные уникальные идентификаторы и ссылки для уведомление о платежах.
  2. Создание формы оплаты заказа — форма, которая посылает все данные о заказе на файл-обработчик платежной системы. В форме нужно передать сумму заказа, уникальный идентификатор платежа в нашей системе, его описание, а также системные данные, такие как идентификатор нашего магазина, номер кошелька, публичный ключ безопасности.
  3. Создание необходимых страниц — во-первых, это создание страницы обработчика, то есть страницы, которая будет получать данные от платежной системы о успешной оплате заказа и проверять их подлинность, ссылку на эту страницу мы соответственно укажем в поле Result URL или URL для уведомлений. Также необходимо создать информационные страницы, ссылки на которые нужно будет указать в полях Success URL и Fail URL.
  4. Совершить пробный платеж и перевести магазин из тестового режима в рабочий, если он еще не переведен.

На этом разбор основных моментов закончен, далее подробно будет рассмотрено подключение той или иной системы с исходниками:

  1. Robokassa
  2. Interkassa
  3. Z-Payment
  4. QIWI
  5. Яндекс.Деньги
  6. Webmoney