Stripe
Stripe помогает интегрировать обработку платежей в ваше приложение на FlutterFlow. Используя этот платежный сервис, вы можете легко продавать товары непосредственно внутри вашего приложения и управлять транзакциями без лишних усилий.
При использовании Stripe в качестве платежного провайдера пользователи могут покупать товары с помощью кредитных карт, Apple Pay или Google Pay.
Перед началом настройки платежей убедитесь, что вы выполнили следующее:
- Завершили настройку Firebase для вашего проекта.
- Включили аутентификацию Firebase для вашего проекта.
- Обновили ваш проект Firebase до Blaze Plan, поскольку для обработки транзакций используются облачные функции Firebase.
Интеграция Stripe
Интеграция платежей Stripe в ваше приложение включает следующие шаги:
- Настройка платежей Stripe
- Настройка Apple Pay (необязательно)
- Инициирование Stripe платежа
- Тестирование
- Выпуск в продакшн
1. Настройка платежей Stripe
Настройка платежей Stripe включает получение ключей из вашей учетной записи Stripe и добавление их в FlutterFlow.
Перед выпуском в продакшн сначала протестируйте платежи в тестовом режиме. Инструкции ниже объясняют, как получить тестовые ключи.
Следуйте инструкциям ниже, чтобы настроить платежи с помощью Stripe:
- Создайте новую учетную запись Stripe здесь. Если у вас уже есть учетная запись, войдите.
- На странице панели управления нажмите Developers.
- Включите Test Mode (в правом верхнем углу экрана).
- Перейдите на вкладку API keys.
- Вернитесь к проекту FlutterFlow и перейдите в Settings and Integrations > In App Purchases & Subscriptions > Stripe. Включите переключатель Enable Stripe Payments.
- Скопируйте Publishable Key и Secret Key с страницы API ключей Stripe и вставьте их в соответствующие поля в FlutterFlow. Если вы используете Stripe в тестовом режиме, убедитесь, что вставили их в раздел Test Credentials.
- В разделе Additional Settings необходимо указать следующее:
- Merchant Display Name (обязательно): введите название продавца (вас), которое будет отображаться пользователю при оплате.
- Merchant Country Code (обязательно): введите код вашей страны. Это должен быть 3-значный ISO-код страны, например, USA, IND, NGA.
- Apple Merchant ID (необязательно): вы должны указать это, если хотите принимать платежи через Apple Pay. Инструкции по настройке Apple Pay находятся в этом разделе.
- Нажмите Deploy.
Это развернет платежный сервис Stripe как облачную функцию Firebase. Теперь вы можете инициировать платежи в приложении.
2. Настройка Apple Pay (необязательно)
Настройка Apple Pay включает следующие шаги:
- Создание Apple Merchant ID
- Загрузка платежного сертификата в Stripe
- Добавление Apple Merchant ID в FlutterFlow
2.1 Создание Apple Merchant ID
Чтобы создать Apple Merchant ID:
- Перейдите в Центр разработчиков Apple и выберите Certificates, Identifiers & Profiles.
- В разделе Identifiers выберите Merchant IDs.
- Нажмите Добавить (+) в правом верхнем углу.
- Введите Description и укажите Identifier. Обычно идентификатор указывается в формате
merchant
, за которым следует Package Name вашего приложения (вы найдете его на странице Settings and Integrations в FlutterFlow), например,merchant.com.domainname.appname
. - Нажмите Continue.
- Проверьте настройки и нажмите Register.
- Нажмите Done.
- Теперь снова в разделе Identifiers выберите Apps IDs.
- Выберите идентификатор вашего приложения из списка.
- В разделе Capabilities установите галочку напротив Apple Pay Payment Processing.
- Нажмите Configure.
- Выберите учетную з апись продавца, которую вы только что создали, и нажмите Continue.
- Нажмите Save, затем Confirm в диалоговом окне.
2.2 Загрузка платежного сертификата в Stripe
Чтобы загрузить платежный сертификат в Stripe:
- Сначала перейдите на страницу Settings из вашей панели управления Stripe и выберите Payment methods.
- Разверните вкладку Apple Pay в разделе Wallets.
- Нажмите Configure, чтобы перейти на страницу Apple Pay settings.
- В разделе iOS certificates нажмите + Add new application.
- Это загрузит файл Certificate Signing Request (CSR) на ваш компьютер. Нажмите Continue.
- Выберите Merchant ID, с которым хотите связать этот сертификат, и нажмите Create Certificate.
- Следуйте инструкциям для загрузки CSR файла, который вы загрузили из Stripe.
- Чтобы активировать сертификат, нажмите Activate, затем Download для сохранения локально.
- Вернитесь на страницу Stripe, где отображается диалоговое окно, и нажмите Continue.
- Загрузите новый файл сертификата.
- После загрузки сертификат будет отображен в разделе iOS certificates.
2.3 Добавление Apple Merchant ID в FlutterFlow
Чтобы добавить Apple Merchant ID в FlutterFlow:
- Перейдите в Settings and Integrations > In App Purchases & Subscriptions > Stripe.
- В разделе Additional Settings введите ваш Apple Merchant ID.
3. Инициирование Stripe платежа [Action]
Чтобы инициировать платеж с использованием Stripe, необходимо использовать действие Stripe Payment.
Следуйте инструкциям ниже, чтобы добавить это действие к любому виджету.
- Выберите Widget (например, Container, Button и т. д.), к которому хотите добавить действие.
- Выберите Actions на панели свойств (правое меню) и нажмите Open. Это откроет Action Flow Editor в новом всплывающем окне.
- Нажмите + Add Action.
- В правой части найдите и выберите действие Stripe Payment (в разделе Integrations).
- В разделе Amount введите или используйте переменную для указания общей суммы платежа. Значение должно быть указано в наименьшей единице валюты. Например, $24.99 следует указать как 2499 ( в виде целого числа, иначе значение будет округлено), тогда как ¥1925 можно указать просто как 1925. Подробности можно найти на этой странице.
- Введите Currency Code для суммы, например, USD, EUR, BRL. Убедитесь, что вводите корректный код валюты, иначе транзакция не пройдет.
- Далее нужно указать Customer Email (обязательно) и Customer Name (опционально) для транзакции. Вы можете либо использовать переменную, либо ввести значение вручную. Если вы используете аутентификацию, эти два значения можно получить из Authenticated User.
- Укажите Description для записи о покупке, как для вас, так и для пользователя.
- Чтобы включить Google Pay или Apple Pay как метод оплаты, включите соответствующий переключатель. Для использования Apple Pay необходимо настроить Merchant ID, следуя инструкциям здесь.
- Выберите Payment Sheet Theme среди System Default, Light Theme или Dark Theme.
- Укажите Primary Button Color и Button Text Color для исп ользования в диалоге оплаты.
- Введите Output Variable Name, где будет храниться ID платежа после успешной транзакции. Позднее вы сможете использовать эту переменную в любом месте на странице или передать её на другую страницу приложения.
Убедитесь, что пользователь прошел аутентификацию перед инициацией Stripe Payment Action. В противном случае это приведет к ошибке.
4. Тестирование
Вы можете протестировать платежи Stripe на мобильных устройствах и в интернете до развертывания. Чтобы это сделать:
- Перейдите в проект FlutterFlow и откройте Settings and Integrations > In App Purchases & Subscriptions > Stripe.
- Убедитесь, что Is Production отключен.
- Убедитесь, что вы ввели корректные Test Credentials, такие как Publishable Key и Secret Key.
- Скачайте и запустите ваш проект.
- Для тестирования покупки вы можете использовать любые из этих базовых тестовых номеров карт.
5. Выпуск в продакшн
Перед выпуском приложения в продакшн завершите следующие шаги:
- Войдите в свою учетную запись Stripe и откройте страницу Developers.
- Отключите Test Mode (в правом верхнем углу экрана).
- Выберите API keys в левом меню и скопируйте Publishable Key и Secret Key.
- Вернитесь в FlutterFlow и в разделе Production Credentials вставьте Publishable Key и Secret Key.
- Для развертывания Android приложения следуйте руководству по публикации в Google Play Store.
- Для развертывания iOS приложения следуйте руководству по публикации в App Store.
FAQ
Я получаю сообщение "Error: Unknown error occurred"
При возникновении ошибки "Error: Unknown error occurred" попробуйте выполнить следующие действия для устранения проблемы:
- Настройка Stripe: В настройках Stripe в FlutterFlow убедитесь, что код страны продавца указан как трехзначный код, например "USA" вместо "US". Если нужно, удалите ранее развернутые функции в консоли Firebase и разверните их снова после обновления кода страны.
- Требование аутентификации пользователя: Для платежей Stripe требуется активная сессия аутентифи цированного пользователя. Убедитесь, что вы инициируете действие Stripe после успешного входа пользователя в приложение.
- Права доступа облачных функций: Убедитесь, что вашим облачным функциям назначено разрешение 'Cloud Functions Invoker' для всех пользователей (allUsers) в консоли Google Cloud. Это разрешение обычно назначается по умолчанию, но лучше проверить.