Ejemplo n.º 1
0
 /**
  * Ищет идентификатор заказа в ответе платежной системы.
  * Сначала проверяются стандартные поля, потом опрашивается метод getOrderId
  * каждой подключенной платежной системы
  * @return Integer | boolean false
  */
 public static final function getResponseOrderId()
 {
     $orderId = (int) getRequest('param0');
     if (!$orderId) {
         $orderId = (int) getRequest('orderid');
     }
     if (!$orderId) {
         $orderId = (int) getRequest('orderId');
     }
     // RBK
     if (!$orderId) {
         $orderId = (int) getRequest('order-id');
     }
     // Chronopay
     if (!$orderId) {
         $orderId = (int) getRequest('order_id');
     }
     if (!$orderId) {
         $paymentSystems = self::getList();
         foreach ($paymentSystems as $paymentSystem) {
             $classPrefix = objectProxyHelper::getClassPrefixByType($paymentSystem->payment_type_id);
             objectProxyHelper::includeClass('emarket/classes/payment/systems/', $classPrefix);
             $className = $classPrefix . 'Payment';
             //TODO: change to $className::getOrderId() after minimum requirements for UMI changes to PHP 5.3
             $orderId = (int) call_user_func("{$className}::getOrderId");
             if ($orderId) {
                 break;
             }
         }
     }
     return $orderId;
 }
Ejemplo n.º 2
0
 public function getDeliveryType($delivery_id = false)
 {
     if (!$delivery_id) {
         return '';
     }
     $object = umiObjectsCollection::getInstance()->getObject($delivery_id);
     $classPrefix = objectProxyHelper::getClassPrefixByType($object->delivery_type_id);
     return $classPrefix;
 }
Ejemplo n.º 3
0
 /**
  * Получить экземпляр наименования в заказе с учетом текущих настроек интернет-магазина и типа товара.
  * @param Integer $objectId id объекта, по которому нужно строить класс
  * @return orderItem объект наименования в заказе (допускается, что может вернуться любой класс-наследник от orderItem)
  */
 public static function get($objectId)
 {
     $objects = umiObjectsCollection::getInstance();
     $object = $objects->getObject($objectId);
     if ($object instanceof iUmiObject == false) {
         throw new privateException("Couldn't load order item object #{$objectId}");
     }
     $classPrefix = "";
     if ($object->item_type_id) {
         $classPrefix = objectProxyHelper::getClassPrefixByType($object->item_type_id);
         objectProxyHelper::includeClass('emarket/classes/orders/items/', $classPrefix);
     }
     $className = $classPrefix ? $classPrefix . 'OrderItem' : 'orderItem';
     return new $className($object);
 }
Ejemplo n.º 4
0
 public static final function get($objectId)
 {
     if ($objectId instanceof iUmiObject) {
         $object = $objectId;
     } else {
         $objects = umiObjectsCollection::getInstance();
         $object = $objects->getObject($objectId);
         if ($object instanceof iUmiObject == false) {
             throw new coreException("Couldn't load order item object #{$objectId}");
         }
     }
     $classPrefix = objectProxyHelper::getClassPrefixByType($object->delivery_type_id);
     objectProxyHelper::includeClass('emarket/classes/delivery/systems/', $classPrefix);
     $className = $classPrefix . 'Delivery';
     return new $className($object);
 }
Ejemplo n.º 5
0
 public static final function get($objectId)
 {
     if (empty($objectId)) {
         return false;
     }
     if ($objectId instanceof iUmiObject) {
         $object = $objectId;
     } else {
         $objects = umiObjectsCollection::getInstance();
         $object = $objects->getObject($objectId);
         if ($object instanceof iUmiObject == false) {
             throw new coreException("Couldn't load network #{$objectId}");
         }
     }
     $classPrefix = $object->social_id;
     objectProxyHelper::includeClass('social_networks/classes/networks/', $classPrefix);
     $className = $classPrefix . '_social_network';
     return new $className($object, $classPrefix);
 }
Ejemplo n.º 6
-1
 public function process($template = null)
 {
     $order = $this->order;
     $order->order();
     $order->setPaymentStatus('initialized');
     // Ставим заказу статус "инициализирована оплата"
     // Загружаем API класс LiqPay
     objectProxyHelper::includeClass('emarket/classes/payment/api/', 'LiqPay');
     $liqpay = new LiqPay($this->getValue('public_key'), $this->getValue('private_key'));
     $sandbox_status = 0;
     if ($this->getValue('sandbox_status')) {
         $sandbox_status = 1;
     }
     $domain = $_SERVER['HTTP_HOST'];
     $html = $liqpay->cnb_form(array('version' => '3', 'sandbox' => $sandbox_status, 'amount' => $order->getActualPrice(), 'currency' => $this->getValue('currency'), 'description' => $this->getValue('desc'), 'pay_way' => $this->getValue('pay_way'), 'order_id' => $order->getId(), 'type' => 'buy', 'result_url' => $domain . '/emarket/purchase/result/successful/?order_id=' . $order->getId() . '&order_type=liq_pay'));
     $param = array();
     $param['form_html'] = $html;
     list($templateString) = def_module::loadTemplates("emarket/payment/liqpay/" . $template, "form_block");
     return def_module::parseTemplate($templateString, $param);
 }