модуль RBK money для ShopScript Premium

Тема в разделе "Shop-script", создана пользователем seeker1982, 6 авг 2009.

Статус темы:
Закрыта.
Модераторы: kadurinho
  1. seeker1982

    seeker1982 Создатель

    Регистр.:
    6 фев 2009
    Сообщения:
    23
    Симпатии:
    0
    Есть модуль RBK money для WebAsyst
    его нужно поставить на ShopScript Premium.
    Подскажите, что нужно поменять в самом коде этого модуля чтобы он на ShopScript заработал нормально?
    вот сам код от модуля WA
    PHP:
    <?php

    /**
     * @connect_module_class_name RBKMoney
     * @package DynamicModules
     * @subpackage Payment
     */
    class RBKMoney extends PaymentModule
    {
        var 
    $language 'rus';
        var 
    $type PAYMTD_TYPE_ONLINE;
        var 
    $processing_url 'https://rbkmoney.ru/acceptpurchase.aspx';
        var 
    $callback_url '';

        function 
    _initVars()
        {
            
    parent::_initVars();

            
    //$callback_url = $_SERVER['HTTP_HOST'].'/published/SC/html/scripts/rupay.php';

            
    $this->title         'RBK Money';
            
    $this->description     str_replace('{0}'$callback_url'Модуль интеграции с платежной системой RBK Money (<a href="http://www.rbkmoney.ru/" target="_top">www.rbkmoney.ru</a>; ранее &mdash; RUpay), учитывающий последние изменения, связанные с покупкой ими RUpay.');
            
    $this->sort_order     1;
            
            
    $this->method_title 'RBK Money';
            
    $this->method_description 'Оплата через платежную систему <a href="http://www.rbkmoney.ru">RBK Money</a>. У вас должен быть счет в этой системе для того, чтобы произвести оплату.';
            
    $this->Settings = array(
                
    'CONF_PAYMENT_RBKMONEY_ESHOPID',
                
    'CONF_PAYMENT_RBKMONEY_SECRET'
            
    );
        }

        function 
    _initSettingFields()
        {
            
    $this->SettingsFields['CONF_PAYMENT_RBKMONEY_ESHOPID'] = array(
            
    'settings_value'         => '',
            
    'settings_title'         => 'Номер сайта продавца',
            
    'settings_description'     => 'Номер вашего аккаунта в платежной системе RBK Money, на который будет поступаить оплата по заказам.',
            
    'settings_html_function'=> 'setting_TEXT_BOX(0,',
            
    'sort_order'             => 1,
            );

            
    $this->SettingsFields['CONF_PAYMENT_RBKMONEY_SECRET'] = array(
            
    'settings_value'         => '',
            
    'settings_title'         => 'Секретный ключ',
            
    'settings_description'     => 'Ваш секретный ключ в системе RBK Money, известный только вам. Необходим для проверки ответа от платежной системы RUpay.',
            
    'settings_html_function'=> 'setting_TEXT_BOX(0,',
            
    'sort_order'             => 1,
            );
        }

        function 
    after_processing_html($order_id,$active true)
        {
            
    $order_info ordGetOrder($order_id);
            
    $order_info['order_amount'] = number_format($order_info['order_amount'], 2'.''');
            
    $postData = array(
            
    'orderId'=>$order_id,
            
    'eshopId'=>$this->_getSettingValue('CONF_PAYMENT_RBKMONEY_ESHOPID'),
            
    "serviceName"=>CONF_ORDERID_PREFIX.$order_id,
            
    "recipientAmount"=>$order_info['order_amount'],
            
    "recipientCurrency"=>$order_info['currency_code'],
            
    "successUrl"=>getTransactionResultURL('success',$this->ModuleConfigID),
            
    "failUrl"=>getTransactionResultURL('failure',$this->ModuleConfigID),
            
    "userField_1"=>'',
            );
            
            
    $hidden_fields_html '';
            foreach(
    $postData as $field => $value){
                
    $hidden_fields_html .= '<input type="hidden" name="'.xHtmlSpecialChars($field).'" value="'.xHtmlSpecialChars($value).'" />'."\n";
            }
            
    $form '<form action="'.$this->processing_url.'" name="RBKMoneyForm" method="post">';
            
    $form .= $hidden_fields_html;
            
    $form .= '<h1>Переадресация на сервер RBK Money...</h1>';
            
    $form .= '<input type="submit" value="Перейти на сервер RBK Money"></form>';
            if(
    $active){
            
    $form .= '<script language="JavaScript">
    var old_onload = window.onload;
    window.onload = function()
    {if(old_onload) old_onload();
    setTimeout("document.RBKMoneyForm.submit()",2000);
    };
    </script>'
    ;
            }
            return 
    $form;
        }
        function 
    transactionResultHandler($transaction_result){
            
    //here code to process order statuses
            
    $message 'Результат обработки платежа RBK Money';
            return 
    parent::transactionResultHandler($transaction_result,$message);
        }
    };

    ?>
     
  2. Welho®

    Welho® Предвестник пьянки

    Регистр.:
    4 дек 2007
    Сообщения:
    855
    Симпатии:
    331
    юзай модуль Рупэй - это одно и тоже
     
  3. seeker1982

    seeker1982 Создатель

    Регистр.:
    6 фев 2009
    Сообщения:
    23
    Симпатии:
    0
    так ведь там просит вводить email как идентефикатор и описание заказа, а для рбк нужен цифрофой идентефикатор и ключ - как быть?
     
  4. Welho®

    Welho® Предвестник пьянки

    Регистр.:
    4 дек 2007
    Сообщения:
    855
    Симпатии:
    331
    хз, ересь какая-то, я заключал договор еще с тогдашним Рупеем, все пахало, потом они или их продали в РБК, все осталось по прежнему, как был какой-то код магазина и мыло, так и осталось.
    все работает, проверено
     
  5. seeker1982

    seeker1982 Создатель

    Регистр.:
    6 фев 2009
    Сообщения:
    23
    Симпатии:
    0
    мдя.. видимо для тех кто раньше подключился остались старые правила, а для новых по-новому, вон код сверху, я его сравнивал с модулем рупея - они реально отличаются...
    в php я не силен, но как мне кажется тот модуль что выше не совсем будет работать на shopscripte? он обращается к участкам кода которых в shopscript просто нету, может все же можно как подправить модуль?
     
Статус темы:
Закрыта.