Исправление ошибок развертывания и платежей Stripe
Интеграция Stripe для обработки платежей в FlutterFlow значительно упрощает монетизацию. Однако разработчики могут столкнуться с проблемами во время развертывания или при управлении транзакциями. В этом руководстве описаны распространенные проблемы с развертыванием и платежами — и способы их устранения, — чтобы помочь обеспечить бесперебойную интеграцию Stripe в приложения FlutterFlow.
Чек-лист развертывания для интеграции Stripe
-
Подключение Firebase
Интеграция Stripe требует подключенного проекта Firebase. Перед прохождением этого чек-листа важно убедиться, что ваш проект FlutterFlow связан с Firebase — это ключ евой шаг для успешной обработки платежей. Подробные инструкции можно найти в Руководстве по настройке Firebase в FlutterFlow.
-
Переход на тарифный план Firebase Blaze
Для работы с функциями Stripe требуется тарифный план Firebase Blaze. Чтобы избежать сбоев, вам нужно перейти с плана Firebase Spark на план Blaze. Подробнее о процессе обновления от Google.
-
Установка местоположения Google Cloud Platform (GCP)
Указанное местоположение Google Cloud Platform (GCP) для вашего проекта Firebase обеспечивает правильную региональную работу сервисов. Отсутствие установленного местоположения может помешать процессу развертывания.

-
Разрешения проекта Firebase
Убедитесь, что для вашего проекта Firebase включены необходимые разрешения. Два ключевых разрешения касаются управления доступом и настройки сервисов. Вы также можете обратиться к руководству по настройке.

-
Правильный код мерчанта
Используйте правильный трехбуквенный код страны мерчанта (например, "GBR" для Соединенного Королевства вместо "UK"). Неправильные коды могут привести к неудачным транзакциям. Для получения точных кодов обратитесь к кодам стран IBAN.


-
Тестовые и рабочие ключи
И тестовые, и рабочие ключи Stripe должны быть настроены в настройках вашего проекта независимо от этапа разработки. Это обеспечивает правильное взаимодействие API Stripe с вашим приложением.

-
Согласованные настройки региона
Согласуйте регион вашего проекта Firebase с настройками FlutterFlow, чтобы избежать сбоев развертывания. Несоответствия могут вызвать проблемы с развертыванием функций.


Устранение проблем с платежными транзакциями
-
Требование аутентификации
Платежи Stripe требуют аутентифицированной пользовательской сессии. Перед запуском процессов оплаты убедитесь, что логика вашего приложения включает вход пользователя или создание учетной записи.
-
Вариации модального окна платежа
Важно отметить, что веб- и мобильные платформы отображают модальные окна платежей по-разному. Эти различия в интерфейсе предусмотрены Stripe по умолчанию и на данный момент не могут быть настроены в FlutterFlow.
-
Форм ат цены
Цены должны передаваться в Stripe в центах, а не в долларах. Используйте пользовательскую функцию для преобразования значений в долларах в центы, чтобы обеспечить точную обработку транзакций. Чтобы передать цену в центах в Stripe, вы можете просто использовать пользовательскую функцию, которая принимает цену в долларах и возвращает ее в центах.
Вот пример пользовательского кода, который вы можете использовать для этого расчета в пользовательской функции:
int dollarToCent(double amount) {
// Convert the amount to a string
String st = amount.toString();
// Remove any dots or commas
st = st.replaceAll('.', '');
st = st.replaceAll(',', '');
// Convert the cleaned string to an integer
return int.parse(st);
}// Input: 14.99
// Output: 1499 cents
-
Устранение ошибки CORS
Ошибка CORS при запуске платежа часто указывает на проблему с разрешениями вашей функции Firebase. Проверьте и скорректируйте разрешение
allUsersдля вашей функции Stripe в консоли Firebase, чтобы устранить эту ошибку.

-
Подписки
На данный момент Apple и Google ограничивают подписки Stripe на мобильных платформах. Чтобы расширить возможности подписок, вы можете использовать альтернативные решения, такие как RevenueCat для мобильных приложений и прямые вызовы API для веб-приложений.