You can't natively cancel the order through Shopify without a refund through the system once payment has been captured. There is a workaround, but you will need a programmer on board that can cancel the order (without refund) by calling an API.
If you want to "hold orders", then it's recommended you switch your payment capture system from automatic to manual. that way when customers pick up your order, you can capture the payment. If you have a lot of orders, then you will need a system that will automatically capture some orders while holding others. This way you can avoid unnecessary complications from future chargebacks.
I hope this answers your question?
You don't need to hack anything. There are many apps out there that can already do this for you including ours. It just requires research on your part on what you need and what you can afford that is fit for your business.