Перейти к содержанию
Flank

Как добавить свой способ оплаты для ocStore 2.3?

Рекомендуемые сообщения

Есть ли способ реализовать вот такое же для ocStore 2.3.0.2?

Просмотрел изменения в файловой структуре ocStore 2.3, там добавили папку exstension, попробовал адаптировать способ по ссылке выше, но чуда не произошло (начались проблемы с правами доступа, да и что куда копировать, до конца не ясно; к тому же, необходимо править и сами файлы).

 

Просьба помочь подробной инструкцией о том, как добавить свой простенький способ оплаты (можно на базе стандартного модуля) в OpenCart указанной версии.

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

Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ashap, тогда вам вопрос: как привязать ваш способ оплаты к нашему js-коду? К примеру, нужно послать post-запрос после того, как выберут способ оплаты "В кредит" и нажмут "Оформить заказ". В обычной кнопке это можно прописать в onclick, а здесь как?

Изменено пользователем Flank

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Только что, Flank сказал:

ashap, тогда вам вопрос: как привязать ваш способ оплаты к нашему js-коду? К примеру, нужно послать post-запрос после того, как выберут оплату и нажмут "Оформить заказ". В обычной кнопке это можно прописать в onclick, а здесь как?

также как вы собирались сделать по инструкции метод на основе стандартного

это готовые клоны

все тоже самое как и у метода из коробки

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Только что, ashap сказал:

также как вы собирались сделать по инструкции метод на основе стандартного

это готовые клоны

все тоже самое как и у метода из коробки

А вообще можете подсказать? Дело в том, что оплату пока доводилось реализовывать только в рамках эквайринга, а там несколько иной механизм. Инструкции на этот счёт нет, только примеры самого js-кода

Изменено пользователем Flank

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нужна отправная точка, из которой аяксом будет послан post-запрос. В обычном, вручную свёрстанном документе это можно было бы сделать по нажатию на кнопку. Здесь тоже, насколько я понимаю, нужно привязаться к кнопке "Оформить заказ" в корзине. Только вот кнопка эта опенкартовая. Как повесить на неё js-код, естественно, чтобы он отрабатывал только в случае, когда выбран конкретный способ оплаты?

Изменено пользователем Flank

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а зачем аякс

в методах оплаты есть функция confirm обычно, это тот момент когда создается заказ

вот туда и кладите ваш post через curl например

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В каких это файлах, не подскажете?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

если аякс то кнопка лежит в методе оплаты своя

catalog/view/theme/default/extension/payment/oplata.tpl

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а confirm

в catalog/controller/extension/payment/oplata.php

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
22 часа назад, ashap сказал:

если аякс то кнопка лежит в методе оплаты своя

catalog/view/theme/default/extension/payment/oplata.tpl

Может, в catalog/view/theme/default/template/extension/payment ?

Если так, то я добавил туда alert для проверки, по нажатию на кнопку "Подтвердить заказ" в корзине он не сработал

$('#button-confirm').on('click', function() {alert('Тест');

...

});

 

Изменено пользователем Flank

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Только что, Flank сказал:

Может, в catalog/view/theme/default/template/extension/payment ?

Если так, то я добавил alert для проверки, по нажатию на кнопку "Подтвердить заказ" в корзине он не сработал

да

плохо добавили

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

