Как это работает
Обычные платежи работают из HPAY, в hydra-payments (HUPO) их не добавляли. Автоплатёж работает в hydra-payments (HUPO): ЛК редиректит пользователя для инициализационной оплаты в ПС, после успеха пользователь видит в ЛК какое-то время "Автоплатёж настраивается", HPD периодически забирает платежи из ПС и, встретив инициализационный платёж для подписки, активирует её.
Фискализация для автоплатежей включается в ЛК.
Пример настройки стыковки с Assist, включая автоплатежи:
HPD
С HPD-499 (версия hpd - 6.2.0.16) интеграция использует вебхуки для подтверждения платежей. Адрес для отправки вебхуков: /assist/<instance_name>/confirm_payment
.
plugins: assist: main: merchant_id: login: password: recurrent_enabled: true request_period: 600 # seconds, minimum 600 bank_code: Assist bank_account: currency: RUB base_url: https://payments.demo.paysecure.ru cancel_path: /cancel/wscancel.cfm recurrent_path: /recurrent/rp.cfm test_mode: false root_certificates: [] secret_key: '' # secret for webhooks signature validation. Supports only MD5. # type of response to webhook accepted by assist # possible values: 'xml', 'http_ok' wh_response_type: 'xml' listeners: http: plain: plugins: [assist/main] tracking: assist: plugins: [assist/main] workers: - listeners: [http/plain, tracking/assist]
Параметр wh_response_type должен соответсвовать параметру "Вид ответа мерчанта" в платежной системе. Значению 'HTTP 200' в системе соответствует значение 'http_ok' в конфиге hpd, а значению 'Стандартный пакет' - 'xml'. Значение по-умолчанию в платежной системе для тестового окружения - 'HTTP 200', для продуктового - 'Стандартный пакет'.
HUPO
payments: atu_gateway: assist gateways: assist: default: hpd_url: http://127.0.0.1:9080 hpd_plugin_name: assist hpd_plugin_instance: main hpd_secret: secret conditions_url: /conditions.txt amount: 1 currency: RUB merchant_id: pay_url: https://payments.demo.paysecure.ru/pay/order.cfm fiscal_mode: true receipt_name: Услуги связи recurring_period: 28 # period of recurring payments, days (the parameter is purely informational)