Используя несколько различных функций Firebase и Stripe, вы можете обрабатывать платежи в своем веб-приложении без создания собственной серверной инфраструктуры. Это руководство проведет вас через процесс настройки и развертывания собственной версии примера приложения с открытым исходным кодом cloud-functions-stripe-sample.web.app .
Прежде чем начать, создайте проект в консоли Firebase и настройте учетную запись Stripe .
Обзор реализации
- Создайте аккаунт Stripe .
- Создайте проект в консоли Firebase .
- Переведите свой проект на тарифный план Blaze с оплатой по мере использования .
- Настройте Firebase CLI для использования вашего проекта с помощью
firebase use --add. - Получите исходный код примера приложения Firestripe. Настройте его, указав необходимую информацию для вашего проекта, и адаптируйте код под ваше приложение.
- После развертывания приложения найдите список пользователей и транзакций в консоли Firebase.
Настройте и разверните демонстрационное приложение.
- Получите исходный код .
- Включите вход через Google и электронную почту в настройках вашего поставщика аутентификации .
- Включите Cloud Firestore .
- Если у вас его еще нет, установите Firebase CLI и войдите в систему, используя
firebase login. - Настройте этот пример для использования вашего проекта с
firebase use --add. - Установите зависимости локально, выполнив команды
cd functions; npm install; cd - Добавьте свой секретный ключ API Stripe в конфигурацию среды 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. Предоставленные правила разрешают пользователю только чтение и запись собственных платежей и способов оплаты.
- Отправляет все файлы из
Протестируйте демонстрационное приложение.
Перейдите по адресу 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.