Модуль оплаты QIWI для osCommerce

Тема в разделе "Интернет-магазины", создана пользователем Razgildjay, 14 апр 2010.

Статус темы:
Закрыта.
  1. Razgildjay

    Razgildjay Постоялец

    Регистр.:
    1 апр 2010
    Сообщения:
    120
    Симпатии:
    14
    Cуществует ли модуль оплаты через терминалы QIWI для магазинов на базе osCommerce?
     
  2. Conwell

    Conwell

    Регистр.:
    23 мар 2009
    Сообщения:
    337
    Симпатии:
    177
    Примерно такой же вопрос задается на _http://oscomm.biz и он без ответа.
    порывшись чуть больше нашел ссылку на готовый модуль:
    http://yumata.info/product_info.php?products_id=2
    цена вопроса 300 р.
     
  3. Razgildjay

    Razgildjay Постоялец

    Регистр.:
    1 апр 2010
    Сообщения:
    120
    Симпатии:
    14
    Отлично! Еще бы гарантии... Хотя цена вопроса не очень значительна.
     
  4. Razgildjay

    Razgildjay Постоялец

    Регистр.:
    1 апр 2010
    Сообщения:
    120
    Симпатии:
    14
    Отправлял этим ребятам письмо, чтобы удостовериться, что еще кто-то жив. До сих пор ответа жду, 3-й месяц пошел... А сейчас и сайт ихний мохнатым местом накрылся.

    В одной из вамовских сборок вроде бы есть модуль QIWI. Кто-нибудь его пользовал?
     
  5. stomer

    stomer Писатель

    Регистр.:
    3 авг 2006
    Сообщения:
    6
    Симпатии:
    0
    тоже интересует этот модуль. Попутно модуль для оплаты через Элекснет
     
  6. sibero777

    sibero777 Создатель

    Регистр.:
    31 янв 2010
    Сообщения:
    10
    Симпатии:
    2
    А в чем проблема взять этот модуль с вамшопа или shopos?. Это ведь одна и та же система. На сайте вамшопа есть инструкция, как перенести модуль с оскоммерца на вамшоп, просто сделайте все наоборот :)
     
  7. SS20

    SS20 Создатель

    Регистр.:
    27 май 2007
    Сообщения:
    46
    Симпатии:
    3
    Есть такой в 213 патче
     
  8. Razgildjay

    Razgildjay Постоялец

    Регистр.:
    1 апр 2010
    Сообщения:
    120
    Симпатии:
    14
    Он-то есть. Я его уже посмотрел, но не тестировал совсем.
    Интересует работоспособность данной штуки, а то будет как с вамовским модулем доставки EMS - проще написать самому, чем использовать ЭТО.
     
  9. SS20

    SS20 Создатель

    Регистр.:
    27 май 2007
    Сообщения:
    46
    Симпатии:
    3
    Нет пока не тестировал. Мне изначально не нравится что счет выставляется клиенту сразу после оформления заказа, до того как заказ проверят менеджеры. Мало ли может на складе товара уже нет, а клиент успеет оплатить по счету. Я как раз собираюсь начинать разбираться с этим вопросом. Нужно перенести формирование счета из checkout в account_history_info. Если в курсе что за код отвечает за формирование подскажите. Я пока не смотрел модуль. Сейчас как раз сижу разбираюсь с EMS. Не понятно что модуль получает с сайта и не понятно что отправляет. Но город отправителя точно не отправляет или не получает. Город получателя вроде отправляет. Максимальный вес не проверяет города куда EMS не доставляется то же. Сумма выдается от балды. С таким же успехом вместо этого модуля можно генератор случайных чисел использовать. Интересно он вообще тестировался. Может кто то это уже исправил? Или рабочий ссылку на рабочий модуль подскажите, на любой, хочу глянуть как там запросы организованы.
     
  10. Razgildjay

    Razgildjay Постоялец

    Регистр.:
    1 апр 2010
    Сообщения:
    120
    Симпатии:
    14
    Я лично вамовскими сборками не пользуюсь. Смотрю их только ради интереса или ради вот таких вот модулей типа QIWI или EMS. Но в 99% их приходится ковырять и переделывать под себя.
    На счет автоматического выставления счета - это палка о двух концах, есть и плюсы и минусы, минусов больше, ИМХО.

    С EMS-модулем помочь могу. Могу прямо в данной теме, могу в отдельной. Лишь бы модераторы не сочли офтопом.

    Короче. Работает ээта байда через cURL, поддержка должна быть включена на хостинге.
    Далее топаем в функцию quote() и правим ее, правим....
    Я выделил код запроса на сервер EMS и ответа в отдельную функцию. Самый первый раз я передаю ей урл _http://emspost.ru/api/rest/?method=ems.get.locations&type=russia чтобы получить список городов и регионов России. на максимальный вес можно забить, т.к. дл России он везде одинаков, а международной доставки у меня нет. Ответ заносим в переменную ems_zones, я до кучи юзаю кэш, который в вамовской сборке отсутствует.

    Далее я получаю город по индексу (но это сугубо моя личная сборка), можно использовать город, который указал клиент, лишь бы он был указан корректно, без лишних символов, опечаток и прочих прелестей. Конвертим город в UTF-8 и ищем его в нашем массиве с регионами ems_zones['rsp']['locations'] и сравниваем со значением в ems_zones['rsp']['locations']['name'] предварительно преобразовав оба значения к одному регистру, например нижнему.

    Если город не найден, то берем регион (у меня автоматом по индексу, но можно взять из $order->delivery['state']. Проделываем ту же самую операцию, что и с городом. Удобнее всего вынести это в функцию. Функция при нахождении совпадения должна возвращать значение ems_zones['rsp']['locations']['value'] - это и будет искомыый город или регион в транслите.
    Далее остается только найти город отправки по аналогичному алгоритму и можно все это скармливать EMS серверу. Например так:
    PHP:
    $url 'http://emspost.ru/api/rest?method=ems.calculate&from='.$from_city.'&to='.$to_city.'&weight='.$shipping_weight.'&type=att';
    В итоге мы получим ответ о стоимости.

    Я бы еще рекомендовал вставить такую строку
    PHP:
          if ($results['rsp']['stat'] != 'ok') {
            
    $this->quotes['error'] = MODULE_SHIPPING_RUSSIANPOSTEMS_ERROR;
          }
    после
    PHP:
          if ($this->tax_class 0) {
            
    $this->quotes['tax'] = tep_get_tax_rate($this->tax_class$order->delivery['country']['id'], $order->delivery['zone_id']);
          }
    переменная $results здесь хранит ответ сервера, а MODULE_SHIPPING_RUSSIANPOSTEMS_ERROR - это Ваше сообщение об ошибке в случае неудачного расчета.

    Все очень просто. Но должен предостеречь, что регион из таблицы вамовского магазина не всегда совпадают с регионами, которые возвращаются в запросе EMS, например проблему будут с Кабардой, Чечней, ХМАО, словом, всеми республиками и автономными округами. Для их использования требуется таблица соответствия названий, как и для модуля СПСР.

    А вамовскую функцию make_alias() из general.php следует назамедлительно кастрировать, как вредную и мешающую нормальной работе модуля дооставки EMS!
    Удачи! :)
     
    Cimmerian нравится это.
Статус темы:
Закрыта.