我将使用Paypal NVP API,以及BMCreateButton API,通过Java代码生成加密按钮。
我已经了解了最简单的按钮形式。例如,对于一个价格为8.00美元的T恤衫,生成按钮的代码如下(请注意,这只是按钮变量部分的代码片段)--
那很简单 - 但实际上,产品还有其他选项。例如,T恤可能有颜色和尺码选项,在页面上会显示为
这就是我遇到问题的地方。在Paypal的HTML变量参考和BMCreateButton API页面之间,我感到困惑!
应该输出带有选择菜单选项的Html代码如下 -
我已经了解了最简单的按钮形式。例如,对于一个价格为8.00美元的T恤衫,生成按钮的代码如下(请注意,这只是按钮变量部分的代码片段)--
//...
NVPEncoder encoder = new NVPEncoder();
encoder.add("METHOD", "BMCreateButton");
encoder.add("BUTTONCODE","ENCRYPTED");
encoder.add("BUTTONTYPE","CART");
encoder.add("L_BUTTONVAR1","amount=8.00");
encoder.add("L_BUTTONVAR2","item_number=6985855");
encoder.add("L_BUTTONVAR3","item_name=T-Shirt");
//...
那很简单 - 但实际上,产品还有其他选项。例如,T恤可能有颜色和尺码选项,在页面上会显示为
html
<select>
菜单。此外,每个颜色/尺码选项都有不同的价格。这就是我遇到问题的地方。在Paypal的HTML变量参考和BMCreateButton API页面之间,我感到困惑!
应该输出带有选择菜单选项的Html代码如下 -
<input type="hidden" name="on0" value="Color & Size">Color & Size
<input type="hidden" name="option_select0" value="Pink Small" />
<input type="hidden" name="option_amount0" value="6.00" />
<input type="hidden" name="option_select1" value="Pink Medium" />
<input type="hidden" name="option_amount1" value="7.00" />
<input type="hidden" name="option_select2" value="Pink Large" />
<input type="hidden" name="option_amount2" value="8.00" />
<select name="os0">
<option value="Pink Small">Pink - Small $6.00 - (13)</option>
<option value="Pink Medium">Pink - Medium $7.00</option>
<option value="Pink Large">Pink - Large $8.00</option>
</select>
我该如何编写代码?
我能想到的最好的方法,但当然不起作用的是这个 -
//...
NVPEncoder encoder = new NVPEncoder();
encoder.add("METHOD", "BMCreateButton");
encoder.add("BUTTONCODE","ENCRYPTED");
encoder.add("BUTTONTYPE","CART");
encoder.add("L_BUTTONVAR1","item_number=6985855");
encoder.add("L_BUTTONVAR2","item_name=Dress");
encoder.add("L_BUTTONVAR3","on0=Color & Size");
encoder.add("L_BUTTONVAR4","option_select0=Pink Small");
encoder.add("L_BUTTONVAR5","option_amount0=6.00");
encoder.add("L_BUTTONVAR6","option_select1=Pink Medium");
encoder.add("L_BUTTONVAR7","option_amount1=7.00");
encoder.add("L_BUTTONVAR8","option_select2=Pink Large");
encoder.add("L_BUTTONVAR9","option_select2=8.00");
encoder.add("OPTION0NAME","Color & Size");
encoder.add("L_OPTION0SELECT0","Pink Small");
encoder.add("L_OPTION0PRICE0","6.00");
encoder.add("L_OPTION0SELECT1","Pink Medium");
encoder.add("L_OPTION0PRICE1","7.00");
encoder.add("L_OPTION0SELECT2","Pink Large");
encoder.add("L_OPTION0PRICE2","8.00");
//...
有人可以帮我吗?谢谢:)