我使用ServiceStack.Stripe.dll在条带中创建订阅。此订阅适用于在我们的应用程序中创建新用户。下面是使用VB.Net创建新订阅的代码。当用户第一次注册我们的应用程序时,将创建此订阅。
Dim gateway = New StripeGateway(stripeKey)
If (list("CouponId").ToString() = "") Then GoTo Line1 Else GoTo Line2
Line1:Dim subscription = gateway.Post(新的SubscribeStripeCustomer(){_ .CustomerId =" cus_96OuD7MM31KKR3",_ .Plan =" IGmonthly" })
If subscription.Id = "" Then GoTo Line2
Line2:Dim subscription1 = gateway.Post(新的SubscribeStripeCustomer(){_ .CustomerId =" cus_96OuD7MM31KKR3",_ .Plan =" IG-monthly",_ .Coupon =" choicefree2" _ })
用户在条带中成功创建。我们的要求是再次在我们的应用程序中购买“Email on Acid”时,为同一客户创建另一个条带订阅。为了完成这项任务,我写了下面的代码。
Dim subscription As ServiceStack.Stripe.Types.StripeSubscription
If list("CouponCode") <> "" Then
subscription = gateway.Post(New SubscribeStripeCustomer() With { _
.CustomerId = "cus_96OuD7MM31KKR3K", _
.Plan = "EOAMTH", _
.Coupon = "testc2"
})
Else
subscription = gateway.Post(New SubscribeStripeCustomer() With { _
.CustomerId = "cus_96OuD7MM31KKR3K", _
.Plan = "EOAMTHS" _
})
End If
这里再次成功创建订阅,但它正在结束现有订阅(IGMonthly),并且创建了EOAMTHS的新订阅。它覆盖现有订阅。我们的要求是为同一客户运行两种订阅。如果用户购买“Email On Acid”,那么除了IG-Monthly计划外,他还必须根据订阅日期收取EOAMTH计划的费用。
我已更新旧的条带dll,现在我正在使用ServiceStack.Stripe dll(Verson 4.5.0.0),但此问题仍无法解决。
请建议我如何满足我的要求。
Thnaks&amp;的问候,
的Piyush
答案 0 :(得分:2)
似乎ServiceStack.Stripe使用旧的/customers/cus_.../subscription
端点:https://github.com/ServiceStack/Stripe/blob/5578df821acacfa56b9a18edc49dc8540a0835bc/src/Stripe/StripeGateway.cs#L242
因此,每个客户只能管理一次订阅。需要更新以使用API版本2014-01-31中添加的新/customers/cus_.../subscriptions
(复数)。