$.ajax({
        type: 'get',
        url: 'index.php?route=extension/payment/cod/confirm',
        cache: false,
        beforeSend: function() {
            $('#button-confirm').button('loading');
        },
        complete: function() {
            $('#button-confirm').button('reset');
        },
        success: function() {
            alert("Success");
            location = '<?php echo $continue; ?>';
        }

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ashap, спасибо за пример. Он рабочий и тему можно считать отвеченной.

Однако я попросил бы вас уточнить некоторые детали сверх заявленной темы. В  success: function(data) мне приходят данные, которые определённым образом разбираются. На их основе формируется popup-окно с формой (полями ввода и кнопкой "Отправить"), а также кнопкой "Закрыть" в виде крестика. И только если это окно корректно заполнено и форма отправлена (аяксом, без перезагрузки страницы), следует уменьшать кол-во товара на единицу, т.е. по сути купить его. Но если это окно сразу закрыть крестиком (например, пользователь передумал и решил выбрать другой способ оплаты), количество товара всё равно уменьшится на 1. Как этого избежать, чтобы кол-во товара в этом случае осталось прежним, т.е. заказ не был оформлен и управление вернулось на страницу корзины?

Изменено пользователем Flank

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 часа назад, Flank сказал:

ashap, спасибо за пример. Он рабочий и тему можно считать отвеченной.

Однако я попросил бы вас уточнить некоторые детали сверх заявленной темы. В  success: function(data) мне приходят данные, которые определённым образом разбираются. На их основе формируется popup-окно с формой (полями ввода и кнопкой "Отправить"), а также кнопкой "Закрыть" в виде крестика. И только если это окно корректно заполнено и форма отправлена (аяксом, без перезагрузки страницы), следует уменьшать кол-во товара на единицу, т.е. по сути купить его. Но если это окно сразу закрыть крестиком (например, пользователь передумал и решил выбрать другой способ оплаты), количество товара всё равно уменьшится на 1. Как этого избежать, чтобы кол-во товара в этом случае осталось прежним, т.е. заказ не был оформлен и управление вернулось на страницу корзины?

не вызывать confirm и location будет checkout/cart

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 минуту назад, ashap сказал:

не вызывать confirm и location будет checkout/cart

С location понятно, а что есть confirm? Если это кнопка #button-confirm, так у меня на неё всё и завязано. И метод confirm в php тоже задействован, там curl отправляется

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 минуты назад, Flank сказал:

С location понятно, а что есть confirm? Если это кнопка #button-confirm, так у меня на неё всё и завязано. И метод confirm в php тоже задействован, там curl отправляется

$.ajax({
        type: 'get',
        url: 'index.php?route=extension/payment/cod/confirm',

в нем меняется статус у заказа если говорить про cod например

 

ну так можете свой метод вызывать а потом если удачно то конфирм делать

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ashap, а есть ли возможность как-то привязать этот способ оплаты к карточке конкретного товара, чтобы была возможность купить его сразу, минуя корзину? Если с этим модулем не получится, возможно, есть другой для этих целей?

Изменено пользователем Flank

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Только что, Flank сказал:

ashap, а есть ли возможность как-то привязать этот способ оплаты к карточке конкретного товара, чтобы была возможность купить его сразу, минуя корзину?

естественно

пишите модуль быстрого заказа с поддержкой  методов оплаты

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ashap, помогите, пожалуйста, разрешить следующие вопросы, связанные с вышеизложенным:
1) В корзине по нажатию на кнопку "Все данные верны, оформить заказ" при выбранном способе оплаты (установленном через ваш модуль) мы вызываем своим кодом модальное окно. Это окно можно закрыть и тогда будет считаться, что пользователь отказался от заказа. Однако письмо об успешном заказе ему из OC отправляется. Как управлять отправкой письма либо хотя бы блокировать эту отправку вручную по факту закрытия модального окна (соответствующее событие для этого имеется)?
2) Как при таком собственном способе оплаты придать конкретному товару в админке OC статус "заказан", т.е. не просто сделать пометку, а создать заказ, уменьшить кол-во таких товаров на 1 и провести остальные операции, которые проводит сам OC , когда товар заказан одним из штатных способов? Через корзину это работает, но у нас есть ещё и возможность заказать из карточки и со страницы товара, т.е. туда просто вставлена кнопка, к которой привязан вызов модального окна

Изменено пользователем Flank

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1) чтобы создать заказ вызываете метод confirm

чтобы не создавать и не отправлять писем не вызываете метод confirm

 

2) берете модуль быстрого заказа который умеет создавать заказ а не просто на почту отправлять письмо (есть такие)

ну и делаете по примеру или на нем свое

 

за списание отвечает статус заказа - который входит в завершенные заказы

