Обработка платежей с помощью Firebase

Используя несколько различных функций Firebase и Stripe, вы можете обрабатывать платежи в своем веб-приложении без создания собственной серверной инфраструктуры. Это руководство проведет вас через процесс настройки и развертывания собственной версии примера приложения с открытым исходным кодом cloud-functions-stripe-sample.web.app .

Прежде чем начать, создайте проект в консоли Firebase и настройте учетную запись Stripe .

Обзор реализации

  1. Создайте аккаунт Stripe .
  2. Создайте проект в консоли Firebase .
  3. Переведите свой проект на тарифный план Blaze с оплатой по мере использования .
  4. Настройте Firebase CLI для использования вашего проекта с помощью firebase use --add .
  5. Получите исходный код примера приложения Firestripe. Настройте его, указав необходимую информацию для вашего проекта, и адаптируйте код под ваше приложение.
  6. После развертывания приложения найдите список пользователей и транзакций в консоли Firebase.

Настройте и разверните демонстрационное приложение.

  1. Получите исходный код .
  2. Включите вход через Google и электронную почту в настройках вашего поставщика аутентификации .
  3. Включите Cloud Firestore .
  4. Если у вас его еще нет, установите Firebase CLI и войдите в систему, используя firebase login .
  5. Настройте этот пример для использования вашего проекта с firebase use --add .
  6. Установите зависимости локально, выполнив команды cd functions; npm install; cd -
  7. Добавьте свой секретный ключ API Stripe в конфигурацию среды Cloud Functions :

    firebase functions:config:set stripe.secret=<YOUR STRIPE SECRET KEY>

  8. Укажите свой ключ публикации Stripe в /public/javascript/app.js :

    const STRIPE_PUBLISHABLE_KEY=<YOUR STRIPE PUBLISHABLE KEY>;

  9. Разверните свой проект с помощью firebase deploy . Эта команда:

    1. Отправляет все файлы из public директории на Hosting , чтобы ваш веб-сайт стал доступен.
    2. Отправляет код из каталога functions в Cloud Functions for Firebase .
    3. Устанавливает правила безопасности для вашей базы данных Cloud Firestore в соответствии с настройками в firestore.rules . Предоставленные правила разрешают пользователю только чтение и запись собственных платежей и способов оплаты.

Протестируйте демонстрационное приложение.

Перейдите по адресу your-firebase-project-id.web.app и убедитесь, что следующие функции работают:

  • Вы можете войти через Google или по электронной почте.
  • Вы можете добавить новую тестовую карточку Stripe и просмотреть ее в элементе выбора карточки.
  • Вы можете выбрать одну из своих карт и оплатить ею.
  • Вы можете выйти из системы.

Для сравнения см. cloud-functions-stripe-sample.web.app .

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

Просмотреть обработанные платежи

После настройки и развертывания страницы оплаты вы можете проверить консоль Firebase и увидеть список пользователей, а также способы оплаты и совершенные ими платежи.

  1. Перейдите в Cloud Firestore .
  2. Проверьте список ваших пользователей и, если они добавляли какие-либо кредитные карты или совершали какие-либо транзакции, просмотрите список этих данных для каждого пользователя.

Принимаем платежи в режиме реального времени

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

  1. Обновите конфигурацию секретного ключа Stripe:

    firebase functions:config:set stripe.secret=<YOUR STRIPE LIVE SECRET KEY>

  2. Укажите ключ, разрешающий публикацию, в файле /public/javascript/app.js .

  3. Для вступления изменений в силу выполните повторное развертывание как Cloud Functions , так и Hosting : firebase deploy .