Как подключить онлайн-оплату -- ЮKassa, Т-Банк, CloudPayments, Payselection
Онлайн-оплата позволяет гостю пополнить депозит прямо из Gizmo Client — картой, через СБП или другими способами, которые поддерживает платёжный сервис. Онлайн-способом также можно оплатить продажу или бронирование в Gizmo Manager. Инструкция описывает подключение четырёх провайдеров, которые работают в России.
Что нужно заранее
Учётная запись у платёжного провайдера.
Gizmo Server доступен из интернета: белый статический IP-адрес или доменное имя, проброс порта на роутере и, для большинства провайдеров, доступ по https. Подробнее — в разделе «Что нужно для онлайн-оплаты» инструкции «Как настроить способы оплаты» и в статье «Проброс портов -- как и зачем».
Платёжный сервис сообщает серверу Gizmo о каждой оплате на callback-адрес такого вида:
https://<адрес сервера>:<порт>/api/payments/<провайдер>/callback
где <адрес сервера> — белый IP-адрес или доменное имя сервера, <порт> — внешний порт, проброшенный на Gizmo Server, а <провайдер> — yookassa, tinkoff, cloudpayments или payselection.
Шаг 1. Настройте магазин в личном кабинете провайдера
Для клиентов Gizmo у ЮKassa есть специальные условия по комиссии — они действуют при регистрации по партнёрской ссылке.
Сервер должен быть доступен из интернета по https; для проброса подходят порты 443 и 8443.
Создайте магазин по инструкции ЮKassa. Если у клуба есть сайт или страница в соцсети с тарифами, укажите, что платежи принимаются «на сайте», иначе — «другое».
Откройте Интеграции → HTTP-уведомления, нажмите Изменить настройки и укажите callback-адрес
https://<адрес сервера>:<порт>/api/payments/yookassa/callback. Отметьте все события и сохраните.Откройте Интеграции → Ключи API, нажмите Выпустить ключ и следуйте подсказкам. Сохраните ключ в надёжном месте — ЮKassa показывает его только один раз. Перепишите и shopId магазина.
Чтобы принимать оплату через СБП, откройте Организация → Реквизиты и договор и проверьте в разделе Комиссии подключённые способы оплаты. СБП по умолчанию выключен — подключите его по ссылке в этом разделе или через менеджера ЮKassa.
Сервер должен быть доступен из интернета по https. Если сервер за NAT, внешний порт пробрасывается на порт Gizmo Server; Т-Банк принимает порты 80, 82, 443, 5000, 8080, 8081, 885, 9443, 1444 и 9090.
Войдите в личный кабинет Т-Банка и откройте Интернет-эквайринг → Магазины. Нажмите Создать магазин и заполните поля. В поле Сайт укажите ссылку на страницу с правилами и тарифами клуба.
Откройте Магазины → Терминалы, перейдите в настройки тестового терминала и укажите callback-адрес
https://<адрес сервера>:<порт>/api/payments/tinkoff/callback.Перепишите TerminalID и пароль тестового терминала и укажите их в Gizmo — см. шаг 2 ниже.
Пройдите обязательное тестирование: Интернет-эквайринг → Магазины → Терминалы → Тестировать и выполните все тесты по подсказкам в кабинете. Для тестов пополняйте депозит гостя из Gizmo Client на игровом пк. После успешных тестов станет доступен рабочий терминал.
Нажмите Настроить у рабочего терминала и укажите тот же callback-адрес.
Перепишите TerminalID и пароль рабочего терминала и замените ими данные тестового терминала в Gizmo.
Оплата через СБП. Если в магазине настроен СБП, при оплате гость сразу попадает в приложение своего банка по QR-коду или кнопке. Если СБП не настроен, открывается стандартная платёжная страница Т-Банка с вводом карты, T-Pay и другими способами. Чтобы включить СБП:
Откройте Интернет-эквайринг → Магазины → Интернет-магазины и выберите магазин.
Перейдите в Приём оплаты, выберите Своя платёжная форма и нажмите Настроить.
Включите нужные способы оплаты — как минимум СБП.
Если онлайн-оплаты через Т-Банк не проходят с ошибкой SSL-соединения, установите на сервер российские корневые сертификаты — см. «Онлайн-платежи не проходят -- как установить российские корневые сертификаты».
Войдите в личный кабинет CloudPayments, откройте Сайты и нажмите Добавить сайт.
Заполните поля:
Название сайта — понятное название, например название и адрес клуба, если клубов несколько;
Адрес — доменное имя или белый IP-адрес сервера клуба;
включите Не проверять доступность сайта.
Нажмите Добавить, затем откройте настройки созданного сайта (значок шестерёнки).
Включите уведомления Pay и Fail и в их поля Адрес введите callback-адрес
https://<адрес сервера>:<порт>/api/payments/cloudpayments/callback. CloudPayments принимает и адрес сhttp://, если сервер доступен из интернета только по http.При желании включите приём оплаты через Yandex Pay — опция внизу страницы.
Нажмите Сохранить уведомления и перепишите Public ID и пароль для API.
Зарегистрируйтесь в Payselection и войдите в личный кабинет.
В поле URL оповещения укажите callback-адрес
https://<адрес сервера>:<порт>/api/payments/payselection/callback.Перепишите ID сайта и секретный ключ.
Шаг 2. Создайте онлайн-способ оплаты в Gizmo
Откройте Настройки → Финансовый → Способы оплаты, в блоке Дополнительные способы оплаты нажмите + Создать способ оплаты и выберите В сети.
На странице Провайдеры платежей нажмите на карточку провайдера: YooKassa, Tinkoff, Cloud Payments или Pay Selection.
Заполните поля провайдера значениями из личного кабинета:
Заполните общие поля способа оплаты:
Имя — как способ оплаты будет называться в интерфейсе;
Менеджер и Клиент — где способ доступен;
Фискальный и Вид платежа фискального чека — нужно ли пробивать чек кассой клуба (см. шаг 3).
Сохраните.
Поля всех провайдеров — в статье «Карточка способа оплаты».
Шаг 3. Настройте фискализацию онлайн-платежей
Решите, кто пробивает чек по онлайн-платежу: касса клуба или облачная касса провайдера. Как настроить каждый вариант — в разделе «Фискализация онлайн-платежей» статьи «Фискализация чеков в РФ».
Шаг 4. Настройте пополнение депозита в клиентской оболочке
Задайте минимальную и максимальную сумму пополнения и суммы-шаблоны — см. шаг 4 инструкции «Как настроить способы оплаты».
Результат
Гость пополняет депозит из Gizmo Client через выбранный платёжный сервис, а Gizmo получает подтверждение оплаты по callback-адресу и зачисляет деньги на депозит.
Если оплата не проходит, проверьте:
callback-адрес в кабинете провайдера: адрес сервера, порт и название провайдера в пути;
проброс порта и доступность сервера из интернета по https;
значения полей провайдера в Gizmo — их легко перепутать при копировании.