Добавляем оплату Биткоином в Prestashop 1.6

С помощью Blockchain Bitcoin Payments и Blockchain.info

Добавляем оплату Биткоином в Prestashop 1.6

Привет! Как ты уже понял из заголовка, речь в этой статье пойдёт о том, каким образом можно добавить оплату заказов Биткоином в интернет-магазин, который использует CMS-движок Prestashop 1.6.

В моём случае это был движок Prestashop 1.6.1.1 с валютой «Рубли» по-умолчанию.

Обрати внимание! В связке с модулем оплаты, который позволяет принимать платежи в Bitcoin, будет использоваться «горячий» кошелёк Blockchain.info, на который нам будут приходить платежи от клиентов. Также в этой доработке используется применение PHP-кода в файлах шаблона, что по-умолчанию в Prestashop отключено.

Почему Blockchain.info?

Потому что...

Потому что модуль, который я использовал работает только в связке с данным кошельком + Blockchain.info довольно неплохой, надежный и простой кошелёк, который можно использовать как через Web-браузер, так и через мобильное приложение под iOS и Android. Модуль Blockchain Bitcoin Payments приобретался на официальном сайте за 99,99€. Качать нулёный, честно сказать, я не рискнул.

Что делаем в первую очередь?

Ээ...

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

Во вторую очередь тебе понадобится сам модуль Blockchain Bitcoin Payments для Prestashop 1.6, который ты можешь купить на официальном сайте, либо скачать Nulled-версию модуля на этом сайте.

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

Что делаем следом?

Берём в руки напильник!

Следом тебе нужно загрузить купленный/скачанный модуль Blockchain Bitcoin Payments к себе на сайт и сразу отключить его. Включить его сможем после всех необходимых доработок по сайту и получении API-ключа от Blockchain.

Добавляем оплату Биткоином в Prestashop 1.6

Следом тебе необходимо проверить включен ли модуль «Блок валют», который позволяет клиентам выбирать ту или иную валюту на витрине твоего магазина.

Добавляем оплату Биткоином в Prestashop 1.6

Если модуль выключен, то тебе необходимо включить его. Далее переходим к добавлению новой валюты на сайт — BTC. Переходим в меню Локализация > Валюта и нажимаем кнопку «Добавить валюту».

Добавляем оплату Биткоином в Prestashop 1.6

Далее заполняем все поля, как показано на скриншоте и нажимаем «Сохранить».

Добавляем оплату Биткоином в Prestashop 1.6
Я указывал немного завышенный курс по отношению к основной валюте магазина (Российский Рубль), поэтому ты можешь указать другое значение.

После этого, у тебя на сайте должен появиться переключатель валют, который даёт возможность выбрать основную валюту магазина или Биткоин.

Добавляем оплату Биткоином в Prestashop 1.6

При переключении на вторичную валюту, цены на витрине магазина изменятся и пересчитаются по курсу, заданному при создании валюты.

Добавляем оплату Биткоином в Prestashop 1.6

Но для Bitcoin такой формат вывода цены не подходит, так как нам нужно отображать минимум 6 знаков после запятой, а у нас их всего два. Для того, чтобы изменить количество выводимых символов после запятой, тебе необходимо перейти в раздел «Настройки» > «Общие настройки» и изменить значение в поле «Число десятичных знаков» на 6.

Добавляем оплату Биткоином в Prestashop 1.6

После этого сохрани изменения и проверь отображение цены на витрине магазина.

Если ты используешь кэширование данных на стороне сервера, то сперва очисти кэш.

Добавляем оплату Биткоином в Prestashop 1.6

Теперь формат вывода цены в криптовалюте Bitcoin на витрине интернет-магазина нас устраивает целиком и полностью. Но вывод цены доступных перевозчиков не изменился и продолжает использовать округление до двух знаков после запятой. Таким образом все перевозчики ставновятся у нас «Бесплатными» в валюте Биткоин.

Добавляем оплату Биткоином в Prestashop 1.6

Для того, чтобы исправить отображение цен перевозчиков, тебе необходимо подключиться по FTP к Web-серверу и найти файл Tools.php, который лежит в папке /classes/ в корневой директории сайта.

