繁体   English   中英

Paypal 与 Firebase

[英]Paypal With Firebase

我正在制作一个网站,用户可以在其中购买积分以在网站上使用。 他们将能够输入他们想要购买的金额,一旦购买完成,我想在幕后更改一些值。

我是一个非常环保的开发人员,我正在从头开始做这一切。 我不是在寻找我已经编写的代码的帮助; 我需要指导我需要学习什么才能做到这一点。

我正在使用 Paypal 和 Firebase。 我需要使用用户输入的数字来创建 Paypal 销售,然后在 Firebase 中的代码中使用相同的数字。 我的理解是,如果我在客户端执行此操作,用户将能够购买一定数量的积分,然后如果我在客户端执行所有这些操作,则将不同的号码发送到 Firebase。 我需要一种方法来保留所有这些服务器端,但到目前为止我一直无法找到解决方案。

我知道答案在 Paypal 文档中的某个地方,但我是如此的绿色以至于我什至不知道从哪里开始。 I believe that I need to use webhooks to have Paypal send data to my Firebase app once the purchase is complete, but I believe that I have read that even this can be exploited if I don't verify that the webhook came from Paypal properly. 这听起来对吗?

我认为描述我需要做的最简单的方法是我基本上只需要在 Paypal 销售成功后在 Firebase 上发生一些事情。 任何指导将不胜感激!

我之前这样做的方式,使用Stripe(但过程应该类似于paypal),是使用firebase云函数 一般会发生以下情况:

  1. 客户端(前端)请求创建支付意图/结帐 session,它调用您的云 function。 您在那里发送一些额外的信息,在您的情况下,购买用户的 UID、他们的 /data 或您将他们的数据存储在 Firestore 中的任何位置,以及他们希望购买的点数。 通常有一个元数据字段可以添加到结帐 session,您可以在其中添加 firebase 用户的 UID 和他们的 documentID,因为您需要它来知道如何在第四步中完成订单,

  2. 您的第一个 Cloud Function 处理他们希望购买的积分请求(数量 x 价格 = 总计,注意:不要从客户端发送价格,因为用户可以操纵价格),并将支付页面返回给 Stripe / Paypal。

  3. 随着从云 Function 返回到您的前端的响应,您将用户重定向到结帐/付款页面,一旦用户完成购买 Paypal / Stripe 应该发送一个 webhook 到您的其他云 Z86408593C34AFB77FDD61ZDF93C34AFB77FDD61Z0DFhook29

  4. 另一个 Cloud Function(webhook 处理程序)从 Stripe / Paypal 接收一些数据(在您的情况下,它可能是支付的金额或项目和数量,以及支付的用户的 UID,以便您可以在 Firestore 中查找他们的文档)。 处理 webhook 的 Cloud Function 然后可以更新 firestore 中的用户数据。 Generally the data sent from the webhook (what your cloud function receives) has a secret sent to you that you can verify with an api call or function call, it depends on the package you're using.

https://developer.paypal.com/docs/api/webhooks/v1/#verify-webhook-signature

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM