
使用 Stripe 发送账单
Made by Stripe
使用 Stripe 付款平台创建并发送可添加品牌徽标的客户账单。
此扩展程序的运作方式
使用此扩展程序,在付款平台 Stripe 上创建并发送可添加品牌徽标的客户账单。
系统将自动使用您在 Stripe 中设置的公司徽标和颜色主题自动对账单进行自定义设置。在发送账单之后,您可以使用 Stripe 信息中心跟踪客户是否已经付款,以及使用详细的报告和图表查看您处理的金额。
此扩展程序监听您指定的 Cloud Firestore 集合的新文档(如下例所示)。当您添加文档时,Stripe 使用文档中的账单信息在其系统中创建账单,然后将账单发送到文档中指定的电子邮件地址。您可以选择使用 Firebase Authentication 用户 ID 管理您的客户电子邮件地址。
电子邮件:"customer@example.com", 分项:[{ amount: 2000, currency: "usd", quantity: 2, // Optional, defaults to 1. description: "Growth plan" }]
下面是您的自定义账单外观的示例!
此扩展程序的一个可选功能是自动更新其 Cloud Firestore 文档中的账单状态。您可以在安装该扩展程序后通过注册一个监听 [Stripe 账单事件]的 Stripe 网络钩子来配置这个功能(https://stripe.com/docs/api/events/types#event_types-invoice.created)。如果您想使用这项可选功能,请在安装过程中将参数 Stripe webhook secret
留空,然后使用注册的网络钩子的实际值重新配置安装的扩展程序。关于此过程的更多详细信息将在安装后提供。
额外设置
在安装此扩展程序之前,请先在您的 Firebase 项目中设置如下 Firebase 服务:
- Cloud Firestore,用于存储账单信息和可选的账单状态。
- 按照文档中的步骤操作,创建一个 Cloud Firestore 数据库。
- Firebase Authentication,可选择用于管理电子邮件和客户数据。
- 在 Firebase 控制台中启用您希望提供给用户的登录方法。
您还必须有 Stripe 帐号和 Stripe API 密钥才能安装此扩展程序。
注意: Stripe 有一个测试模式,可以让您在不进行实际支付的情况下进行 API 调用。如需在 Stripe 测试模式中使用此扩展程序,请将扩展程序的 Stripe API key
参数(在扩展程序配置过程中)设置为使用测试模式密钥。测试模式密钥看起来类似于 rk_test_12345
,而正式使用的密钥格式类似于 rk_live_12345
。由于此扩展程序仅需要对 Stripe customers
和 invoices
资源的写入权限,因此我们建议您创建一个受限密钥,仅限于访问这些资源,而不是使用您的 Secret 密钥。
结算
此扩展程序用到以下 Firebase 服务,可能会产生相关的费用:
- Cloud Firestore
- Cloud Functions
- Firebase Authentication(可选)
此扩展程序还使用如下第三方服务:
- Stripe Billing(价格信息)
您有责任承担与您使用这些服务相关的任何费用。
Firebase 提供的说明
若要安装此扩展程序,您的 Firebase 项目必须采用 Blaze(随用随付)方案。您仅需为您使用的资源支付费用。大多数 Firebase 服务都提供了免费层级,可以覆盖较低的使用量。详细了解 Firebase 结算方式。
从 2020 年 8 月 17 日开始,当您安装或重新配置此扩展程序时,需要支付少量费用(通常不到 $0.10)。请参阅 Cloud Functions for Firebase 结算常见问题解答获取详细说明。
如何安装此扩展程序
使用 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
第 4 步(可选):使用 Firebase Emulator Suite 在本地测试此扩展程序
firebase emulators:start
第 5 步:将清单中的扩展程序部署到项目中
firebase deploy --only extensions --project=projectId_or_alias