Для использования платежной системы Garanti BBVA (Sanal POS) в Mavibot необходимо получить учетные данные виртуального POS-терминала в банке и ввести их в настройках интеграции. Оплата обрабатывается на защищенной странице банка с подтверждением 3D Secure.

Получение учетных данных
Заключите договор с Garanti BBVA на услугу Sanal POS (виртуальный POS). При активации услуги попросите банк включить Ortak Ödeme (общую платежную страницу) для вашего терминала. Без этой функции платежи через платежную страницу банка работать не будут.
Банк предоставит вам:
- Merchant ID (Üye İşyeri No) — идентификатор вашего магазина;
- Terminal ID — идентификатор вашего терминала;
- Provision User ID — имя пользователя для провижина (обычно PROVAUT или PROVOOS);
- Provision Password — пароль пользователя для провижина.
Store Key (ключ 3D Secure) создается вами в панели управления Sanal POS (Yönetim → 3D Secure). Обязательно сохраните его, так как он также необходим для интеграции.
Как подключить Garanti BBVA к Mavibot?

В разделе Эквайринг в Mavibot выберите Garanti BBVA и введите следующие данные:
- Merchant ID — идентификатор вашего магазина.
- Terminal ID — идентификатор вашего терминала.
- Provision User ID — имя пользователя для провижина. Если оставить пустым, будет использовано PROVAUT.
- Provision Password — пароль пользователя для провижина.
- Store Key — ваш ключ 3D Secure.
- Store Name — название, отображаемое клиентам на платежной странице банка. Если оставить пустым, будет показано "Интернет-магазин".
- Test Mode — включите эту опцию для тестирования интеграции с использованием тестовых учетных данных банка. Для обработки реальных платежей эта опция должна быть отключена.
Интеграция завершена.
Генерация платежной ссылки
Функция калькулятора:
get_garanti_payment_url(amount, description, currency, customer_email, language)
Параметры:
| Параметр | Описание | Обязательный | Значение по умолчанию / Допустимые значения |
|---|---|---|---|
amount |
Сумма платежа. | ✅ | — |
description |
Описание платежа. | Нет | — |
currency |
Валюта платежа. | Нет |
TRY (по умолчанию). Допустимые значения: TRY, USD, EUR, GBP, JPY
|
customer_email |
Адрес электронной почты клиента. | Нет | — |
language |
Язык платежной страницы. | Нет |
tr (по умолчанию). Допустимые значения: tr, en
|
Функция возвращает платежную ссылку.
Платежная ссылка в кнопке
Чтобы отправить кнопку с платежной ссылкой, выберите тип кнопки Оплата и укажите Garanti BBVA в качестве платежного провайдера. Затем введите название товара, сумму платежа и, при необходимости, валюту платежа.
Пример 1: Настройка сценария
Шаг 1. Создайте блок Старт.

Блок Старт обычно используется для отображения первого приветственного сообщения в сценарии, а также любой вводной информации, необходимой пользователю.
Шаг 2. Создайте блок, как показано ниже.

Шаг 3. Перейдите в настройки Связи.

Вам понадобится следующее регулярное выражение для проверки того, что клиент ввел корректный адрес электронной почты:
^[-\w.]+@([A-z0-9][-A-z0-9]+.)+[A-z]{2,4}$
Также включите опцию Пользователь вводит данные и введите customer_email.
Шаг 4. Введите сообщение во втором блоке.

Шаг 5. Создайте третий блок и откройте настройки Связи между вторым и третьим блоками.

Включите таймер для автоматического перехода к следующему блоку.
Шаг 6. В третьем блоке введите функцию в Калькуляторе.

Пример для копирования:
amount = 1000
description = "Product1 is a product of great reliability!"
link = get_garanti_payment_url(amount, description, none, customer_email, none)
Если вы хотите принимать платежи в валюте, отличной от турецкой лиры (TRY), укажите валюту, как показано ниже.

Пример для копирования:
amount = 1000
description = "Product1 is a product of great reliability!"
currency = "USD"
link = get_garanti_payment_url(amount, description, currency, customer_email, none)
Пример 2. Кнопка выставления счета
Этот пример почти идентичен Примеру 1.
Однако вместо создания третьего блока с функцией для генерации платежной ссылки вы можете создать кнопку во втором блоке.

В открывшемся окне:
- Введите текст кнопки.
- Выберите функцию Выставление счета.
- Выберите Garanti BBVA в качестве платежного провайдера.

Затем введите следующее:
- Название товара.
- Сумма платежа.
- Валюта (необязательно).
- Полное имя клиента (необязательно). Вы можете настроить это так же, как настраивали ввод адреса электронной почты клиента.
-
Email клиента — введите переменную
#{customer_email}.

Затем нажмите Добавить.

Уведомления после оплаты
После того как клиент перейдет по платежной ссылке и завершит оплату, в диалог будет отправлено уведомление (callback).
При успешной оплате:
SDJ91MTKTT_success 100

Где:
-
SDJ91MTKTT— первые 10 символов вашего Store Key. -
100— сумма платежа.
Если платеж не удался, будет отправлено следующее уведомление:

SDJ91MTKTT_fail 100
Как отправить ответ на успешный или неудачный платеж
Шаг 1. Создайте блок Триггер.

Шаг 2. В поле условия введите текст уведомления SDJ91MTKTT_success — без суммы платежа — если вы хотите реагировать на каждый платеж.
В этом случае Тип совпадения должен быть установлен на По ключевым словам.

Или введите полный текст callback в поле Триггер, если вы хотите реагировать на конкретный платеж. В этом случае Тип совпадения должен быть установлен на Точное совпадение.

Если вы хотите продолжить сценарий после успешной оплаты, вы можете создать блок Старт вместо блока Триггер и продолжить построение потока вашего бота оттуда.



