2011-01-25 9 views
7

Chcę wysłać wiele nazw przedmiotów i ceny przedmiotów do PayPal, ale nie mogę wysłać mojej nazwy przedmiotu i ceny za pomocą poniższego kodu. Czy możesz mi pomóc?Jak wysłać wiele przedmiotów do PayPal

<form method="post" name="cart" action="https://www.sandbox.paypal.com/cgi-bin/webscr"> 
    <input type="hidden" name="cmd" value="_xclick"> 
    <input type="hidden" name="business" value="[email protected]"> 
    <input type="hidden" name="lc" value="US"> 

    <input type="hidden" name="currency_code" value="USD"> 
    <input type="hidden" name="button_subtype" value="services"> 
    <input type="hidden" name="notify_url" value="http://newzonemedia.com/henry/ipn.php" /> 
    <input type="hidden" name="bn" value="PP-BuyNowBF:btn_buynowCC_LG.gif:NonHosted"> 
    <input type="hidden" name="return" value="http://www.example.com/thank_you_kindly.html" /> 


    <?php 
    //select items for table 
    $srowcart_dtl = mysql_num_rows($srscart_dtl); 
    if($srowcart_dtl > 0) { 
     $cnt=1; 
     while($srscart_dtl1 = mysql_fetch_assoc($srscart_dtl)) { 
      ?> 
      <input type="hidden" name="item_name[<?php echo $cnt ?>]" value="<?php echo $srscart_dtl1['cart_iname']; ?>"> 

      <input type="hidden" name="amount[<?php echo $cnt ?>]" value="<?php echo $srscart_dtl1['cart_iprc']; ?>"> 
      <?php 
      $cnt++; 
     } 
    } 
    ?> 
    <input type="image" src="https://www.paypal.com/en_US/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!"> 
    <img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1"> 
</form> 
+0

w jaki sposób sprawdzasz wartość na serwerze? –

+0

Sprawdziłem wartości, wartości są wstawiane ręcznie w tabeli. tylko testuję, mam nawę rzeczy i cenę w tabeli. – Navruk

Odpowiedz

13

Stwórz swój kod tak:

<form action="https://www.paypal.com/cgi-bin/webscr" method="post"> 
    <input type="hidden" name="cmd" value="_cart"> <!-- change _xclick to _cart --> 
    <input type="hidden" name="upload" value="1"> <!-- add this line in your code --> 
    <input type="hidden" name="business" value="your_seller_account"> 
    <input type="hidden" name="item_name_1" value="Item Name 1"> 
    <input type="hidden" name="amount_1" value="1.00"> 
    <input type="hidden" name="item_name_2" value="Item Name 2"> 
    <input type="hidden" name="amount_2" value="2.00"> 
    <input type="submit" value="PayPal"> 
</form> 
+0

Dzięki, za podanie wzmianki o polu 'cmd' +1 – DannyFeliz

1

Oprócz zmian sugerowanych przez devilprince, podkreślenia brakuje elementu zamówienia plakietki input atrybutów, a także znaczniki nie są właściwe samozamykające się znaczniki, ponieważ brakuje zamknięcia /. Skorygować tak:

<form method="post" name="cart" action="https://www.sandbox.paypal.com/cgi-bin/webscr"> 
    <input type="hidden" name="cmd" value="_cart"> 
    <input type="hidden" name="upload" value="1"> 
    <input type="hidden" name="business" value="[email protected]"> 
    <input type="hidden" name="lc" value="US"> 
    <input type="hidden" name="currency_code" value="USD"> 
    <input type="hidden" name="button_subtype" value="services"> 
    <input type="hidden" name="notify_url" value="http://newzonemedia.com/henry/ipn.php" /> 
    <input type="hidden" name="bn" value="PP-BuyNowBF:btn_buynowCC_LG.gif:NonHosted"> 
    <input type="hidden" name="return" value="http://www.mysite.org/thank_you_kindly.html" /> 

    <?php 
    // select items for table 
    $srowcart_dtl = mysql_num_rows($srscart_dtl); 
    if($srowcart_dtl > 0) 
    { 
     $cnt=1; 
     while($srscart_dtl1 = mysql_fetch_assoc($srscart_dtl)) 
     { 
    ?>  
     <input type="hidden" name="item_name_[<?php echo $cnt ?>]" value="<?php echo $srscart_dtl1['cart_iname']; ?>"/> 
     <input type="hidden" name="amount_[<?php echo $cnt ?>]" value="<?php echo $srscart_dtl1['cart_iprc']; ?>"/> 
    <?php 
     $cnt++; 
     } 
    } 
    ?> 
    <input type="image" src="https://www.paypal.com/en_US/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!"> 
    <img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1"> 
</form> 

(Możesz także chcą uciec znaków specjalnych w atrybucie wartości, przynajmniej na " znaku w przypadku, gdy pojawia się w danych nazwa elementu).

prostu musiał wymyśl to dzisiaj dla klienta. Oprócz item_name_N i amount_N użyłem także quantity_N, i shipping_N (gdzie N jest numerem pozycji, zaczynając od 1).

Ta strona zawiera listę wszystkich parametrów: PayPal HTML Form Variables, ale podane tutaj odpowiedzi są lepszym przykładem w świecie rzeczywistym niż banalne przykłady na stronie PayPal.