/** * Ищет идентификатор заказа в ответе платежной системы. * Сначала проверяются стандартные поля, потом опрашивается метод 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; }
/** * Получить экземпляр наименования в заказе с учетом текущих настроек интернет-магазина и типа товара. * @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); }
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); }
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); }
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); }