Сегодня узнаем, как сделать на Битриксе оплату заказа после подтверждения менеджером или только после определенного статуса.
Для чего это нужно? Например, часть магазинов в обязательном порядке обзванивает клиентов, уточняет способы оплаты, доставку, контактные данные, наличие товара и т.д., т.е. убеждается, что все в порядке, клиент настоящий, товар есть в наличии, если клиент передумал, можно сменить вариант оплаты или доставки, подтверждает заказ, меняет в заказе статус на Ожидание оплаты, клиенту отправляется письмо, он переходит по ссылке для оплаты в письме, оплачивает заказ без каких-либо манипуляций, авторизаций и прочих костылей и радостный ждет товар, радостный не только от ожидания заказа, но и от удобства оплаты на сайте!
Данная возможность появилась в 17 версии 1С-Битрикс, но как всегда, есть проблемы, обойти их поможет одно из моих решений TS Умные статусы и письма заказов в котором это реализовано с версии 1.9.0.
1) Сначала нужно установить сам модуль и сделать базовую настройку по инструкции к модулю.
2) Далее настроим модуль Интернет-магазина на работу с оплатой в публичной части сайта без авторизации и прочих сложностей.
Переходим в настройки модуля:
Настройки - Настройки продукта - Настройки модулей - Интернет-магазин
Настройки показа карточки заказа в публичной части
Это необходимые настройки, ниже рассмотрим их подробней.
![](/upload/monosnap/2017-04-04_16.49.25.png)
Статус, при котором можно оплатить заказ
Данная опция позволяет на странице успешного оформления заказа отключить вывод платежной системы, правда вот такая печальная надпись появится, говорящая, что оплатить заказ можно будет в личном кабинете, но с моим модулем оплатить заказ можно будет на любой странице сайта!
![](/upload/monosnap/2017-04-04_17.26.28.png)
Разрешить просмотр заказа по ключу без авторизации
Это та самая функция, которая дает возможность показать клиенту страницу с платежной системой без авторизации и спокойно оплатить заказ, здесь даже думать не надо, нажимаем оплатить и все, можно прям так здесь и написать.
![](/upload/monosnap/2017-04-04_17.34.24.png)
Под кодом имеется ввиду хэш, который отправляется в письме, в самой ссылке.
В моем случае выводит на странице платежную систему компонент
bitrix:sale.order.payment
Готовый код страницы
/personal/payment/index.php
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");?>Вообще, это дает разработчикам максимальную гибкость реализации оплаты, можно хоть свой компонент написать, вообще любую логику.
<?$APPLICATION->IncludeComponent("bitrix:sale.order.payment","");?>
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_after.php");?>
Это практически все, остается только в статусе заказа Ожидание оплаты отправлять клиенту ссылку на оплату.
3) Ссылку на оплату можно сделать двумя способами, либо прямую, либо через макрос.
а) В стандартном описании к статусу заказа добавим прямую ссылку, статусы в битриксе здесь:
Магазин - Настройки - Статусы
Здесь либо изменяем нужный статус, либо создаем новый, например: Ожидание оплаты
Пример описания с прямой ссылкой:
#ORDER_USER#, здравствуйте!<br>Наглядно
Ваш заказ №#ORDER_ID# ожидает оплаты.<br><br>
Для оплаты заказа перейдите по ссылке:<br>
<a href="#SERVER_URL#/personal/payment/?ORDER_ID=#ID#&HASH=#HASH#">#SERVER_URL#/personal/payment/?ORDER_ID=#ID#&HASH=#HASH#</a>
![](/upload/monosnap/2017-04-04_19.26.52.png)
Обратите внимание на сортировку, именно у этого статуса она должна быть либо больше, чем у предыдущих, либо на ровне с ними.
Например, статусы:
- Принят - сортировка 10
- В обработке - сортировка 50
- Ожидание оплаты - сортировка 100
б) Здесь же в стандартном описании к статусу заказа можно добавить макрос прямой ссылки, макросы создаются здесь:
Сервисы - TS Умные статусы и письма заказов - Доп. макросы
Назовем сам макрос, например: #PAYMENT_LINK#
В форме добавления макроса пишите вот так:
Название:
PAYMENT_LINK
Значение:
#SERVER_URL#/personal/payment/?ORDER_ID=#ID#&HASH=#HASH#
Наглядно
![](/upload/monosnap/2017-04-04_19.36.14.png)
Теперь этот макрос надо добавить в описание к статусу заказа
#ORDER_USER#, здравствуйте!<br>Наглядно
Ваш заказ №#ORDER_ID# ожидает оплаты.<br><br>
Для оплаты заказа перейдите по ссылке:<br>
<a href="#PAYMENT_LINK#">#PAYMENT_LINK#</a>
![](/upload/monosnap/2017-04-04_19.41.35.png)
Все, ссылка готова, описание сохранили, теперь переходим в какой-нибудь заказ, меняем статус на "Ожидание оплаты" и видим, как заменятся данные в ссылке
![](/upload/monosnap/2017-04-04_19.46.15.png)
Все это прилетит на почту клиенту в таком виде
![](/upload/monosnap/2017-04-04_19.49.16.png)
Клиент переходит по ссылке, ему показывается платежная система из заказа.
![](/upload/monosnap/2017-04-04_17.34.24.png)
И оплачивает заказ, тут без комментариев.
![](/upload/monosnap/2017-04-04_20.13.41.png)
На моем сайте эта ссылка вообще в письме о новом заказе, не обязательно в статусе.
![](/upload/monosnap/2017-04-04_20.17.34.png)
Если что-то пропустил, пишите в комментариях, постараюсь помочь.