Настройка ЛК для взаимодействия с hpd
Для взаимодействия с hpd в разделе "Администрирование" ЛК ПС ROBOKASSA необходимо установить следующие данные:
- Пароль #2 — любая комбинация символов, например QlMvetxIj6UQMFOz.
Wiki Markup *Result URL* --- URL на сервере hpd, обслуживающего ПС ROBOKASSA, в виде _http\[s\]://server:port/rkassa_.
- Метод отсылки данных по Result URL — GET
Wiki Markup |
---|
Часть 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.
Для проверки идентификационных данных в АСР "Гидра" перед отображением платежной формы или инициализацией оплаты следует использовать специальный внутренний HTTP-запрос к hpd из скриптов на сайте оператора по URL следующего вида:
Wiki Markup |
---|
_http\[s\]://server:port/hydra?command=check&txn_id=*InvId*&account=*ShpAccount*&sum=*OutSum*_, где *InvId* --- идентификатор транзакции (соответствует значению параметра _InvId_ в запросе к ПС *ROBOKASSA*), ShpAccount, OutSum — идентификационные данные и сумма платежа соответственно. Часть URL _http\[s\]://server:port_ соответствует серверу *hpd*, обслуживающему запросы на проверку идентификационных данных. |
По результатам HTTP-запроса hpd возвращает XML-документ следующего вида:
Code Block | ||||
---|---|---|---|---|
| ||||
<?xml version="1.0" encoding="utf-8"?> <response> <txn_id>*TxnID*</txn_id> <result>*Result*</result> <comment>*Comment*</comment> </response> |
TxnID — идентификатор транзакции, переданной в запросе, Result, Comment — код и комментарий результата соответственно.
Коды результата (Result):
Код | Описание |
---|---|
0 | Проверка успешна |
1 | Внутренняя ошибка |
4 | Неверный формат идентификационных данных |
5 | Идентификационные данные неверны |
300 | Другая ошибка |
Подробно механизм взаимодействия с ПС ROBOKASSA описан в технической документации на сайте ПС.