Пример интеграции на JavaScript

Пример интеграции с платежным шлюзом HighHelp на основе Node.js. Включает реализацию H2H-интеграции: формирование подписи запроса, вызовы API для управления платежами и выплатами, обработку оповещений.

Пример состоит из независимых скриптов для выполнения операций с API.

Требования

  • Node.js версии 18 и выше

  • npm версии 9 и выше

Пример проверен на указанных версиях. При использовании других версий корректность работы не гарантируется.

Установка

Загрузка примера

Загрузите архив с примером: js_example.zip.

Шаги:

  1. Распакуйте архив.

  2. Откройте терминал в директории примера.

Установка зависимостей

Выполните команду:

npm install

Настройка параметров

Откройте файл 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-запроса;

  • обработку ответа.

Запуск примеров

Выполнение операций API

Запуск скрипта:

node banks_get.js
node payment_create.js

Скрипт выполняет запрос к API и выводит результат в терминал.

Результат выполнения

При успешном выполнении скрипт выводит:

  • тело запроса;

  • ответ сервера.

При ошибке выводится информация об ошибке.

Обработка оповещений

Настройка публичного ключа

Для проверки подписи оповещений от платежного шлюза используется публичный ключ HighHelp.

Получение ключа:

  1. Откройте личный кабинет мерчанта.

  2. Перейдите в раздел APIНастройки Callback.

  3. Скачайте файл из блока Public Key.

Сохраните файл под именем public_key_for_callbacks.pem в корне директории примера.

Запуск обработчика

Запустите сервис обработки оповещений:

node callback_processor.js

Параметры сервиса:

  • Порт: 8000

  • Endpoint: /callback/{status}

Сервис проверяет подпись каждого входящего оповещения и выводит результат проверки в терминал.

При корректной подписи выводится сообщение:

Signature is valid

Дополнительная информация