2016-10-25 8 views
2

現在、ストライプの顧客リストを解析し、メタデータが一致するかどうかを調べることで、サブスクリプションを取り消そうとしています。メタデータの情報を使用してストライプ購読をキャンセルする

現在のところ、これは機能しません。

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 

私に何かが不足していますか?

+0

コードは大丈夫に見えなければならない

を動作しません。何が正確に働いていないのかを明確にすることができますか?エラーが発生するか、何も起こりません。取り消す予定のサブスクリプションは変更されていません。 – Ywain

+0

だから私はちょうどそれを理解した、明らかに 'サブスクリプション= stripe.Subscription.retrieve(s ['id'])'は動作しない、 'subscription = c.subscriptions.retrieve(s ['id'])でなければならない) ' – nadermx

答えて

1

ので、私はそれを考え出し、明らかに

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

それは

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

ああ、サブスクリプションの直接取得をサポートしていない古いバージョンのPythonバインディングを使用している可能性があります。これはバージョン[1.33.0](https://github.com/stripe/stripe-python/blob/61707d90b855a6299f08f581755da108a3fbd30a/CHANGELOG#L38-L44)で追加されました。 – Ywain

+0

を更新した場合、その逆互換性がありますか?私はすでにアップデートをプッシュしており、アップデートされていません – nadermx

+0

アップデートされたバージョンは完全に後方互換性があります - ストライプは、変更を導入する際にメジャーバージョン番号を更新します。 – Ywain

関連する問題