Gregory,
Your question isn't really a cfpayment question but I'll offer a few pieces of advice:
* Track all payment attempts - log the fact that you are about to charge a card in the database with a pending state, then try to charge it, and then update the database with the results. This lets you look at unfinished charges each night for any unexpected issues that crop up (and they will... not due to cfpayment, but we recently got some errors, "terminal not programmed for service", which for e-commerce obviously doesn't make any sense).
* Consolidate your payment processing code into a single, or very few places. This is just a good coding practice known as DRY, but especially important in something like payments to minimize your technical debt
* You need to protect against things like double-clicks and re-submits, that's where my first point can help - give each charge attempt a unique ID so you can prevent duplicate charges.
* Make sure you have a click-to-accept cancellation policy so you can fight chargebacks. It will depend on what you sell, but good to have the refund/cancel policy up front, click-to-accept, which is in line with visa/mastercard operating guidelines.
If you have more specific questions, feel free to ping the list.
Brian