Ejemplo n.º 1
0
 static function DoProcessOrder(&$arOrder, $paySystemId, &$arErrors)
 {
     if (intval($paySystemId) > 0) {
         $arPaySystem = array();
         $dbPaySystem = CSalePaySystem::GetList(array("SORT" => "ASC", "PSA_NAME" => "ASC"), array("ACTIVE" => "Y", "PERSON_TYPE_ID" => $arOrder["PERSON_TYPE_ID"], "PSA_HAVE_PAYMENT" => "Y"));
         while ($arPaySystem = $dbPaySystem->Fetch()) {
             if ($arPaySystem["ID"] == $paySystemId) {
                 $arOrder["PAY_SYSTEM_ID"] = $paySystemId;
                 $arOrder["PAY_SYSTEM_PRICE"] = CSalePaySystemsHelper::getPSPrice($arPaySystem, $arOrder["ORDER_PRICE"], $arOrder["PRICE_DELIVERY"], $arOrder["DELIVERY_LOCATION"]);
                 break;
             }
         }
         if (empty($arPaySystem)) {
             $arErrors[] = array("CODE" => "CALCULATE", "TEXT" => GetMessage('SKGPS_PS_NOT_FOUND'));
         }
     }
 }
Ejemplo n.º 2
0
		$dbPaySystem = CSalePaySystem::GetList(
			array("SORT" => "ASC", "PSA_NAME" => "ASC"),
			array(
				"ACTIVE" => "Y",
				"PERSON_TYPE_ID" => $str_PERSON_TYPE_ID,
				"PSA_HAVE_PAYMENT" => "Y"
			)
		);

		while ($arPaySystem = $dbPaySystem->Fetch())
		{
			if ($arPaySystem["ID"] == $str_PAY_SYSTEM_ID)
			{
				$paySystemPrice = CSalePaySystemsHelper::getPSPrice(
					$arPaySystem,
					$tmpOrderPrice,
					$arDeliveryOrder["DELIVERY_DEFAULT_PRICE"],
					$locationID
				);
			}
		}
	}

	$pricePay = SaleFormatCurrency(roundEx($paySystemPrice, SALE_VALUE_PRECISION), $str_CURRENCY);
}

$hidden = (filter_var($pricePay, FILTER_SANITIZE_NUMBER_INT) != "" && filter_var($pricePay, FILTER_SANITIZE_NUMBER_INT) != "0") ? "" : "style=\"display:none\"";
?>
<tr id="PAY_SYSTEM_PRICE_BLOCK" <?php 
echo $hidden;
?>
>
Ejemplo n.º 3
0
 }
 $bFirst = True;
 $dbPaySystem = CSalePaySystem::GetList(array("SORT" => "ASC", "PSA_NAME" => "ASC"), $arFilter);
 while ($arPaySystem = $dbPaySystem->Fetch()) {
     //if (count($arD2P[$delivery]) <= 0 || in_array($arPaySystem["ID"], $arD2P[$delivery]))
     //{
     if (strlen($arUserResult["DELIVERY_ID"]) <= 0 || $arParams["DELIVERY_TO_PAYSYSTEM"] == "p2d" || CSaleDelivery2PaySystem::isPaySystemApplicable($arPaySystem["ID"], $arUserResult["DELIVERY_ID"])) {
         if (!CSalePaySystemsHelper::checkPSCompability($arPaySystem["PSA_ACTION_FILE"], $arOrder, $arResult["ORDER_PRICE"], $arResult["DELIVERY_PRICE"], $arUserResult["DELIVERY_LOCATION"])) {
             continue;
         }
         if ($arPaySystem["PSA_LOGOTIP"] > 0) {
             $arPaySystem["PSA_LOGOTIP"] = CFile::GetFileArray($arPaySystem["PSA_LOGOTIP"]);
         }
         $arPaySystem["PSA_NAME"] = htmlspecialcharsEx($arPaySystem["PSA_NAME"]);
         $arResult["PAY_SYSTEM"][$arPaySystem["ID"]] = $arPaySystem;
         $arResult["PAY_SYSTEM"][$arPaySystem["ID"]]["PRICE"] = CSalePaySystemsHelper::getPSPrice($arPaySystem, $arResult["ORDER_PRICE"], $arResult["DELIVERY_PRICE"], $arUserResult["DELIVERY_LOCATION"]);
         if (IntVal($arUserResult["PAY_SYSTEM_ID"]) == IntVal($arPaySystem["ID"]) || IntVal($arUserResult["PAY_SYSTEM_ID"]) <= 0 && $bFirst) {
             //$arPaySystem["CHECKED"] = "Y";
             $arResult["PAY_SYSTEM"][$arPaySystem["ID"]]["CHECKED"] = "Y";
             $arUserResult["PAY_SYSTEM_ID"] = $arPaySystem["ID"];
         }
         $bFirst = false;
     }
 }
 if (IntVal($arUserResult["PAY_SYSTEM_ID"]) > 0 && empty($arResult["PAY_SYSTEM"][$arUserResult["PAY_SYSTEM_ID"]])) {
     $bF = true;
     foreach ($arResult["PAY_SYSTEM"] as $k => $v) {
         if ($bF) {
             $arResult["PAY_SYSTEM"][$k]["CHECKED"] = "Y";
             $arUserResult["PAY_SYSTEM_ID"] = $arResult["PAY_SYSTEM"][$k]["ID"];
             $bF = false;
Ejemplo n.º 4
0
 public function getPaysystems($deliveryId = null)
 {
     if (empty($deliveryId)) {
         $deliveryId = $this->deliveryId;
     }
     if (empty($deliveryId)) {
         throw new \Exception('Для получения способов оплаты нужно указать службу доставки');
     }
     $paySystems = array();
     $paySystemFilter = array('ACTIVE' => 'Y', 'PERSON_TYPE_ID' => 1, 'PSA_HAVE_PAYMENT' => 'Y');
     $res = \CSalePaySystem::GetList(array("SORT" => "ASC", "PSA_NAME" => "ASC"), $paySystemFilter);
     while ($paySystem = $res->Fetch()) {
         if (!\CSaleDelivery2PaySystem::isPaySystemApplicable($paySystem['ID'], $deliveryId)) {
             continue;
         }
         $check = \CSalePaySystemsHelper::checkPSCompability($paySystem['PSA_ACTION_FILE'], $this->getItemsRaw(), $this->getTotal(), $this->deliveryPrice, $this->location);
         if (!$check) {
             continue;
         }
         $paySystem['PRICE'] = \CSalePaySystemsHelper::getPSPrice($paySystem, $this->getTotal(), $this->deliveryPrice, $this->location);
         $paySystems[] = $paySystem;
     }
     return $paySystems;
 }