2017-02-03 2 views
0

私は現在、PHPのウェブサイトで今すぐ購入ボタンをテストしています。サンドボックストランザクションが動作しているすべてのイベントでPaypal buy nowボタンからコールバックを受け取ることができますか?

<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post" target="_top"> 
<input type="hidden" name="cmd" value="_s-xclick"> 
<input type="hidden" name="encrypted" value="........" 
<input type="image" src="https://www.paypalobjects.com/fr_CA/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal - la solution de paiement en ligne la plus simple et la plus sécurisée !"> 
<img alt="" border="0" src="https://www.sandbox.paypalobjects.com/fr_CA/i/scr/pixel.gif" width="1" height="1"> 
<input name="notify_url" value="https://www.example.com/paypal_notifications.php" type="hidden"> 
</form> 

(完全送る)が、私は1回だけメッセージや最新情報を取得する場合、私は知らない:ここで私は(多かれ少なかれ)を持っているコードです。

支払いが取り消された場合、たとえば1週間後にイベントが届きますか? (サンドボックスアカウントから即座に支払いを取り消す方法はありますか?)

アカウントが複数のウェブサイトで使用されているため、アカウントのIPN設定ではなくnotify_urlのみを使用していますそれを見つける...:P)。

答えて

1

ウェブチェックアウトフォームでnotify_url設定オーバーライドプロファイルIPN URIに、フォームは、プロファイル値が使用されますnotify_urlを指定していないので、もし、しかしフォームは、プロファイル値のアドレスを指定しない場合使用されません。 PayPalのプロフィールページ(デフォルトのIPNアドレスを指定しているところ)にはこれは言及されておらず、PayPal独自のドキュメントもないので、これは混乱していると思います。

(PayPalのドキュメントには、以前の(2005-2015)アカウント管理ページについてのスクリーンショットとテキストがまだ残っていますが、まだ更新されていません)。

インスタントお支払い通知」にもかかわらず、メッセージは実際にインスタントではありません - 私の経験では、メッセージ。このため、即時通知が必要な場合は、PDTを使用してIPNハンドラを拡張する必要があります。 PDTはPayPalのWebチェックアウトプロセスで顧客をクエリーコード内の不透明なトランザクションIDを持つカスタムURLにリダイレクトします。返品する顧客からの入金リクエストを処理する際に、独自のコードで実際の取引詳細を取得できます。

IPNシステムは1990年代後半になっています。その結果、デザインはちょっと変わっています。実際には、同じトランザクションに対して複数の通知を受け取ることになりますが、タイプによって異なります取引のこれはPayPalのIPNの文書に記載されていますが、あなたにすべての詳細を説明するものではなく、多くの場合試行錯誤を通じて学ばなければなりません。

たとえば、PayPalの独自のチェックアウトページを使用した直接的なWebチェックアウトで、顧客がクレジットカードまたはPayPalアカウントの残高で支払いを行っている場合は、トランザクションが成功したことを通知する通知が1通届きます。ただし、お客様がUS ACH(別名eCheck)でお支払いの場合、決済プロセスに時間がかかるため、複数の通知が届きます。お支払いが行われたが、まだ決済されていないことの最初の通知が表示されます支払いが正常に完了した場合(PayPalアカウントに実際に資金がある場合)、または失敗した場合に通知することができます。

PayPal Sandboxは、実際に起こりうるすべてのシナリオをシミュレートすることができず、セットアップに苦労するため、些細な練習にも使用することをおすすめしません。あなたがテストを真剣に受け入れるかどうかは、このコードがあなたのビジネスにとってどれほど重要かにかかっています。

具体的には、特にPayPalの場合は、テストでのテストを心配しないでください。また、コードが異常なメッセージを正常に処理するようにしてください。受信IPNメッセージをすべて記録して保存することを強くおすすめします。 PayPalのドキュメントは多くの分野で欠けているため、処理できるデータについてはより良い「気持ち」を感じます。

+0

うわー、ありがとう。あなたは非常に徹底的でした! – beppe9000

+0

すばらしい説明@Dai – Sol

関連する問題