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

Квитанция Сбербанка для 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". Рекомендую закрыть данную страницу от всех кроме администратора, поставьте видимость страницы "Личное" или "Защищено паролем".

Заключение

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

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

Оставить ответ

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