Начало работы
В этом гайде мы создадим и настроим свою ecom интеграцию my_gateway.
Что вам понадобится
Заголовок раздела «Что вам понадобится»- API-ключ провайдера, спецификация его эндпоинтов и тестовые данные.
- Доступ к сервисам Reactivepay:
settings,core. Данные для авторизации ручки по обновлению настроек. - URL, по которому можно будет отправить запрос на сервер с вашей интеграцией.
Настройка мерчанта
Заголовок раздела «Настройка мерчанта»Перед тем как начать, вам необходимо создать нового мерчанта в сервисе core.
Далее, в сервисе settings нужно задать настройки для мерчанта, например:
{ "EUR": { "gateways": { "pay": { "default": "gateway" } } }, "gateways": { "allow_host2host": true, "gateway": { "class": "my_gateway", "api_key": "0266e225-4225-4ed1-94f7-1b612d15e948", "signKey": "ad526148102eff9dfa7835bf06a5a20f" } }}Эти настройки позволяют мерчанту отправлять EUR-запросы в Reactivepay, которые будут попадать в нашу интеграцию.
Поля:
class— уникальное наименование интеграции в системе. Должно совпадать сgateway_keyиз настроек интеграции.api_key— наше произвольное поле, ключ авторизации к API провайдера. Оно пригодится, когда нужно будет делать запрос к провайдеру.signKey— ключ, необходимый для подписи коллбеков. Его можно сгенерировать случайным образом, размер ключа — 32 байта.
node -e 'console.log(require("crypto").randomBytes(16).toString("hex"))'Настройка интеграции
Заголовок раздела «Настройка интеграции»Каждая Gateway Connect интеграция имеет настройки, в которых описываются используемые методы, нужные параметры, интервалы опроса статуса транзакций и т.д.
В заголовке запросов используется basic авторизация.
curl 'https://stage.business.reactivepay.com/api/v1/gateway_settings' \ -H 'Content-Type: application/json' \ -H 'Authorization: Basic YWRtaW46YWRtaW4=' \ -d '{ "my_gateway": { "bypass_processing_url": true, "callback": true, "enable": true, "full_link": "http://my_gateway:64529", "gateway_key": "my_gateway", "methods": { "pay": { "enable_status_checker": true, "final_waiting_seconds": 10, "params_fields": { "params": [], "payment": [], "settings": [] } }, "status": { "params_fields": { "params": [], "payment": [], "settings": [] } } }, "processing_method": "http_requests", "status_checker_time_rates": { "1-3": 30, "4-6": 60, "7-14": 120, "15-": 3600 } }}'Пока что нас интересуют только настройки full_link и gateway_key.
В full_link указывается base_url вашей интеграции — именно на этот URL будет обращаться Gateway Connect.
В gateway_key указывается уникальный идентификатор интеграции.
