This module works in conjunction with the payment checkout pane using the order total preview to present a "Free order" payment method to customers when their order total drops to $0.00 or less. By default, this method will be hidden, and server side verification of an order total will be used to prevent customers from gaming the system. So, while I have not tested it with either system in the contrib directory, when a discount or coupon gets added to an order that would make the order free, the module will display and select the free payment method. The others will be hidden, and you should be able to continue on through checkout like normal. Some folks have expressed a desire to remove the payment pane altogether when an order is free, but I don't believe this is the best way to go. If you think it must be done, feel free to tweak uc_free_order.js to hide the entire pane instead of just the other payment methods. Simply upload and enable this module to be up and running. There is a single permission available so you can test the way the payment method displays on your site. It includes a link that lets you add or remove a $2,000 test discount to the order so you can make sure it works properly. Of course, it will stop you if you try to check out, since the discount is only recognized on the checkout form. For further testing, you can simply create a product worth $0. Many thanks to Warner Bros. Records for sponsoring the core improvements that made a module like this possible.