Оплата заказов банковской картой

Добрый день! Подскажите пожалуйста решения двух проблем:

  1. Если в статусе ( к примеру “Ждет оплаты”) поставить галочку “снова оплатить заказ”, то в момент нажатия на кнопку “Оплатить” ( банковской картой), статус заказа меняется на “открытый” и клиенту приходит второе уведомление на почту, что его заказ размещен, а после оплаты ( банковской картой), то при возврате с сайта эквайринга ( ассист) статус заказа меняется на “Обработан”, о чем приходит логичное уведомление. Вопрос: как сделать так, чтобы в момент нажатия на кнопку “оплатить” статус заказа не менялся вновь на открытый или хотя бы не приходило еще одно письмо о размещении нового заказа???!
  2. При возврате из платежной системы клиент попадает на страницу "Поздравляю! Ваш заказ размещен. Детали заказа. При этом в деталях заказа статус заказа “Обработан”, в админке заказ тоже обработан, клиенту об этом уходит оповещение!
    Как сделать так, чтобы при возврате в магазин при успешной оплате клиент видел "Ваш заказ оплачен?

Заранее благодарю!

Это баг типо) ну или поведение задуманное разработчиками, нужно в коде кое че закоментировать

95 строчка
image вот тут

1 лайк

А тут походу языковую переменную переименовать

Сюда же вопрос, плиз:

Уже после оплаты клиентом (картой) возвращает на страницу Успешный заказ, но там зачем-то вставлен текст из описания способа оплаты. Зачем?! Уже ж оплачено всё.
Как бы этот текст убрать?
(А ещё бы и нужный какой-нибудь текст вставить?)

Спасибо Вам огромное!!! Респект!!!

Т.е. вместо Поздравляем! Ваш заказ размещен - написать Ваш заказ оплачен?
Но если я правильно понимаю, то тогда и при оформлении заказа будет так же написано или нет?!)

Кстати, есть языковая переменная text_order_repayed_successfully, со значением Заказ был оплачен успешно. Но почему я не возвращаюсь на нее после оплаты?! (((

А зачем вам вообще это менять, ну размещён и размещён, в письме вышлете что Оплачен и чеком закроете это, сами себе квесты придумываете

Я бизнес процесс ваш до конца не понимаю, что бы ещё что-то сказать, да и отвечаю по мере возможности )

А так да, в шаблоне переменная болтается, смените в одном месте ее описание(перевод), и там где она ещё всплывает тоже изменится

Это вроде через css можно спрятать, тоже так делал. Заметил что на странице «Спасибо» ерунда не в тему пишется, ребята с форума подсказали что через стили скрыть просто можно(если не путаю)

1 лайк

У нас такой клиент, который в силу возраста и разных других моментов может начать очень сильно напрягаться и нервничать, если придет СМС о списании денег, а глазами будет видеть, что заказ размещен и что ему вскоре перезвонят и он сможет оплатить заказ!)))
А именно так там и будет написано, поэтому я не могу оставить её и там и там, нужно, чтобы в двух местах были разные! Тем более, не спроста же есть переменная со значением “Заказ оплачен удачно”?!)
Но спасибо Вам все равно! Вы и так уже очень сильно помогли со статусом! Буду искать дальше!

При возврате из платежной системы клиент попадает на страницу "Поздравляю! Ваш заказ размещен. Детали заказа. При этом в деталях заказа статус заказа “Обработан”, в админке заказ тоже обработан, клиенту об этом уходит оповещение!
Как сделать так, чтобы при возврате в магазин при успешной оплате клиент видел "Ваш заказ оплачен?

Надо править файл тема/templates/views/checkout/complete.tpl.

Заменить

<div class="ty-checkout-complete__order-success">
    <p>{__("text_order_placed_successfully")}
        {if $order_info}
            {if $order_info.child_ids}
                <a href="{"orders.search?period=A&order_id=`$order_info.child_ids`"|fn_url}">{__("order_details")}</a>
            {else}
                <a href="{"orders.details?order_id=`$order_info.order_id`"|fn_url}">{__("order_details")}</a>
            {/if}
        {/if}
    </p>
</div>

на

<div class="ty-checkout-complete__order-success">
    <p>{if $order_info.status == "P"}
            {__("text_order_payed_successfully")}
        {else}
            {__("text_order_placed_successfully")}
        {/if}
        {if $order_info}
            {if $order_info.child_ids}
                <a href="{"orders.search?period=A&order_id=`$order_info.child_ids`"|fn_url}">{__("order_details")}</a>
            {else}
                <a href="{"orders.details?order_id=`$order_info.order_id`"|fn_url}">{__("order_details")}</a>
            {/if}
        {/if}
    </p>
</div>

Затем добавить языковую переменную (Администрирование - Языки - Переводы) text_order_payed_successfully с произвольным текстом, например "Спасибо, ваш заказ оплачен!".

1 лайк

Сюда же вопрос, плиз:

