Paypal 3rd 方购物车

Posted

技术标签:

【中文标题】Paypal 3rd 方购物车【英文标题】:Paypal 3rd party shopping cart 【发布时间】:2015-07-17 10:37:31 【问题描述】:

我正在尝试使用 paypal 为我的第 3 方购物车创建结帐。我将所有值与贝宝的网页“https://developer.paypal.com/docs/classic/paypal-payments-standard/integration-guide/cart_upload/”完全相同。

我从我的数据库中获取产品名称。问题是,这是第一次,但是当我将另一个产品添加到我的购物车并单击购买进入贝宝商店页面时,它只得到了我数据库中的一个项目。我放了3个项目来测试一下。

有人可以帮我吗? 我的代码是:

<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post" />
    <input type="hidden" name="cmd" value="_cart" />
    <input type="hidden" name="upload" value="1" />
    <input type="hidden" name="business" value="vendedortest@test.com" />

    <input type="hidden" name="item_name_1" value="<?php echo $product; ?>" />
    <input type="hidden" name="item_number_1" value="<?php echo $id; ?>" />
    <input type="hidden" name="amount_1" value="<?php echo $price; ?>" />
    <input type="hidden" name="quantity_1" value="<?php echo $qty; ?>" />

    <input type="hidden" name="currency_code" value="USD" />
    <input type="hidden" name="lc" value="US" />
    <input type="hidden" name="rm" value="2" />
    <input type="hidden" name="return" value="products.php" />
    <input type="hidden" name="cancel_return" value="cart.php" />
    <input type="hidden" name="notify_url" value="paypal.php" />
    <input type="hidden" name="charset" value="utf-8" />
</form>

【问题讨论】:

您的示例中只有一个项目(尽管是 item1,通常第一个项目是 item0,然后是 item1,item2)。如果是 3 项案例不起作用,您为什么不分享该案例? 在贝宝开发者网站上说输入名称为:name="item_name_1",所以当我将它们放入购物车时会自动添加其他项目,但不是,我有 1商品在我的购物车中,一切正常,但是当我将第二件商品或第三件商品放入贝宝结帐页面时,只需将最后一件商品放入我的购物车,我将 3 件商品放入数据库中进行测试 【参考方案1】:

我认为您混淆了两种不同的 PayPal 界面方法/产品,即 PayPal 购物车 (https://developer.paypal.com/docs/classic/paypal-payments-standard/integration-guide/paypal_shopping_cart/) 和 PayPal 的第三方购物车功能(您在问题中链接到该功能)。

PayPal 购物车要求 PayPal 为您管理购物车,并且多个 “添加到购物车”调用将逐步在 PayPal 上构建一个商品购物车,然后您可以通过一次结帐调用作为一组付款。您可以将 cmd=_cart 与“添加”或“查看”功能结合起来修改或查看 PayPal 网站上的购物车,然后买家可以从该 PayPal 托管页面发起结帐。

第三方结账功能假设您的网站上有一个购物车,并且您正在管理从该购物车中添加和删除商品;在这种情况下,您只有在客户拥有完整的购物车并想要结账时才调用 PayPal。在这个模型中,只有最后一个 PayPal 表单提交是相关的——它会覆盖任何以前的调用(这将被视为中止付款)。这是设计使然:用户可能会考虑购买 3 样东西,但返回您的网站,决定添加或删除一些商品,然后决定购买更改后的购物车。以这种方式使用时,PayPal 在多次调用 _cart 命令之间不会为您维护任何状态。这种用法是通过使用与 _cart 命令配对的“上传”输入来控制的,就像您在上面所做的那样。

如果您想在 PayPal 的购物车中放入一些东西,然后在购物车中再放入一些东西,然后对所有这些物品进行结帐,您需要切换到 PayPal 购物车,这意味着不要使用“上传”,而是使用“ add" 命令(以及文档中指示的其他一些更改)。

【讨论】:

以上是关于Paypal 3rd 方购物车的主要内容,如果未能解决你的问题,请参考以下文章

如何保证 PayPal 变量的安全

选择下拉列表中的特定值时隐藏“添加到购物车”

使用 Paypal 创建购物车

Paypal 整合到现有的购物车

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

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