PayPal 的 IPN 不会因购物车上传而触发

Posted

技术标签:

【中文标题】PayPal 的 IPN 不会因购物车上传而触发【英文标题】:PayPal's IPN does not fire for cart upload 【发布时间】:2015-03-29 14:43:33 【问题描述】:

以前,我们的购物车完全位于 PayPal 上,我们为每个“添加到购物车”按钮使用 add 方法,并且每次购买后我们的 IPN 脚本都会正确触发。现在我们添加了另一个支付选项,所以我们在我们的网站上实现了一个购物车。这是将购物车内容传递给 PayPal 的表单:

<form action="https://www.paypal.com/cgi-bin/webscr" method="POST" id="pp_cart_form">
    <input type="hidden" name="business" value="email@domain.com" />
    <input type="hidden" name="cmd" value="_cart" />
    <input type="hidden" name="upload" value="1" />
    <input type="hidden" name="return" value="Return URL here - works fine" />
    <input type="hidden" name="no_shipping" value="1" />
    <input type="hidden" name="no_note" value="1" />
    <input type="hidden" name="rm" value="2" />
    <input type="hidden" name="custom" value="upload_cart" />
    <input type="hidden" name="invoice" value="Invoice ID" />
    <input type="hidden" name="notify_url" value="IPN URL - never gets fired" />
    <input type="hidden" name="item_name_1" value="&quot;Item 1&quot;" />
    <input type="hidden" name="item_number_1" value="443" />
    <input type="hidden" name="amount_1" value="1" />
    <input type="hidden" name="item_name_2" value="&quot;Item 1&quot;" />
    <input type="hidden" name="item_number_2" value="444" />
    <input type="hidden" name="amount_2" value="1" />
</form>

表单正在通过 javascript 提交。

在此更改之后,IPN 处理程序在购买后永远不会被触发,我们必须手动添加订单。

可能是什么问题? notify_url 变量是 100% 正确的。

【问题讨论】:

【参考方案1】:

你做了什么来确认它没有被触发?您是否检查了 PayPal IPN 历史以查看那里的结果?您检查过您的网络服务器日志吗?

在how to test PayPal IPN 上查看这篇文章。如果您按照这些步骤操作,它应该可以帮助您解决问题。

【讨论】:

我不是账号拥有者,而且账号拥有者超级懒惰......我确实检查了日志,没有请求IPN脚本。如果提交表单没问题,我想我应该等待获取 IPN 历史记录。

以上是关于PayPal 的 IPN 不会因购物车上传而触发的主要内容,如果未能解决你的问题,请参考以下文章

Paypal IPN 处理来自购物车上传的篡改订单

触发 rails 控制器功能 - Paypal 网站标准 IPN

PayPal 从 IPN 到 REST API 的过渡

如何在不使用“立即购买”按钮的情况下为自定义购物车集成 Paypal IPN

如何使用 PayPal REST API 和 IPN 验证销售

PayPal 购物车上传 - 如果用户点击离开 PayPal,则链接返回以稍后付款