支払いデータ転送は、Paypalサイトで行われた購入のトランザクションデータを取得しているので、それを自分のサイトで取得してユーザーに表示する必要があります。また、アーカイブと追跡の目的でデータベースに保存することもできます。しかし、私は ここのドキュメント に正確に従うことはできません
私が得ていないのは
PDTを有効にすると、購入者がウェブサイトで支払いを行い、リターンURLにリダイレクトされるたびに、トランザクショントークンが「リターン」変数としてこのリターンURLに渡されます。 PDTを適切に使用し、顧客にトランザクションの詳細を表示するには、PaypalにHTTP POSTを作成して、Paypalからトランザクショントークン、変数名「tx」、およびトランザクションの詳細を取得する必要があります。
POSTを https://www.Paypal.com/cgi-bin/webscr に送信する必要があります。変数 "tx"と以前に受け取ったトランザクショントークンの値(たとえば "tx = transaction_token")を使用してトランザクショントークンを投稿し、変数atとPDT IDトークンの値を使用して特別なIDトークン(たとえば " at = identity_token ")。また、値「_notify-synch」を持つ「cmd」という名前の変数、たとえば「cmd = _notify-synch」をPOST文字列に追加する必要があります。
このドキュメント に従って設定することにより、即時支払い通知を設定しました。これは基本的にPaypalアカウントにログインし、通知が送信されるURLを指定しながらIPNを有効にします。これは、製品を出荷できるように注文を完了するために使用されます。私がしたことは、PHPページをセットアップすることです。テーブルを作成し、そのページが呼び出される(またはヒットする)たびに、テーブルにエントリを登録するので、Paypalから通知が送られていることがわかります。しかし、それも機能しません。
私が本当に間違っているのは何ですか?私がトラブルシューティングしたい最初のことは、買い手が金額を支払うと、彼は自動的に私のサイトにリダイレクトされます。これを有効にしましたが、自動リダイレクトは機能しません。代わりに、支払い確認が表示された後、オプションとしてURLが表示されます。
誰かが私のPDTプロセスの進め方を指導してくれますかPDTのリクエストはどこで行いますか。最初のリクエスト([今すぐ購入]ボタン)に沿ったものですか、それとも後で送信されますか?
私はすべてがどのように機能するかについてのいくつかの良いサンプリングコードを見つけましたが、それでもまだ機能しません。私はこのコードを使用します http://officetrio.com/modules/free-php-Paypal-ipn-script.php IPNの場合。これをPDTに使用しています。これはSSLを使用していますが、SSLを通常のHTTP(Paypalバージョンのコピー)に変更しましたが、まだ機能しません。 http://ykyuen.wordpress.com/2010/02/17/Paypal-payment-data-transfer-sample-code/
Paypalを統合する場合、返品URLでPDTトランザクショントークンのみを使用して、ユーザーが支払いのステータスを表示できるようにします。したがって、ユーザーがPaypalから戻ると、WebサイトはPOSTリクエスト(サーバー側)をPaypalサーバーに発行し、現在のステータスが取得されます。この情報は、注文の詳細とともにユーザーに表示されます。失敗した場合、ユーザーには再試行するか、別の支払いオプションを選択する選択肢が与えられます。成功した場合、それ以上のアクションは不要です。
PaypalからIPNの更新を受け取ったときにのみ、注文の実際の支払いステータスを更新します。このIPNの更新により、PaypalサーバーへのPOSTリクエストが再び発生し、受信したステータスが支払ステータスの更新に使用されます。
Paypal Sandbox環境を使用してテストしていますか?正直に言うと、支払いをシミュレートするために異なるアカウントとアカウントタイプで複数回ログインする必要があるため、***を使用するのは苦痛であり、時には非常に混乱します。 [販売設定]-> [Webペイメント設定]で自動復帰をオンにしてから、自動復帰を有効にし、支払いデータ転送を有効にして、復帰URLを指定できます。 Paypalが自動的に追加するため、txクエリ文字列変数を追加する必要はありません。
[販売設定]-> [即時支払い通知設定]でIPNをオンにし、Paypalが使用する必要がある通知URLを指定できます。 Paypalは、支払いに関する更新があるたびに、このURLにGETリクエストを発行します。