Квитанция Сбербанка для WooCommerce

Внимание, вышла новая версия скрипта для отправления квитанции Сбербанк, подробнее здесь.

WooCommerce – это очень удобный плагин для создания интернет-магазина, большинство основных настроек и функций в нем доступны из коробки и они не требуют тяжелой настройки.
Наиболее частыми способами оплаты в интернет-магазинах вообще, как правило, бывают следующие:

  • Наложенный платеж – оплата товара курьеру при получении;
  • Банковский перевод – перевод денег по реквизитам банковского счета;
  • Электронные деньги – оплата банковскими картами и различными системами электронных платежей.

Чистый WooCommerce содержит все из этого списка, но сейчас рассмотрим второй.
"Банковский перевод" реализован, но к сожалению не имеет возможности гибкой настройки. Все его настройки – это несколько полей для ввода основных реквизитов счета интернет-магазина, которые еще не факт, что подойдут Вам.
При выборе этого платежного метода, клиент увидит те реквизиты, что вы указали. Следующим этапом интернет-магазин должен оповестить клиента о подтверждении бронирования заказа, по электронной почте или по телефону.
Однажды мне потребовалось подкорректировать данный способ оплаты с учетом некоторых условий.
Условия задачи:

  • Счет организации зарегистрирован в Сбербанке;
  • Клиент выбрав данный метод оплаты должен получить на электронную почту письмо с подтверждением, в которое вложен заполненный бланк формы № ПД-4 квитанция Сбербанка, но только после того, как менеджер посчитает нужным его отправить;
  • Должна быть возможность редактирования общей суммы покупки и нескольких других данных о заказе;
Такие условия могут потребоваться для тех магазинов, которые не ведут учет продукции, когда товар покупается на сайте, но в наличии его нет, а клиент уже готов оплатить или цены на ассортимент меняются быстрее, чем редактируются на сайте. Возможны и другие причины, я предлагаю свою реализацию такой задачи.
Я решил не привязываться к определенному методу оплаты, а сделать функцию отправления квитанции независимой, т.е. как отдельный функционал на сайте.
Клиент выбирает способ оплаты переводом на банковский счет, получает уведомление о том, что как только его заказ будет забронирован, он получит письмо об этом на почту и готовую квитанцию для печати. Менеджер получает новый заказ, проверяет его актуальность и отправляет клиенту письмо с квитанцией через готовую функцию на сайте.А способ оплаты лучше вообще создать отдельный, т.к. в существующем будут всегда мешаться пустые поля реквизитов. О том как создать другой платежный шлюз читайте здесь.

Структура и логика мода

Функция не реализована в виде плагина, для установки она потребует некоторых навыков и базовых знаний html. Для общего развития опишу из чего она состоит, но для ее использования необязательно вникать в данный абзац.

У нас есть 4 файла:
Страница ввода данных о заказе – input-get-data.php

Файл содержит подключение функций движка WordPress, формы для ввода и передачи данных о заказе, добавляет новый шаблон страницы – «Sberbank». Файл должен лежать в корне папки с вашей темой. Шаблон будет повторять дизайн вашей темы, но каждая тема имеет индивидуальную разметку, поэтому дизайн может быть и «кривой». Я проверял шаблон в теме «Divi» и «Storefront», в них отображается корректно. Для того, чтобы вывести страницу на сайт, необходимо в «админке» создать новую пустую страницу с любым названием и любым url, и поставить в атрибутах страницы шаблон «Sberbank», рекомендую поставить видимость страницы «Личное» или «Защищено паролем», в целях обеспечения безопасности доступа.
Так мы получим страницу с готовыми полями для ввода данных для генерации письма.

Файл квитанции – sberbank.php

Принимает два параметра, переданный номер заказа и сумму заказа и вставляет их в код разметки квитанции. Файл должен лежать в корне сайта.
Отдельно для квитанции можно создать страницу прямо в «админке», для передачи параметров в нее. В тело новой страницы скопируйте такой код:

<form action="/sberbank.php" method="get">
<label><input type="text" name="num_order" size=5><span>Номер заказа</span></label>
<label><input type="text" name="total_order" size=5><span>Сумма заказа</span></label>
<input type="submit" name="submit" value="Enter">
</form>

Таким образом, вы сможете подставлять в квитанцию номер и сумму заказа, а после, например, давать ссылку на квитанцию клиенту.

Создание и отправление письма – send-message.php

Файл принимает все параметры для создания письма, подставляет эти данные в код, создает ссылку на квитанцию с передачей номера заказа и суммы заказа, через функцию mail отправляет письмо. После исполнения создает ссылку со всеми параметрами которые получил и по ней перенаправляет на страницу отчета — report.php. Файл должен лежать в корне сайта.

Отчет – report.php

Получает параметры от send-message.php посредством get передачи, записывает параметры в переменные и просто выводит наглядный пример того, что было отправлено функцией mail в человеческой разметке. Кроме того, этот шаг необходим для предотвращения возможных повторений отправления письма на этапе send-message. Должен лежать также в корне сайта.

Установка и настройка квитанции

  1. Скачайте 5 файлов
  2. Откройте файл sberbank-HTML.html с помощью любого браузера – вы увидите квитанцию, не закрывайте ее пока, она нужна для наглядности.
  3. Откройте файл sberbank.php с помощью любого редактора кода, например Notepad++.
    Переключитесь снова на открытую в браузере квитанцию sberbank-HTML и посмотрите какие поля вам требуется отредактировать.
    Редактируйте файл sberbank.php, а для удобства просмотра переключайтесь на квитанцию в браузере.
    Вы можете изменить код и текст как хотите на ваше усмотрение, но обязательно требуется поменять выделенные красным цветом info@ВАШАПОЧТА.ru и (495) 999-9-999 на ваши и соответственно заполнить сам бланк квитанции.
  4. Откройте файл send-message.php, найдите в нем 2 строки "ВАШСАЙТ.ру" и впишите вместо них адрес вашего сайта, найдите строку ВАШЕИМЯ и поменяйте на имя вашего менеджера, найдите строку "example@mail.ru" и поставьте заместо нее ту электронную почту с которой ваш сайт отправляет письма.
  5. Откройте файл report.php, найдите строку "ВАШСАЙТ.ру" и поменяйте на адрес вашего сайта, найдите строку ВАШЕИМЯ и поменяйте на имя вашего менеджера.
  6. После того как вы отредактировали 3 файла и сохранили их, закачайте sberbank.php, send-message.php и report.php в корень вашего сайта. А файл input-get-data.php в корень папки с вашей темой: /wp-content/themes/ВАШАТЕМА.
  7. Зайдите в административную часть сайта, создайте новую страницу с любым названием и url-ссылкой, но обязательно поставьте в атрибутах страницы шаблон "Sberbank". Рекомендую закрыть данную страницу от всех кроме администратора, поставьте видимость страницы "Личное" или "Защищено паролем".

Заключение

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

Внимание, вышла новая версия скрипта для отправления квитанции Сбербанк, подробнее здесь.

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *