Используя несколько функций Firebase и Stripe, вы можете обрабатывать платежи в своем веб-приложении, не создавая собственную серверную инфраструктуру. В этом руководстве рассказывается, как настроить и развернуть собственную версию примера приложения с открытым исходным кодом cloud-functions-stripe-sample.web.app.
Прежде чем начать, создайте проект в консоли Firebase и настройте аккаунт Stripe.
Обзор реализации
- Настройте аккаунт Stripe.
- Создайте проект в консоли Firebase.
- Переведите проект на тарифный план Blaze с оплатой по мере использования.
- Настройте интерфейс командной строки Firebase, чтобы использовать проект с
firebase use --add. - Получите исходный код для примера приложения Firestripe. Настройте его, указав правильную информацию для своего проекта, и измените код в соответствии с требованиями вашего приложения.
- После развертывания приложения вы сможете посмотреть список пользователей и транзакций в консоли Firebase.
Как настроить и развернуть пример приложения
- Получите исходный код.
- Включите вход с помощью аккаунта Google и адреса электронной почты в настройках поставщика услуг аутентификации.
- Включите Cloud Firestore.
- Установите интерфейс командной строки Firebase, если вы этого ещё не сделали, и войдите в систему с помощью
firebase login. - Настройте этот пример, чтобы использовать проект с
firebase use --add. - Установите зависимости локально, выполнив команду
cd functions; npm install; cd -. Добавьте секретный ключ Stripe API в конфигурацию среды Cloud Functions:
firebase functions:config:set stripe.secret=<YOUR STRIPE SECRET KEY>Укажите открытый ключ Stripe в
/public/javascript/app.js:const STRIPE_PUBLISHABLE_KEY=<YOUR STRIPE PUBLISHABLE KEY>;Разверните проект с помощью
firebase deploy. Эта команда:- Отправляет все файлы из каталога
publicв Hosting, чтобы ваш сайт был доступен. - Отправляет код из каталога
functionsв Cloud Functions for Firebase. - Задает правила безопасности для базы данных Cloud Firestore, настроенной в
firestore.rules. Предоставленные правила позволяют пользователю только читать и изменять собственные платежи и способы оплаты.
- Отправляет все файлы из каталога
Как протестировать пример приложения
Перейдите по URL платежного приложения (your-firebase-project-id.web.app) и убедитесь, что работают следующие функции:
- Вы можете войти в аккаунт через Google или по электронной почте.
- Вы можете добавить новую тестовую карту Stripe и посмотреть ее в элементе выбора карты.
- Вы можете выбрать одну из своих карт и списать средства с нее.
- Вы можете выйти из аккаунта.
Для сравнения посмотрите cloud-functions-stripe-sample.web.app.
Чтобы сделать процесс оплаты удобнее, вы можете настроить внешний вид платежной страницы или встроить ее в свое приложение.
Как посмотреть обработанные платежи
После настройки и развертывания страницы оплаты вы можете проверить консоль Firebase и посмотреть список пользователей, а также их способы оплаты и платежи.
- Перейдите на сайт Cloud Firestore.
- Проверьте, есть ли в нем список пользователей и, если они добавляли кредитные карты или совершали транзакции, список этих карт и транзакций для каждого пользователя.
Как принимать платежи в реальном времени
Когда вы будете готовы к запуску, вам нужно будет заменить тестовые ключи на рабочие. Подробнее об этих ключах можно узнать в документации Stripe.
Обновите секретную конфигурацию Stripe:
firebase functions:config:set stripe.secret=<YOUR STRIPE LIVE SECRET KEY>Укажите действующий публикуемый ключ в файле
/public/javascript/app.js.Чтобы изменения вступили в силу, повторно разверните Cloud Functions и Hosting:
firebase deploy.