It's honorable to want to keep all customer data within your control, but seriously unless you already have experience dealing with PCI compliance, that's one part you should definitely offload to a payment processor. This might even be a clause in your insurance (Depending on what it covers)
I don't have any particular software in mind to recommend, but I'd bet they probably have some sort of integration with processors like Stripe or something