PayPal传递多个订单

时间:2012-03-14 17:03:45

标签: php session-cookies paypal

嘿,我有一个问题。我的页面上有一个购物车,工作正常,它将信息存储在会话中,并使用此表单将其传递给PayPal ....

<?php $items = unserialize($_SESSION['items']); ?>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post"> 
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="no_note" value="1">  
<input type="hidden" name="business" value="email@yahoo.ca">
<input type="hidden" name="currency_code" value="CAD">
<input type="hidden" name="return" value="http://www.mysite.com/">   
<input type="hidden" name="item_name" value="<?php echo $items['1_']['name']; ?>"> 
<input type="hidden" name="amount" value="<?php echo $items['1_']['price']; ?>"> 
<input type="submit" name="paypal" id="paypal" value="Checkout" />
</form>

但是当我的会话中有多个项目时,只有一个项目只支付一个。

所以我的问题是如何使用此表单将多个项目传递给paypal?

如果有人可以指出我的方向非常棒!

先谢谢了,

  • J

3 个答案:

答案 0 :(得分:4)

使用cmd _cart而不是_xclick的值,还包含upload = 1值:

<input type="hidden" name="cmd" value="_cart">
<input type="hidden" name="upload" value="1">

您需要为购物车中的每件商品重复item_nameamount输入,但请使用计数器作为后缀,例如item_name_xamount_xx对于第一个项目应为1,对于购物车中的每个其他项目应为增量。因此,第一项是item_name_1item_amount_1

完整文档 - 向下滚动到Method 2. Passing Individual Items to PayPalhttps://www.paypal.com/cgi-bin/webscr?cmd=p/pdn/howto_checkout-outside

所以你的代码看起来像是:

<?php $items = unserialize($_SESSION['items']); ?>
<form action="https://www.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="no_note" value="1">  
<input type="hidden" name="business" value="email@yahoo.ca">
<input type="hidden" name="currency_code" value="CAD">
<input type="hidden" name="return" value="http://www.mysite.com/">   

<?php
    $suffix = 1;
    foreach($items as $item):
?>
<input type="hidden" name="item_name_<?php echo $suffix; ?>" value="<?php echo $item['name']; ?>"> 
<input type="hidden" name="amount_<?php echo $suffix; ?>" value="<?php echo $item['price']; ?>"> 
<?php
    $suffix++;
    endforeach;
?>

<input type="submit" name="paypal" id="paypal" value="Checkout" />
</form>

答案 1 :(得分:2)

首先将_xclick更改为_cart,然后添加一个新的隐藏字段:

<input type="hidden" name="upload" value="1">

然后使用item_name_1,item_amount_1,item_name_2,item_amount_2 ... item_name_N,item_amount_N将多个项目传递给PayPal。

答案 2 :(得分:0)

如果其他人在将来发现此事,请确保您关注@ strkol的帖子。 我一直在努力,直到我将_xclick更改为_cart并添加 <input type="hidden" name="upload" value="1">