2011-03-17 24 views
1

私はユーザーが複数回サブスクライブするのを防ぐ方法を見つけようとしています。私はちょうどPayPal購読とIPNを使用してプレミアムメンバーシップのPHPアプリケーションを完了しました。PHP - PayPalサブスクリプション

ユーザーが自分のアカウントにログインし、まだプレミアムメンバーでない場合は、ドロップダウンリストから選択できるプレミアムオプションが表示されます。

サブスクライブすると、このフォームはサブスクリプションがアクティブな間は非表示になります。サブスクリプションが期限切れになると、フォームが再度表示されます。

問題: PayPal IPN通知は即時ではなく、定期購読に成功してから最初の通知が届くまでに数分かかることがあります。このため、申し込みフォームは公開されています。ユーザーは、自分のサブスクリプションが機能しないと思って、再度購読しようとするかもしれません。 PayPalから通知を受け取ることなく、フォームを隠すべきかどうかを知る方法がありません。

質問:この問題を回避するにはどうすればよいですか?

答えて

0

ユーザーをpaypalにリダイレクトする前にDBにサブスクリプションを作成してください。 active:0のような特別なフラグを作成します。非アクティブなサブスクリプションを作成した後、PPのorder_idパラメータに渡します。

あなただけのアクティブなサブスクリプションのステータスを変更するIPNを受け取った場合:1

したがって、あなたが進行しているユーザーへのサブスクリプションプランを表示しませんが、あなたのサブスクリプションが進行中である

ようにあなたが別のページが表示されますが。このページを数分で更新してください。引き続きアクセスできない場合は、管理者に連絡してください。

関連する問題