2016-10-20 2 views
1

Ich verwende ServiceStack.Stripe.dll zum Erstellen einer Subskription in Stripe. Dieses Abonnement dient zur Erstellung neuer Benutzer in unserer Anwendung. Unten ist Code zum Erstellen eines neuen Abonnements mit VB.Net. Dieses Abonnement wird erstellt, wenn sich der Benutzer zum ersten Mal bei unserer Anwendung registriert.Kann mehrere Subskriptionen mit ServiceStack.Stripe nicht erstellen

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

Line1: Dim Abonnement = gateway.Post (New SubscribeStripeCustomer() Mit {_ .CustomerId = "cus_96OuD7MM31KKR3", _ .plan = "IGmonthly" })

 If subscription.Id = "" Then GoTo Line2 

Netz2 : Dim subscription1 = gateway.Post (New SubscribeStripeCustomer() Mit {_ .CustomerId = "cus_96OuD7MM31KKR3", _ .plan = "IG-monatlich", _ .Coupon = "choicefree2" _ })

Der Benutzer wurde erfolgreich in Stripe erstellt. Wiederum besteht unsere Anforderung darin, ein anderes Abonnement in Stripe für denselben Kunden zu erstellen, wenn er in unserer Anwendung "Email on Acid" kauft. Um diese Aufgabe zu erledigen, habe ich folgenden Code geschrieben.

  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 

Auch hier Abonnement erfolgreich erstellt, aber es endet bestehendes Abonnement (IGMonthly) und neues Abonnement für EOAMTHS erstellt. Bestehende Subskriptionen werden überschrieben. Unsere Anforderung besteht darin, beide Abonnements für denselben Kunden auszuführen. Wenn der Benutzer "Email On Acid" kauft, muss er zusammen mit dem IG-Monatsplan den EOAMTH-Plan auf der Grundlage seines Abonnementsdatums berechnen.

Ich habe alte Stripe-DLL aktualisiert und jetzt verwende ich ServiceStack.Stripe dll (Verson 4.5.0.0), aber dieses Problem wurde nicht behoben.

Bitte schlagen Sie mir vor, wie ich meine Anforderung erfüllen werde.

Thnaks & Grüße,

Piyush

Antwort

2

Es scheint, dass ServiceStack.Stripe den alten /customers/cus_.../subscription Endpunkt verwendet: https://github.com/ServiceStack/Stripe/blob/5578df821acacfa56b9a18edc49dc8540a0835bc/src/Stripe/StripeGateway.cs#L242

So kann es nur ein einziges Abonnement pro Kunde verwalten. Es müsste aktualisiert werden, um das neue /customers/cus_.../subscriptions (Plural) zu verwenden, das in der API-Version 2014-01-31 hinzugefügt wurde.

Als Alternative unterstützt Stripe.netcreating multiple subscriptions.

+0

Danke Ywain !!! Ich habe Stripe.net dll überprüft –

Verwandte Themen