Paypal IPN Express结账无法在模拟器中运行

时间:2013-09-14 13:00:11

标签: paypal

我正在使用Paypal IPN

我编写了一个脚本,当与模拟器一起使用时,它可以与Web Accept事务类型一起使用。我得到了变量并处理它们等等。但是,当我将事务类型切换为表示结帐时,它会停止工作。任何人都可以帮我找出原因吗?

我的代码是PHP

1 个答案:

答案 0 :(得分:0)

这个问题有点陈旧,但万一其他人在这个页面上遇到同样的问题...如果你正在使用官方PayPal开发者网站上的IPN Listener代码,你可能还有一些代码在那里期待特定形式的POST项目,这就是问题所在。 IPN Simulator的Express Checkout消息中不存在这些项目。这是有问题的代码:

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

Express Checkout表单帖子不具有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