PayPal’s Buynow button form makes it very easy to accept payment on your site. All you have to do is sign into your Paypal account and click the “BuyNow” button within “Merchant Services”. If you need to collect added information like product colors or t-shirt sizes you’ll need to create a PayPal payment form. Below outlines two issues that may make your form fail if your not careful. I thought it a good idea to write about them so you can save time.
PayPal Payment Form Pitfall #1 Avoid Modifying the Option
When creating the form for the first time you must designate the cost of the product at the Paypal site. If you use a pull down allowing the user to select from several prices beware. When you define the prices within the pulldown and the “Menu Item Name” understand that when your finished and you click the “Create Button” and the form code is created take note of the “hosted_button_id” and the actual <select> HTML see below[dt_code]<form action=”https://www.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=”TWUH7FS3R7754″>
<tr><td><input type=”hidden” name=”on0″ value=”T-Shirt”>T-Shirt</td></tr><tr><td><select name=”os0″>
<!–BEWARE – – Changing the values to the options here can make the form fail with Paypal–>
<option value=”Large”>Large $20.00 USD</option>
<option value=”Medium”>Medium $15.00 USD</option>
<option value=”Small”>Small $12.00 USD</option>
Avoid modifying the <option>. There is a relationship between name=”hosted_button_id” value and the three options. Remember, always create incremental backups of your HTML page. That way when you are experimenting with the option values you always have a functional form to fall back on.
PayPal Payment Form Pitfall #2 Keep Your Inputs Names Incremental
The second most important issue is to make sure all your <input> names (see below for code example) are incremental. That way everything gets passed and collected via PayPal
Make Sure your name attributes are incremental[dt_code]<input type=”hidden” name=”on0” value=“Name” />
<input type=”text” name=”os0” maxlength=”200″ />
<input type=”hidden” name=”on1” value=“Phone” />
<input type=”text” name=”os1” maxlength=”200″ />
<input type=”hidden” name=”on2” value=“Cell Phone” />
<input type=”text” name=”os2” maxlength=”200″ />[/dt_code]
I hope this info clears up some pitfalls to collecting extra info with your form. Best of luck!