GetParamValue("IM.ESHOP_ID"); $secret_key = $CSalePaySystemAction->GetParamValue("IM.SEKRET_KEY"); $order_id = $CSalePaySystemAction->GetParamValue("IM.ORDER_ID"); $arOrder = CSaleOrder::GetByID(IntVal($order_id)); $merchantReceipt = array( 'inn' => // Указать ИНН своего магазина 'group' => 'Main', 'content' => array( 'type' => 1, 'positions' => array(), 'customerContact' => $arOrder['USER_EMAIL'] ), ); $dbBasketItems = CSaleBasket::GetList(array(), array("ORDER_ID" => $order_id), false, false, array()); while ($arItems = $dbBasketItems->Fetch()) { $Product = CCatalogProduct::GetByID($arItems['PRODUCT_XML_ID']); //определяем ставку НДС, если используются не стандартные ставки CMS добавить их VAT_ID и указать значение всоответсвии с протоколом http://wiki.intellectmoney.ru/pages/viewpage.action?pageId=4849803#id-ПротоколприемаплатежейIntellectmoney-merchantReceipt4.5ФормированиеmerchantReceipt if ($Product['VAT_ID'] == 2) { $stavkaNDS = 1; } else { $stavkaNDS = 6; } $orderProducts[] = $arItems; $merchantReceipt['content']['positions'][] = array( 'quantity' => $arItems['QUANTITY'], 'price' => $arItems['PRICE'], 'tax' => $stavkaNDS, //Если кодировка UTF-8 убрать iconv 'text' => substr(iconv("cp1251", "UTF-8", $arItems['NAME']), 0, 128), ); } // Определяем есть ли доставка, если ест вносим в чек со ставкой НДС 18% if ($arOrder['PRICE_DELIVERY'] != 0) { $merchantReceipt['content']['positions'][] = array( 'quantity' => 1, 'price' => $arOrder['PRICE_DELIVERY'], 'tax' => 1, //Если кодировка UTF-8 убрать iconv 'text' => substr(iconv("cp1251", "UTF-8",'Доставка'), 0, 128), ); } $merchantReceipt = json_encode($merchantReceipt); if ($CSalePaySystemAction->GetParamValue("IM.IS_TEST") == 'Y') { $currency = 'TST'; } else { $currency = $arOrder["CURRENCY"]; } $serviceName = Loc::getMessage("IM.PAYMENT_PAYMENT_FOR_ORDER", array("#DATE#" => date('Y-m-d'), "#ORDER_ID#" => $order_id)); $recipientAmount = number_format($arOrder['PRICE'], 2, '.', ''); $success_url = $CSalePaySystemAction->GetParamValue("IM.SUCCESS_URL"); $preference = $CSalePaySystemAction->GetParamValue("IM.PREFERENCE"); $lang = $CSalePaySystemAction->GetParamValue("IM.LANGUAGE"); $lang = empty($lang) ? 'ru' : strtolower($lang); if ($CSalePaySystemAction->GetParamValue("IM.HOLD_MODE") == 'Y') { $holdMode = '1'; $day = $CSalePaySystemAction->GetParamValue("IM.HOLD_MODE_DATE"); if (intval($day) && $day > 0 && $day < 31) { $expireDate = date('Y-m-d 00:00:00', strtotime('+' . $day . ' day')); } else { $expireDate = date('Y-m-d 00:00:00', strtotime('+3 day')); } } $user_email = $CSalePaySystemAction->GetParamValue("IM.EMAIL"); $pre_hash = md5(join('::', array($eshop_id, $order_id, $serviceName, $recipientAmount, $currency, $secret_key))); ?>