将值从 php 表单传递到 Paypal 金额

Posted

技术标签:

【中文标题】将值从 php 表单传递到 Paypal 金额【英文标题】:Pass value from php form to Paypal amount 【发布时间】:2014-10-30 17:56:48 【问题描述】:

我有一个表格来选择一个值,然后我想要在 paypal 按钮上的值。我似乎无法传递价值。我究竟做错了什么?这是表格:

<form method="post">
        <select id="select" name="valor">
            <option value="" selected="selected">...</option>
            <option value="5"> 5</option>
            <option value="10"> 10</option>
            <option value="15"> 15</option>
            <option value="20"> 20</option>
            <option value="25"> 25</option>
            <option value="30"> 30</option>
            <option value="35"> 35</option>
            <option value="40"> 40</option>
            <option value="45"> 45</option>
            <option value="50"> 50</option>
            <option value="55"> 55</option>
            <option value="60"> 60</option>
            <option value="65"> 65</option>
            <option value="70"> 70</option>
            <option value="75"> 75</option>
            <option value="80"> 80</option>
            <option value="85"> 85</option>
            <option value="90"> 90</option>
            <option value="95"> 95</option>
            <option value="100"> 100</option>
            <option value="105"> 105</option>
            <option value="110"> 110</option>
            <option value="115"> 115</option>
            <option value="120"> 120</option>
            <option value="125"> 125</option>
        </select>
    </form>

我想将金额传递给贝宝按钮。代码如下:

<form action="https://www.paypal.com/cgi-bin/webscr" method="post">                 
    <table  align='center' border=0>
        <tr>
            <td width='130px'>
                <img src="<?=$SETTINGS['siteurl']?>themes/<?=$SETTINGS['theme']?>/img/paypal_small_logo.gif" alt=''   style="vertical-align:middle;"/>
                <input type="hidden" name="custom" value='<?= $_SESSION['payment_type'] ?>==<?=$_SESSION['auction_id'] ?>==<?=$_SESSION['TPL_id_hidden'] ?>==<?=$_SESSION['pre_registration'] ?>'>
                <input type="hidden" name="cmd" value="_xclick">
                <input type="hidden" name="business" value="<?=$SETTINGS['admin_paypal']?>">
                <input type="hidden" name="item_name" value="Auction Bid">
                <input type="hidden" name="item_number" value="001">
                <input type="hidden" name="amount" value="<? echo $_POST['valor']?>">
                <input type="hidden" name="no_shipping" value="0">
                <input type="hidden" name="no_note" value="1">
                <input type='hidden' name='return' value='<?=$SETTINGS['siteurl']?>payment_history.php'>
                <input type='hidden' name='cancel_return' value='<?=$SETTINGS['siteurl']?>yourbalance.php'>
                <input type='hidden' name='notify_url' value='<?=$SETTINGS['siteurl']?>payment_processing.php'>
                <input type="hidden" name="currency_code" value="<?=$SETTINGS['currency']?>">
                <input type="hidden" name="lc" value="EN">
                <input type="hidden" name="bn" value="PP-BuyNowBF">                         
              </td>
            <td>
                <input class="button"  type="submit" value="Pay with Paypal" name="submit"  >                           
           </td>
       </tr>
    </table>
</form>       

【问题讨论】:

非常感谢大家,我通过在 paypal 表单中集成选择选项解决了这个问题。我想要的是选择一个值,然后将其传递给用户想要使用的任何付款方式。这样我就可以在每种付款方式中进行选择... 【参考方案1】:

除非您将 valor 选择放在名称为 amount 的 paypal 表单中,否则您需要提交第一个表单,以便 PHP 可以在响应中应用这些值。

您可以这样做来避免提交第一个表单:

<form action="https://www.paypal.com/cgi-bin/webscr" method="post">                 
    <table  align='center' border=0>
        <tr>
            <td width='130px'>
                <img src="<?=$SETTINGS['siteurl']?>themes/<?=$SETTINGS['theme']?>/img/paypal_small_logo.gif" alt=''   style="vertical-align:middle;"/>
                <input type="hidden" name="custom" value='<?= $_SESSION['payment_type'] ?>==<?=$_SESSION['auction_id'] ?>==<?=$_SESSION['TPL_id_hidden'] ?>==<?=$_SESSION['pre_registration'] ?>'>
                <input type="hidden" name="cmd" value="_xclick">
                <input type="hidden" name="business" value="<?=$SETTINGS['admin_paypal']?>">
                <input type="hidden" name="item_name" value="Auction Bid">
                <input type="hidden" name="item_number" value="001">
                <input type="hidden" name="no_shipping" value="0">
                <input type="hidden" name="no_note" value="1">
                <input type='hidden' name='return' value='<?=$SETTINGS['siteurl']?>payment_history.php'>
                <input type='hidden' name='cancel_return' value='<?=$SETTINGS['siteurl']?>yourbalance.php'>
                <input type='hidden' name='notify_url' value='<?=$SETTINGS['siteurl']?>payment_processing.php'>
                <input type="hidden" name="currency_code" value="<?=$SETTINGS['currency']?>">
                <input type="hidden" name="lc" value="EN">
                <input type="hidden" name="bn" value="PP-BuyNowBF">

                <select id="select" name="amount">
                    <option value="" selected="selected">...</option>
                    <option value="5"> 5</option>
                    <option value="10"> 10</option>
                    <option value="15"> 15</option>
                    <option value="20"> 20</option>
                    <option value="25"> 25</option>
                    <option value="30"> 30</option>
                    <option value="35"> 35</option>
                    <option value="40"> 40</option>
                    <option value="45"> 45</option>
                    <option value="50"> 50</option>
                    <option value="55"> 55</option>
                    <option value="60"> 60</option>
                    <option value="65"> 65</option>
                    <option value="70"> 70</option>
                    <option value="75"> 75</option>
                    <option value="80"> 80</option>
                    <option value="85"> 85</option>
                    <option value="90"> 90</option>
                    <option value="95"> 95</option>
                    <option value="100"> 100</option>
                    <option value="105"> 105</option>
                    <option value="110"> 110</option>
                    <option value="115"> 115</option>
                    <option value="120"> 120</option>
                    <option value="125"> 125</option>
                </select>    

              </td>
            <td>
                <input class="button"  type="submit" value="Pay with Paypal" name="submit"  >                           
           </td>
       </tr>
    </table>
</form> 

【讨论】:

【参考方案2】:

也许是这个原因:

<option value="[you forgot the value for the first option LOL]" selected="selected">...</option>

我没有看到任何其他问题。

【讨论】:

这是默认显示的,它是 3 个点,...,没有值通过。 是的,但我读过他关于这个的问题。关于代码是层出不穷,没想到这么久。我以为他真的没有看到这一点。那会很有趣:-)

以上是关于将值从 php 表单传递到 Paypal 金额的主要内容,如果未能解决你的问题,请参考以下文章

将总金额传递给 PayPal 快速结帐

将金额值添加到表单输入值

如何使用会话将值从一个php页面传递到另一个页面

PayPal PHP/HTML 安全问题

将值从表单传递到表单

PayPal PHP SDK错误 - 项目金额必须添加到指定的金额小计