Создание коннектора платежного шлюза

Раздел Платежные шлюзы доступен только корневому реселлеру инсталляции.

Чтобы создать коннектор платежного шлюза:

  1. Войдите в Панель управления Оператора на уровне корневого реселлера.
  2. Перейдите в раздел Платежные шлюзы (см. Навигация по Панели управления Оператора). Отобразится список коннекторов (см. Просмотр списка коннекторов платежных шлюзов).
  3. Нажмите Создать. Отобразится страница Новый коннектор платежных шлюзов.



  4. В поле Название введите имя коннектора, которое, в частности, будет отображаться при создании способа оплаты (см. Создание способа оплаты).
  5. В поле URL коннектора введите URL, на который платформа должна отправлять запросы при работе с платежным шлюзом. Пример: https://gateway.example.com
  6. Задайте ключ хеш-функции подходящим способом:

    Значение ключа хеш-функции используется для подписания запросов и ответов, которые платформа отправляет на сторону платежного шлюза. Подпись передается в заголовке в параметре X-Signature и представляет собой hex-строку из конкатенированных полей и их значений в запросе, к которым применена HMAC-функция. Пример см. в Gateway signing mechanism.

    В платформе можно создать несколько коннекторов платежного шлюза с одинаковым ключом хеш-функции.

    • Если нужно создать коннектор, который будет использовать существующий ключ вместе с другими коннекторами, в поле Ключ хэш-функции введите используемое значение ключа.
    • Если нужно создать коннектор с новым ключом, оставьте поле Ключ хэш-функции пустым. Платформа автоматически сгенерирует ключ в процессе создания коннектора. Просмотреть и изменить ключ можно позже (см. Просмотр и обновление информации о коннекторе платежных шлюзов).
  7. Если требуется, в поле Период обработки платежа введите число минут, по истечении которых платеж в статусе Обрабатывается должен вернуться в предыдущий статус, если от платежного шлюза для него не получен результат оплаты.

    Платеж в статусе отличном от Обрабатывается не меняет статус по истечении таймера Период обработки платежа.

    Если от платежного шлюза получен результат оплаты для платежа уже после истечения таймера Период обработки платежа, платеж в статусе Ожидает оплаты или Просрочен ведет себя следующим образом:

    • Если оплата прошла успешно, платеж переходит в статус Завершен. Если клиент успел инициировать повторную оплату по этому платежу до перехода в статус Завершен:
      • Если повторная оплата прошла успешно, платеж остается в статусе Завершен. Сумма повторной оплаты возвращается на баланс клиента.
      • Если результат повторной оплаты отличен от успешного, платеж остается в статусе Завершен. В карточке платежа в Панели управления Клиента описание ошибки, полученное от платежного шлюза, не отображается.
    • Если результат оплаты отличен от успешного, платеж остается в статусе Ожидает оплаты или Просрочен. В карточке платежа в Панели управления Клиента отображается описание ошибки, полученное от платежного шлюза.
  8. В поле JSON схема укажите спецификацию данных в формате JSON для описания настроек коннектора. Значения настроек указываются позже при создании способа оплаты (см. Создание способа оплаты).

    JSON-схема — это массив объектов, описывающий настройки коннектора. Он содержит типы полей, требования к их значениям и порядок отображения соответствующих HTML-элементов (текстовое поле, флажок, список и т.д.) в группе Настройки коннектора на странице способа оплаты с типом интеграции External Payment Gateway (см. Создание способа оплаты).

    В JSON-схеме поддерживаются следующие поля:

    Название поля

    Тип поля

    Обязательный

    Уникальный

    Описание

    typeStringДаНет

    Тип HTML-элемента:

    • string — однострочное текстовое поле.
    • password — однострочное текстовое поле для ввода пароля. Вводимые символы маскируются.
    • text — многострочное текстовое поле.
    • select — список для выбора одного из значений, указанных в параметре options.
    • radio — группа кнопок-переключателей для выбора одного из значений, указанных в параметре options.
    • checkbox — группа флажков для выбора любых значений, указанных в параметре options..
    keyStringДаДаКлюч поля
    labelStringДаДаПодпись к HTML-элементу
    hintStringНетНетТекст подсказки, который отображается при наведении на иконку возле подписи к HTML-элементу. Иконка отображается, если поле hint непустое
    requiredBooleanДаНетПризнак обязательности заполнения
    default_valueStringНетНетПредустановленное по умолчанию значение. Для типов select, radio, checkbox значение поля должно совпадать с value одного из параметров options
    optionsArray of ObjectsНетНет

    Массив объектов для формирования списка значений. Только Для типов select, radio, checkbox. Каждый объект состоит из следующих полей:

    Название поляТип поляОбязательныйОписание
    valueStringДаЗначение элемента списка
    nameStringДаОтображаемое название элемента списка
    priorityNumberНетДаПриоритет отображения. Поля с меньшим значением priority отображаются выше

    Пример JSON-схемы:

    [ { "type": "string", "key": "api_username", "label": "API Username", "hint": "Your PayPay Username", "required": true, "default_value": "", "options": [], "priority": 1 }, { "type": "password", "key": "api_password", "label": "API Password", "hint": "Your PayPay Password", "required": true, "default_value": "", "options": [], "priority": 2 }, { "type": "select", "key": "integration_type", "label": "Integration Type", "hint": "Your Integration Type", "required": true, "default_value": "type-1", "options": [ { "value": "type-1", "name": "Type 1" }, { "value": "type-2", "name": "Type 2" } ], "priority": 3 } ]

    Пример отображения настроек коннектора согласно схеме:

  9. Если требуется, в поле Static JSON укажите статическую схему настроек коннектора в формате JSON. Это общие настройки, которые используются для всех способов оплаты при работе с платежным шлюзом (например, параметры авторизации).
  10. Нажмите Создать. Платформа выполнит валидацию JSON-схем:
    • Если JSON-схема валидна, отобразится список с созданным коннектором платежных шлюзов.
    • Если JSON-схема невалидна, отобразится сообщение с описанием проблемы.