Модуль Частичная оплата заказа - решение для тех, кому важно избежать рисков недополучения "живой" прибыли Интернет-магазина при внедрении бонусной системы. А также для тех, кто готов представлять клиентам скидки, только в обмен на гарантированную лояльность.
Этот простой модуль позволяет администратору устанавливать максимальный процент от суммы заказа, который пользователь может оплатить со своего внутреннего счета.
Пример: На счету пользователя 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")?>
br>написать, например, такую фразу:
Вы можете использовать для частичного погашения суммы заказа.
<?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);
}
Сохраните файл.
В результате в форму оформления заказа будет добавлена информация о лимите в % и сумме списания с внутреннего счета в валюте магазина.
Если решение платное, после перехода в Маркетплейс вы нажимете кнопку «Купить» и далее завершаете оформление заказа через процессинговый центр компании 1С-Битрикс.
Если решение бесплатное
Если решение бесплатное (вместо кнопки «Купить» стоит кнопка «Скачать»), после перехода на страницу Маркетплейс воспользуйтесь соответствующим интерфейсом для установки.