Перейти к содержанию
Форум поддержки пользователей VamShop

Подружить VamShop с Interkassa.com


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

Да и не спецы наверняка тоже.

Если есть модуль для osCommerce.

То вот статейка, как переделывать модули оплаты из osC в VaM Shop - http://vamshop.ru/node/75

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

Вроде все переделал как надо .. Но выдает такую ошибку :

Fatal error: Cannot redeclare class ik in /home/shops/jammer.com.ua/docs/includes/modules/payment/ik.php on line 9

Что это может означать ?

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

Судя по ошибке, у тебя уже есть модуль оплаты с названием ik, а названия у модулей не должны повторяться.

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

Ну так у меня один лежит здесь /lang/russian/modules/payment/ik.php а один здесь /includes/modules/payment/ik.php но проблемный именно этот  /includes/modules/payment/ik.php . А до этого модулей с названием ik не было

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

Выводит следующее

Fatal error: Class 'ik' not found in /home/shops/jammer.com.ua/docs/admin/modules.php on line 69

Как мне в modules.php добавить модуль ik.php ?

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

Вот этот лежит /docs/includes/modules/payment и его же я положил в docs/lang/russian/modules/payment:

<?php

/*

  Payment module for using with interkassa.com Payment Gateway

  Author: Andrew Yermakov (andrew@cti.org.ua)

  Copyright © 2007 Andrew Yermakov

  Released under the GNU General Public License

*/

  class ik {

    var $code, $title, $description, $enabled;

    // class constructor

    function ik() {

      global $order;

      $this->code = 'ik';

      $this->title = MODULE_PAYMENT_IK_TEXT_TITLE;

      $this->description = MODULE_PAYMENT_IK_TEXT_DESCRIPTION;

      $this->sort_order = MODULE_PAYMENT_IK_SORT_ORDER;

      $this->enabled = ((MODULE_PAYMENT_IK_STATUS == 'True') ? true : false);

      if ((int)MODULE_PAYMENT_IK_ORDER_STATUS_ID > 0) {

        $this->order_status = MODULE_PAYMENT_IK_ORDER_STATUS_ID;

      }

      if (is_object($order)) $this->update_status();

      $this->form_action_url = 'https://interkassa.com/lib/payment.php';

    }

// class methods

    function update_status() {

      global $order;

      if ( ($this->enabled == true) && ((int)MODULE_PAYMENT_IK_ZONE > 0) ) {

        $check_flag = false;

        $check_query = vam_db_query("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" . MODULE_PAYMENT_IK_ZONE . "' and zone_country_id = '" . $order->billing['country']['id'] . "' order by zone_id");

        while ($check = vam_db_fetch_array($check_query)) {

          if ($check['zone_id'] < 1) {

            $check_flag = true;

            break;

          } elseif ($check['zone_id'] == $order->billing['zone_id']) {

            $check_flag = true;

            break;

          }

        }

        if ($check_flag == false) {

          $this->enabled = false;

        }

      }

    }

    function javascript_validation() {

      return false;

    }

    function selection() {

      return array('id' => $this->code,

                  'module' => $this->title);

    }

    function pre_confirmation_check() {

      return false;

    }

    function confirmation() {

      return false;

    }

    function process_button() {

      global $order, $currencies, $currency;

      $order_id_query = vam_db_query("select max(orders_id) as max from " . TABLE_ORDERS);

      $order_id = vam_db_fetch_array($order_id_query );

      $order_id = $order_id['max'];

      $OrderID = $order_id + 1;

     

      $TotalAmount = number_format($order->info['total'] * $currencies->get_value(MODULE_PAYMENT_IK_CURRENCY), 2, '.', '');

      $ik_sign_hash_str = MODULE_PAYMENT_IK_SHOP_ID . ':' . $TotalAmount . ':' . $OrderID . ':' . '' . ':' . vam_session_id() . ':' . MODULE_PAYMENT_IK_SECRET_KEY;

      $ik_sign_hash = md5($ik_sign_hash_str);

      $process_button_string = vam_draw_hidden_field('ik_shop_id', MODULE_PAYMENT_IK_SHOP_ID) .

                              vam_draw_hidden_field('ik_payment_amount', $TotalAmount) .

                              vam_draw_hidden_field('ik_payment_id', $OrderID) .

                              vam_draw_hidden_field('ik_payment_desc', 'Order-' . $OrderID) .

                              vam_draw_hidden_field('ik_paysystem_alias', '') .

                              vam_draw_hidden_field('ik_baggage_fields', vam_session_id()) .

                              vam_draw_hidden_field('ik_sign_hash', $ik_sign_hash);

      return $process_button_string;

    }

    function before_process() {

      return false;

    }

    function after_process() {

      return false;

    }

    function output_error() {

      return false;

    }

    function check() {

      if (!isset($this->_check)) {

        $check_query = vam_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PAYMENT_IK_STATUS'");

        $this->_check = vam_db_num_rows($check_query);

      }

      return $this->_check;

    }

    function install() {

      vam_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, set_function, date_added) values ('Enable IK Module', 'MODULE_PAYMENT_IK_STATUS', 'True', 'Do you want to accept payments via interkassa.com?', '6', '1', 'vam_cfg_select_option(array(\'True\', \'False\'), ', now())");

      vam_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, set_function, date_added) values ('Shop ID', 'MODULE_PAYMENT_IK_SHOP_ID', '', 'The Shop ID to use for the IK service', '6', '2', now())");

      vam_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, set_function, date_added) values ('Sekret Key', 'MODULE_PAYMENT_IK_SECRET_KEY', '', 'The Secret Key', '6', '3', now())");

      vam_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, set_function, date_added) values ('Currency', 'MODULE_PAYMENT_IK_CURRENCY', 'UAH', 'Payment Currency', '6', '4', now())");

      vam_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, set_function, date_added) values ('Payment Zone', 'MODULE_PAYMENT_IK_ZONE', '0', 'If a zone is selected, only enable this payment method for that zone.', '6', '5', 'vam_get_zone_class_title', 'vam_cfg_pull_down_zone_classes(', now())");

      vam_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, set_function, date_added) values ('Sort order of display.', 'MODULE_PAYMENT_IK_SORT_ORDER', '1', 'Sort order of display. Lowest is displayed first.', '6', '6', now())");

      vam_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, set_function, date_added) values ('Set Order Status', 'MODULE_PAYMENT_IK_ORDER_STATUS_ID', '0', 'Set the status of orders made with this payment module to this value', '6', '0', 'vam_cfg_pull_down_order_statuses(', 'vam_get_order_status_name', now())");

    }

    function remove() {

      vam_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')");

    }

    function keys() {

      return array('MODULE_PAYMENT_IK_STATUS_TITLE', 'MODULE_PAYMENT_IK_SHOP_ID_TITLE', 'MODULE_PAYMENT_IK_SECRET_KEY_TITLE', 'MODULE_PAYMENT_IK_CURRENCY_TITLE', 'MODULE_PAYMENT_IK_ZONE_TITLE', 'MODULE_PAYMENT_IK_SORT_ORDER_TITLE', 'MODULE_PAYMENT_IK_ORDER_STATUS_ID_TITLE');

    }

  }

