Перейти к основному содержимому

Исправление ошибок развертывания и платежей Stripe

Интеграция Stripe для обработки платежей в FlutterFlow значительно упрощает монетизацию. Однако разработчики могут столкнуться с проблемами во время развертывания или при управлении транзакциями. В этом руководстве описаны распространенные проблемы с развертыванием и платежами — и способы их устранения, — чтобы помочь обеспечить бесперебойную интеграцию Stripe в приложения FlutterFlow.

Чек-лист развертывания для интеграции Stripe

  1. Подключение Firebase

    Интеграция Stripe требует подключенного проекта Firebase. Перед прохождением этого чек-листа важно убедиться, что ваш проект FlutterFlow связан с Firebase — это ключевой шаг для успешной обработки платежей. Подробные инструкции можно найти в Руководстве по настройке Firebase в FlutterFlow.

  2. Переход на тарифный план Firebase Blaze

    Для работы с функциями Stripe требуется тарифный план Firebase Blaze. Чтобы избежать сбоев, вам нужно перейти с плана Firebase Spark на план Blaze. Подробнее о процессе обновления от Google.

  3. Установка местоположения Google Cloud Platform (GCP)

    Указанное местоположение Google Cloud Platform (GCP) для вашего проекта Firebase обеспечивает правильную региональную работу сервисов. Отсутствие установленного местоположения может помешать процессу развертывания.​

  4. Разрешения проекта Firebase

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

  5. Правильный код мерчанта

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

  6. Тестовые и рабочие ключи

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

  7. Согласованные настройки региона

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

Устранение проблем с платежными транзакциями

  1. Требование аутентификации

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

  2. Вариации модального окна платежа

    Важно отметить, что веб- и мобильные платформы отображают модальные окна платежей по-разному. Эти различия в интерфейсе предусмотрены Stripe по умолчанию и на данный момент не могут быть настроены в FlutterFlow.

  3. Формат цены

    Цены должны передаваться в 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

  4. Устранение ошибки CORS

    Ошибка CORS при запуске платежа часто указывает на проблему с разрешениями вашей функции Firebase. Проверьте и скорректируйте разрешение allUsers для вашей функции Stripe в консоли Firebase, чтобы устранить эту ошибку.​

  5. Подписки

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

Для получения дополнительной информации и устранения неисправностей: