2012-01-18 15 views
3

私はウェブサイトの顧客に対してpaypal自動更新を設定する必要があります。 実際には、毎月の支払いで30日間のウェブサイトアクセスが可能です。PHPとPaypal IPNサブスクリプションと定期支払い

月額自動支払いがOKの場合、「ウェブサイトアクセス」の日数を30分増やすことができます。 お客様のアカウントに日数を追加しない場合は、

これは、自分のウェブサイトからスクリプトを実行して、各自動支払い後に顧客の「ウェブサイトアクセス」日数を確認し、増やしたり停止したりする必要があることを意味します。

このようなペイパル自動更新を設定することはできますか? 自動更新するたびにスクリプト(mywebsite.com/renewalscript.php?customerid=123&payment=ok)を実行する方法はありますか? またはこれを克服する他のアイデアはありますか?

答えて

5

簡単な方法では、valid_untilの日付の列などがある可能性があります。ユーザーがコンテンツを表示しようとすると、そのフィールドをチェックし、そのフィールドが有効かどうかを確認します。その後、IPNリスナーでは、お支払いが入金されてから30日後にその日付をプッシュすることができます。

IPNリスナーの作成に関するヘルプが必要な場合は、チュートリアルに役立ちます。

2

AFAIK、すべての正常に借りたサブスクリプション料金で、あなたはIPN経由で情報を得る。 「実行する必要のあるスクリプト」はIPNスクリプトです。 PayPalがIPN経由でお客様に通知する場合、IPNスクリプトは要求/応答を処理する必要があり、有効な場合は、データベースにパラメータを設定します。これはあなたのウェブサイト上のIPNハンドラスクリプトで行われます。

(あなたのテーブルへのローカル更新を行う前に、このスクリプトのpaypalリクエストに最初に答えることを忘れないでください。遅すぎてリクエストした場合、paypalはそれを受け入れずに新しいペイパルを送信します)。

はあなたがtxn_typesubscr_eotときのためにIPNを聞くことによってこれを行うことができ、サンプルコード

3

ためhttps://cms.paypal.com/cgi-bin/marketingweb?cmd=_render-content&content_ID=developer/library_code_ipn_code_samplesを参照してください。サブスクリプションが失敗するかキャンセルされると、アクセスを拒否できます。

この質問はsubscr_eotについてもう少し説明していますPHP Paypal IPN Integration Class チェック:

if($p->ipn_data['txn_type'] == 'subscr_eot')

は、アクセスを許可しないように自分の status 0に設定 Subscriptions with Paypal IPN

私はこのクラスを使用します。

+0

それはsubscr_ *ステータスは古い方法であるというのは本当でしょうか?私はこれに答えようとしています。 http://stackoverflow.com/questions/13855287/parsing-paypal-subscription-ran-out – Volomike

関連する問題