Payments themselves are so much complicated. Payments to support multi-currency, jurisdictions, countries, scenarios, that's complicated.

I'm friends with a payment docs writer. Holy crap are payments complicated.