Here are the codes I use to create a coupon discount for PayPal buttons.
Next, paste the code for your PayPal button into your webpage.
To add the check discount code box, paste this line of code before the <input type=”image”… part of the button code:
Enter Coupon code
<input type = "text" size = "10" name = "coupcode"; />
<input type="button" value="Check code" onclick="coupval =this.form.coupcode.value; ChkCoup();" /><br/><br/>
You can also use this block of code for your button and edit as needed rather than generating your own button from PayPal:
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" onsubmit="this.target = 'paypal'; return ReadForm (this);">
<input type="hidden" name="cmd" value="_xclick" />
<input type="hidden" name="add" value="1" />
<input type="hidden" name="business" value="" />
<input type="hidden" name="item_name" value="10 sessions" />
<input type="hidden" name="amount" value="773.00" />
<input type="hidden" name="currency_code" value="USD" />
<input type="hidden" name="baseamt" value="773.00" />
<input type="hidden" name="basedes" value="10 sessions" />
Enter Coupon code
<input type = "text" size = "10" name = "coupcode"; />
<input type="button" value="Check code" onclick="coupval =this.form.coupcode.value; ChkCoup();" /><br/><br/>
<input type="image" id="xx" disabled="disabled" src="https://www.paypalobjects.com/WEBSCR-640-20110306-1/en_US/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" onclick="CalculateOrder(this.form)" alt="PayPal - The safer, easier way to pay online!">
<img alt="" border="0" src="https://www.paypalobjects.com/WEBSCR-640-20110306-1/en_US/i/scr/pixel.gif" width="1" height="1">
</form>
Make sure you add the correct value (either your PayPal email address or your Merchant account ID number) to this line:
<input type="hidden" name="business" value="" />
If you are using the button code that was generated from PayPal, make sure you add this line of code to the <input type=”image”… section of the button code:
disabled="disabled"
This disables the button until the correct coupon code is entered. This is only necessary if you are using the button ONLY for people who have discount codes. If you want people to be able to make purchases whether they have a discount code or not, you don’t need to add that line.
Next, you will want to create the Javascript file which contains the passwords and discounts for your button. Copy and paste this code into a new text file:
<!--
var discnt = 0; // no default percent discount
var coupons = new Array ( // place to put coupon codes
"coup1", // 1st coupon value - comma seperated
"coup2", // 2nd coupon value - add all you want
"coup3" // 3rd coupon value
);
var coupdc = new Array ( // place to put discounts for coupon vals
5,
10,
15
);
var coupval = "(blanket)"; // what user entered as coupon code
function ChkCoup () { // check user coupon entry
var i;
discnt = 0; // assume the worst
for (i=0; i<coupons.length; i++) {
if (coupval == coupons[i]) {
discnt = coupdc[i]; // remember the discount amt
alert ("This is a valid promo code! \n\n" + "$" + discnt +
" discount now in effect.");
return;
}
}
alert ("'" + coupval + "' is not a valid promo code!");
}
function Dollar (val) { // force to valid dollar amount
var str,pos,rnd=0;
if (val < .995) rnd = 1; // for old Netscape browsers
str = escape (val*1.0 + 0.005001 + rnd); // float, round, escape
pos = str.indexOf (".");
if (pos > 0) str = str.substring (rnd, pos + 3);
return str;
}
function ReadForm (obj1) { // apply the discount
var amt,des;
amt = obj1.baseamt.value*1.0; // base amount
des = obj1.basedes.value; // base description
if (discnt > 0) { // only if discount is active
amt = Dollar (amt - (amt * discnt/100.0));
des = des + ", " + "$" + discnt + "dis, COUP = " + coupval;
}
obj1.amount.value = Dollar (amt);
obj1.item_name.value = des;
}
//-->
Here is a link to the Javascript file that you will need - http://thelibzter.com/discount.js. Feel free to right-click and save the file to your desktop so that you can edit it and upload it to your own site.
To add the passwords you want to use, change the names coup1, coup2, and coup3 to the passwords that you want to use.
To add the discount amounts, change the 5, 10, and 15 to the percentage that you want the discounts to be for.
You will want to make sure that the button amount is higher than any of the discounted prices. For instance, if you want to offer three different discounts – one which reduces the price to $750, one which reduces is to $725, and one which reduces it to $700 – you will want to make sure that the amount of the original button is at least $750, and then add the discounts for the correct percentages to bring the price down to the amount you want.
The final step, which I use to make the discount button more secure, is to pack part of the Javascript code. I copy the line of the code that contains my discount passwords:
var coupons = new Array ( // place to put coupon codes "coup1", // 1st coupon value - comma seperated "coup2", // 2nd coupon value - add all you want "coup3" // 3rd coupon value );
And paste it into Dean Edward’s packer - http://dean.edwards.name/packer/. Click “pack” and then copy the packed code and paste it into your Javascript file in place of the line above, which declared our passwords. This makes it more difficult for people to see your passwords.
Save the Javascript file as discount.js or whatever you want it to be called. Upload it to your server. Add this line of code to your website’s <head> section:
<script type="text/javascript" src="http://yourwebsite.com/discount.js"></script>
Make sure you change the name of the Javascript file in the code above to the name of your own file.
This way of adding a discount coupon to PayPal buttons works for me, but let me know if you run into any issues or have any questions.