Paypal IPN POST 变量随机返回 item_number 或 item_number1
Posted
技术标签:
【中文标题】Paypal IPN POST 变量随机返回 item_number 或 item_number1【英文标题】:Paypal IPN POST variables randomly returning item_number or item_number1 【发布时间】:2017-12-17 16:18:27 【问题描述】:最近几天,Paypal 开始随机返回 item_number1 的 POST 变量,而不是 item_number,item_name 也是如此。我在 Paypals 网站上读到,当它是购物车交易(多个项目)时,他们会这样做。这些是对单个项目的 wifi 访问的即时付款,所以我不确定为什么在运行多年后没有看到它突然开始随机发生。在返回给 IPN 侦听器的数据中,如果它发送了“item_number1”,我还会得到一个“num_cart_items=1”。所以它肯定认为某些交易是购物车交易。有什么办法可以阻止这种情况发生吗?
【问题讨论】:
Paypal:让开发者头疼了 15 年。 Use Stripe. 如果这意味着我所拥有的任何用户说他们使用了 PayPal 网站客户端,但流程看起来与往常不同,并迫使他们使用 facebook Messenger 集成。不知道有没有连接。我昨天向 PayPal 发送了一封支持电子邮件,但收到了一个无意义的回复。我今天打电话给他们,我给他们回信。 【参考方案1】:我注意到昨天(7 月 13 日)和今天一样运行良好。无论如何,我修补了检查出两个变量的代码。这可能是来自贝宝的笑话,明天可能是 $_POST['item_number69'] :D
【讨论】:
【参考方案2】:如果“item_number”不存在,则查找“item_number1”
此页面引用了 paypal 文档中的 item_number https://developer.paypal.com/docs/classic/ipn/integration-guide/IPNIntro/
此页面引用 item_numberx https://developer.paypal.com/docs/classic/ipn/integration-guide/IPNandPDTVariables/
对贝宝很生气! 而且很难与 paypal 核对,因为您甚至无法通过 item_number 或订单参考号搜索交易...
【讨论】:
我只是想提一下,我遇到了同样的问题。在过去两天的几次付款中,突然出现“item_name1”而不是“item_name”。今天又是“item_name”。我现在已经实现了一个后备方案来处理这个恼人的问题。【参考方案3】:这里类似。我暂时处理以下问题:
if (!$_POST['item_number'])
$_POST['item_number']=$_POST['item_number1'];
我仍然想知道为什么它会随机将 item_number 更改为 item_number1 并且没有任何通知或公告。我有一半订单通过,一半没有,虽然这是 PayPal IPN 问题,而不是我的文件!
【讨论】:
谢谢我正在做类似的解决方法,但希望我可以向 Paypal 发送一个 post 变量,通知他们的系统这不是购物车交易。我目前发送<input type="hidden" name="txn_type" value="web_accept">
并想知道将其更改为 <input type="hidden" name="txn_type" value="express_checkout">
是否会解决它。
经历了同样的事情,用类似的逻辑处理。
如果我将我的 froms 从 web_accept 更改为 express_checkout,这是否会影响任何其他流程(例如循环等)?
Seldimi 可能会,但您可以为定期付款指定不同的 txn_type。 developer.paypal.com/docs/classic/ipn/integration-guide/…
似乎已修复,如 paypal-community.com/t5/About-Business/Massive-problem-with-IPN/… 上所说的【参考方案4】:
这里也一样。昨天开始随机行为。 我对这种“购物车”功能不感兴趣,所以我修改了我的 ipn 接收器以扫描第一个可用的“item_number”。
【讨论】:
以上是关于Paypal IPN POST 变量随机返回 item_number 或 item_number1的主要内容,如果未能解决你的问题,请参考以下文章
Paypal SandBox IPN 总是返回 INVALID