https.onRequest()vs onWrite()firebase使用nodejs for Stripe

时间:2018-02-21 18:24:31

标签: firebase stripe-payments google-cloud-functions

目前Firebase / Stripe提供的开源云功能使用onwrite到Firebase数据库来触发对条纹的收费:

https://github.com/firebase/functions-samples/tree/master/stripe

使用https触发器调用Stripe而不是写入同步/写入Firebase服务器数据库的Firebase本地数据库似乎更直接,更快速,然后Firebase服务器数据库会触发对Stripe的云函数调用。

使用Https调用触发Stripe调用会有问题吗?使用onwrite触发器代替https有什么好处?

1 个答案:

答案 0 :(得分:0)

从初学者到初学者,这是我的理解:

假设您有一个需要在其中使用的应用程序
(1)使用Stripe为用户注册订阅,然后
(2)当用户使用该应用时,请检查以确保其订阅仍然有效。

对于(1), 您每个用户只需要执行一次操作,并且需要 tell 条带化“为此用户进行新订阅”,因此使用https.onRequest或{ {1}}功能。

对于(2), 您将检查用户是否已被多次订阅,并且您没有告诉Stripe一些东西,而是在向他们询问存储的信息:“此用户的订阅是否仍然有效?”

如果您要查询存储的信息,则检查自己的数据库要比等待Stripe的响应要快得多。您只需确保数据库(例如Firestore)中的信息与Stripe是最新的。

因此,您可以做的是创建一个Stripe webhook,每当用户的订阅状态发生更改时,该Stripe就会触发https.onCall函数。然后,您的函数将所做的更改写入数据库。

因此,您不必反复询问Stripe“该用户已订阅”,然后等待响应缓慢,您只需检查自己的数据库即可,因为Stripe Webhook知道该数据库是最新的。