从 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 的函数。理想情况下,这将是一个包罗万象的功能,它将根据用户的帐户状态将用户更改为多种状态(即他们停止付款并且计划将被暂停)。
我的问题有两个:
我需要在我的 Stripe webhook 设置中添加哪些详细信息(URL 等)才能将所有事件发送到我的 Parse.com 云代码?
如何在收到来自 Parse.com 的 Webhook 后接收/运行 我在云代码上的功能?
如果您对我的应用程序的工作方式有任何建议,我愿意接受批评并在我的实施中保持灵活。
非常感谢。
经过一些试验后确定:
使用 URL 在 Stripe Accounts 区域创建一个 webhook:
https://**APPLICATION_ID**:javascript-key=**JAVASCRIPT_KEY**@api.parse.com/1/functions/update_user
在您的云代码中,使用与 URL 最后一部分相同的函数名称。在我的例子中 update_user
.
创建 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');});
首先我看到这里有几个 Parse / Stripe 问题,但是 none 对我有帮助。
我有一个同时具有免费和付费功能的移动应用程序。变量存储在 Parse.com 中的 User
class 中,并在 运行 调用函数时检查其权限。我想设置一个帐户门户(与我的应用程序分开),以便当用户希望注册时,他们会被发送到他们的浏览器并可以通过 SSL 等注册计划。
对于帐户门户,我有一个带有 Stripe 插件的 Wordpress 网站,它将为我完成会计、发票和表单创建工作。
在 Wordpress 网站上注册后,我想在 Parse.com 和 运行 上接收 webhook 一个更新 User
class 的函数。理想情况下,这将是一个包罗万象的功能,它将根据用户的帐户状态将用户更改为多种状态(即他们停止付款并且计划将被暂停)。
我的问题有两个:
我需要在我的 Stripe webhook 设置中添加哪些详细信息(URL 等)才能将所有事件发送到我的 Parse.com 云代码?
如何在收到来自 Parse.com 的 Webhook 后接收/运行 我在云代码上的功能?
如果您对我的应用程序的工作方式有任何建议,我愿意接受批评并在我的实施中保持灵活。
非常感谢。
经过一些试验后确定:
使用 URL 在 Stripe Accounts 区域创建一个 webhook:
https://**APPLICATION_ID**:javascript-key=**JAVASCRIPT_KEY**@api.parse.com/1/functions/update_user
在您的云代码中,使用与 URL 最后一部分相同的函数名称。在我的例子中
update_user
.创建 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');});