コード例 #1
1
ファイル: orderinfo.php プロジェクト: Satariall/izurit
 protected static function getPaymentsInfo(Order $order)
 {
     $payments = $order->getPaymentCollection();
     if (!$payments) {
         return array();
     }
     $result = array();
     /** @var $payment \Bitrix\Sale\Payment  */
     foreach ($payments as $payment) {
         $id = $payment->getField("PAY_SYSTEM_ID");
         $ptId = $order->getPersonTypeId();
         if (!$id || !$ptId) {
             continue;
         }
         $params = OrderPayment::getPaySystemParams($id, $ptId);
         if (!$params) {
             continue;
         }
         $result[] = array("ID" => $payment->getId(), "NAME" => $params["NAME"], "LOGOTIP_PATH" => $params["LOGOTIP_PATH"], "IS_PAYED" => $payment->isPaid());
     }
     return $result;
 }
コード例 #2
0
ファイル: order_ajax.php プロジェクト: webgksupport/alpina
 protected function updatePaySystemInfoAction()
 {
     if ($this->request["orderId"]) {
         $orderId = $this->request["orderId"];
     } else {
         throw new UserMessageException("Incorrect order ID!");
     }
     if ($this->request["paymentId"]) {
         $paymentId = $this->request["paymentId"];
     } else {
         throw new UserMessageException("Incorrect payment ID!");
     }
     /** @var \Bitrix\Sale\Order $order */
     $order = Sale\Order::load($orderId);
     if ($order) {
         /** @var \Bitrix\Sale\PaymentCollection $paymentCollection */
         $paymentCollection = $order->getPaymentCollection();
         /** @var \Bitrix\Sale\Payment $payment */
         $payment = $paymentCollection->getItemById($paymentId);
         if ($payment) {
             $psResultFile = '';
             $psParams = Admin\Blocks\OrderPayment::getPaySystemParams($payment->getPaymentSystemId(), $order->getPersonTypeId());
             $psActionPath = $_SERVER["DOCUMENT_ROOT"] . $psParams["ACTION_FILE"];
             $psActionPath = str_replace("\\", "/", $psActionPath);
             while (substr($psActionPath, strlen($psActionPath) - 1, 1) == "/") {
                 $psActionPath = substr($psActionPath, 0, strlen($psActionPath) - 1);
             }
             if (file_exists($psActionPath) && is_dir($psActionPath)) {
                 if (file_exists($psActionPath . "/result.php") && is_file($psActionPath . "/result.php")) {
                     $psResultFile = $psActionPath . "/result.php";
                 }
             } elseif (strlen($psParams["RESULT_FILE"]) > 0) {
                 if (file_exists($_SERVER["DOCUMENT_ROOT"] . $psParams["RESULT_FILE"]) && is_file($_SERVER["DOCUMENT_ROOT"] . $psParams["RESULT_FILE"])) {
                     $psResultFile = $_SERVER["DOCUMENT_ROOT"] . $psParams["RESULT_FILE"];
                 }
             }
             if (strlen($psResultFile) > 0) {
                 \CSalePaySystemAction::InitParamArrays($order->getFieldValues(), $orderId, $psParams["PARAMS"], array(), $payment->getFieldValues());
                 try {
                     if (!(include $psResultFile)) {
                         $this->addResultError(GetMessage("SALE_OA_ERROR_PAY_SYSTEM_INFO"));
                     }
                 } catch (SystemException $e) {
                     $this->addResultError($e->getMessage());
                 }
             }
         }
     }
 }