0

Ruby on Rails を使用して SaaS アプリケーションを開発しています。アプリケーションの使用を開始するには、各ユーザーが特定のプランに加入する必要があります。このステップは、Stripe を使用して行われました

問題は、自動支払いのサブスクリプションが失敗した場合 (クレジット カードを変更した場合など)、このユーザーが私のアプリケーションを使用できないようにする方法がわからないことです。User モデルの列を使用して、このユーザーを非アクティブとしてマークし、サインインできないようにすることを考えています。続ける。

ちなみに、https ://github.com/RailsApps/rails-stripe-membership-saasやhttps://github.com/railscasts/289-paypal-recurring-billingなど、Rails での SaaS の例はたくさん見ましたが、障害が発生するたびに、プロバイダー (Stripe または Paypal) からのポストバックを処理しないようです。

あなたの考えと、同様のプロジェクトでこの問題にどのように対処しているか教えてください。

前もって感謝します、

4

2 に答える 2

1

これは、Devise の動作と同様の方法で処理する必要があると思います。有効なサインイン ユーザーを強制するにはbefore_action authenticate_user!、コントローラーを配置します。

あなたの問題を解決しなければならない場合、たとえば同様の方法を作成します

before_action verify_payment!

def verify_payment!
  redirect_to user_payments_path unless current_user.has_valid_payment?
end
protected :verify_payment!

そしてUser#has_valid_payment?、アカウントが有効かどうかをチェックするロジックを入れます(私はそれらのスクリーンキャストを見ませんでしたが、最後の支払いが30日より古いかどうかをチェックするようなものだと思います)

編集:

Stripe 固有の詳細については、優れた Deefour の回答を確認してください。

于 2013-08-06T16:52:02.597 に答える