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

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

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

Требования

  • PHP версии 8.4.1 и выше

  • Composer версии 2.8.3 и выше

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

Установка

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

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

Шаги:

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

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

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

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

composer install

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

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

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

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

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

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

php banks_get.php
php payment_create.php

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

php -S localhost:8000 callback_processor.php

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

  • Порт: 8000

  • Endpoint: /callback/{status}

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

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

Signature is valid (via OpenSSL)

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