Razorpay

Razorpay — платёжный шлюз, распространённый в Индии. Через него платят картами, из интернет-банка, по UPI и электронными кошельками.

внимание

Публикация в вебе с включённым Razorpay сейчас закрыта из-за регуляторных ограничений.

инфо
Что нужно заранее
  1. Пройдено подключение Firebase.
  2. Включена аутентификация Firebase.
  3. Проект Firebase переведён на тариф Blaze — платёж обрабатывается облачной функцией.

Как подключить

Четыре шага:

  1. Настроить Razorpay
  2. Добавить действие оплаты
  3. Проверить
  4. Перейти на боевые ключи

1. Настройка Razorpay

Нужно завести аккаунт, включить тестовый режим, получить ключи и добавить их в проект.

внимание

Сначала всегда проверяйте оплату в тестовом режиме — ниже речь именно о тестовых ключах.

  1. Заведите аккаунт Razorpay или войдите в существующий.

  2. Включите Test Mode — в нём платежи проходят без реальных денег.

    Включение тестового режима в панели Razorpay

  3. В меню слева выберите Account & Settings, затем в секции Website and app settings — API keys.

  4. Если Razorpay попросит адрес сайта, а приложение ещё не опубликовано, временно выложите его на поддомен через публикацию в вебе. Потом адрес можно поменять и во FlutterFlow, и в Razorpay.

    Запрос адреса сайта в Razorpay

  5. Нажмите Generate Test Key и скопируйте Key Id и Key Secret. Чтобы выпустить новые, нажмите Regenerate Test Key и выберите, что делать со старым ключом.

    Генерация тестового ключа

  1. Во FlutterFlow откройте Settings and Integrations > In App Purchases & Subscriptions > Razorpay и включите Enable Razorpay Payments.
  2. В секцию Test Credentials вставьте Key ID и Key Secret.
  3. Заполните Business Name.
  4. Нажмите Deploy.

Кнопка Deploy в настройках Razorpay

2. Действие Razorpay Payment

  1. Выберите виджет — например, кнопку оформления заказа.

  2. В панели свойств справа откройте Actions, нажмите Open и затем + Add Action.

  3. Найдите и выберите Razorpay Payment (раздел Integrations).

  4. Задайте Amount — числом или из переменной. Сумма указывается в минимальных единицах валюты:

    • $24.99 передаётся как 2499, ₹120.00 — как 12000. Дробное значение округлится автоматически.
    • Обычно сумма приходит из переменной; привести её к нужному виду поможет встроенное выражение: amount.toStringAsFixed(2).replaceAll(".", "");
  5. Заполните Currency Code: INR, USD, EUR, BRL. Неверный код — платёж не пройдёт. Полный список валют.

    Ручной ввод суммы и кода валюты

  1. По желанию заполняются Receipt Number, Description, User Name, User Email, User Contact и Timeout — сколько секунд окно оплаты остаётся активным (по умолчанию 180).

  1. Оформление окна оплаты настраивается свойствами Dialog Color, Barrier Color, Text Color, Processing Color, Success Color, Error Color и другими.

Настройка цветов окна оплаты Razorpay

  1. В Action Output Variable Name укажите переменную, куда попадёт идентификатор платежа при успешной оплате.
  2. Дальше нужно проверить, прошёл ли платёж. Нажмите «+» под предыдущим действием и выберите Add Conditional — это условное действие.
  3. В блоке Set Condition for Action:
    1. Выберите UNSET > Condition > Single Condition.
    2. В First Value укажите переменную с идентификатором платежа.
    3. Оператор — Is Set and Not Empty.
  4. В ветке TRUE добавьте действия для успешной оплаты.
  5. В ветке FALSE — для неудачной.

внимание

Перед вызовом действия пользователь должен быть авторизован, иначе платёж завершится ошибкой. Как настроить вход — в разделе про аутентификацию.

3. Проверка

Платежи Razorpay проверяются в Run mode, Test mode, на эмуляторе и на реальном устройстве.

  1. Откройте Settings and Integrations > In App Purchases & Subscriptions > Razorpay.
  2. Убедитесь, что Is Production выключен.
  3. Проверьте Test Credentials.
  4. Запустите приложение в Test mode.
  5. Платите любым из тестовых способов Razorpay.

4. Переход на боевые ключи

  1. Пройдите KYC — заполните форму активации, без неё боевой API недоступен.
  2. Войдите в панель Razorpay и переключитесь в Live Mode.
  3. В меню слева выберите Account & Settings, затем в секции Website and app settings — API keys.
  4. Нажмите Generate Live Key и скопируйте Key Id и Key Secret.
  5. Во FlutterFlow откройте Settings and Integrations > In App Purchases & Subscriptions > Razorpay и включите Is Production.
  6. Вставьте ключи в секцию Production Credentials.
  7. Нажмите Deploy.
  8. Проверьте приложение ещё раз.
перевод официальной документации FlutterFlow

обновлено

⌕ ESC