I am not sure what the best approach for this would be but it probably involves encryption.
Basically I would like to generate different coupon codes and give them out and track them once they are used.
I.e. if I gave a partner company 1000 coupons, I would like each of those coupon codes to be different and unable to easily reproduce. If possible, each coupon code would have the company's (or campaign) or whatever embedded in the encrypted code.
I.e. if that comany was walmart, instead of walmart1, walmart2, I would want it to be something like FgAAACAV, QIBwMsBK. That way customers can't figure out that if they just add a 1 to the coupon they have, they can get another coupon.
In my head, there would be a textbox for campaign name (i.e. walmart 20% off), a textbox for number of coupons to generate, and a generate button. The generate button would create the number of coupons and insert them in a db table, as well as give you an option to open and save them to the desktop in a csv/excel sheet to send to the partner.
There should a screen where you can always go and retrieve this information for each campaign.
This allows me to track coupon usage and truly limits customers to 1 coupon (right now they can create a new username to get around this).
Thanks