2016-11-11 14 views
0

こんにちは私はBraintreeを使って私のアプリで毎月購読しています。何らかの理由で支払いが間に合わなかった場合のベストプラクティスに関するアドバイスをお願いします。Ruby on rails。月額サブスクリプションのベストプラクティス

私は現在subscribed:booleansubscribeddate:datesubscribedend:dateUserモデルを持っています。

ユーザーがbraintreeを通じて支払いを完了すると、属性はsubscribed:truesubscribeddate:Date.todaysubscribedend:Sometime_way_in_the_futureに更新されます。

ユーザーがサブスクリプションをキャンセルした場合、属性はあまりにも更新されます、subscribed:falsesubscribedend:(a braintree attribute, billing_due_date)

この方法で私は、日付およびサブスクリプション・ステータスに応じて私のアプリで物事を絞り込むことができます。私が見ることができる唯一の問題は、Braintreeがアカウントを1ヶ月間請求しようとしたが失敗した場合です。 Braintreeにはこの属性(.days_past_due)の属性がありますが、私のアプリはこれが起こっているかどうかを知る方法がありません。

このためのベストプラクティスは何ですか?すべての単一ユーザーがBraintreeサーバー上の.days_past_due属性の値を持っているかどうかをチェックするために、毎日スケジュールされたタスクを実行する必要がありますか?私は多くのユーザーがいる場合、これは非常に遅くないだろうか? 私はこれについてすべて間違っているかもしれません、私はちょうどその問題についてアドバイスを少しお願いします。 ありがとうございました。

答えて

0

全開示:私はブレーントリーで働いています。ご不明な点がございましたら、[email protected]までご連絡ください。

Braintreeの定期請求webhooksを実装することをお勧めします。 Webhooks send you a notificationをHTTP POST経由で呼び出すと、API呼び出しによって直接トリガーされなかったイベントが発生するたびに(顧客がサブスクリプション、サブスクリプションの取り消し、サブスクリプションの延期など)、これにより、変更が発生したかどうかを毎日確認することなく、サブスクリプションイベントに直接応答することができます。

webhooksを使用するには、webhooksを受け取るイベントを選択し、通知を送信するサーバー上のエンドポイントを指定し、そのエンドポイントをWebhook通知を解析するコードで設定する必要があります形。詳細については、guideの説明書を参照してください。

+0

これを投稿した後、ウェブフックについて知ることができます。私は今それらを実装しています。ありがとう。 –

関連する問題