0

Paypal IPN を使用しています

シミュレーターで使用すると、Web Accept トランザクション タイプで正常に動作するスクリプトを作成しました。変数を取得して処理しますが、トランザクションタイプをエクスプレスチェックアウトに切り替えると、機能しなくなります。誰でも理由を理解するのを手伝ってもらえますか?

私のコードはPHPです

4

1 に答える 1

0

質問はちょっと古いですが、他の人が同じ問題でこのページにたどり着いた場合に備えて...公式のPayPal開発者サイトのIPNリスナーコードを使用している場合、特定の形式を期待するコードがまだそこにある可能性がありますPOST アイテム、それが問題です。これらのアイテムは、IPN シミュレーターのエクスプレス チェックアウト メッセージには存在しません。問題のあるコードは次のとおりです。

   // assign posted variables to local variables
   $item_name = $_POST['item_name'];
   $item_number = $_POST['item_number'];

エクスプレス チェックアウト フォームの投稿には、item_name も item_number もありませんが、item_name1 と item_number1 があります。したがって、適切な解決策は、そのセクションでフォーム フィールド名を指定するすべてのコード行を取り出し、代わりにすべてのフォーム フィールドを反復処理することです。ループでは、必要に応じて、予想されるアイテムの存在をテストできます。または、フォーム項目の完全なセットで何かをしたいだけの場合は、次のように実行できます。

    foreach($_POST as $key => $value) {
       $strOutput .= $key . " = " . $value . "|";
    }

参考までに... 問題のあるコードはここで見つかりました: https://developer.paypal.com/docs/classic/ipn/ht_ipn/ ...そしてここ: https://gist.github.com/xcommerce-gists/3440401 #file-completelistener-php

于 2013-11-25T04:07:21.090 に答える