Протокол взаимодействия с плагином Hydra полностью повторяет протокол ОСМП для взаимодействия с провайдерами.
Единственное отличие от протокола ОСМП: тег osmp_txn_id с идентификатором транзакции переименован в txn_id.
URL для обращения: http[s]://server:port/hydra
Дополнительные возможности
В дополнение к базовым возможностям протокола ОСМП платежная система Hydra умеет:
- Проводить платежи от имени других платежных систем.
- Формировать уникальный идентификатор транзакции для платежных систем, которым это необходимо.
Проведение платежей от имени другой платежной системы
Для того, чтобы проводить платежи от имени других платежных систем, необходимо передавать в URL несколько дополнительных параметров - bank_code, to_account, pay_type.
URL будет иметь следующий вид: http://server:port/hydra?command=check&bank_code=*BankCode*&account=*customerNumber*&pay_type=*RMM_KIND_PaySys*&sum=*Sum*
Формирование уникального идентификатора транзакции
Для получения уникального внутреннего номера покупки продавца и проверки идентификационных данных в АСР "Гидра" перед запросом платежа следует использовать специальный внутренний HTTP-запрос к hpd (ПС Hydra) из скриптов на сайте оператора по URL следующего вида:
http[s]://server:port/hydra?command=check&bank_code=BankCode&account=customerNumber&sum=Sum, где BankCode — код соответствующего банка в АСР "Гидра", customerNumber, Sum — идентификационные данные и сумма платежа соответственно. Часть 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 — уникальный внутренний номер покупки продавца (параметр orderNumber), Result, Comment — код и комментарий результата соответственно.
Коды результата (Result):
Код |
Описание |
---|---|
0 |
Проверка успешна |
1 |
Внутренняя ошибка |
4 |
Неверный формат идентификационных данных |
5 |
Идентификационные данные неверны |
300 |
Другая ошибка |