2016-10-25 3 views
2

Ich versuche derzeit, ein Abonnement durch Analysieren der Stripe-Kundenliste und Suche in jedem von ihnen, wenn die Metadaten übereinstimmen.Abbrechen Stripe-Abonnement über Informationen in Metadaten

Momentan funktioniert das nicht.

customers = stripe.Customer.list(limit=100) 
for c in customers.auto_paging_iter(): 
    if bool(c.metadata): 
     try: 
      if user.username == c.metadata.username: 
       for s in c.subscriptions.data: 
        subscription = stripe.Subscription.retrieve(s['id']) 
        subscription.delete(at_period_end=True) 
       commit() 
       return jsonify(status=True) 
     except: 
      continue 

Fehle ich etwas?

+0

Der Code sieht in Ordnung sein muss. Können Sie klären, was nicht genau funktioniert? Erhalten Sie einen Fehler, oder geschieht nichts und Sie beobachten nur, dass Abonnements, von denen Sie erwarten, dass sie storniert werden, unberührt bleiben? – Ywain

+0

Also habe ich es gerade herausgefunden, anscheinend funktioniert subscription = stripe.subscription.retrieve (s ['id']) 'nicht, es muss' subscription = csubscriptions.retrieve (s ['id']) sein ' – nadermx

Antwort

1

so habe ich es nur aus, offenbar

subscription = stripe.Subscription.retrieve(s['id']) 

nicht

funktioniert

es

subscription = c.subscriptions.retrieve(s['id']) 
+0

Ah, möglicherweise verwenden Sie eine ältere Version der Python-Bindungen, die keine direkte Unterstützung für den direkten Abruf von Abonnements bietet. Es wurde in der Version [1.33.0] hinzugefügt (https://github.com/stripe/stripe-python/blob/61707d90b855a6299f08f581755da108a3fbd30a/CHANGELOG#L38-L44). – Ywain

+0

Wenn ich aktualisiert habe, ist es rückwärtskompatibel? Da ich das Update bereits gepushed habe und pip nicht aktualisiert habe, – nadermx

+0

Die aktualisierte Version sollte vollständig abwärtskompatibel sein - Stripe aktualisiert die Hauptversionsnummer, wenn Breaking Changes eingeführt werden. – Ywain

Verwandte Themen