В файле Tools.php тебе нужно найти строки

public static function ps_round($value, $precision = 0, $round_mode = null)
    {

и после добавить

if ($precision == 2)
                        $precision = _PS_PRICE_DISPLAY_PRECISION_;

Сохранить и закрыть файл Tools.php.

После этого изменения, формат вывода стоимости услуг перевозчиков нормализуется под наши нужды.

Добавляем оплату Биткоином в Prestashop 1.6

Это всё?

Нет, это не всё.

Так как помимо Биткоина мы используем еще и основную валюту магазина, к которой привязаны свои собственные методы оплаты, например «Оплата банковской картой онлайн» или «Оплата наличными курьеру», то нам нужно скрыть вариант оплаты Биткоином для основной валюты магазина и показывать его только тогда, когда выбрана второстепенная валюта — Bitcoin.

Для этого тебе необходимо отредактировать файл шаблона модуля Blockchain Bitcoin Payments под названием payment.tpl, который лежит по адресу /modules/blockchain/views/templates/front/ относительно корневой директории твоего сайта.

Найди HTML-код:

<p class="payment_module">

и перед ним добавь PHP-код:

<?php global $cookie; if ((int)Configuration::get('PS_CURRENCY_DEFAULT') != (int)$cookie->id_currency) { ?>

Далее найди закрывающийся HTML-тег

</p>

и после него добавь следующий PHP-код:

<?php } elseif ((int)Configuration::get('PS_CURRENCY_DEFAULT') == (int)$cookie->id_currency) { ?>
<p style="text-align: center; padding-top: 20px;">Чтобы оплатить Ваш заказ с помощью <strong>Bitcoin</strong>, переключите валюту в правом верхнем углу экрана с <strong>&laquo;Рубль&raquo;</strong> на <strong>&laquo;Bitcoin&raquo;</strong>.</p>
<?php } else { ?>
<p style="text-align: center; padding-top: 20px;">Вероятно у Вас отключены куки. Включите куки в Вашем браузере, чтобы воспользоваться всеми функциями сайта, в том числе оплатой заказов Биткоином.</p>
<?php } ?>

Сохрани и закрой файл шаблона payment.tpl, а также очисти кэш как на стороное сервера, так и в своём браузере.

Теперь при выборе основной валюты магазина клиенты будут видеть все доступные варианты оплаты, кроме оплаты Биткоином,

Добавляем оплату Биткоином в Prestashop 1.6

а при выборе второстепенной валюты (Bitcoin) — только оплату Биткоином.

Добавляем оплату Биткоином в Prestashop 1.6

Опционально можно перевести модуль на русский язык через админ-панель, так как в модуле присутствует только английский язык. Для этого необходимо перейти в меню «Локализация» > «Переводы», выбрать «Переводы установленных модулей», активную тему оформления и язык, а затем нажать кнопку «Изменить».

Добавляем оплату Биткоином в Prestashop 1.6

Далее тебе нужно воспользоваться поиском по странице браузера (CTRL + F или Command + F) и найти следующую фразу:

Pay with bitcoins

Если у тебя ранее не было никаких упоминаний о Биткоине, то найдется всего один результат.

Добавляем оплату Биткоином в Prestashop 1.6

Переведи найденную строку, а также строку, которая находится ниже и нажми кнопку «Сохранить».

Далее, при оформлении заказа с оплатой Биткоином генерируется страница с QR-кодом и адресом кошелька, на который будут зачислены средства, но эта страница тоже содержит информацию на английском языке.

Добавляем оплату Биткоином в Prestashop 1.6

Файл, который необходимо перевести на русский язык находится в папке /modules/blockchain/views/templates/front/ относительно корневой директории твоего сайта и называется paymentDetails.tpl.

Ты можешь перевести его самостоятельно или использовать мой вариант ниже.

Найди следующий тег

</style>

И замени всё, что находится ниже до конца файла следующим HTML-кодом:

<div id="bitcoinBlock">
	
	<div id="header">
		
		<div><img id="bitcoinlogo" src="{$path|escape:'htmlall':'UTF-8'}views/img/bitcoin.png"></div>
		<div>
			<div id="total">Детали оплаты<br><span id="toPay">к оплате: </span>{$total|escape:'htmlall':'UTF-8'} &#579;		
			</div>
			<div id="fee"><strong>ВНИМАНИЕ!</strong> Примите во внимание, что иногда биткойн-транзакции взымают комиссию. Таким образом, Вам необходимо добавить небольшую комиссию к сумме заказа при отправке платежа.</div>  
		</div>
		
	</div>

	

	<div id="paymentDetails">
		<div id="qr">
			<img src="https://chart.googleapis.com/chart?cht=qr&chs=200x200&chl=bitcoin:{$input_address|escape:'htmlall':'UTF-8'}">
		</div>

		<div id="address">		
			
			{$input_address|escape:'htmlall':'UTF-8'}
			
		</div>
	</div>

	<div id="info">
		<p>
			Чтобы завершить заказ, отправьте <strong>{$total|escape:'htmlall':'UTF-8'} &#579;</strong> на биткойн-адрес, указанный выше. Обратите внимание на то, что для прохождения Вашей оплаты в сети требуется как-минимум <strong>{$confirmations|escape:'htmlall':'UTF-8'}</strong> подтверждений транзакции. Эта процедура подтверждения может занять от нескольких минут до нескольких часов, в зависимости от минимального количества подтверждённых блоков.</p>
	</div>
</div>

Сохрани изменения, закрой файл и очисти кэш как на стороне сервера, так и у себя в браузере.

Финальные штрихи

Штрихуй, штрихуй!

Для того, чтобы модуль Blockchain Bitcoin Payments функционировал должным образом, тебе необходимо добавить в него значение xPUB и Blockchain API KEY.

Добавляем оплату Биткоином в Prestashop 1.6

Первый параметр ты можешь получить самостоятельно из своего кошелька на Blockchain.info. Для этого тебе необходимо зайти в него через Web-браузер и перейти в «Настройки» > «Адреса» > «Управлять» > «More options» > «Показать xPUB».

Добавляем оплату Биткоином в Prestashop 1.6

Далее появится предупреждение, ознакомься с ним и нажми «Продолжить», после этого появится ключ xPUB, который тебе необходимо скопировать в соответствующее поле в настройках модуля у себя на сайте.

Второй параметр можно получить после заполнения формы и отправки заявки на получение API-ключа для твоего сайта. Такую заявку можно отправить по ссылке: https://api.blockchain.info/customer/signup

Заявка оформляется на английском языке без использования каких-либо символов.

В течение нескольких рабочих дней тебе должно придти письмо на указанный адрес электронной почты в заявке с API-ключом, который также необходимо добавить в настройки модуля.

После этого, можно активировать модуль и начать принимать оплату в криптовалюте Bitcoin.

Выводы

Добавляем оплату Биткоином в Prestashop 1.6

Какие выводы можно сделать в итоге? По-итогу мы имеем криптовалюту Bitcoin в своём магазине в качестве вторичной валюты магазина и можем принимать платежи в вышеуказанной криптовалюте от своих клиентов за товары и/или услуги, которые представлены в нашем интернет-магазине. Также мы свободно можем управлять курсом по отношению к основной валюте магазина.

Лично от себя скажу, что за 99,99€ хочется сделать пару кликов мышью максимум! Я не говорю уже о том, чтобы искать, копаться и делать какие-то доработки в файлах движка и шаблона модуля, тратя на это довольно много времени, чтобы всё заработало так, как тебе нужно.

Надеюсь, что этот пост пригодился тебе и я смог ответить в нём на некоторые твои вопросы! Если у тебя возникли дополнительные вопросы по теме, я с удовольствием отвечу на них в комментариях ниже! До связи!

Плюсануть
Поделиться
Отправить
Запинить
Понравился этот пост? Поделись им в соцсети!
Популярное
Ваш комментарий
адрес не будет опубликован
HTML-код не интерпретируется

Ctrl + Enter