Они не только работают по-разному, каждый из них фактически представляет для платящего пользователя по-разному. Это означает, что вы не можете действительно абстрагировать их от пользователя, а это означает, что вам действительно нужно взаимодействовать с каждым из них напрямую. Нет чистого способа обойти это.
Ближайшая альтернатива - найти оболочку (или набор оболочек), которая позволит вам внутренне управлять ими всеми одинаково, чтобы вы не дублировали свои усилия для каждого отдельного процессора. Я не нашел для этого специальной библиотеки, но нашел несколько вариантов, которые поставляются с другими фреймворками. Был упомянут Magento; также Kohana, OpenCart и даже Zend Framework предлагают достойные и относительно модульные решения.
Здесь упоминается несколько полуприличных решений: Библиотека платежей PHP
... в частности, на это много ссылались / ссылались: http://www.stumbleupon.com/su/2sX5Ei/www.phpfour.com / blog / 2009/02 / php-payment-gateway-library-for-paypal-authorizenet-and-2checkout /
Я нашел это - он претендует на коммерческое решение проблемы, если вы: вы занимаетесь подобными вещами, но я сомневаюсь, что он действительно выполняет то, что вы ищете: http://www.transaxdevelopers.com/PHP-Payment-Processing/PHP-Payment- Integration.asp
Другой: http://www.flexsin.com/software-web-development/payment-gateway-integration.php
Сомневаюсь, что это так. Дело в том, что Paypal, Google и Authorize.net работают по-разному. Paypal обрабатывает платеж самостоятельно, а API, который они предоставляют разработчику, минимален, и на самом деле у них есть около 4 его разновидностей (экспресс, великобритания, версия Payflow ..). Google checkout также делает много вещей в фоновом режиме, поскольку интегрирует сам процесс оформления заказа. Authorize.net - это просто платежный шлюз, который возлагает больше ответственности на разработчика. Они имеют полный и сложный API и работают только для США.
Предложение. Взгляните на корзину покупок Magento , поскольку они реализуют модули paypal, google checkout и authorize.net в установке по умолчанию.
Я уверен, что существуют чистые системы PHP. Например, есть Virtuemart , который работает на платформе Joomla CMS, которая поддерживает широкий спектр платежных шлюзов.