I voted 2checkout (actually Avangate), and “other”. And that “other” was called ShareIt once upon a time, and now it’s called MyCommerce. A bit old fashioned, very slow moving, support is often slow as well, but it actually works ok in 99% of cases, handles taxes, generates keys, same as Avangate. Since my software has perpetual licensing, I don’t know how they handle subscriptions and Saas stuff.
Biggest issue I have is that I don’t have single customer database. Data is scattered through 2 payment processors, with some direct sales, few of them on FastSpring (3rd one), etc. In addition, good part of orders goes through resellers, so simple question “which licenses this customer owns” doesn’t have simple and quick answer. It usually involves going through emails as well, and that’s hardly optimal. Btw. my customers are mostly companies, so it’s common that they have multiple orders through years, sometimes with slightly different names.
Both Avangate and MyCommerce have integration APIs and it should be possible to automatically populate some centralized DB in cloud with new orders, but I can’t justify a month or two to make that. Main problem would be finding and matching separate orders belonging to same customer.