【发布时间】:2011-02-20 06:02:42
【问题描述】:
我正在实施 PayPal IPN 和 PDT。在沙盒中经过一段时间的头痛和时间后,IPN 运行良好,PDT 返回正确的 $_GET 数据。实现如下:
- 将表单中的用户 ID 传递给 PayPal
- 用户购买产品并触发 IPN 更新给定用户 ID 的数据库
- 当用户返回站点时,PDT 返回交易 ID
- 返回页面显示“请稍候”并重复 Ajax 检查交易状态
- 用户被重定向到成功/失败页面
一切正常,除了使用 PayPal 就绪的 PHP 代码为 PDT 执行返回 POST 时,页面挂起。用户永远不会回到我的网站。我没有得到失败状态,只是什么都没有。有趣的是,一旦发生未知错误,我的测试域会在短时间内无响应。
代码(PHP):https://www.paypal.com/us/cgi-bin/webscr?cmd=p/xcl/rec/pdt-code-outside
如果我将 POST 注释掉,一切正常。一旦代码进入 while{} 循环,我就能确定问题。不幸的是,我没有足够的经验来从头开始编写 PayPal 代码的替代品,因此非常感谢任何关于可能出错的想法。
POST 返回到 ssl://www.sandbox.paypal.com,我使用的按钮代码和授权令牌都是通过沙盒测试帐户创建的。
提前致谢。
更新:
我已将问题缩小到这一行:$line = fgets($fp, 1024);
它只是挂起,我不知道为什么。
【问题讨论】:
标签: php paypal payment-gateway eclipse-pdt fsockopen