Антон Долганин веб-разработчик +7 (962) 255-86-13 Написать сообщение
Частичная оплата заказа

Частичная оплата заказа

Решение запретит вашим посетителям оплачивать заказ с личного счета более чем на определенный процент, установленный администратором.
1000 Р
Купить ?
Задать вопрос по модулю

О модуле

Модуль Частичная оплата заказа - решение для тех, кому важно избежать рисков недополучения "живой" прибыли Интернет-магазина при внедрении бонусной системы. А также для тех, кто готов представлять клиентам скидки, только в обмен на гарантированную лояльность.

Этот простой модуль позволяет администратору устанавливать максимальный процент от суммы заказа, который пользователь может оплатить со своего внутреннего счета.

Пример: На счету пользователя 5000 рублей, он делает заказ на 2000. Без модуля он сможет оплатить заказ полностью со своего счета. А если таких покупателей наберется достаточное количество, и будет некий старт продаж (например, новой видео-игры или книги), то владелец магазина рискует обанкротиться, так как хитовую игру будет вынужден отдать бесплатно множеству покупателей. Но благодаря модулю вы можете установить лимит, например, 10%, и пользователь сможет оплатить с личного счета только 200 руб. (у него останется 4800), остальную сумму он должен будет доплатить обычным способом.

Важно: Решение предназначено только для компонента одношагового оформления заказа.

Демо-доступ: Перейдя по ссылке, и выбрав Оформление заказа, вы cможете увидеть модуль в работе.

Настройка модуля

После установки модуля перейдите в его настройки (Администрирование - Настройки - Модули - Настройки модулей) и задайте лимит для оплаты с внутреннего счета в процентах:

настройка модуля

После этого, при оформлении заказа, пользователь будет получать информацию, какой процент заказа он может оплатить с внутреннего счета и какая сумма будет списана (для этого будет необходимо кастомизировать шаблон компонента):

информация о лимите

информация о списании

Если баланс внутреннего счета пользователя превосходит процентный порог, спишется только этот порог. Если баланс счета равен, или меньше порога, спишется максимально близкая к нему сумма (все деньги пользователя).

Кастомизация шаблона

Кастомизируем шаблон компонента Одношаговое оформление заказа:
  • В настройках компонента разрешите оплату с личного счета, и снимите опцию "позволять оплачивать только в полном объеме".

    кастомизация шаблона

  • После копирования шаблона на изменение ( если вы редактируете данный шаблон первый раз, нажмите Сохранить), перейдите в папку шаблона и в файле paysystem.php замените строку:
    if ($arResult["PAY_FROM_ACCOUNT"]=="Y")
    на
    if ($arResult['CURRENT_BUDGET_FORMATED'] !== false)
  • Далее в том же файле необходимо изменить текст и вместо:
    <?=GetMessage("SOA_TEMPL_PAY_ACCOUNT2")?>
    написать, например, такую фразу:
    Вы можете использовать для частичного погашения суммы заказа.
    <?if (IsModuleInstalled('asd.paypart') && ($percent = round(COption::GetOptionString('asd.paypart', 'percent_val'), 2))>0){?>
    Но не более <?= $percent?>% от суммы заказа. 
    <?}?>
    Сохраните файл.
  • Перейдите в файл summary.php шаблона, и там в блоке
    if (strlen($arResult["PAYED_FROM_ACCOUNT_FORMATED"]) > 0)
    (после { ) вставьте следующий код:
    if (CModule::IncludeModule('asd.paypart')) {
       CASDPayPart::RefreshPayedFromAccount($arResult);
    }
    Сохраните файл.

В результате в форму оформления заказа будет добавлена информация о лимите в % и сумме списания с внутреннего счета в валюте магазина.

Требования