Пример интеграции на PHP
Пример интеграции с платежным шлюзом HighHelp на основе PHP. Включает реализацию H2H-интеграции: формирование подписи запроса, вызовы API для управления платежами и выплатами, обработку оповещений.
Пример состоит из независимых скриптов для выполнения операций с API.
Требования
-
PHP версии 8.4.1 и выше
-
Composer версии 2.8.3 и выше
|
Пример проверен на указанных версиях. При использовании других версий корректность работы не гарантируется. |
Установка
Загрузка примера
Загрузите архив с примером: php_example.zip.
Шаги:
-
Распакуйте архив.
-
Откройте терминал в директории примера.
Настройка параметров
Откройте файл config.php и укажите:
-
project_id— идентификатор кассы (доступен в личном кабинете мерчанта: Кассы → ID). -
callback_url— URL для оповещений вашего сервиса.
Настройка ключей
Для подписи запросов к API используется приватный ключ RSA. Ключ формируется при создании кассы в личном кабинете мерчанта, см. раздел Аутентификация и подпись.
Сохраните приватный ключ в файл private_key_for_api.pem в корне директории примера.
Состав примера
Пример содержит следующие скрипты:
-
banks_get.php— получение списка банков -
payment_create.php— создание заявки на оплату -
payment_get_info.php— получение статуса платежа -
payout_create.php— создание заявки на выплату -
payout_get_info.php— получение статуса выплаты -
callback_processor.php— обработчик оповещений
Каждый скрипт содержит:
-
формирование заголовков аутентификации
x-access-*; -
создание подписи запроса;
-
отправку HTTP-запроса;
-
обработку ответа.
Обработка оповещений
Настройка публичного ключа
Для проверки подписи оповещений от платежного шлюза используется публичный ключ HighHelp.
Получение ключа:
-
Откройте личный кабинет мерчанта.
-
Перейдите в раздел API → Настройки Callback.
-
Скачайте файл из блока Public Key.
Сохраните файл под именем public_key_for_callbacks.pem в корне директории примера.
Запуск обработчика
Запустите сервис обработки оповещений:
php -S localhost:8000 callback_processor.php
Параметры сервиса:
-
Порт: 8000
-
Endpoint:
/callback/{status}
Сервис проверяет подпись каждого входящего оповещения и выводит результат проверки в терминал.
При корректной подписи выводится сообщение:
Signature is valid (via OpenSSL)
Дополнительная информация
-
Описание механизма оповещений и формата данных — Обработка оповещений.
-
Правила аутентификации и формирования подписи — Аутентификация и подпись.