Php 贝宝第三方购物车

Php 贝宝第三方购物车,php,paypal,checkout,cart,shop,Php,Paypal,Checkout,Cart,Shop,我正在尝试使用paypal为我的第三方购物车创建一个收银台。我把所有的价值观完全相同的贝宝的网页 我从数据库中获取产品名称。问题是,它需要第一次,但当我添加另一个产品到我的购物车,并点击购买转到贝宝商店页面,它只是得到了我的数据库中的一个项目。我放了3个项目来测试它 有人能帮我吗? 我的代码是: <form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post" /> <input typ

我正在尝试使用paypal为我的第三方购物车创建一个收银台。我把所有的价值观完全相同的贝宝的网页

我从数据库中获取产品名称。问题是,它需要第一次,但当我添加另一个产品到我的购物车,并点击购买转到贝宝商店页面,它只是得到了我的数据库中的一个项目。我放了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>

我认为您混淆了两种不同的PayPal接口方法/产品,PayPal购物车和您在问题中链接到的PayPal第三方购物车功能

PayPal购物车要求PayPal为您管理购物车,并提供多个 “添加到购物车”呼叫将在PayPal以增量方式构建一个购物车,然后您可以通过一次结账呼叫作为一个组进行支付。您可以将cmd=\u cart与函数add或view组合在一起,在PayPal的网站上修改或查看购物车,买家可以从PayPal托管的页面开始结帐

第三方结账功能假设您的站点上有购物车,并且您正在管理从购物车中添加和删除物品;在这种情况下,只有当客户有一个完整的购物车并且想要结账时,您才给PayPal打电话。在这个模型中,只有最后一次PayPal表单提交是相关的-它覆盖了任何以前的呼叫,这些呼叫将被视为中止支付。这是出于设计:用户可能会考虑购买3样东西,但返回您的站点,决定添加或删除一些商品,然后决定购买更改后的购物车。当以这种方式使用时,PayPal在多次调用_cart命令之间不会为您保持任何状态。正如上面所做的那样,这种使用是通过使用upload输入和_cart命令来控制的


如果你想在PayPal的购物车中放置一些东西,然后在购物车中放置更多的东西,然后对所有的东西进行结账,你需要切换到PayPal购物车,这意味着不使用upload,而是使用add命令以及文档中指示的一些其他更改。

你的示例中只有一个项目,尽管是item1,其中,按照惯例,第一项为第0项,然后为第1项、第2项。如果是3个项目的案例不起作用,你为什么不分享这个案例?在paypal开发者网站上说,输入名称为:name=item\u name\u 1,因此当我将其他iten放入购物车时,会自动添加它们,但不是,我的购物车中有一个项目,一切正常,但当我把第二个项目放在paypal结账页面的第三个项目上时,只需把最后一个项目放在我的购物车中,我把3个项目放在数据库中进行测试