2016-11-11 65 views
0

您好,我使用Braintree在我的應用程序上每月訂閱,該程序正常運行。我希望就某些事件的最佳做法提供一些建議,因爲任何原因不按時支付款項。紅寶石在軌道上。月度訂閱最佳做法

我目前有一個User模型與subscribed:booleansubscribeddate:datesubscribedend:date

當用戶通過braintree完成支付時,屬性將更新爲subscribed:truesubscribeddate:Date.todaysubscribedend:Sometime_way_in_the_future

當用戶取消訂閱,屬性也得到更新,subscribed:falsesubscribedend:(a braintree attribute, billing_due_date)

這樣我可以根據日期和訂閱狀態篩選我的應用程序的東西。我可以看到的唯一問題是Braintree試圖在一個月內收取賬戶但失敗。 Braintree有一個屬性(.days_past_due),但我的應用程序無法知道這是否已經發生。

這是什麼最佳實踐?我應該每天執行計劃任務來檢查每個用戶是否具有Braintree服務器上.days_past_due屬性的值?如果我有很多用戶,這會不會非常慢? 我可能會談論這一切都是錯誤的,我只是想就此問題提出一些建議, 謝謝。

回答

0

完全披露:我在布倫特裏工作。如果您有任何其他問題,請隨時聯繫[email protected]

最好的辦法就是實施Braintree的經常性計費webhooksWebhooks send you a notification通過HTTP POST發生的事件發生時,可能並未直接由API調用觸發 - 例如客戶通過其訂閱收取費用,訂閱取消或訂閱逾期。這將允許您直接響應訂閱事件,而無需執行每日檢查以查看是否發生了任何更改。

要使用webhook,您需要選擇要接收webhooks的事件,在您的服務器上指定我們將發送通知的端點,並使用代碼將該webhook通知解析爲可用的代碼形成。有關詳細信息,請參閱此guide的說明。

+0

發佈後發現有關webhooks。我現在已經實施了它們。謝謝。 –