1. Should the gateways use the zend http component and it's
adapters such as the Curl to process the payments or use the PHP
Curl extension as is?
Definitely use Zend_Http. If an application has already setup an
instance of Zend_Http_Client (e.g. with settings for a HTTP proxy, or
a custom useragent), it would be annoying to have to set those options
up again to use the Payment component.
+1 for this. Another advantage I see is in deployment to a new server. I
like to keep my configuration of php environment to a minimum and just
drop my app in and it works. Makes it a lot easier to set up
dev/staging/other developers.
I believe using the Zend_Http_Client will make it a lot easier to just
drop and go.