7

複数の商品名と商品価格を 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="navive_1295939206_biz@gmail.com">
    <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>
4

2 に答える 2

13

次のようにコードを作成します。

<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>
于 2012-08-02T05:28:20.880 に答える
1

/devilprinceによって提案された変更に加えて、ラインアイテム入力タグの名前属性にアンダースコアがありません。また、クロージングが欠落しているため、タグは適切な自己クロージングタグではありません。そのように正しい:

<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="navive_1295939206_biz@gmail.com">
  <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>

(少なくとも、"アイテム名データに表示される場合に備えて、value属性の特殊文字をエスケープすることもできます。)

クライアントのために今日これを理解しなければなりませんでした。また、、、、およびitem_name_N(Nは1から始まるラインアイテム番号)amount_Nも使用しました。quantity_Ntax_Nshipping_N

このページには、すべてのパラメーターのリストがあります。PayPalHTMLフォーム変数ですが、ここに示されている質問と回答は、PayPalサイトの簡単な例よりも優れた実例です。

于 2012-12-09T08:30:00.333 に答える