I'm using the Paypal NVP API, along with the BMCreateButton API, to generate encrypted buttons with my Java code.
I've got the simplest form of a button figured out. So as an example, for a T-Shirt that costs 8.00, the code to generate the button is (keep in mind, this is a snippet of the button variables part only) --
//...
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");
//...
That's simple enough - but realistically, products have other options. A T-Shirt may have color and size options, which would appear as html
<select>
menus on the page. Plus, each color/size option would have a different price.
This is where I'm getting stuck. Between the HTML Variable Reference and BMCreateButton API pages on Paypal, I'm confused!
The Html code that should be outputted with select menu options would be like this -
<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>
How do I code that?
The best I could come up with - but didn't work, of course - was this -
//...
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");
//...
Can someone please help me out? Thank You:)