Payment processing is one area is that just a complete nonstarter to homebrew on your own. It's fucking awful. There's no choice. Bank's still require you to transfer them files via ftp to make transactions.
And god forbid the legal, and technical mess when you want to accept foreign currency, or even multiple CC providers.