2017-08-01 43 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

這就是你想要的您正在刪除的信息。因此,如果有人想取消訂閱計劃,則應在模型中包含一些字段,以瞭解用戶是否已激活該計劃。並且將該字段從活動狀態更改爲非活動狀態,而不是從訂閱模式中刪除條目 –

回答

2

條紋允許您在listing subscriptions(儘管您需要使用API​​版本2016-07-06或更近期的版本)時通過status=canceled來檢索取消的訂閱。

然後,您需要在您的結尾進行過濾,以便使用每個訂閱的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 ='canceled''是可能的,謝謝,正是我需要的。 沒有辦法限制查詢中的時間戳嗎?類似於'created = {'gt':start_timestamp,'lt':end_timestamp}''? – bluesummers

+0

另外,有更多的選擇比'積極'和'取消'? – bluesummers

+0

@bluesummers你可以在這裏查看'status'的不同可能值:https://stripe.com/docs/api#list_subscriptions-status。不幸的是,在列出訂閱時,不可能發送'canceled_at'作爲參數,因此過濾必須在您的最後完成。 – Ywain

相關問題