【问题标题】:PayPal IPN Cart Quantities don't exist?PayPal IPN 购物车数量不存在?
【发布时间】:2023-03-04 23:41:01
【问题描述】:

在从 PayPal 的 IPN 购物车结账消息传递的所有变量中,为什么不存在每件商品的数量?我目前只有变量 num_cart_items,它有助于指示他们签出的商品数量,但没有变量描述每件商品的购买数量。

非常感谢任何帮助!

谢谢:)

【问题讨论】:

  • 您必须在付款中发送详细的详细信息,以便他们在 IPN 中返回。您使用的是 Payments Standard、Express Checkout 还是什么?
  • 你好安德鲁!我正在使用 PayPal 快速结帐(只需将直接 POST 付款发送到购物车的 PayPal)
  • 您需要确保在您的 DoExpressCheckoutPayment 呼叫中发送所有详细的详细信息,以便它们显示在 IPN 中。您可以发布您的 API 请求示例吗?
  • Andrew,我实际上并没有使用 PayPal 的新 API,而是使用此页面上列出的说明来发布我的购物车内容 (paypal.com/cgi-bin/webscr?cmd=p/pdn/howto_checkout-outside)。以下是 PayPal 目前通过我的 IPN 侦听器返回的唯一变量:mc_gross、protection_eligibility、payer_id、tax、payment_date、payment_status、charset、mc_shipping、mc_handling、first_name、mc_fee、notify_version、custom、payer_status、business 和 num_cart_items。似乎遗漏了很多变量,可能是因为我使用过时的方法来发布我的购物车。
  • 好吧,这不是技术上的快速结帐。那是Payments StandardCart Upload Method。该链接已更新,涵盖在页面中间添加单个项目的详细信息。

标签: paypal checkout cart paypal-ipn


【解决方案1】:

我使用您的代码进行了测试,并稍作调整以添加额外的项目。我也在沙盒而不是实时服务器上。

以下代码对我来说工作得很好,这基本上就是你的代码。

<form name="paypalSubmit" method="POST" action="https://www.sandbox.paypal.com/cgi-bin/webscr">
  <input type="hidden" name="cmd" value="_cart">
  <input type="hidden" name="business" value="sandbo_1111111@angelleye.com">
  <input type="hidden" name="image_url" value="">
  <input type="hidden" name="item_name_1" value="Xbox Live 12 Month Gold">
  <input type="hidden" name="quantity_1" value="1">
  <input type="hidden" name="amount_1" value="1.00">
  <input type="hidden" name="item_name_2" value="Test Widget 2">
  <input type="hidden" name="quantity_2" value="5">
  <input type="hidden" name="amount_2" value="5.00">
  <input type="hidden" name="upload" value="1">
  <input type="hidden" name="currency_code" value="USD">
  <input type="hidden" name="rm" value="2">
  <input type="hidden" name="cancel_return" value="../">
  <input type="hidden" name="no_shipping" value="1">
  <input type="hidden" name="no_note" value="0">
  <input type="image" src="https://www.paypal.com/en_US/i/btn/btn_xpressCheckout.gif" alt="Pay now with PayPal!">
</form>

这导致以下 IPN 访问了我的服务器。

Array
(
    [mc_gross] => 28.54
    [protection_eligibility] => Ineligible
    [item_number1] => 
    [tax] => 2.54
    [item_number2] => 
    [payer_id] => E7BTGVXBFSUAU
    [payment_date] => 02:14:13 May 29, 2013 PDT
    [payment_status] => Completed
    [charset] => windows-1252
    [mc_shipping] => 0.00
    [mc_handling] => 0.00
    [first_name] => Drew
    [mc_fee] => 1.13
    [notify_version] => 3.7
    [custom] => 
    [payer_status] => verified
    [business] => sandbo_1111111@angelleye.com
    [num_cart_items] => 2
    [mc_handling1] => 0.00
    [mc_handling2] => 0.00
    [verify_sign] => AWRBYJcBybrYpBI1KkvirwZh2gF5A8KmDftB0jwwIJb8qnifB-Ur32ZE
    [payer_email] => sandbo_2222222@angelleye.com
    [mc_shipping1] => 0.00
    [mc_shipping2] => 0.00
    [tax1] => 0.00
    [tax2] => 0.00
    [contact_phone] => 747-668-4003
    [txn_id] => 03N63014BS023794T
    [payment_type] => instant
    [payer_business_name] => Drew Angell's Test Store
    [last_name] => Angell
    [item_name1] => Xbox Live 12 Month Gold
    [receiver_email] => sandbo_1111111@angelleye.com
    [item_name2] => Test Widget 2
    [payment_fee] => 1.13
    [quantity1] => 1
    [quantity2] => 5
    [receiver_id] => ATSCG2QMC9KAU
    [txn_type] => cart
    [mc_gross_1] => 1.00
    [mc_currency] => USD
    [mc_gross_2] => 25.00
    [residence_country] => US
    [test_ipn] => 1
    [transaction_subject] => Shopping CartXbox Live 12 Month GoldTest Widget 2
    [payment_gross] => 28.54
    [ipn_track_id] => e46d696f3e2a
)

如您所见,IPN 数据包括各个项目名称和数量的变量,正如预期的那样。如果您没有得到同样的结果,您可以发布原始 IPN 数据的样本吗?

【讨论】:

  • 嗨 Andrew,这是我从 PayPal 沙箱服务器得到的响应:pastebin.com/NJjNMsdu。真的很奇怪,当我们的表格几乎没有差异时,PayPal 只向我发送如此有限数量的变量。再次感谢您在这方面帮助我并继续提供帮助!
猜你喜欢
  • 2012-09-24
  • 2011-02-08
  • 2023-03-11
  • 2012-12-24
  • 2015-03-29
  • 2013-03-05
  • 2012-06-19
  • 2018-01-28
  • 2021-08-03
相关资源
最近更新 更多