9 use Magento\Framework\HTTP\ZendClientFactory;
26 private $clientFactory;
44 ZendClientFactory $clientFactory,
48 $this->clientFactory = $clientFactory;
49 $this->converter = $converter;
59 'request' => $transferObject->
getBody(),
60 'request_uri' => $transferObject->
getUri()
64 $client = $this->clientFactory->create();
67 $client->setMethod($transferObject->
getMethod());
70 case \Zend_Http_Client::GET:
71 $client->setParameterGet($transferObject->
getBody());
73 case \Zend_Http_Client::POST:
74 $client->setParameterPost($transferObject->
getBody());
77 throw new \LogicException(
79 'Unsupported HTTP method %s',
85 $client->setHeaders($transferObject->
getHeaders());
86 $client->setUrlEncodeBody($transferObject->
shouldEncode());
87 $client->setUri($transferObject->
getUri());
93 ? $this->converter->convert(
$response->getBody())
97 throw new \Magento\Payment\Gateway\Http\ClientException(
100 }
catch (\
Magento\Payment\Gateway\Http\ConverterException $e) {
103 $this->logger->debug($log);
placeRequest(\Magento\Payment\Gateway\Http\TransferInterface $transferObject)
__construct(ZendClientFactory $clientFactory, Logger $logger, ConverterInterface $converter=null)