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
            if ($arResult["PAY_SYSTEM"]["NEW_WINDOW"] == "Y") {
                ?>
							<script language="JavaScript">
								window.open('<?php 
                echo $arParams["PATH_TO_PAYMENT"];
                ?>
?ORDER_ID=<?php 
                echo urlencode(urlencode($arResult["ORDER"]["ACCOUNT_NUMBER"]));
                ?>
');
							</script>
							<?php 
                echo GetMessage("SOA_TEMPL_PAY_LINK", array("#LINK#" => $arParams["PATH_TO_PAYMENT"] . "?ORDER_ID=" . urlencode(urlencode($arResult["ORDER"]["ACCOUNT_NUMBER"]))));
                ?>
							<?php 
                if (CSalePdf::isPdfAvailable() && CSalePaySystemsHelper::isPSActionAffordPdf($arResult['PAY_SYSTEM']['ACTION_FILE'])) {
                    ?>
<br />
								<?php 
                    echo GetMessage("SOA_TEMPL_PAY_PDF", array("#LINK#" => $arParams["PATH_TO_PAYMENT"] . "?ORDER_ID=" . urlencode(urlencode($arResult["ORDER"]["ACCOUNT_NUMBER"])) . "&pdf=1&DOWNLOAD=Y"));
                    ?>
								<?php 
                }
            } else {
                if (strlen($arResult["PAY_SYSTEM"]["PATH_TO_ACTION"]) > 0) {
                    include $arResult["PAY_SYSTEM"]["PATH_TO_ACTION"];
                }
            }
            ?>
					</td>
				</tr>
Ejemplo n.º 4
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.º 5
0
 $row->AddField("DESCRIPTION", $f_DESCRIPTION);
 $pTypes = '';
 $aFiles = '';
 $dbPSAction = CSalePaySystemAction::GetList(array(), array("PAY_SYSTEM_ID" => $f_ID), false, false, array("PERSON_TYPE_ID", "ACTION_FILE"));
 while ($arPSAction = $dbPSAction->Fetch()) {
     if (isset($arPersonTypeList[$arPSAction["PERSON_TYPE_ID"]])) {
         $pTypes .= "<div>" . $arPersonTypeList[$arPSAction["PERSON_TYPE_ID"]] . "</div>";
     }
     $psActFilename = $_SERVER["DOCUMENT_ROOT"] . $arPSAction["ACTION_FILE"];
     $psActTitle = "";
     $psActName = "";
     if (is_dir($psActFilename)) {
         $psActTitle = CSalePaySystemsHelper::getPSActionTitle($psActFilename . "/.description.php");
         $psActName = substr(strrchr($psActFilename, '/'), 1);
     } elseif (is_file($psActFilename)) {
         $psActTitle = CSalePaySystemsHelper::getPSActionTitle_old($psActFilename);
         $psActName = $arPSAction["ACTION_FILE"];
     }
     if (strlen($psActTitle) <= 0) {
         $psActTitle = $psActName;
     } else {
         $psActTitle .= " (" . $psActName . ")";
     }
     $aFiles .= "<div>" . $psActTitle . "</div>";
 }
 $row->AddField("PERSON_TYPES", $pTypes);
 $row->AddField("ACTION_FILES", $aFiles);
 $arActions = array(array("ICON" => "edit", "TEXT" => GetMessage("SALE_EDIT"), "TITLE" => GetMessage("SALE_EDIT_DESCR"), "ACTION" => $lAdmin->ActionRedirect("sale_pay_system_edit.php?ID=" . $f_ID . "&lang=" . LANG), "DEFAULT" => true));
 if ($saleModulePermissions >= "W") {
     $arActions[] = array("SEPARATOR" => true);
     $arActions[] = array("ICON" => "delete", "TEXT" => GetMessage("SALE_DELETE"), "TITLE" => GetMessage("SALE_DELETE_DESCR"), "ACTION" => "if(confirm('" . GetMessage('SALE_CONFIRM_DEL_MESSAGE') . "')) " . $lAdmin->ActionDoGroup($f_ID, "delete"));
Ejemplo n.º 6
0
         $res .= '<td>' . GetMessage("SPSG_TYPE") . '</td>\\n';
         $res .= '<td><select name="TYPE_' . $key . '_' . $divInd . '" id="TYPE_' . $key . '_' . $divInd . '" OnChange="PropertyTypeChange(\'' . $key . '\', ' . $divInd . ')">\\n';
         $res .= '<option value="">' . GetMessage("SPSG_OTHER") . '</option>\\n';
         $res .= '<option value="USER">' . GetMessage("SPSG_FROM_USER") . '</option>\\n';
         $res .= '<option value="ORDER">' . GetMessage("SPSG_FROM_ORDER") . '</option>\\n';
         $res .= '<option value="PROPERTY">' . GetMessage("SPSG_FROM_PROPS") . '</option>\\n';
         $res .= '</select></td></tr>\\n';
         $res .= '<tr><td>' . GetMessage("SPSG_VALUE") . '</td>\\n';
         $res .= '<td><select name="VALUE1_' . $key . '_' . $divInd . '" id="VALUE1_' . $key . '_' . $divInd . '" style="display: none;">\\n';
         $res .= '</select>\\n';
         $res .= '<input type="text" name="VALUE2_' . $key . '_' . $divInd . '" id="VALUE2_' . $key . '_' . $divInd . '" size="40">\\n';
         $res .= '</td></tr></table>\\n';
         $res .= '</td></tr>\\n';
     }
 }
 $arTarif = CSalePaySystemsHelper::getPaySystemTarif(($bUserPSFile ? $path2UserPSFiles : $path2SystemPSFiles) . $fileName, $_REQUEST["psid"], $divInd);
 if (is_array($arTarif) && !empty($arTarif)) {
     $res .= '<tr class="heading"><td align="center" colspan="2">' . GetMessage('SPSG_TARIFS') . '</td></tr>';
     $arMultiControlQuery = array();
     foreach ($arTarif as $fieldId => $arField) {
         if (!empty($arMultiControlQuery) && (!isset($arField['MCS_ID']) || !array_key_exists($arField['MCS_ID'], $arMultiControlQuery))) {
             $res .= CSaleHelper::getAdminMultilineControl($arMultiControlQuery);
             $arMultiControlQuery = array();
         }
         $controlHtml = CSaleHelper::getAdminHtml($fieldId, $arField, 'TARIF_' . $divInd, 'pay_sys_form');
         if ($arField["TYPE"] == 'MULTI_CONTROL_STRING') {
             $arMultiControlQuery[$arField['MCS_ID']]['CONFIG'] = $arField;
             continue;
         } elseif (isset($arField['MCS_ID'])) {
             $arMultiControlQuery[$arField['MCS_ID']]['ITEMS'][] = $controlHtml;
             continue;
Ejemplo n.º 7
0
     if (\Bitrix\Main\IO\File::isFileExists($documentRoot . $actionFile . "/payment.php")) {
         $fields["HAVE_PAYMENT"] = "Y";
     }
     if (\Bitrix\Main\IO\File::isFileExists($documentRoot . $actionFile . "/result_rec.php")) {
         $fields["HAVE_RESULT_RECEIVE"] = "Y";
     }
 }
 if ($request->get('TARIF') !== null) {
     if ($path !== null) {
         if (\Bitrix\Main\IO\File::isFileExists($documentRoot . $path . '/handler.php')) {
             require_once $documentRoot . $path . '/handler.php';
             $className = PaySystem\Manager::getClassNameFromPath($actionFile);
             $fields["TARIF"] = $className::prepareToField($request->get('TARIF'));
         }
     } else {
         $fields["TARIF"] = CSalePaySystemsHelper::prepareTarifForSaving($actionFile, $request->get('TARIF'));
     }
 }
 $isConsumerChange = $request->get('ACTION_FILE') != $request->get('PRIOR_ACTION_FILE');
 $file = $request->getFile('LOGOTIP');
 if ($file !== null && $file["error"] == 0) {
     $imageFileError = CFile::CheckImageFile($file);
     if ($imageFileError === null) {
         $fields['LOGOTIP'] = $file;
         $fields['LOGOTIP']['del'] = trim($request->get("LOGOTIP_del"));
         $fields['LOGOTIP']['MODULE_ID'] = "sale";
         CFile::SaveForDB($fields, 'LOGOTIP', 'sale/paysystem/logotip');
     } else {
         $errorMessage .= $imageFileError . '.<br>';
     }
 } elseif ($request->get("LOGOTIP_del") !== null && $request->get("LOGOTIP_del") == 'Y') {
Ejemplo n.º 8
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;
 }
Ejemplo n.º 9
0
 } elseif ($actionID <= 0) {
     $logo = "";
     if (file_exists($_SERVER["DOCUMENT_ROOT"] . ${"ACTION_FILE_" . $arPersonType["ID"]} . "/logo.png")) {
         $logo = $_SERVER["DOCUMENT_ROOT"] . ${"ACTION_FILE_" . $arPersonType["ID"]} . "/logo.png";
     } elseif (file_exists($_SERVER["DOCUMENT_ROOT"] . ${"ACTION_FILE_" . $arPersonType["ID"]} . "/logo.jpg")) {
         $logo = $_SERVER["DOCUMENT_ROOT"] . ${"ACTION_FILE_" . $arPersonType["ID"]} . "/logo.jpg";
     } elseif (file_exists($_SERVER["DOCUMENT_ROOT"] . ${"ACTION_FILE_" . $arPersonType["ID"]} . "/logo.gif")) {
         $logo = $_SERVER["DOCUMENT_ROOT"] . ${"ACTION_FILE_" . $arPersonType["ID"]} . "/logo.gif";
     }
     $arPicture = CFile::MakeFileArray($logo);
 }
 $arPicture["old_file"] = $arPSAction["LOGOTIP"];
 $arPicture["del"] = trim($_POST["LOGOTIP_" . $arPersonType["ID"] . "_del"]);
 $arFields = array("PAY_SYSTEM_ID" => $ID, "PERSON_TYPE_ID" => $arPersonType["ID"], "NAME" => ${"NAME_" . $arPersonType["ID"]}, "ACTION_FILE" => ${"ACTION_FILE_" . $arPersonType["ID"]}, "NEW_WINDOW" => ${"NEW_WINDOW_" . $arPersonType["ID"]} == "Y" ? "Y" : "N", "PARAMS" => CSalePaySystemAction::SerializeParams($arParams), "HAVE_PREPAY" => "N", "HAVE_RESULT" => "N", "HAVE_ACTION" => "N", "HAVE_PAYMENT" => "N", "HAVE_RESULT_RECEIVE" => "N", "ENCODING" => trim(${"ENCODING_" . $arPersonType["ID"]}), "LOGOTIP" => $arPicture);
 if (!empty($arTarif) && is_array($arTarif)) {
     $arFields["TARIF"] = CSalePaySystemsHelper::prepareTarifForSaving($arFields["ACTION_FILE"], $arTarif);
 }
 $pathToAction = $_SERVER["DOCUMENT_ROOT"] . ${"ACTION_FILE_" . $arPersonType["ID"]};
 $pathToAction = str_replace("\\", "/", $pathToAction);
 while (substr($pathToAction, strlen($pathToAction) - 1, 1) == "/") {
     $pathToAction = substr($pathToAction, 0, strlen($pathToAction) - 1);
 }
 if (file_exists($pathToAction)) {
     if (is_dir($pathToAction)) {
         if (file_exists($pathToAction . "/pre_payment.php")) {
             $arFields["HAVE_PREPAY"] = "Y";
         }
         if (file_exists($pathToAction . "/result.php")) {
             $arFields["HAVE_RESULT"] = "Y";
         }
         if (file_exists($pathToAction . "/action.php")) {