4

毎月のサブスクリプションの支払いが必要なメンバーのサインアッププロセスがあります。IPNスクリプトを使用してメンバーのデータベースを更新できるスクリプトを実行しています。新しいユーザーが支払いを正常に送信した後、それらを検証するための最善の方法について知りたいです。このプロセスで私が想定したワークフローは次のとおりですが、より直接的な方法で同様のことを行った場合はアドバイスしてください。

ステップ1)新規ユーザーは、ユーザー名とパスワードを含むサインアップフォームに記入します。

  • この時点で、私は彼らが生成したパスワードを取得し、データベースでそれを操作します。このように、ログインしようとすると、アクセスが拒否されます。

ステップ2)ユーザーは、サードパーティのプロセッサを介してクレジットカードによる支払いを送信します。サードパーティのプロセッサは、データベースを更新するためにIPNを送信します。

  • IPNスクリプトを使用して、支払い方法が検証されたら、パスワードを作成したものに戻します。

ステップ3)ユーザーは支払いが成功したことを確認されます。

  • パスワードが最初に必要なパスワードに戻ったため、ユーザーはログインできます。

これが機能しない理由はわかりませんが、不格好なようです。もっと良い方法はありますか?ありがとう。

4

2 に答える 2

4

パスワードを正しく設定しないのではなく、「paid」という名前の追加フィールドを用意し、デフォルトで「0」にして、支払う場合は「1」に設定してください。

次に、ログインスクリプトで、ログインを試みるときにフィールドが「1」に設定されていることを確認します。

于 2011-08-25T18:25:44.530 に答える
2

30日間のサブスクリプションを購入すると思いますか?もしそうなら、支払いが入ってくるときに、DaysLeftと呼ばれるフィールドを30に設定し、毎日そのフィールドから1を引きます。ユーザーがログインしようとすると、名前を取得してパスワードを確認し、DaysLeft>0の残り日数があることを確認します。これによりユーザーはログインできます。

これは、毎日実行でき、すべてのユーザーを処理する単純なストアドプロシージャになります。また、再度支払う必要があるまでの期間も追跡します。残り5日未満の場合は、ログイン時にリマインダーを設定できます。いくつかのアイデア

于 2011-08-25T18:31:04.670 に答える