Покупка подарочных сертификатов на выбранную сумму

Всех приветствую! Подскажите пожалуйста, есть ли решение под данную задачу?:

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

Другими словами – пользователь заходит в магазин, открывает страницу с выбором сертификата, там есть на выбор три варианта: сертификаты на 1 тысячу, на 5 тысяч, и сертификат с полем для ввода суммы. Таким образом он может подарить сертификат на 7 тысяч, к примеру. Или ввести произвольную сумму.

Также еще встает вопрос по поводу остатка какой-то суммы, т.е. мне подарили сертификат на 5 тысяч, а я использовал только 2, и рассчитываю оставшиеся 3 использовать в следующий раз.
Константин
07 июня 2022, 10:41
modx.pro
517
0

Комментарии: 12

Артур
07 июня 2022, 11:07
0
Готовых решений я не встречал. В самом простом варианте можно сделать так: сертификаты это отдельный товар, при его покупке в заказ записываем уникальный номер проданного сертификата, а при использовании по этому номеру находим заказ с сертификатом и вычитаем из стоимости покупок стоимость сертификата.
    Константин
    07 июня 2022, 14:16
    0
    Странно, что нет готового решение казалось бы банальной задачи. На каждом шагу в каждом магазине есть система подарочных сертификатов… А как быть с возможностью выбирать сумму сертификата самим покупателем?
      Артур
      07 июня 2022, 16:15
      0
      Плагин написать на событие msOnAddToCart. В нём проверить сертификат покупают или нет, если да то есть у него цена или нет, если нет, то проверять есть ли в $_POST поле с ценой, если есть, то устанавливать цену из этого поля.
    Роман
    07 июня 2022, 15:46
    0
    Возможно, как-то модифицировать: msDiscount. Чтобы при покупку, сумма купона уменьшалась, когда становилась 0, то купон был не действителен.
      vectorserver
      07 июня 2022, 21:52
      0
      Делал такое для SHK3 правда: golodnaya-panda.ru/shop/podarochnyie-sertifikatyi/sozdat-sertifikat.html
        Константин
        08 июня 2022, 18:43
        0
        А можете подсказать, как реализовали?
          vectorserver
          09 июня 2022, 09:04
          0
          — Создал форму с параметрами выбора суммы и тп
          — При нажатии кнопки «В корзину» сохраняю куки с новой ценой, ловлю событие «OnSHKgetProductPrice»
          <?php 
           /* Выбор цены товара при добавлении в корзину. $price, $id, $purchaseArray */
              case "OnSHKgetProductPrice":
                  // Конструктор 
                  $price = $myprice;/// тут принимаем новое значение
          
                  $modx->event->output($price);
                  break;
        Дмитрий Танцирев
        08 июня 2022, 17:39
        0
        Готового решения под данную задачу — нет.
        Задача — не самая банальная =) Тем более с тем функционалом что вы описали.

        Делал что-то подобное тут — www.gclinic.ru/podarochnyj-sertifikat
        Форма реализована с помощью Formit и кастомных хуков. Это наверное самое простое что можно сделать на MODX (не нужно никаких плагинов, товаров и прочей мишуры).
        После формирования заказа (отправки формы) — срабатывает нужный Хук и данные уходят в MS2 (генерируя и заказ и товар и всё что нужно) — затем перенаправляем пользователя на страницу оплаты с параллельной отправкой необходимых писем.

        После успешной оплаты, пользователю на почту приходит сертификат на котором есть QR код (сертификат в виде прикрепленного изображения (можно и PDF сделать) плюс ссылка на сертификат).
        При сканировании этого QR кода — нас перенаправляет на страницу проверки сертификата.
        На страницу проверки мы обязательно должны прийти со специальным открытым ключем и ID заказа (данная инфа закладывается в QR код). Если не добавить открытый ключ, то есть очень большая вероятность слива изображений с сертификатами, ибо они будут хранится на вашем сервере в открытом доступе.

        На странице проверки сертификата — по сути выводится информация о MS2 заказе. (т.е. дата создания, оплачен или не оплачен, использован или не использован, и сумма сертификата)
        Т.е. мы можем спокойно отредактировать заказ в админке MS2 и при очередном обращении на эту страницу — будет уже другая инфа.
          Константин
          08 июня 2022, 18:43
          0
          Да, именно то что нужно, а можете помочь, как реализовали?
            Артур
            08 июня 2022, 18:51
            0
            Так @Дмитрий Танцирев описал свой вариант, а если по коду там скорее всего много всего))) Создание заказа, генерация QR, вставка его в PDF, генерация ключей, проверка сертификата. Генерацию QR и PDF можно сделать библиотеками, остальное PHP и MODX API
              Дмитрий Танцирев
              08 июня 2022, 19:55
              +1
              @Артур всё верно сказал =)

              Суть реализации я вам описал. Артур описал с помощью чего это всё можно реализовать. Ну а дальше только ваша фантазия и скил.

              Если не умеете PHP — то только кому нибудь обратится за денюшку это реализовать.
                Константин
                20 июня 2022, 11:00
                0
                Конечно хотелось бы научиться самому. Но это время. И удобнее было бы разобраться на готовом примере. А можно обратиться к вам, за денюшку конечно?
            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
            12