Перейти к содержимому

Начало работы

В этом гайде мы создадим и настроим свою 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 байта.
Пример генерации signKey
node -e 'console.log(require("crypto").randomBytes(16).toString("hex"))'

Каждая Gateway Connect интеграция имеет настройки, в которых описываются используемые методы, нужные параметры, интервалы опроса статуса транзакций и т.д.

В заголовке запросов используется basic авторизация.

Пример обновления настроек Gateway Connect интеграции
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 указывается уникальный идентификатор интеграции.