我想上的条带创建订阅计划连接管理帐户。我尝试下面的代码:
Parse.Cloud.define("createSubscription", function (request, response) {
Parse.Cloud.httpRequest({
method:"POST",
url: "https://" + "sk_test_****************" + ':@' + "api.stripe.com/v1" + "/accounts/" + 'acct_**********' + "/plans/",
headers: {
'Authorization': 'Basic ********************'
},
body: {
'amount': 2000,
'interval': 'month',
'name': 'JPGB Plan',
'currency': 'usd',
'id':'first Plan',
},
success: function(httpResponse) {
response.success(httpResponse.text);
},
error: function(httpResponse) {
response.error('Request failed with response code' + httpResponse.status);
}
});
});
但这种失败,一个404(请求的资源不存在)的错误。
这是我做到了。
Parse.Cloud.define("createAccountPlan", function (request, response) {
Parse.Cloud.httpRequest({
method:"POST",
url: "https://" + "sk_test_****************" + ':@' + "api.stripe.com/v1/plans",
headers: {
'Stripe-Account': request.params.accountId
},
body: {
'amount': request.params.amount,
'interval': 'day',
'interval_count':request.params.intervalCount,
'name': request.params.planName,
'currency': 'usd',
'id':request.params.planId,
},
success: function(httpResponse) {
response.success(httpResponse.text);
},
error: function(httpResponse) {
response.error('Request failed with response code' + httpResponse.status);
}
});
});
我认为你应该做的不是执行直接HTTP请求条纹REST API,只能使用带节点JS SDK,将做到这一点,更适合你。
为了实现它的解析服务器,你需要做以下步骤:
npm install stripe
这将安装条纹到您解析服务器项目
var stripe = require('stripe')(' your stripe API key ');
stripe.subscriptions.create({
customer: "{YOUR_CUSTOMER_ID}",
plan: "{PLAN_IDENTIFIER}"
}, function(err, subscription) {
// asynchronously called
}
);
然后,如果你需要额外的服务电话进行条带化,你可以以同样的方式做到这一点。
所有这一切,你可以用条纹运行的服务能够在here找到
它总是最好使用SDK的时候可以因为SDK的让您的生活更轻松,正在处理都为你在幕后的东西,通常是通过谁向他们提供维持公司(在这种情况下,其条纹)
第一,优选的,验证选项是使用你-平台account's的秘密密钥,并通过一个条纹账户标头识别该请求正在取得所连接的帐户。
(演示显示使客户)
所有条纹的图书馆的支持认证的这种风格在每个请求的基础
条纹文档是有点微妙这里,但是这意味着你可以使用相同的技术,使为客户订阅上的连接帐户。你也可以用它来使产品和计划所连接的帐户了。和其他任何你想代表所连接的客户做:
(async function(){
let subscription = await stripe.subscriptions.create({
customer: "someCustomerID",
plan: "planID"
},{
stripe_account: "connectedStripeAccountID"
});
})();