PayPal пропускает несколько заказов - PullRequest
2 голосов
/ 14 марта 2012

Привет, у меня есть вопрос.У меня есть корзина покупок на моей странице, и она отлично работает, и она сохраняет информацию в сеансе и передает ее в 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 принимает только оба предмета только по одному.

Поэтому мой вопрос заключается в том, как передать несколько предметов в PayPal с помощью этой формы?

Если кто-то может указать мне правильное направление, это будет потрясающе!

Спасибо заранее,

  • J

Ответы [ 3 ]

4 голосов
/ 14 марта 2012

Используйте значение cmd _cart вместо _xclick, также включите значение загрузки = 1:

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

Вам необходимо повторить ввод item_name и amount для каждого элемента вкорзина, но используйте счетчик в качестве суффикса, например item_name_x и amount_x.x должно быть 1 для первого элемента и приращение для каждого другого элемента в корзине.Таким образом, первый элемент будет item_name_1 и item_amount_1.

Полная документация - прокрутите вниз до Method 2. Passing Individual Items to PayPal: https://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>
2 голосов
/ 14 марта 2012

Сначала измените _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.

0 голосов
/ 25 февраля 2013

В случае, если кто-то еще наткнется на это в будущем, обязательно следите за постом @ strkol.Я боролся с этим, пока не изменил _xclick на _cart и не добавил <input type="hidden" name="upload" value="1">

...