?>

  define('MODULE_PAYMENT_IK_TEXT_DESCRIPTION', 'interkassa.com');

?>

Возможно они должны отличаться между друг другом ?

Вообще в модули который я скачал с interkassa.com написано что нужно положить в /docs/lang/english/modules/payment вот этот файл:

<?php

/*

  Payment module for using with interkassa.com Payment Gateway

  Author: Andrew Yermakov (andrew@cti.org.ua)

  Copyright © 2007 Andrew Yermakov

  Released under the GNU General Public License

*/

  define('MODULE_PAYMENT_IK_TEXT_TITLE', 'IK (interkassa.com)');

  define('MODULE_PAYMENT_IK_TEXT_DESCRIPTION', 'interkassa.com');

?>

Но я не понимаю его назначения.

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

Вы один и тот же файл и в папку /lang/russian/modules/payment положили?!

Это ж неправильно.

Нужно взять языковой файл osCommerce модуля из /includes/languages/russian/modules/payment и положить его в папку /lang/russian/modules/payment в VaM Shop.

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

Вы один и тот же файл и в папку /lang/russian/modules/payment положили?!

Это ж неправильно.

Нужно взять языковой файл osCommerce модуля из /includes/languages/russian/modules/payment и положить его в папку /lang/russian/modules/payment в VaM Shop.

