Every developer will tell you which is their preferred payment gateway. They will have a preferred payment gateway for 1 reason, they know how to integrate it. They will know how to integrate the payment gateway into their preferred ecommerce platform. And that's the simple part over with!
When your ecommerce platform has a core upgrade there is always going to be a chance that something doesn't work after the upgrade. Whilst all dependencies (plugins / modules) are checked against changes, there can be errors after an upgrade.
Likewise when a payment gateway introduces new security protocols there may be a conflict with the ecommerce platform during payment transactions. It's good practice to tease out conflicts with rigorous testing prior to upgrades. But sometimes minor conflicts can cause awkward errors. Generally the awkward errors can be resolved but when it comes to inaccessible backend payment gateways some errors can go undetected for too long.