Paypal立即购买具有动态下拉值的按钮

时间:2014-04-21 07:01:05

标签: javascript php html paypal

我正在尝试使用PayPal“立即购买”自定义按钮,并在PHP应用程序中使用下方的下拉列表。 以下是我在其网站上创建它的快照:

Buy Now Button Creation

使用它我得到以下HTML代码:

<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="JZ8L4BBU6CEQA">
<table>
 <tr>
  <td>
    <input type="hidden" name="on0" value="Packages">Packages
  </td>
 </tr>
 <tr>
  <td>
   <select name="os0">
<option value="Option 1">Option 1 $1.00 USD</option>
<option value="Option 2">Option 2 $2.00 USD</option>
   </select> 
  </td>
 </tr>
</table>
<input type="hidden" name="currency_code" value="USD">
<input type="image" src="https://www.sandbox.paypal.com/en_US/i/btn/btn_paynowCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
<img alt="" border="0" src="https://www.sandbox.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">
</form>

现在我遇到的问题是我想从我的数据库填充此下拉列表中的值。并不总是可以登录PayPal网站,然后更改按钮代码,然后使用更新的按钮代码。

请帮助我从一些数据库表中为此下拉列表填充动态值,并为了实现此目的,我应该在创建PayPal按钮时使用该设置。请提前帮助并感谢这个美好的社区。

1 个答案:

答案 0 :(得分:2)

经过详细研究后,我找到了自己问题的答案。好的是,我们可以为此下拉菜单添加动态值。这些值可以从我们的数据库中获取并传递给此PayPal下拉列表。

为此,您必须在创建PayPal按钮时进行一些不同的配置。 以下是其步骤:

  • 在您的PayPal帐户中,点击“创建新按钮”&#39;链接(在红框中突出显示)

enter image description here

  • PayPal按钮创建向导有3个步骤。在第一步中,根据需要选择配置,并将下拉添加到PayPal按钮。 enter image description here

    在向导的第2步中,取消选中“在PayPal上保存按钮”#39;复选框如下。

    enter image description here

    步骤3中无需特殊配置。根据您的需要进行操作。

  • 完成向导后,您将获得PayPal按钮的HTML代码,如下所示。点击“删除代码保护”&#39;链接如下(红色框突出显示) enter image description here

    因此,您将获得稍微更改的代码并具有其他参数。这些参数可用于传递我们的动态值。您将获得如下代码:

    <form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post" target="_top">
    <input type="hidden" name="cmd" value="_xclick">
    <!-- List of many other required input hidden parameters here. 
         Required, but not relevant to this answer. 
    -->
    <table>
    <tr>
     <td><input type="hidden" name="on0" value="Packages">Packages</td>
    </tr>
    <tr>
     <td>
      <select name="os0">
        <option value="Option 1">Option 1 $0.01 USD</option>
        <option value="Option 2">Option 2 $0.02 USD</option>
       </select> 
      </td>
     </tr>
    </table>
    <input type="hidden" name="currency_code" value="USD">
    <input type="hidden" name="option_select0" value="Option 1">
    <input type="hidden" name="option_amount0" value="0.01">
    <input type="hidden" name="option_select1" value="Option 2">
    <input type="hidden" name="option_amount1" value="0.02">
    <input type="hidden" name="option_index" value="0">
    <input type="image" src="https://www.sandbox.paypal.com/en_US/i/btn/btn_paynowCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
    

       

  • 现在,为了在PayPal按钮上方的此下拉列表中添加动态值,只需查询所需数据库表中的值,然后在for循环的帮助下,创建下拉选项值及其等效输入隐藏标记在飞行中。 假设我的数据库表有4行,那么我的代码将评估为

    <form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post" target="_top">
    <input type="hidden" name="cmd" value="_xclick">
    <!-- List of many other required input hidden parameters here. 
             Required, but not relevant to this answer. 
    -->
    <table>
    <tr>
     <td><input type="hidden" name="on0" value="Packages">Packages</td>
    </tr>
    <tr>
     <td>
      <select name="os0">
        <option value="Option 1">Option 1 $0.01 USD</option>
        <option value="Option 2">Option 2 $0.02 USD</option>
        <option value="Option 3">Option 3 $0.03 USD</option>
        <option value="Option 4">Option 4 $0.04 USD</option>
      </select> 
     </td>
    </tr>
    </table>
    <input type="hidden" name="currency_code" value="USD">
    <input type="hidden" name="option_select0" value="Option 1">
    <input type="hidden" name="option_amount0" value="0.01">
    
    <input type="hidden" name="option_select1" value="Option 2">
    <input type="hidden" name="option_amount1" value="0.02">
    
    <input type="hidden" name="option_select2" value="Option 3">
    <input type="hidden" name="option_amount2" value="0.03">
    
    <input type="hidden" name="option_select3" value="Option 3">
    <input type="hidden" name="option_amount3" value="0.04">
    
    <input type="hidden" name="option_index" value="0">
    <input type="image" src="https://www.sandbox.paypal.com/en_US/i/btn/btn_paynowCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
    <img alt="" border="0" src="https://www.sandbox.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">
    </form>
    
  • 注意上面是直接代码,使用for循环动态创建这些元素。最后,对于单个下拉选项,您需要创建一个option标签元素及其等效的两个输入隐藏元素,如下所示:

    <option value="Option 3">Option 3 $0.03 USD</option>
    <input type="hidden" name="option_select2" value="Option 3">
    <input type="hidden" name="option_amount2" value="0.03">
    
  • 点击“立即购买”/&#39;立即付款&#39;这些隐藏参数会传递给PayPal一次。按钮和正确的金额按照按钮上方下拉列表中的选定选项向买方收费。