isn't having a form field for discount codes at checkout a very common approach? I'd say that 90-95% of the websites I normally buy stuff from use it. Amazon does...
Why have a checkout process where you are going to send a non insignificant percent of your users on a wild goose chase, possibly annoying them and/or distracting them when they were about to buy a product. Then blame your affiliates for "scamming" you. It doesn't make much sense.
For a client of mine we added a discount code box to the checkout and got a surge of calls from people asking how to get a discount code. It was actually intended for some multi-channel marketing.
We now don't have discount codes in the checkout process.