Ну видимо мучения это когда мы захотим использовать paypal более одного раза, а потом захотим добавить смену платежной системы в определенных условиях. Ну а для начала давай начнем с тестов…
В моем примере цель была показать каким может быть код и в данном примере я показал как абстрагироваться от использования конкретной библиотеки, ну а проблем отвязать от PayPal в пользу другой пс нет, мы можем связаться через сервис контейнер с другойпс. Я уверен, что ты согласишься с тем, что более сложные реализации требуют большего объема кода, а соответственно в одну статью уместить будет сложно.
Но да, ты прав, что мой косяк, что я не рассказал какие конкретно проблемы ждут при поддержке данного кода.