Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

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


Recommended Posts

Есть ли способ реализовать вот такое же для 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 например

Надіслати
Поділитися на інших сайтах

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; ?>';
        }

Надіслати
Поділитися на інших сайтах

  • 2 weeks later...

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, а есть ли возможность как-то привязать этот способ оплаты к карточке конкретного товара, чтобы была возможность купить его сразу, минуя корзину?

естественно

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

Надіслати
Поділитися на інших сайтах

  • 3 weeks later...

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

Змінено користувачем Flank
Надіслати
Поділитися на інших сайтах


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

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

 

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

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

 

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

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

Надіслати
Поділитися на інших сайтах

  • 3 years later...

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.