Example #1
0
 /**
  * send this message and get response
  * save all warnings - errors are only saved if no payment-url is send from pnag
  *
  * @return SofortLibTransactionData $this
  */
 public function sendRequest()
 {
     $requestData[$this->_xmlRootTag] = $this->_parameters;
     $requestData = $this->_prepareRootTag($requestData);
     $xmlRequest = ArrayToXml::render($requestData);
     $this->_log($xmlRequest, ' XmlRequest -> ');
     $xmlResponse = $this->_sendMessage($xmlRequest);
     try {
         $this->_response = XmlToArray::render($xmlResponse);
     } catch (Exception $e) {
         $this->_response = array('errors' => array('error' => array('code' => array('@data' => '0999'), 'message' => array('@data' => $e->getMessage()))));
     }
     $this->_log($xmlResponse, ' XmlResponse <- ');
     $this->_handleErrors();
     $this->_parseXml();
     return $this;
 }
Example #2
0
 /**
  * static entry point. Options are:
  *  - version: (default 1.0) version string to put in xml prolog
  *  - encoding: (default UTF-8) use the specified encoding
  *  - trim: (default true) Trim values
  *  - depth: (default 10) Maximum depth to parse the given array, throws exception when exceeded
  *
  * @param array $input the input array
  * @param array $options set additional options to pass to XmlToArray
  * @throws ArrayToXmlException
  */
 public static function render(array $input, array $options = array())
 {
     $options = array_merge(array('version' => '1.0', 'encoding' => 'UTF-8', 'trim' => true, 'depth' => 10), $options);
     $Instance = new ArrayToXml($input, $options['depth'], $options['trim']);
     return $Instance->toXml($options['version'], $options['encoding']);
 }