我們讓我們的客戶使用條紋訂閱執行30天的免費試用。我們希望足跡持續30天。如果訂閱狀態是trailing
,active
或past_due
那麼客戶可以使用我們的服務。如果沒有卡,如何使Stripe訂閱狀態從追蹤變爲取消?
如果客戶已經離開了線索期並且已經付款並且由於某種原因他們的卡不再好,那麼訂閱狀態從active
變爲past_due
。訂閱狀態爲past_due
15天(由我們的重試設置決定)。換句話說,如果他們是付費客戶,並且他們的卡在每月付款到期時不好,那麼他們仍然可以在他們修理他們的卡時使用我們的服務額外的15天。
如果30天試用期結束並且沒有卡,則狀態從trialing
移至active
。然後3分鐘後,狀態從active
變爲past_due
。然後狀態保持past_due
15天 - 基本上使試用期45天。我們不希望那樣;我們希望試用期僅爲30天。
我們如何不讓這15天多餘?
在這種情況下,我認爲會有一個設置讓訂閱狀態從trailing
變爲cancelled
,這樣就可以很容易地按照上面設置的方式設置試用期長度。但是這個設置看起來並不存在。
所以我需要手動取消訂閱時,我發現(通過網絡掛接)的trailing
到active
,然後3分鐘後active
到past_due
?當從trailing
變爲active
時,我會將日期時間存儲在數據庫中。然後,當它從active
到past_due
時,我會檢查存儲的數據時間是否少於15分鐘 - 如果是,那麼我知道我有一個試用期沒有卡而結束,我取消訂閱。還是有更簡單的方法來做到這一點?
關於您的第一個解決方案,我希望爲未跟蹤的客戶保留多個重試次數,即。已成功付款的客戶。我試圖在第二段中解釋這一點。 – Ryan
無視我在這裏的第一條評論。關於您的第一個解決方案,我希望爲未嘗試的客戶保留多個重試次數。關於你的第二個解決方案,永遠不會有'invoice.payment_failed'事件。只有兩個'customer.subscription.updated'事件。然後是一個'customer.updated'事件。最後在15天后發生'customer.subscription.deleted'事件。 – Ryan
根據文檔,這似乎不可能,我剛剛更新了我的答案 – koopajah