正确使用 Firebase Cloud Functions 和 Stripe

Properly Using Firebase Cloud Functions and Stripe

我正在尝试使用 Firebase Cloud 函数和 Stripe,以及 iOS (Swift)。我想使用 Firebase Cloud 功能来执行 Stripe 要求的卡收费。我正在尝试使用这个例子:Firebase Stripe Example

我上传了他们给的例子,但我需要稍微修改一下收费功能。我尝试将它设置为我在实时数据库中的文件路径,但我不确定如何修改整个内容,以便它可以脱离我的实时数据库结构。比如抓取它需要的参数。我的结构如下所示: Payments 节点之后是用户 ID。

我知道该函数主要是查找特定节点的数据库更新,但我不确定如何确保它从子节点中获取正确的值。我希望我已经以一种可以理解的方式描述了这一点。如果我没有让我知道,我会尽力改写。谢谢!

好的伙计们,我自己想出来了,我会在这里写一个迷你教程。

因为这个问题专门针对 stripe 我将只讨论这个特定的用例。首先阅读 Stripe 文档很重要。它指定了它希望您提供给它的参数 api。这是 link 当您使用 Stripe 为卡充电时的预期结果:Stripe Charges Documentation

其次,您需要根据这些预期参数对您的 Firebase 实时数据库进行建模,至少在用户将在您的应用中进行的购买方面。大多数时候,您可以使用带有 Key:value 对的字典。确保将 amount 参数乘以 100,因为 Stripe 只接受整数。这意味着如果您收取 22.48 的费用,那么您将其乘以 100 得到 2248。当您检查条带中的仪表板时,它将显示为 22.48。

Third Stripe 需要与后端对话,以便您可以为卡充电。 Firebase 云功能非常适合此用途。还记得你的实时数据库吗?当在您指定的节点上发生写入时,您可以触发云功能。幸运的是 Firebase 在 GitHub 上提供了一个示例:Firebase Stripe Example

您可以修改侦听数据库写入的代码行。只要您 return 至少要收取代币和金额,您就可以将其具体更改为您的结构。如果您打算让用户每次都输入他们的信息,那么您需要删除客户参数(在 index.js 文件中),因为它需要一个具有不同前缀的不同标记。 (这在文档中有说明)示例的其余部分有详细记录,可以遵循。收费结果将写回您的数据库。以下视频向您展示了 Functions 如何触发写入工作以及使用的一些术语。 : Youtube Video for Cloud Functions triggered on write.

我希望这对你们中的一些人有所帮助,因为我知道有关 stripe 和 firebase 的问题相当普遍。