使用できるクレジットを追加するために、私のウェブサイトに今すぐペイパルの支払いボタンを作成しています。
購入と IPN のことはすべて理解していますが、私がやりたいことは、ユーザーが支払いを終えたときに、IPN がユーザー名を取得してクレジットをデータベースに追加できるようにすることです。
ユーザー名をトランザクションと一緒に送信して、ユーザー名も返されるようにする方法はありますか? ありがとうございました。
使用できるクレジットを追加するために、私のウェブサイトに今すぐペイパルの支払いボタンを作成しています。
購入と IPN のことはすべて理解していますが、私がやりたいことは、ユーザーが支払いを終えたときに、IPN がユーザー名を取得してクレジットをデータベースに追加できるようにすることです。
ユーザー名をトランザクションと一緒に送信して、ユーザー名も返されるようにする方法はありますか? ありがとうございました。
通知 URL に依存しないでください。
Paypal IPN Docsに記載されているように、辞書オブジェクトの「カスタム」パラメーターを Paypal に送信できます。
paypal_dict = {
"business": "yourpaypalemail@example.com",
"amount": "10000000.00",
"item_name": "name of the item",
"invoice": "unique-invoice-id",
"notify_url": "http://www.example.com/your-ipn-location/",
"return_url": "http://www.example.com/your-return-location/",
"cancel_return": "http://www.example.com/your-cancel-location/",
"custom": request.user.username, #or you can use request.user.pk
}
「カスタム」値は、取引とともにペイパルのサーバーと IPN オブジェクトに保存されます。これは、顧客を特定せずに支払いを行うよりもはるかに優れたオプションです。
ボタンのパラメーターで、notify_url
変数を最大 255 文字の URL に設定します。
payment_status
PayPal は、IPN の詳細 ( 、payment_date
など)を使用して、この URL に HTTP POST します。
ボタンを作成するときに、この URL にhttp://yourwebsite.com?username_for_credits=john%20doeなどのパラメーターを追加します 。PayPal が IPN HTTP POST を作成すると、必要なユーザー名が返されます。