Автор Тема: Виртуальный товар и email  (Прочитано 431 раз)

17 Июнь 2018, 13:11:17
  • Новичок
  • *
  • Сообщений: 6
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Доброго времени суток.
Prestashop 1.6, тема дефолтная
Проблема такая:
Товар виртуальный, человек начинает оформлять покупку, пишет свой email, и тут же получает письмо со ссылкой на скачиваемый товар БЕЗ ОПЛАТЫ.

Где копать?
17 Июнь 2018, 18:27:47
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Цена у товара установлена? Процесс заказа стандартный?
17 Июнь 2018, 19:40:35
Ответ #2
  • Новичок
  • *
  • Сообщений: 6
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Цена у товара установлена? Процесс заказа стандартный?
Да, цена установлена. Процесс заказа в один шаг.
17 Июнь 2018, 19:50:51
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Письмо должно отсылаться после выбора и подтверждения метода оплаты. У вас оплата какая включена?
17 Июнь 2018, 20:07:22
Ответ #4
  • Новичок
  • *
  • Сообщений: 6
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Письмо должно отсылаться после выбора и подтверждения метода оплаты. У вас оплата какая включена?
У меня кастомеру приходит сразу три письма после выбора метода оплаты. Одно о регистрации, другое о том, что товар в процессе подготовки, а третье содержит ссылку для скачивания товара. То есть человек не успевает дойти до самой оплаты ровно шаг и может качать товар бесплатно.
Оплата стоит Банковскими картами и Яндекс деньгами. Модуль Y.CMS от Яндекс Кассы.

Order process type - ставил и стандартный (5 шагов) и на одной странице.
18 Июнь 2018, 09:45:47
Ответ #5
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22816
  • Репутация: +17143/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
В статусах заказа удалите отправку письма с данными у статуса, который присвается при заказе, оставьте отправук у статуса оплата получена.
Отредактируйте шаблоны писем при поступлении заказа, статус Заказ в обработке. Удалите из письма ссылки на скачивание товара.
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
16 Февраль 2021, 23:14:23
Ответ #6
  • Новичок
  • *
  • Сообщений: 5
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Откопаем стюардессу )
Решил не плодить еще одну тему -- название темы соответствует проблеме.

Prestashop 1.6.1.24
Тема Panda (но вроде как не должно влиять на проблему)

Проблема:
Есть виртуальные товары. После покупки их можно скачать:
а) в личном кабинете юзера (история заказов -- детали заказа)
б) по ссылке, в e-mail, которое отправляется юзеру после оформления заказа.

(а) -- ссылки ОК, протокол в начале ссылки проставляется https
(б) -- ссылки не ОК, протокол в начале ссылки проставляется http

В папке mails лежат стандартные шаблоны писем.

Вот шаблон письма с виртуальными товарами:

   [1]{shop_name}
   Hi {firstname} {lastname},
   Thank you for your order with the reference {order_name} from
   {shop_name}



   Product(s) now available for download
   You have {nbProducts} product(s) now available for download using the
   following link(s):
   {virtualProducts}


   You can review your order and download your invoice from the [2]"Order
   history" section of your customer account by clicking [3]"My account"
   on our shop.
   If you have a guest account, you can follow your order via the
   [4]"Guest Tracking" section on our shop.

   [5]{shop_name} powered by [6]PrestaShop™



Вот файлик download-product.tpl :

<ul>
{foreach from=$virtualProducts item=product}
        <li>
                <a href="{$product.link|escape:'html'}">{$product.name}</a>
                {if isset($product.deadline)}
                        expires on {$product.deadline}
                {/if}
                {if isset($product.downloadable)}
                        downloadable {$product.downloadable} time(s)
                {/if}
        </li>
{/foreach}
</ul>


Нужно подставлять в ссылку именно https в начале ссылки в письмах.
Как это сделать, что поправить?

Заранее спасибо за советы.
17 Февраль 2021, 12:17:22
Ответ #7
  • Ветеран
  • *****
  • Сообщений: 1808
  • Репутация: +49/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Протокол в ссылку добавляеься из настроек сайта. Если включен SSLЬ то будет с HTTPS.
17 Февраль 2021, 12:49:54
Ответ #8
  • Ветеран
  • *****
  • Сообщений: 33325
  • Репутация: +26771/-0
    • Просмотр профиля
В классе /classes/ProductDownload.php в методе getTextLink замените
$link = ($admin) ? 'get-file-admin.php?' : _PS_BASE_URL_.__PS_BASE_URI__.'index.php?controller=get-file&';на
$link = ($admin) ? 'get-file-admin.php?' : _PS_BASE_URL_SSL_.__PS_BASE_URI__.'index.php?controller=get-file&';
17 Февраль 2021, 19:58:29
Ответ #9
  • Новичок
  • *
  • Сообщений: 5
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В классе /classes/ProductDownload.php в методе getTextLink замените

Сработало. Огромное спасибо. Не вижу, как плюсануть Вам карму )