条带api:多个计划/订阅,单一发票

时间:2017-01-09 23:44:45

标签: stripe-payments

我整天都在阅读文档,并且很难理解这是否可能。

我想要的是订阅一个用户使用多个计划,并在单张发票上收取费用,并从发票最初开帐单开始每月定期付款。

在文档中说:

  

"请注意,即使计划具有相同的结算间隔并且同时创建订阅,客户的多个订阅也会导致每个订阅单独的结算周期,发票和费用。&# 34;

哪个不乐观

但是api明确允许通过InvoiceItems api创建包含多个项目的发票。这似乎主要是针对客户的自定义/独特操作,例如在常规订阅周期之外应用折扣或一次性费用。

我想我可以手动跟踪结算周期并手动创建多项目发票,但我更愿意通过Stripe实现自动化。

这可能吗?

5 个答案:

答案 0 :(得分:3)

对于每个新的结算周期,每个订阅都会有自己的发票并收取Stripe的结果,如果没有自定义开发,则无法将所有订单捆绑到一个。

如果您想将客户的所有订阅分组为一次,最好的解决方案是使用Invoice Items。您为所有客户创建了0美元的月度计划,然后每月,当您收到invoice.created事件表明已创建新发票时,您创建了一个{{3}每个"订阅"你想向你的客户收取费用。然后条纹会自动为该发票收取总金额。

答案 1 :(得分:3)

Stripe API现在支持您所描述的内容:https://stripe.com/docs/subscriptions/multiplan。这个想法是为订阅添加多个计划,限制是所有计划必须共享相同的间隔。

// Set your secret key: remember to change this to your live secret key in production
// See your keys here: https://dashboard.stripe.com/account/apikeys
var stripe = require("stripe")("sk_test_yxQypIA7xttH8vZTXB1JDWFs");

stripe.subscriptions.create({
  customer: "cus_91elFtZU3tt11g",
  items: [
    {
      plan: "basic-monthly",
    },
    {
      plan: "additional-license",
      quantity: 2,
    },
  ]
}, function(err, subscription) {
  // asynchronously called
});

答案 2 :(得分:1)

是的,您现在可以向现有订阅添加多个计划。以下是示例:

sub = Stripe::Subscription.retrieve('sub_Aj4Wy1gzA5xyz')
sub.items = [{plan: "UserTestPlan"}, {plan: "UserTestPlan2"}]
sub.save

答案 3 :(得分:1)

2020年最新要求

现在,处理该情况的推荐工作流程是:

  • 创建productprices而不是plans
  • 创建一个subscription(带有price
  • 向该subscriptionItem添加所需的subscription

您的客户可以根据需要拥有很多subscriptionItems。他将按subscription定期计费一次,并且只有一张发票。如果您在一个月中添加subscriptionItem,它也可以处理。

stripe doc: Subscriptions with multiple products
Stripe API reference

// add item to existing subscription
await stripe.subscriptionItems.create({
    subscription: subscriptionId,
    price: priceId,
    quantity,
});

答案 4 :(得分:0)

根据文档,您可以向订阅添加数量,该数量将向您收取计划金额的倍数但在同一张发票上:

Stripe.api_key = "sk_test_BQokikJOvBiI2HlWgH4olfQ2"

Stripe::Subscription.create(
  :customer => "cus_4fdAW5ftNQow1a",
  :plan => "pro-monthly",
  :quantity => 5,
)

有一整页关于它的文档here