![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-payment/Gateway/Http/Converter/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Payment\Gateway\Http\Converter; use Magento\Payment\Gateway\Http\ConverterException; use Magento\Payment\Gateway\Http\ConverterInterface; /** * Class HtmlFormConverter * @package Magento\Payment\Gateway\Http\Converter * @api * @since 100.0.2 */ class HtmlFormConverter implements ConverterInterface { /** * Converts gateway response to ENV structure * * @param string $response * @return array * @throws ConverterException */ public function convert($response) { $document = new \DOMDocument(); libxml_use_internal_errors(true); if (!$document->loadHTML($response)) { throw new ConverterException( __('The gateway response format was incorrect. Verify the format and try again.') ); } libxml_use_internal_errors(false); $document->getElementsByTagName('input'); $convertedResponse = []; /** @var \DOMNode $inputNode */ foreach ($document->getElementsByTagName('input') as $inputNode) { if (!$inputNode->attributes->getNamedItem('value') || !$inputNode->attributes->getNamedItem('name') ) { continue; } $convertedResponse[$inputNode->attributes->getNamedItem('name')->nodeValue] = $inputNode->attributes->getNamedItem('value')->nodeValue; } return $convertedResponse; } }