2017-08-01 8 views
0

が、私はそのすべての既存の加入者をリスト'pro-plan'と呼ばれる計画を、持っていると言うことをすべての顧客を取得しますが、私が思っていた何Pythonのストライプ - 具体的な計画からの解除は

for subscriber in stripe.Subscription.all().auto_paging_iter(): 
    # do something with this subscriber 

非常に簡単です、どのようにユーザーを把握することができますされています所定の期間内に退会されていますか?

たとえば、start_timestampend_timestampは、特定のプランから退会したユーザーをどのように見つけることができますか?

+0

退会時にどうなるか教えてください。テーブルからエントリを削除するかどうかを確認しますか?また、より良いヘルプのために、いくつかの情報やコードを追加する必要があります。 –

+0

あなたがどういうことを意味するのかわかりませんが、誰かが購読を中止したときに、私は '.retrieve'を使って購読をしてから、私はサブ購読者に' sub.delete() 'を呼び出します – bluesummers

+0

それは、あなたが削除している情報だから誰かが計画を退会させたいなら、あなたのモデルには、その計画が有効かどうかを知るためのフィールドが必要です。 Subscriptionモデルからエントリを削除するのではなく、サブスクリプションでそのフィールドをアクティブから非アクティブに変更する –

答えて

2

ストライプは、あなたがstatus=canceledときlisting subscriptionsを(あなたがそうするようにAPIのバージョン2016-07-06またはより最近の上にある必要はないが)渡すことで、キャンセルのサブスクリプションを取得することができます。

各サブスクリプションのcanceled_at属性を使用して、興味のある期間にキャンセルされたサブスクリプションを維持するには、最後にフィルタをかける必要があります。

subscriptions = stripe.Subscription.list(plan='pro-plan', status='canceled') 
for subscription in subscriptions.auto_paging_iter(): 
    if start_timestamp <= subscription.canceled_at <= end_timestamp: 
     # Do something with subscription 
+0

私は 'status = 'cancelled'が可能であることを知りませんでした。 クエリ内のタイムスタンプを制限する方法はありませんか? 'created = {'gt':start_timestamp、 'lt':end_timestamp}'のようなもの? – bluesummers

+0

また、「アクティブ」および「キャンセル」よりも多くのオプションがありますか? – bluesummers

+0

@bluesummers https://stripe.com/docs/api#list_subscriptions-statusの 'status'には、可能な値をいくつか表示することができます。残念ながら、サブスクリプションを一覧表示する際にパラメータとして 'cancelled_at'を送信することはできません。そのため、フィルタリングは最後に実行する必要があります。 – Ywain

関連する問題