Пример интеграции на JavaScript
Пример интеграции с платежным шлюзом HighHelp на основе Node.js. Включает реализацию H2H-интеграции: формирование подписи запроса, вызовы API для управления платежами и выплатами, обработку оповещений.
Пример состоит из независимых скриптов для выполнения операций с API.
Требования
-
Node.js версии 18 и выше
-
npm версии 9 и выше
|
Пример проверен на указанных версиях. При использовании других версий корректность работы не гарантируется. |
Установка
Загрузка примера
Загрузите архив с примером: js_example.zip.
Шаги:
-
Распакуйте архив.
-
Откройте терминал в директории примера.
Настройка параметров
Откройте файл config.js и укажите:
-
projectId— идентификатор кассы (доступен в личном кабинете мерчанта: Кассы → ID) -
callbackUrl— URL для оповещений вашего сервиса
Настройка ключей
Для подписи запросов к API используется приватный ключ RSA. Ключ формируется при создании кассы в личном кабинете мерчанта, см. раздел Аутентификация и подпись.
Сохраните приватный ключ в файл private_key_for_api.pem в корне директории примера.
Состав примера
Пример содержит следующие скрипты:
-
banks_get.js— получение списка банков -
payment_create.js— создание заявки на оплату -
payment_get_info.js— получение статуса платежа -
payout_create.js— создание заявки на выплату -
payout_get_info.js— получение статуса выплаты -
callback_processor.js— обработчик оповещений
Каждый скрипт содержит:
-
формирование заголовков аутентификации
x-access-*; -
создание подписи запроса;
-
отправку HTTP-запроса;
-
обработку ответа.
Обработка оповещений
Настройка публичного ключа
Для проверки подписи оповещений от платежного шлюза используется публичный ключ HighHelp.
Получение ключа:
-
Откройте личный кабинет мерчанта.
-
Перейдите в раздел API → Настройки Callback.
-
Скачайте файл из блока Public Key.
Сохраните файл под именем public_key_for_callbacks.pem в корне директории примера.
Запуск обработчика
Запустите сервис обработки оповещений:
node callback_processor.js
Параметры сервиса:
-
Порт: 8000
-
Endpoint:
/callback/{status}
Сервис проверяет подпись каждого входящего оповещения и выводит результат проверки в терминал.
При корректной подписи выводится сообщение:
Signature is valid
Дополнительная информация
-
Описание механизма оповещений и формата данных — Обработка оповещений.
-
Правила аутентификации и формирования подписи — Аутентификация и подпись.