настраивается в настройках магазина - галкой отмечаете нужные статусы

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От fonclub
      500.00 руб
      Скачать/Купить дополнение


      Закрытое предложение
      Модуль «Закрытое предложение» позволяет создать специальное предложение для покупателей вашего магазина, купивших товар на определенную сумму.
      После оформления заказа на странице checkout/success выводится специальный блок с товаром со скидкой, который покупатель может добавить к только что созданному заказу в течении определенного времени. 
      Время, список товаров, диапазон сумм и уровень скидок - все это вы задаете в админке в самом модуле. При добавлении в 1 диапазон списка товаров будет выводиться 1 из товаров, рандомно. 
      Если под сумму заказа пользователя нет подходящих диапазонов - модуль не выводится. 
      В истории заказа при добавлении товара со скидкой пишется комментарий closed offer, чтобы администратор мог понять почему 1 из товаров в заказе со скидкой. 
      В заказ может быть добавлен только 1 товар со скидкой, после этого модуль скрывается. 
      Если покупатель не успевает в течении заданного времени - выводится текст, который вы можете задать в админке и модуль так же скрывается.
      Товары, которые были в заказе, в модуле не показываются, даже если заданы в настройках!

      Модуль не работает с онлайн оплатой, поэтому в настройках не забудьте указать, какие способы оплаты исключить!
       
      Возможности:
      - Все необходимые настройки вынесены в админку.
      - Можно добавить неограниченное количество товаров и диапазонов сумм.
      - css стили вынесены в отдельный файл и их можно менять под себя.
      - Полная совместимость со стандартным шаблоном.
      - Уведомления администраторам о добавлении товара в заказ.
       
      Никакие системные файлы не затираются. Используется ocmod для изменения всего 1 файла!
       
      Демо http://oc2.7cub.ru
       
      Демо админки http://oc2.7cub.ru/admin/index.php?route=extension/module/closed_offer demo/demo
       
      Видео демо:
      https://www.youtube.com/watch?v=jbS9xcsqgSo
      Добавил fonclub Добавлено 06.11.2018 Категория Модули Системные требования php 5.4 и выше Сайт разработчика https://fonclub-blog.ru Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 3.0
      2.3 ocStore 3.0
      2.3 OpenCart.Pro, ocShop Opencart.pro 2.3  
    • От fonclub
      Модуль «Закрытое предложение» позволяет создать специальное предложение для покупателей вашего магазина, купивших товар на определенную сумму.
      После оформления заказа на странице checkout/success выводится специальный блок с товаром со скидкой, который покупатель может добавить к только что созданному заказу в течении определенного времени. 
      Время, список товаров, диапазон сумм и уровень скидок - все это вы задаете в админке в самом модуле. При добавлении в 1 диапазон списка товаров будет выводиться 1 из товаров, рандомно. 
      Если под сумму заказа пользователя нет подходящих диапазонов - модуль не выводится. 
      В истории заказа при добавлении товара со скидкой пишется комментарий closed offer, чтобы администратор мог понять почему 1 из товаров в заказе со скидкой. 
      В заказ может быть добавлен только 1 товар со скидкой, после этого модуль скрывается. 
      Если покупатель не успевает в течении заданного времени - выводится текст, который вы можете задать в админке и модуль так же скрывается.
      Товары, которые были в заказе, в модуле не показываются, даже если заданы в настройках!

      Модуль не работает с онлайн оплатой, поэтому в настройках не забудьте указать, какие способы оплаты исключить!
       
      Возможности:
      - Все необходимые настройки вынесены в админку.
      - Можно добавить неограниченное количество товаров и диапазонов сумм.
      - css стили вынесены в отдельный файл и их можно менять под себя.
      - Полная совместимость со стандартным шаблоном.
      - Уведомления администраторам о добавлении товара в заказ.
       
      Никакие системные файлы не затираются. Используется ocmod для изменения всего 1 файла!
       
      Демо http://oc2.7cub.ru
       
      Демо админки http://oc2.7cub.ru/admin/index.php?route=extension/module/closed_offer demo/demo
       
      Видео демо:
      https://www.youtube.com/watch?v=jbS9xcsqgSo
    • От shoputils
      590.00 руб
      Скачать/Купить дополнение


      Wallet One (Единая касса)
      Модуль работает со всеми версиями 1.5.x ,2.x.   (1.5, 2.0, 2.1, 2.2, 2.3.)
      Для версии 3.х  написан отдельный модуль: 
       
      Модуль оплаты "Wallet One (Единая касса)" позволяет принимать платежи через систему Wallet One - www.walletone.com/merchant
      Подключив модуль к своему магазину вы сможете принимать к оплате валюты перечисленные по адресу: http://merchant.w1.r.../site/payments/   согласно ФЗ-54
       
      Зарегистрировавшись в платежной системе по промо-коду, вы получаете более выгодный тариф "Все для своих (средний бизнес)" на 3 месяца.
       
      ПОРЯДОК и ВРЕМЯ  ПОЛУЧЕНИЯ ЛИЦЕНЗИОННОГО КЛЮЧА :
      Не забудьте вписать основной домен сайта в соответствующую графу.
      Ключ будет выслан к вам на почту, указанную при регистрации на форуме, в АВТОМАТИЧЕСКОМ РЕЖИМЕ в течении нескольких минут после покупки.
      Это правило действует для покупок с форума и с оф. сайта https://opencart.market/
      Письмо с ключом будет приходить от нашего сайта: support@ opencart.market
      Пользователи всех почтовых сервисов, кроме яндекс-почты ( mail.ru, gmail.com и пр.) частенько получают письма в "спам", "вся почта" или др. папки. Проверяйте внимательно все папки!
      Если в результате тех. сбоя вы не получили письмо с ключом, пишите в личку  на форуме
      или на support@ opencart.market. Идентифицируйте себя как покупатель.
      Ключ будет выдан вам только после прочтения сообщения о покупке: в РУЧНОМ РЕЖИМЕ в период от 5 минут до 72 часов (если покупка приходится на выходные и праздники, а также непредвиденные обстоятельства).
      Среднее время выдачи ключа в ручном режиме: 1-2 часа.
      НЕ ДУБЛИРУЙТЕ СООБЩЕНИЯ ПО ВСЕМ КАНАЛАМ СВЯЗИ!
      Такие сообщения очень замедляют работу,  раздражают и обрабатываются в последнюю очередь!  
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
      ВОЗМОЖНОСТИ МОДУЛЯ:
      NEW: Мульти-оплата (система клонирования модуля); NEW: Возможность привязки модуля к мультимагазинам; Дополнительное описание на страницах оформления заказа; Возможность показывать модуль только залогинненым администраторам, это удобно, если необходимо не показывать модуль покупателям на время тестирования и настройки; Произвольный шаблон уведомления (с возможностью его отключения) администратора по e-mail при успешной и при неуспешной оплатах покупателем; Формирование своего произвольного шаблона письма покупателю при успешной и при неуспешной оплатах Выбор валюты для оформления платежа; Выбор языка для оформления платежа; Список запрещенных методов оплаты; Ведение журнала запросов от сервера "Wallet One" ФЗ-54 Полная совместимость с модулем "Простая регистрация и заказ Simple" (https://simpleopencart.com) Функция отсроченной оплаты
      Функция отсроченной оплаты позволяет организовать работу таким образом, чтобы покупатель имел возможность оплатить покупку только после того, как менеджер магазина подтвердит наличие товара или условия заказа. После того как менеджер убедился в наличии товара (или иных условиях) он меняет статус заказа, а покупателю уходит письмо с просьбой оплатить заказ (вкл. опционально). Оплата становится доступной из личного кабинета \ история заказов.  
        NEW: Мульти-оплата
        Добавлена грамотная система клонирования модуля из админки (одной кнопкой), позволяющая создать на сайте до 1000 копий модуля со своими индивидуальными настройками.
        Зачем и когда нужна эта функция?
          - Прежде всего, для мультимагазинов, у которых разные кабинеты для разных поддоменов в одной платежной системе
          - На одном поддомене нужно сделать несколько проектов
          - Возможность сделать неограниченное кол-во проектов с неограниченным кол-вом копий модуля
          - Эта возможность будет актуальна не только для мультимагазинов, но и для магазинов в Украине - там нужно создавать новый проект для новой валюты (например, для рубля и для гривны).
       
      Полный список возможностей, настройки модуля  см. в демо:
      http://opencart.shoputils.ru/demo
      http://opencart.shop....ru/demo/admin/ (Логин: demo, Пароль: demo)
      http://opencart.shoputils.ru/demo/20
      http://opencart.shop....ru/demo/20/admin/ (Логин: demo, Пароль: demo)
       
      Системные требования
      - Opencart/ocStore 1.5.x - 2.x
      - PHP 5.3+ (для 2.3 - 5.4+)
      - Ioncube Loader 5.0+
       
      Настройка модуля
      Инструкция в дистрибутиве модуля.
       
      Лицензия
       

      Техническая поддержка
      - Техническая поддержка оказывается всем пользователям, легально купившим модуль. Обращаем внимание на то что бесплатная и мгновенная  тех.поддержка оказывается только в случае ошибок в модуле.  Все остальное ПЛАТНО: установка\настройка модуля нашими силами,  пошаговая проверка ваших действий в случае безрезультатной \некорректной установки или настройки. На магазины, развернутые на VPS- серверах, работы не производим или производим по особой договоренности.
      - Если модуль был приобретен на https://opencartforum.com для технической поддержки просьба обращаться в ЛС
      с аккаунта, из-под которого была совершена покупка.
      - Модуль имеет принцип распространения "as is" ("как есть").
       
      ВНИМАНИЕ! Развитие линейки 1.5.x с 01 января 2017 г. будет прекращено. Новые версии для 1.5.x будут выпускаться в случае глобального изменения API на стороне Единой Кассы, без которых, работа модуля будет невозможна.
      Добавил shoputils Добавлено 04.04.2011 Категория Платежные системы Системные требования Opencart/ocStore 1.5.x - 2.x; PHP 5.3+ (на движках 2.3.x - минимальная версия 5.4); минимальная версия Ioncube Loader 5.0 Сайт разработчика https://opencart.market Старая цена Метод активации Автоматическая активация Ioncube Loader Требуется OpenCart 2.3
      2.2
      2.1
      2.0
      1.5.6.4
      1.5.6.3
      1.5.6.2
      1.5.6.1
      1.5.6
      1.5.5.1
      1.5.5
      1.5.4.1
      1.5.3.1 ocStore 2.3
      2.2
      2.1
      1.5.5.1.2
      1.5.5.1.1
      1.5.5.1
      1.5.4.1.2
      1.5.4.1.1
      1.5.4.1
      1.5.3.1
      1.5.2.1
      1.5.1.3 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.3.х
      OcShop 1.5.6.4.х  
    • От aska4carter
      Подскажите, пожалуйста, такая проблема стала - нужно создать интернет-магазин на 7-8 тыс. товаров. У каждого товара - до 15 фото, весит все это овер дофига. Это мне нужно будет хостинг искать на 100-150 гб, и платить много( Пока видела только на 50 гб и то очень дорого.
      Возможно, есть модуль, который позволяет делать подгрузку фотографий товара из вк, например? В Вк эти фото прекрасно себе лежат в  альбомах.
      Или как решаете эту проблему? Не думаю, что у меня одной так много товаров...
    • От Nymphetamine
      Скачать/Купить дополнение


      Клон оплата при доставке (10 шт.)
      Хорошо подойдет для:
      Наличными курьеру. Наложенный платёж. Оплата частями. Наличными в точке выдачи. И многое другое..  
      * Внутри архива 10 клонов "оплата при доставке".
      * Установка: залить содержимое в корень вашего сайта.
       
      Донат: сказать спасибо
      Добавил Nymphetamine Добавлено 16.03.2013 Категория Платежные системы Системные требования Сайт разработчика Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1
      2.0
      1.5.6.4
      1.5.6.3
      1.5.6.2
      1.5.6.1
      1.5.6
      1.5.5.1
      1.5.5
      1.5.4.1
      1.5.3.1 ocStore 3.0
      2.3
      2.2
      2.1
      1.5.5.1.2
      1.5.5.1.1
      1.5.5.1
      1.5.4.1.2
      1.5.4.1.1
      1.5.4.1
      1.5.3.1
      1.5.2.1
      1.5.1.3 OpenCart.Pro, ocShop Не проверялось  
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.