2017-01-09 164 views
0

我一整天都在閱讀文檔,並且很難理解這是否可行。stripe api:多個計劃/訂閱,單張發票

我想要的是訂閱一個用戶多個計劃,並在一張發票上收取費用,每月從發票開始計費時開始支付定期付款。

在文檔,它說:

「注意:在客戶的結果是多個訂閱在一個單獨的結算週期,發票,並收取每個訂閱,即使計劃都有相同的計費週期和訂閱是同時創建的。「

這是不看好

但隨後的API明確允許創建具有通過InvoiceItems API多個項目的發票。看起來這主要是針對客戶的定製/獨特行爲,例如在正規訂購週期之外申請折扣或一次性收費。

我想我可以手動跟蹤結算週期並手動創建多個項目的發票,但我更願意通過Stripe來實現這種自動化。

這可能嗎?

回答

1

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

對於每個新的結算週期,每個訂閱都會有自己的發票並在Stripe結束時收取費用,並且如果沒有一些自定義開發,就無法將所有這些綁定到一個綁定中。

如果您想將客戶的所有訂閱分組爲一次付費,最佳解決方案是使用Invoice Items。您需要爲所有客戶創建一個月收入爲0美元的計劃,然後在每個月,當您收到invoice.created事件表明已創建新發票時,您會爲每個要向客戶收取的「訂閱」創建一個invoice item對於。然後,Stripe會自動爲該發票收取總金額。

0

根據該文檔,你可以量添加到認購,將收取您計劃金額的倍數,但在同一張發票:

Stripe.api_key = "sk_test_BQokikJOvBiI2HlWgH4olfQ2" 

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

有文檔的一整頁關於它here

+0

這對於訂閱不同的計劃,只是同一計劃的多個實例沒有幫助。感謝壽。 – AllTheTime

+0

啊,道歉,我誤解了這個問題。據我所知,沒有開箱即用的解決方案,但koopajah的解決方案看起來很有趣。祝你好運! –

0

是的,您現在可以向現有訂閱添加多個計劃。下面是這個例子:

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