php - PayPal IPN 返 repo 物车或订单 ID 以进行后处理

标签 php paypal shopping-cart paypal-ipn

我已经成功地将我的自定义购物车发布到 PayPal——它处理订单非常漂亮,当收到付款时,它会将数据发回我在配置中指定的 URL。代码基于此处找到的库:http://www.phpfour.com/blog/2009/02/php-payment-gateway-library-for-paypal-authorizenet-and-2checkout/

因此,我通过将数据发回 PayPal 成功地验证了 IPN -- 这一切都很棒。这是我的难题 -- 我怎么知道 IPN 正在确认什么顺序?

我没有使用 PayPal 购物车,我有自己的。它在我的数据库中有自己的购物车 ID,当我收到该购物车的 IPN 时,我想“关闭”购物车并将其保存为订单以供日后查找。

我已经尝试传递一个额外的自定义字段以及重定向到填充购物车的 PayPal,但该值不会在 IPN 中返回给我。 x.com 上的文档非常缺乏,所以我在那里找不到任何帮助。

有人使用过 PayPal 和 IPN 吗?不一定必须使用 PHP——我可以解释代码——但如果你有办法通过订单向 PayPal 发送一个值,然后用 IPN 返回该值,那就太棒了!

如果使用 PayPal 的 API 无法做到这一点(我很难相信)——关于如何处理这个问题还有其他建议吗?

最佳答案

我不知道这是否是个好主意,但这里有几个不同的选择:

A:将第一组 on1/os1 用于商品 1,并将订单 ID 添加到其中。

B:在自定义字段中,我不确定你在那里有什么,但你可以在这里把它变成像 orderidhere41|otheritems 这样的东西,然后通过在 | 处展开来解析它。让他们分开。

Paypal 确实限制了这一点,我不知道为什么,但这两者都应该有效。将它作为一个 on/os 将它放在用户的 paypal 收据上,所以这是我的首选方法。

如果其他人有更好的解决方案,我也会感兴趣的!

编辑:

澄清 on1 os1。这些是通常用于尺寸/颜色等的“选项”。参见IPN PDT Paypal variables在 option_name1 option_selection(sp) 下获取更多信息。名称当然是标题,将是“订单 ID”,操作系统将是实际 ID。

编辑:

查看该文档 $my2CO->addField('cart_order_id', rand(1, 100)); 是我放置自己的购物车订单 ID 的地方。那应该是正确的字段。抱歉造成混淆:)

编辑:

最后有一个用于 paypal IPN 的自定义字段,称为“自定义”,向其添加数据将通过,这将为您来回传输 orderid。双方都必须称其为习惯。

关于php - PayPal IPN 返 repo 物车或订单 ID 以进行后处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3349151/

相关文章:

php - 数据未从 cakephp 中的烘焙 URL 正确插入数据库

php - Doctrine 2 DQL - 按精确的 ManyToMany 数组选择

Paypal 集成,在 1 笔交易中进行 2 次付款

android - 通过Android应用程序请求 "buy me a coffee"/"tip"付款是否仍然有效?

ASP.Net 购物车应用

php - Javascript 购物车

php - 更新sql表值

php - 我应该如何在隐藏的 <input> 中正确地将富文本保存为 PHP 变量?

paypal - PayPal 经典 API 是否仍然有效?

php - 更改购物车中价格的安全方法