
使用 Stripe 发送账单
Made by Stripe
使用 Stripe 付款平台创建并发送可添加品牌徽标的客户账单。
此扩展程序的运作方式
Use this extension to create and send brandable customer invoices using the payments platform Stripe .
The invoices are automatically customized with the logo and color theme of your business that you've set up in Stripe. After the invoice is sent, you can use the Stripe dashboard to track whether the customer has paid and how much money you processed with detailed reporting and charts.
This extension listens to your specified Cloud Firestore collection for new documents (like the example below). When you add a document, Stripe uses the invoice information in the document to create an invoice in their system then sends the invoice to the email address specified in the document. You can optionally manage your customer email addresses using Firebase Authentication user IDs.
email: "customer@example.com",
items: [{
amount: 2000,
currency: "usd",
quantity: 2, // Optional, defaults to 1.
description: "Growth plan"
}]
Here's an example of what your customized invoice will look like!
An optional feature of this extension is to automatically update the invoice's status in its Cloud Firestore document. You can configure this feature after installing the extension by registering a Stripe webhook that listens for
Stripe invoice events
. If you want to use this optional feature, leave the parameter
Stripe webhook secret
empty during installation, then reconfigure your installed extension later with the actual value for your registered webhook. More details about this process are provided after installation.
Additional setup
Before installing this extension, set up the following Firebase services in your Firebase project:
-
Cloud Firestore
to store invoice information and optionally invoice status.
- Follow the steps in the documentation to create a Cloud Firestore database.
-
Firebase Authentication
to optionally manage email and customer data.
- Enable the sign-in methods in the Firebase console that you want to offer your users.
You must also have a Stripe account and a Stripe API key before installing this extension.
Note:
Stripe has a test mode that lets you make API calls without making actual payments. To use this extension with Stripe's test mode, set the extension's
Stripe API key
parameter (during extension configuration) to use a test mode key. A test mode key looks like
rk_test_12345
, whereas a live mode key would be
rk_live_12345
. As this extension only requires write access to your Stripe
customers
and
invoices
resources, we recommend that you create a
restricted key
with limited access to only these resources rather than using your secret key.
Billing
This extension uses the following Firebase services which may have associated charges:
- Cloud Firestore
- Cloud Functions
- Firebase Authentication (optional)
This extension also uses the following third-party services:
- Stripe Billing ( pricing information )
You are responsible for any costs associated with your use of these services.
Note from Firebase
To install this extension, your Firebase project must be on the Blaze (pay-as-you-go) plan. You will only be charged for the resources you use. Most Firebase services offer a free tier for low-volume use. Learn more about Firebase billing.
Starting August 17 2020, you will be billed a small amount (typically less than $0.10) when you install or reconfigure this extension. See the Cloud Functions for Firebase billing FAQ for a detailed explanation.
如何安装此扩展程序
使用 Firebase CLI
要安装和管理扩展程序,您还可以使用 Firebase CLI:
步骤 1 :运行以下 npm 命令来安装 CLI 或将 CLI 更新到最新版本。
npm install -g firebase-tools不能运行?请参阅 Firebase CLI 参考文档 或者更改您的 npm 权限 。
第 2 步 : 设置一个新的 Firebase 项目目录 或转到现有目录
第 3 步 :将此扩展程序添加到 扩展程序清单 中
firebase ext:install stripe/firestore-stripe-invoices --local --project=projectId_or_alias
Step 4 (Optional): Test this extension locally with the Firebase Emulator Suite
firebase emulators:start
第 5 步 :将清单中的扩展程序 部署 到项目中
firebase deploy --only extensions --project=projectId_or_alias