Невозможно создать несколько подписок с помощью ServiceStack.Stripe

Я использую ServiceStack.Stripe.dll для создания подписки в полосе. Эта подписка предназначена для создания новых пользователей в нашем приложении. Ниже приведен код для создания новой подписки с помощью VB.Net. Эта подписка будет создана, когда пользователь впервые зарегистрируется в нашем приложении.

        Dim gateway = New StripeGateway(stripeKey)
        If (list("CouponId").ToString() = "") Then GoTo Line1 Else GoTo Line2

Строка 1: Подписка Dim = gateway.Post(New SubscribeStripeCustomer() With { _ .CustomerId = "cus_96OuD7MM31KKR3", _ .Plan = "IGmonthly" })

        If subscription.Id = "" Then GoTo Line2 

Строка 2: Dimscription1 = 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-полосу и теперь использую dll-файл ServiceStack.Stripe (версия 4.5.0.0), но эта проблема не устранена.

Пожалуйста, предложите мне, как я могу выполнить мое требование.

Спасибо и с уважением,

Пиюш


person Piyush Srivastava    schedule 20.10.2016    source источник


Ответы (1)


Похоже, что ServiceStack.Stripe использует старую конечную точку /customers/cus_.../subscription: https://github.com/ServiceStack/Stripe/blob/5578df821acacfa56b9a18edc49dc8540a0835bc/src/Stripe/StripeGateway.cs#L242

Таким образом, он может управлять только одной подпиской для каждого клиента. Его необходимо обновить, чтобы использовать новое /customers/cus_.../subscriptions (множественное число), которое было добавлено в версии API 2014. -01-31.

В качестве альтернативы Stripe.net поддерживает создание нескольких подписок.

person Ywain    schedule 20.10.2016