Как обрабатывать платежи с помощью Firebase

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

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

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

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

Как настроить и развернуть пример приложения

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

Как протестировать пример приложения

Перейдите по URL платежного приложения (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.