Михаил Базаров Разработка на 1С-Битрикс Михаил Базаров

Оплата заказа с внутреннего счета только за товары, без учета стоимости доставки

Внимание! Все сообщения на форуме проходят модерацию. Ваше сообщение появится после проверки.
Оплата заказа с внутреннего счета только за товары, без учета стоимости доставки

Задача: В магазине реализован внутренний счет (бонусный счет) для покупателей. Необходимо, чтобы при оплате заказа бонусами учитывалась только
стоимость товаров, а стоимость доставки не входила в сумму оплаты с внутреннего счета.
Для шаблона оформления заказа, что бы показать пользователю правильные расчеты.
В блоке Итого модифицируем данные (в result_modifier)
Код
<?
// Если выбрана оплата бонусами иначе этого блока и не видно
if (!empty($arResult['PAYED_FROM_ACCOUNT_FORMATED'])) {
    $totalBonusPaid = $arResult['JS_DATA']['TOTAL']['ORDER_PRICE'] * 0.3;
    // Доп проверка - если у пользователя бонусов меньше чем $totalBonusPaid
    $userCurrentAccount = CSaleUserAccount::GetByUserID(
        $USER->GetID(),
        "RUB"
    );
    if ($totalBonusPaid > $userCurrentAccount['CURRENT_BUDGET']) {
        $totalBonusPaid = $userCurrentAccount['CURRENT_BUDGET'];
    }
    // Итого будет оплачено бонусами
    echo $totalBonusPaid . ' ₽';

   // Итого за минусом бонусов и плюс доствка
   $arResult['JS_DATA']['TOTAL']['ORDER_PRICE'] = $arResult['JS_DATA']['TOTAL']['ORDER_PRICE'] - $totalBonusPaid + $arResult['JS_DATA']['TOTAL']['DELIVERY_PRICE'];

}
?>
Форма ответов
 
Текст сообщения*
Перетащите файлы
Ничего не найдено
Загрузить файлы
 

Блог-note Заметки по 1С-Битрикс