从用户到用户的自适应付款未收到PayPal IPN

时间:2012-06-23 06:43:07

标签: paypal-ipn paypal-adaptive-payments

我正在建立一个网站,用户可以购买其他用户发布的数字商品。我想使用PayPal自适应付款,以便将钱直接转给卖家(而不是我)。

我付款有效,但我没有收到IPN消息,除非我使用自己的PayPal帐户作为卖家(收件人)。当任何其他PayPal帐户是接收者时,我的IPN URL根本没有被击中。

您能告诉我在这种情况下是否应该获得即时付款通知,为什么它可能无法正常工作,或者我可以在付款完成后找到其他任何方式?

更新

当我登录PayPal并查看IPN历史记录时,我可以看到它尝试向我发送IPN以支付给其他接收者,但他们都获得了HTTP状态码 403 。我还可以看到它何时尝试向我发送IPN付款给我自己 - 这个人获得了HTTP状态码200.

我不知道为什么它会得到403响应,因为我对该URL没有任何类型的访问控制。而且我不知道为什么只有当IPN用于向其他人付款时它才会获得403.

当我查看我的网络服务器日志时,我看到PayPal试图点击我的IPN接收器并且它主要得到 404 ,除了支付给我自己的一个案例 - 这得到了200。 / p>

173.0.82.126 - - [23/Jun/2012:15:25:00 +1000] "POST /ajax/paypal/AdaptivePayments/ipn.php HTTP/1.0" 404 - "-" "-"
173.0.82.126 - - [23/Jun/2012:15:24:59 +1000] "POST /ajax/paypal/AdaptivePayments/ipn.php HTTP/1.0" 200 - "-" "-"

我将检查我的Apache Web服务器中是否存在可能拒绝基于POST主体的IPN接收器POST的内容。

1 个答案:

答案 0 :(得分:0)

我发现这肯定与" /../"在returnUrl和cancelUrl中。我通过删除" /../"解决了这个问题。来自returnUrl和cancelUrl。我并不认为这会是一个问题,因为" /../"用于PayPal's Adaptive Payments PHP NVP SDK中的示例。我认为它必须是Apache中的一些安全设置阻止带有" /../"的主体的POST,但我还没有深入研究它。