1

我正在使用 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(New SubscribeStripeCustomer() With { _ .CustomerId = "cus_96OuD7MM31KKR3", _ .Plan = "IGmonthly" })

        If subscription.Id = "" Then GoTo Line2 

Line2: Dim subscription1 = gateway.Post(New SubscribeStripeCustomer() With { _ .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(版本 4.5.0.0),但这个问题仍然没有解决。

请建议我如何满足我的要求。

感谢和问候,

皮尤什

4

1 回答 1

2

似乎ServiceStack.Stripe使用旧/customers/cus_.../subscription端点:https ://github.com/ServiceStack/Stripe/blob/5578df821acacfa56b9a18edc49dc8540a0835bc/src/Stripe/StripeGateway.cs#L242

因此,它只能为每个客户管理一个订阅。它需要更新以使用/customers/cus_.../subscriptionsAPI 版本2014-01-31中添加的新(复数) 。

作为替代方案,Stripe.net确实支持创建多个订阅

于 2016-10-20T10:02:07.673 回答