If you need to integrate your application with a third-party service, don't integrate it directly - even if it has an SDK.
Doing so locks you into a single implementation and a single vendor.
If you write your own integration layer, it's possible to add multiple implementations, such as different payment gateways, that conform with a single interface.
If you need to switch to a different provider or add multiple options, you can without changing the existing code.
It also makes it easier to test as you can write a fake implementation and use it for testing.
- Oliver
Was this interesting?
About me
I'm an Acquia-certified Drupal Triple Expert with 17 years of experience, an open-source software maintainer and Drupal core contributor, public speaker, live streamer, and host of the Beyond Blocks podcast.