2014-04-21 104 views
0

我正尝试在PHP应用程序中使用PayPal“立即购买”自定义按钮,并在其上方有一个下拉框。 以下是快照,我如何创建它在其网站上:Paypal立即购买带有动态下拉值的按钮

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按钮时使用什么设置。请提前帮助并感谢这个美妙的社区。

+0

您可以使用贝宝按钮管理器API。退房https://github.com/paypal/buttonmanager-sdk-php –

+0

你可以去明文按钮,然后用你自己的逻辑来填充下拉值 – Vimalnath

回答

2

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

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

  • 从您的PayPal帐户点击 '创建新的按钮' 链接(在红色框中突出)

enter image description here

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

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

    enter image description here

    步骤3.不需要特殊的配置就做按您的需求。

  • 完成向导后,您将获得如下PayPal按钮的HTML代码。点击下面的“删除代码保护”链接(在红色框中突出显示) 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 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"> 
    
  • 这些隐藏的参数传递给贝宝曾与点击“立即购买”的/ '立即付款'按钮,并按照按钮上方下拉菜单中的选定选项向买家收取适量金额。

+0

如果你不登录并创建按钮,那么你可以得到选项完全在HTML中,并且您不会强制使用任何下拉菜单,并且可以操作隐藏金额输入字段的HTML。这不会被推荐为自动发送产品的付款方式,因为客户可以改变金额,但是我可以看到哪些情况并不重要。 – landed

相关问题