2017-03-21 14 views
0

お客様がsuccess.phpファイルに戻ると(IPNリスナーを使用してPaypalの支払い処理を行った後に)、支払いが設定されますdbには新しいメンバーシップ番号が付けられ、success.phpファイルにも生成されます。顧客がゲストとして支払う場合、プロセスは正常に機能し、success.phpページに戻されます。ただし、お客様がゲストとして支払いするのではなく、paypalにログインすると、自分のサイトのsuccess.phpページに戻るのではなく、Paypalのユーザーアカウントページにリダイレクトされます。つまり、支払いは行われましたが、メンバー番号が登録されていないか、dbに追加されていません。Paypalの返信用URLがphpとhtmlの書式では動作しない

すべての顧客を自分の成功ページに戻す方法があるのですか、新しいメンバーを作成するコードをipnリスナー(ipn.php)ファイルに追加する必要があります。成功のページに戻る?

これは、チェックアウトページで返品URLを設定するために使用するコードです。

<form action="<?php echo $paypalURL; ?>" method="post"> 
      <!-- Identify your business so that you can collect the payments. --> 
      <input type="hidden" name="business" value="<?php echo $paypalID; ?>"> 

      <!-- Specify a Buy Now button. --> 
      <input type="hidden" name="cmd" value="_xclick"> 

      <!-- Specify details about the item that buyers will purchase. --> 
      <input type="hidden" name="item_name" value="<?php echo $item_name; ?>"> 
      <input type="hidden" name="item_number" value="<?php echo $item_number; ?>"> 
      <input type="hidden" name="amount" value="<?php echo $price; ?>"> 
      <input type="hidden" name="currency_code" value="GBP"> 

      <!-- Specify URLs --> 
      <input type='hidden' name='cancel_return' value='http://example.com/payment-cancelled'> 
       <input type='hidden' name='return' value='http://example.com/thanks-for-joining/'> 

      <!-- Display the payment button. --> 
      <input type="submit" name="submit" class="button" value="Pay Now"> 
     </form> 

これはサンドボックスのみの問題であれば誰もが知っている場合、私に知らせてくださいので、私は、私はこれまでのサンドボックスモードでこれをテストしていることを追加する必要があります。

更新:今後のテストでは、ゲストのチェックアウトでもリターンURLが機能しなくなることがわかりました。これは、サンドボックスの支払いが新しい支払いページ(スクリーンショットが添付されている)を通過しているので、起き始めたばかりです。

返信URLをリクエストする方法をpaypalに変更しましたか?

Paypal payment screen shot

答えて

1

私は私のサイトにPayPalの支払いを統合するいくつかの方法で戦いました。私がここでstackoverflow、paypalのサイト、そしてウェブ上で読んだことから、そのバックエンドの仕事のすべてをあなたのリスナーに入れるのが最善でしょう。フロントエンドで何かを設定して顧客のためにDBを準備することができますが、この情報の成功ページを使用する際の主な問題は次のとおりです。

1)お客様の成功ページのURLを入力するだけです知られている
2)顧客は、ペイパル後にリダイレクトされないことを選択することができ、あなたのサイトにまったく戻ってこないことがあります(これが私が見ることができる最高の理由です)。
3)時々paypalがリダイレクトされることがありますが、リスナーは完了、保留中、.etcのpaypalsレスポンスを受け取っていない可能性があります(リダイレクトする前に10秒待つ理由です)。 。

正直言って、あなたのリスナーにすべてのコードを配置することは非常に簡単で、成功ページとpaypalの間の誤った通信を減らします。テストに関しては、IPNシミュレータを使用してコードをテストしましたが、それは問題ありませんでした。

リダイレクトURLに関しては、ボタンを使用すると、オプション3(私は信じる)が他のものを上書きする返信URLを提供することになります。私はサンドボックスの使用についてはわかりませんが、コードに.sandbox.paypalがあることを確認してください(https://gist.github.com/xcommerce-gists/3440401#file-completelistener-php)。

こちらがお役に立てば幸いです。

+0

ありがとうInterloper、私はそれが私が始めているリスナーにすべてを置くことが最善であると感じていた。主な問題は、WordPressでサイトが実行されていることです。もちろん、ipnファイルはWordpressフレームワーク内で呼び出されないため、wp_mailなどのユーザーメタや機能を追加するのは簡単ではありません。 Paypalのサンドボックスは、これが求められているように思われます。技術的なサポートはあまり大きくありません。 回答に感謝して回答をマークしました;-) –

+0

ありがとうございました。 –

関連する問題