Для взаимодействия с hpd в разделе "Администрирование" ЛК ПС ROBOKASSA необходимо установить следующие данные:
*Result URL* --- URL на сервере hpd, обслуживающего ПС ROBOKASSA, в виде _http\[s\]://server:port/rkassa_. |
Часть 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 следующего вида:
_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-документ следующего вида:
<?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 описан в технической документации на сайте ПС.