Example #1
0
 /**
  * Function builds OpenPayU Xml Document
  * @access public
  * @param string  $data
  * @param string  $startElement
  * @param integer $request
  * @param string  $xml_version
  * @param string  $xml_encoding
  * @return string $xml
  */
 public static function buildOpenPayUDocument($data, $startElement, $request = 1, $xml_version = '1.0', $xml_encoding = 'UTF-8')
 {
     if (!is_array($data)) {
         return false;
     }
     $xml = new XmlWriter();
     $xml->openMemory();
     $xml->startDocument($xml_version, $xml_encoding);
     if (OpenPayU_Configuration::getApiVersion() < 2) {
         $xml->startElementNS(null, 'OpenPayU', 'http://www.openpayu.com/openpayu.xsd');
         $header = $request == 1 ? 'HeaderRequest' : 'HeaderResponse';
         $xml->startElement($header);
         $xml->writeElement('Algorithm', OpenPayU_Configuration::getHashAlgorithm());
         $xml->writeElement('SenderName', 'exampleSenderName');
         $xml->writeElement('Version', $xml_version);
         $xml->endElement();
     } else {
         $xml->startElementNS(null, 'OpenPayU', 'http://www.openpayu.com/20/openpayu.xsd');
     }
     // domain level - open
     if (OpenPayU_Configuration::getApiVersion() < 2) {
         $xml->startElement(OpenPayUDomain::getDomain4Message($startElement));
     }
     // message level - open
     $xml->startElement($startElement);
     OpenPayU_Util::convertArrayToXml($xml, $data);
     // message level - close
     $xml->endElement();
     // domain level - close
     $xml->endElement();
     // document level - close
     if (OpenPayU_Configuration::getApiVersion() < 2) {
         $xml->endElement();
     }
     return $xml->outputMemory(true);
 }
 /**
  * Function builds OpenPayU Xml Document
  * @access public
  * @param string $data
  * @param string $start_element
  * @param integer $request
  * @param string $xml_version
  * @param string $xml_encoding
  * @return string $xml
  */
 public static function buildOpenPayUDocument($data, $start_element, $request = 1, $xml_version = '1.0', $xml_encoding = 'UTF-8')
 {
     if (!is_array($data)) {
         return false;
     }
     $xml = new XmlWriter();
     $xml->openMemory();
     $xml->startDocument($xml_version, $xml_encoding);
     $xml->startElementNS(null, 'OpenPayU', 'http://www.openpayu.com/openpayu.xsd');
     $header = $request == 1 ? 'HeaderRequest' : 'HeaderResponse';
     $xml->startElement($header);
     $xml->writeElement('Algorithm', 'MD5');
     $xml->writeElement('SenderName', 'POSID=' . OpenPayUConfiguration::getMerchantPosid() . ';CUSTOM_PLUGIN=PRESTASHOP');
     $xml->writeElement('Version', $xml_version);
     $xml->endElement();
     // domain level - open
     $xml->startElement(OpenPayUDomain::getDomain4Message($start_element));
     // message level - open
     $xml->startElement($start_element);
     self::arr2xml($xml, $data);
     // message level - close
     $xml->endElement();
     // domain level - close
     $xml->endElement();
     // document level - close
     $xml->endElement();
     return $xml->outputMemory(true);
 }
 /**
  * Function returns Message domain
  * @param string $msg
  * @access public
  * @return array
  */
 public static function getDomain4Message($msg)
 {
     self::$msg2domain = array('OrderCreateRequest' => 'OrderDomainRequest', 'OrderCreateResponse' => 'OrderDomainResponse', 'OrderStatusUpdateRequest' => 'OrderDomainRequest', 'OrderStatusUpdateResponse' => 'OrderDomainResponse', 'OrderCancelRequest' => 'OrderDomainRequest', 'OrderCancelResponse' => 'OrderDomainResponse', 'OrderNotifyRequest' => 'OrderDomainRequest', 'OrderNotifyResponse' => 'OrderDomainResponse', 'OrderRetrieveRequest' => 'OrderDomainRequest', 'OrderRetrieveResponse' => 'OrderDomainResponse', 'ShippingCostRetrieveRequest' => 'OrderDomainRequest', 'ShippingCostRetrieveResponse' => 'OrderDomainResponse');
     return self::$msg2domain[$msg];
 }