Так этот файл вот так выглядет:

<?php

/*

  Payment module for using with interkassa.com Payment Gateway

  Author: Andrew Yermakov (andrew@cti.org.ua)

  Copyright © 2007 Andrew Yermakov

  Released under the GNU General Public License

*/

  define('MODULE_PAYMENT_IK_TEXT_TITLE', 'IK (interkassa.com)');

  define('MODULE_PAYMENT_IK_TEXT_DESCRIPTION', 'interkassa.com');

?>

Его нужно переделывать ?

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

Его нужно дополнить теми текстами, который Вы удалили из самого модуля.

В инструкции по переделке ведь всё написано.

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

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

Warning: constant() [function.constant]: Couldn't find constant MODULE_PAYMENT_IK_STATUS_DESC in /home/shops/jammer.com.ua/docs/admin/modules.php on line 168

Warning: constant() [function.constant]: Couldn't find constant MODULE_PAYMENT_IK_ZONE_TITLE in /home/shops/jammer.com.ua/docs/admin/modules.php on line 166

Warning: constant() [function.constant]: Couldn't find constant MODULE_PAYMENT_IK_ZONE_DESC in /home/shops/jammer.com.ua/docs/admin/modules.php on line 168

Warning: constant() [function.constant]: Couldn't find constant MODULE_PAYMENT_IK_SORT_ORDER_TITLE in /home/shops/jammer.com.ua/docs/admin/modules.php on line 166

Warning: constant() [function.constant]: Couldn't find constant MODULE_PAYMENT_IK_SORT_ORDER_DESC in /home/shops/jammer.com.ua/docs/admin/modules.php on line 168

Warning: constant() [function.constant]: Couldn't find constant MODULE_PAYMENT_IK_ORDER_STATUS_ID_TITLE in /home/shops/jammer.com.ua/docs/admin/modules.php on line 166

Warning: constant() [function.constant]: Couldn't find constant MODULE_PAYMENT_IK_ORDER_STATUS_ID_DESC in /home/shops/jammer.com.ua/docs/admin/modules.php on line 168

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

Нет в файле /lang/russian/modules/payment/ik.php указанных констант, т.е.:

MODULE_PAYMENT_IK_STATUS_DESC

MODULE_PAYMENT_IK_ZONE_TITLE

и т.д.

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

Переделал! Нажимаю установить появляется белый экран с надписью:

Warning: include(/lang/russian/russian_db_error.php) [function.include]: failed to open stream: No such file or directory in /home/shops/jammer.com.ua/docs/inc/vam_db_error.inc.php on line 26

Warning: include() [function.include]: Failed opening '/lang/russian/russian_db_error.php' for inclusion (include_path='.:/usr/local/share/pear/') in /home/shops/jammer.com.ua/docs/inc/vam_db_error.inc.php on line 26

Warning: error_log(mysql_db_error.log) [function.error-log]: failed to open stream: Permission denied in /home/shops/jammer.com.ua/docs/inc/vam_db_error.inc.php on line 40

DB_ERR_MSG

Слушай,давай решим за небольшую сумму чтобы ты мне это сделал,заодно потом выложишь в статью готовый модуль для Interkassa.com

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

Неправильно поправил sql запросы.

Что б узнать ошибку, надо в папке /admin создать файл mysql_db_error.log и поставить права доступа 777 на файл, тогда будут записыватья ошибки в него.

P.S. Выложите файлы, что Вы сделали, посмотрю. Но сразу говорю, стоить будет 20$, если сами не хотите править.

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

пытаюсь подключить магазин к интеркасса

Модулем оплаты который тут взял есть проблема - при переходе обратно в магазин не создается заказ.

вопрос:

У кого нибудь получилось нормально подключить магазин? В  интеркассе не приходят счета на оплату на email и при возврате в магазин заказы не создаются, в таком раскладе ни один здоровый человек не заплатит.

Может кто-то имеет модуль готовый с рабочим пожьверждениейм и созданием заказа бех перехода в магазин клиента (используя API interkassa), готов купить.

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