Настройка ЛК для взаимодействия с hpd

Для взаимодействия с hpd в разделе "Администрирование" ЛК ПС ROBOKASSA необходимо установить следующие данные:

Часть URL _http\[s\]://server:port_ *Result URL* соответствует серверу *hpd*, обслуживающему ПС *ROBOKASSA*. *Пароль #2* необходимо сохранить в конфиге *hpd*.

Из-за ограничений ПС ROBOKASSA все URL в разделе "Администрирование" ЛК ПС ROBOKASSA должны быть на том же сайте, что и URL сайта продавца (указывается в разделе "Регистрационные данные" ЛК ПС ROBOKASSA). Поэтому чтобы запросы от ПС ROBOKASSA доходили до АСР "Гидра", необходимо сделать проброс любого внешнего порта с сервера сайта продавца на порт сервера, где запущен hpd. Лучше, чтобы это делалось через внутренний VLAN.

Настройка скриптов на сайте оператора

Из-за вышеописанных ограничений на URL в разделе "Администрирование" ЛК ПС ROBOKASSA значения URL для Success URL и Fail URL также должны быть на том же сайте, что и URL сайта продавца.

Для передачи идентификационных данных абонента, например лицевого счета, в запросах к ПС ROBOKASSA следует использовать пользовательский параметр ShpAccount.

Для получения уникального номер счета в магазине (параметр InvId в запросах к ПС ROBOKASSA) и проверки идентификационных данных в АСР "Гидра" перед отображением платежной формы или инициализацией оплаты следует использовать специальный внутренний HTTP-запрос к hpd из скриптов на сайте оператора по URL следующего вида:

_http\[s\]://server:port/hydra?command=check&bank_code=*BankCode*&account=*ShpAccount*&sum=*OutSum*_, где *BankCode* --- код банка ПС *ROBOKASSA* в АСР "*Гидра*", ShpAccount, OutSum --- идентификационные данные и сумма платежа соответственно. Часть URL _http\[s\]://server:port_ соответствует серверу *hpd*, обслуживающему запросы на проверку идентификационных данных.

По результатам HTTP-запроса hpd возвращает XML-документ следующего вида:

<?xml version="1.0" encoding="utf-8"?>
<response>
  <txn_id>*TxnID*</txn_id>
  <result>*Result*</result>
  <comment>*Comment*</comment>
</response>

TxnID — уникальный номер счета в магазине (следует использовать в качестве значения параметра InvId в запросах к ПС ROBOKASSA), Result, Comment — код и комментарий результата соответственно.

Коды результата (Result):

Код

Описание

0

Проверка успешна

1

Внутренняя ошибка

4

Неверный формат идентификационных данных

5

Идентификационные данные неверны

300

Другая ошибка

В случае, если предварительную проверку идентификационных данных в АСР "Гидра" не производить, платеж по неверным данным остановится при оповещение об оплате.

Подробно механизм взаимодействия с ПС ROBOKASSA описан в технической документации на сайте ПС.