首先我看到这里有几个Parse / Stripe问题,但没有一个对我有任何帮助。
我有一个具有免费和付费功能的移动应用程序。变量存储在Parse.com中的User
类中,并在运行函数时检查其权限。我想设置一个帐户门户(与我的应用分开),因此当用户希望注册时,他们会被发送到他们的浏览器,并可以通过SSL等注册计划。
对于帐户门户网站,我有一个带有Stripe插件的Wordpress网站,可以为我进行会计,发票和表单创建工作。
在Wordpress网站上注册后,我想在Parse.com上收到webhook并运行一个更新User
类的函数。理想情况下,这将是一个捕获所有功能,将根据他们的帐户状态将用户更改为多个州(即他们停止支付并且计划将被暂停)。
我的问题有两个:
我需要在Stripe webhook设置中放置哪些详细信息(URL等)才能将所有事件发送到我的Parse.com云代码?
如何在收到Parse.com的webhook后收到/运行我的云端功能?
如果您对我的应用程序应该如何运作有任何建议,我会批评并在我的实施中保持灵活性。
非常感谢提前。
答案 0 :(得分:6)
经过一些实验后确定:
使用以下网址在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
课程更新中运行的光滑功能。
答案 1 :(得分:1)
大多数情况下,我认为您的解决方案可行。
我认为如果您没有验证来自条纹的事件,使用javascript密钥可能会带来安全风险。
您的javascript密钥将出现在您的网站上。有人可以得到它并调用您的云代码功能。我会使用主密钥,因此您只能从您信任的来源获知它。他们可能会更改重要的结算信息。
在云功能定义中,您可以检查是否使用了主密钥。
Parse.Cloud.define('stripeEvents', function (request, response) {
if (request.master){
return response.success('stripeEvents - master');
}
response.error('stripeEvents - must use master key');});