从 Stripe Webhook 更新 Parse.com 用户

Update Parse.com User from Stripe Webhook

首先我看到这里有几个 Parse / Stripe 问题,但是 none 对我有帮助。

我有一个同时具有免费和付费功能的移动应用程序。变量存储在 Parse.com 中的 User class 中,并在 运行 调用函数时检查其权限。我想设置一个帐户门户(与我的应用程序分开),以便当用户希望注册时,他们会被发送到他们的浏览器并可以通过 SSL 等注册计划。

对于帐户门户,我有一个带有 Stripe 插件的 Wordpress 网站,它将为我完成会计、发票和表单创建工作。

在 Wordpress 网站上注册后,我想在 Parse.com 和 运行 上接收 webhook 一个更新 User class 的函数。理想情况下,这将是一个包罗万象的功能,它将根据用户的帐户状态将用户更改为多种状态(即他们停止付款并且计划将被暂停)。

我的问题有两个:

  1. 我需要在我的 Stripe webhook 设置中添加哪些详细信息(URL 等)才能将所有事件发送到我的 Parse.com 云代码?

  2. 如何在收到来自 Parse.com 的 Webhook 后接收/运行 我在云代码上的功能?

如果您对我的应用程序的工作方式有任何建议,我愿意接受批评并在我的实施中保持灵活。

非常感谢。

经过一些试验后确定:

  1. 使用 URL 在 Stripe Accounts 区域创建一个 webhook: https://**APPLICATION_ID**:javascript-key=**JAVASCRIPT_KEY**@api.parse.com/1/functions/update_user

  2. 在您的云代码中,使用与 URL 最后一部分相同的函数名称。在我的例子中 update_user.

  3. 创建 webhook 的测试版本并将其放入您的云代码中进行测试:

Parse.Cloud.define("update_user", function(request, response) { response.success('** WEBHOOK WORKING **' + request); });

当 运行 在条带仪表板中进行测试时,您应该看到:

希望这对某人有所帮助 - 如果有人对我的实施或我的 User class 更新中 运行 的巧妙功能提出任何意见,我将不胜感激。

大多数情况下,我认为您的解决方案会奏效。

我认为如果您不验证来自条带的事件,使用 javascript 密钥可能会带来安全风险。

您的 javascript 密钥将出现在您的网站中。有人可以获得它并调用您的云代码函数。我会使用主密钥,因此您只能从您信任的来源知道它。他们或许可以更改重要的帐单信息。

在您的云函数定义中,您可以检查是否使用了主密钥。

Parse.Cloud.define('stripeEvents', function (request, response) {
if (request.master){
    return response.success('stripeEvents - master');
}
response.error('stripeEvents - must use master key');});