Hello ObviousAdvantage,
This is a great question. I'm glad you've got a service and process that's working for you right now, even if it is a bit clunky. I can appreciate wanting to be able to have a more seamless approach to accepting customer credit card payments by having them be able to pay directly on an invoice sent from the program.
At this time, QuickBooks Desktop versions, including Enterprise, don't have this option. Using a third-party service and a method like you describe is the recommended workaround to make this happen.
My other recommendation in this scenario is to submit feedback about this to our product development team. I can see this is an important part of business for you and our goal is always to enhance what the program can do to help you with your workflow. The feedback option lets us know the various ways we can accomplish this. Leaving feedback is as simple as going to the Help menu in Desktop and selecting Send Feedback Online.
Have a great rest of your day!