Да, paypal, кстати, когда требовалось реализовать простенький класс оплаты с палкой, я проклял все на свете и вспомнил все матные слова на всех языках мира)) Хаброюзер предупреждал, что это будет ад, но я не думал, что это настолько космических мастштабов геморой.
Тут кстати в связи с пуделем, палка переделала кое, что. Но и это не все, оказывается

в IPNе они проверяют юзерагент... пока не поставил костыль PayPal-PHP-SDK в юзер агенте, оплата не прокатывала. Гемороился пару дней, обливаясь потом, потом залез на их гитхаб, смотрю как они реализовали, смотрю там в курле у них стоит PayPal-PHP-SDK, думаю нук тоже поставлю, и тут хренак и все запахало, я тогда вспомнил весь матный словарный запас.
На кой хрен они юзерагент проверяют, мне не понять, причем на sandbox(для тестирования скриптов) все пашет, а в продакшен режиме не пашет. Теперь ясно почему за бугром, буржуи за интеграцию палыча куда либо берут многозначные $$$
Для палки пришлось писать свой костыль, потому что те мегатонны кода, что на гите лежат мне не упали, да и пых там современный нужен. В инете конечно есть классы, но ниодин не проверяет сертификат и вообще выставляют в курле CURLOPT_SSL_VERIFYPEER 0, CURLOPT_SSL_VERIFYHOST 0, а меня такое не устраивает все по людки с ca-bundle файлом своим, а не хостера, который может на него вообще забить или еще чего.
И это только вершина айсберга, там у них есть специфические глюки и ошибки, о которых в мануале нефига нет, а еще может быть ситуация когда в твой скрипт приходит, что: чувак все окей ты получил оплату от буржуя, а на самом деле не получил и он манибэком вернул бабло и тебя возымел. Об это в буржунете много срачей было, но воз и ныне там.