Уже после оплаты клиентом (картой) возвращает на страницу Успешный заказ, но там зачем-то вставлен текст из описания способа оплаты. Зачем?! Уже ж оплачено всё.
Как бы этот текст убрать?
(А ещё бы и нужный какой-нибудь текст вставить?)

Аналогично, правка в файле тема/templates/views/checkout/complete.tpl.

Заменить

<div class="ty-checkout-complete__login-info ty-checkout-complete_width_full">
    {hook name="checkout:payment_instruction"}
        {if $order_info.payment_method.instructions}
            <h4 class="ty-subheader">{__("payment_instructions")}</h4>
            <div class="ty-wysiwyg-content">
                <br>
                {$order_info.payment_method.instructions nofilter}
            </div>
        {/if}
    {/hook}
</div>

на

<div class="ty-checkout-complete__login-info ty-checkout-complete_width_full">
    {hook name="checkout:payment_instruction"}
        {if $order_info.status != "P"}
            {if $order_info.payment_method.instructions}
                <h4 class="ty-subheader">{__("payment_instructions")}</h4>
                <div class="ty-wysiwyg-content">
                    <br>
                    {$order_info.payment_method.instructions nofilter}
                </div>
            {/if}
        {/if}
    {/hook}
</div>

Здесь есть хук, но для предыдущей правки хук не использовать, поэтому править файл придется напрямую.

Не забудьте почистить кэш после всех правок.

Пример результата со статусом “Открыт”:

Со статусом “Обработан” (оплачен):

3 лайка

Простите, а вы не могли бы более точнее указать путь?!)
У меня файл complete.tpl есть в директориях:
design/themes/basic/templates/views/checkout
design/themes/responsive/templates/views/checkout
var/themes_repository/basic/templates/views/checkout
var/themes_repository/responsive/templates/views/checkout
И везде есть исходный текст

Должен быть путь в зависимости от активной темы. Если активная тема Responsive, то путь будет design/themes/responsive/templates/views/checkout, а если Basic – соответственно design/themes/basic/templates/views/checkout.

Посмотреть активную тему можно в меню Дизайн - Темы:

1 лайк

Спасибо большое!!!
Единственное, в момент оформления заказа внизу была надпись
"Спасибо за ваш заказ. Теперь наш менеджер проверить ваш заказ и вы сможете его оплатить.
Эта фраза не ушла.
Заменил на


{hook name=“checkout:payment_instruction”}
{if $order_info.status != “P”}
{if $order_info.payment_method.instructions}

{__(“payment_instructions”)}





{$order_info.payment_method.instructions nofilter}

{/if}
{/if}
{/hook}

но не помогло((
Возможно потому что стоит модуль “Оплата заказа после подтверждения менеджером”

Нашел переменную rf_order_notification
с текстом
Спасибо за ваш заказ. Теперь наш менеджер проверит ваш заказ и вы сможете его оплатить.

Может быть как-то можно ее просто убрать со страницы оплаченного заказа?)

Это от модуля [RetailFactory] Оплата заказа после подтверждения менеджером.
В файле responsive/templates/addons/rf_payment_by_approve/hooks/checkout/order_confirmation.post.tpl замените содержимое с:

{if $rf_need_message}{__('rf_order_notification')}{/if}

на

{*
{if $rf_need_message}{__('rf_order_notification')}{/if}
*}

и почистите кэш.

Либо вариант проще – просто очистите значение у языковой переменной rf_order_notification через Языки - Переводы.

1 лайк

Но в таком случае и при оформлении заказа этот текст удалится?

Не сразу суть понял, думал вообще текст удалить.

Тогда вариант такой. В order_confirmation.post.tpl заменить содержимое на это и почистить кэш:

{if $order_info.status != "P"}
	{if $rf_need_message}{__('rf_order_notification')}{/if}
{/if}

Должно сработать.

1 лайк

Сработало!!! Спасибо вам большое!!! Все работает отлично!!!

1 лайк

А можно еще вопрос, не совсем по теме:
В статусе о том, что заказ подтвержден и ожидает оплаты, хочу добавить ссылку на страницу заказов в ЛС пользователя.
Я вставил
ссылке
Но если клиент в браузере уже вошел в личный кабинет, то по этой ссылке он видет не только свои заказы!
Вы не могли бы дать правильную ссылку на страницу заказов в ЛС?!

Указанная ссылка правильная. Можно использовать и SEO-ссылку site.ru/orders/ (но разницы нет, на этот SEO-адрес все равно идет редирект с site.ru/index.php?dispatch=orders.search).

Но если клиент в браузере уже вошел в личный кабинет, то по этой ссылке он видет не только свои заказы!

Такого быть не должно и я с таким не сталкивался. Попробуйте потестить в другом браузере или в режиме инкогнито, может вы все из-под одной сессии тестите и из-за этого такие странности.
Но если будет тоже самое, то лучше написать в хелпдеск.