Paypalに送信ボタンが付いたテキスト入力フォームが欲しいのですが、支払い時にフォームの内容がmysqlデータベースに保存されます。
これは些細なことのように聞こえますが、PaypalのIPNでとても苦労しています。
誰かが私を正しい方向に向けることができますか?
ありがとう!
Paypalのウェブサイトにはサンプルコードがいくつかあります。ただし、直面するより大きな問題は、ユーザーがおそらくリアルタイムの応答を望んでいることです。これは通常、ユーザーがリンクをクリックしてサイトに戻ったときにサイトに送信されたPDTデータを処理することによって行われます。ある時点で、PaypalはあなたのIPNURLに同様のデータを投稿します。データを2回処理することは避けてください。
また、問題のデータは、トランザクションに関するPaypalのデータのみです。任意のデータは含まれていません。 Paypalに送る前に、顧客の注文を記録するか、パススルー変数を探す必要があります。たとえば、請求契約を作成する場合、custom
という変数があります。この変数は作成時に返されます。注文IDまたは必要なものをその変数に保存できます。内容を検証して、トランザクションの詳細が正しいことを確認するように注意してください。
私はこの質問がすでに何年も前に答えられたことを知っています、しかし将来それを偶然見つけた人々のために...
このクラスと例は特に便利であることがわかったので、無数のプロジェクトで再利用しました: http://www.micahcarrick.com/php-Paypal-ipn-integration-class。 html
更新:ページは現在オフラインですが、アーカイブされたバージョンがあり、ダウンロードリンクが機能しています: https:// web。 archive.org/web/20140210202247/http://www.micahcarrick.com/php-Paypal-ipn-integration-class.html
アーカイブされたダウンロードへの直接リンクは次のとおりです。 https://web.archive.org/web/20140210202247/http://www.micahcarrick.com/files/Paypal-1.3.0.Zip
アーカイブされたページから、作成者は自分のライブラリの新しいバージョンにもリンクしています。これはおそらく現在より良いオプションです: https://github.com/Quixotix/PHP-Paypal-IPN
フォームの内容全体をPaypalから取り戻すことはできません。あなたが得るものはあなたが「リターン」フィールドで送ったアドレスへのポストバックです。フォームからポストバックまでのプロセスを通じて任意の情報を渡す最良の方法は、「item_number」フィールドに入力することです(できれば、追跡する情報にリンクされたデータベース内のIDとして使用することをお勧めします)。
これPHPサンプル はIPNを始めるのに役立つはずです。
ここでPHP PaypalのAPI を見つけることができます。これは、IPNを扱うサンプルが含まれていない場合でも役立つ可能性があります。
ユーザーが送信ボタンをクリックするとPaypalに移動し、フォームのコンテンツを取得できるサイトに戻るフォームを作成することをお勧めしますか?
私は人々がこれをしているのを見たことがありません、私が人々がしているのを見たのは、ユーザーがフォームを送信すると、フォームを処理するためのスクリプトに移動し、そのスクリプトで彼らが支払う場所であるPaypalにリダイレクトされるということですその後、IPNを使用してPaypalの応答を処理できます。