Модуль Робокасса!

Всем привет!

Есть, в русской версии cs cart, есть модуль робокассы. В самой робокассе, я зареган как физ лицо и сейчас комиссия возлагается на клиента, техподдержка робокассы говорит, что нужно править ваш модуль, и что-то там дописывать, чтоб комиссия взималась с продавца.

есть, ли у кого готовое решение?

А вы в службу поддержки CS-Cart писали? Сообщите им, пусть поставят задачу в расписание

Всем привет!

Есть, в русской версии cs cart, есть модуль робокассы. В самой робокассе, я зареган как физ лицо и сейчас комиссия возлагается на клиента, техподдержка робокассы говорит, что нужно править ваш модуль, и что-то там дописывать, чтоб комиссия взималась с продавца.

есть, ли у кого готовое решение?

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

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

путь до файла, где нужно править такой?

app/payments/robokassa.php

-----------------------------------------------------------

я, вот вобще не знаю в каком месте править (

<?php

use Tygh\Registry;
use Tygh\Http;

if (!defined(‘BOOTSTRAP’)) { die(‘Access denied’); }

if (defined(‘PAYMENT_NOTIFICATION’)) {

if ($mode == 'rbx_get_currencies') {
    if (!empty($_REQUEST['merchantid'])) {

        if (!empty($_REQUEST['payment_id'])) {
            $processor_data = fn_get_processor_data((int) $_REQUEST['payment_id']);
            $url = ($processor_data['processor_params']['mode'] == 'live') ? 'https://merchant.roboxchange.com/' : 'http://test.robokassa.ru/';

            Registry::get('view')->assign('processor_params', $processor_data['processor_params']);
        } else {
            $url = 'http://test.robokassa.ru/';
        }

        $url = $url . 'WebService/Service.asmx/GetCurrencies?MerchantLogin=' . $_REQUEST['merchantid'] . '&Language=' . CART_LANGUAGE;
        $data_currencies = Http::get($url);

        $xml = @simplexml_load_string($data_currencies);
        $result = array();

        if (isset($xml->Groups->Group)) {
            foreach ($xml->Groups->Group as $group) {
                $key = strval($group->attributes()->Description);
                foreach ($group->Items->Currency as $currency) {
                    $sub_key = strval($currency->attributes()->Label);
                    $cur_name = strval($currency->attributes()->Name);
                    $result[$key][$sub_key] = $cur_name;
                }
            }
        }

        Registry::get('view')->assign('rbx_currencies', $result);
        Registry::get('view')->display('views/payments/components/cc_processors/robokassa_cur_selectbox.tpl');
    }

    exit;
}

if (empty($_REQUEST['InvId']) || empty($_REQUEST['OutSum']) || (empty($_REQUEST['SignatureValue']) && $mode != 'cancel')) {
    die('Access denied');
}

$order_id = (int) $_REQUEST['InvId'];
if ($mode == 'result') {
    $order_info = fn_get_order_info($order_id);
    $processor_data = $order_info['payment_method'];
    $crc = strtoupper(md5($_REQUEST['OutSum'] . ':' . $_REQUEST['InvId'] . ':' . $processor_data['processor_params']['password2']));
    if (strtoupper($_REQUEST['SignatureValue']) == $crc) {
        $pp_response['order_status'] = 'P';
        $pp_response['reason_text'] = __('approved');
    } else {
        $pp_response['order_status'] = 'F';
        $pp_response['reason_text'] = __('control_summ_wrong');
    }
    fn_finish_payment($order_id, $pp_response);
    die('OK' . $order_id);

} elseif ($mode == 'return') {
    $order_info = fn_get_order_info($order_id);
    if ($order_info['status'] == 'O') {
        $pp_response = array();
        $pp_response['order_status'] = 'F';
        $pp_response['reason_text'] = __('merchant_response_was_not_received');
        $pp_response['transaction_id'] = '';
        fn_finish_payment($order_id, $pp_response);
    }
    fn_order_placement_routines('route', $order_id, false);

} elseif ($mode == 'cancel') {
    $pp_response['order_status'] = 'N';
    $pp_response['reason_text'] = __('text_transaction_cancelled');
    fn_finish_payment($order_id, $pp_response, false);
    fn_order_placement_routines('route', $order_id);
}

} else {
$total = fn_rus_pay_format_price($order_info[‘total’], $processor_data[‘processor_params’][‘currency’]);

$crc = strtoupper(md5($processor_data['processor_params']['merchantid'] . ':' . $total. ':' . $order_id . ':' . $processor_data['processor_params']['password1']));
$url = ($processor_data['processor_params']['mode'] == 'live') ? 'https://merchant.roboxchange.com/Index.aspx' : 'http://test.robokassa.ru/Index.aspx';

$post_data = array(
    'MrchLogin' => $processor_data['processor_params']['merchantid'],
    'OutSum' => $total,
    'InvId' => $order_id,
    'Desc' => $processor_data['processor_params']['details'],
    'SignatureValue' => $crc,
    'Culture' => CART_LANGUAGE,
    'IncCurrLabel' => $processor_data['processor_params']['payment_method'],
);

fn_create_payment_form($url, $post_data, 'Robokassa server');

}

exit;

путь до файла, где нужно править такой?

app/payments/robokassa.php

-----------------------------------------------------------

я, вот вобще не знаю в каком месте править (

Попросите их дать больше информации, например, уточните какой параметр за это отвечает. Мы вам подскажем, куда его добавить

Всем привет!

Есть, в русской версии cs cart, есть модуль робокассы. В самой робокассе, я зареган как физ лицо и сейчас комиссия возлагается на клиента, техподдержка робокассы говорит, что нужно править ваш модуль, и что-то там дописывать, чтоб комиссия взималась с продавца.

есть, ли у кого готовое решение?

Вы вот этот параметр в настройках пеймента пробовали? https://www.evernote.com/l/AQGE7YnXz55DlLl32Qxl_xMQv4vLhF-pu-8

Думаю как раз то что вам нужно.

Вы вот этот параметр в настройках пеймента пробовали? https://www.evernote.com/l/AQGE7YnXz55DlLl32Qxl_xMQv4vLhF-pu-8

Думаю как раз то что вам нужно.

Спасибо, но у меня такого пункта нет.

Спасибо, но у меня такого пункта нет.

А какая у вас версия?

А какая у вас версия?

кажись 4.2

могу ли я взять обновленные файлы модуля робокассы из последней версии дистрибутива и заменить на версии 4.2?

В общем решил так проблему, подложил с заменой файл robokassa.php модуля робокасса из последней версии cs cart.

в файле robokassa.php оставьте старый путь к файлу robokassa.tpl

  Registry::get('view')->display('views/payments/components/cc_processors/robokassa_cur_selectbox.tpl');

и замените файлик robokassa.tpl на новый

сам файл .tpl находится тут: /design/backend/templates/views/payments/components/cc_processors/

в админке появился интерфейс с переключателем Комиссия: Администратор.

все, комиссия снимается с продавца!

Доброй ночи!

Не стал создавать новый топик, вопрос также по Робокассе.

Ситуация следующая - клиент делает заказ в магазине, мы ему выставляем счет через Робокассу, в Робокассе естественно указываем номер заказа, клиент оплачивает счет, но оповещение в магазин не приходит.

В настоящий момент в настройках Робокассы статус стоит Ожидает проверки. Здесь нужно другой статус проставить, чтобы менеджер увидел оповещение после оплаты?

Добрый день. Вылезла проблема с РОБОКАССОЙ. до 17 ноября все хорошо работало но после крашнулось. Клиент оплачивает заказ через робокассу, в робокассу деньги приходят, а на сайте статус заказа проставляется “НЕУДАЧА”. В ТП робокассы сказали что нет ответа от сайта, точнее он есть, но Access denied, вот такой. На сайте никаких работ по обновлению или каких либо вообще не проводилось, кроме продления ssl сертификата. Грешили на Whitelist, хостер добавил iP в список. но все равно сайт передает ошибку. Версия cms 4.9.1 Это логи:
Это успешный ответ и отрицательный со стороны робокассы
Запрос
out_summ=4940.760000&OutSum=4940.760000&inv_id=577&InvId=577&crc=2DEFF8E7738B9EEB99FF6E5D2C9FD450&SignatureValue=2DEFF8E7738B9EEB99FF6E5D2C9FD450&PaymentMethod=BankCard&IncSum=4940.760000&IncCurrLabel=BANKOCEAN3R&EMail=e_____t@mail.ru&Fee=192.690000
Ответ
OK577

Запрос
out_summ=2468.990000&OutSum=2468.990000&inv_id=583&InvId=583&crc=95DA2E36A65FF2409604DFB216232A18&SignatureValue=95DA2E36A65FF2409604DFB216232A18&PaymentMethod=BankCard&IncSum=2468.990000&IncCurrLabel=BANKOCEAN3R&EMail=o_______d@mail.ru&Fee=96.290000
Ответ
Access denied

А это ответ cms:

176.99.1.23 - - [21/Dec/2020:11:53:28 +0300] “POST /index.php?dispatch=payment_notification.result&payment=robokassa HTTP/1.1” 301 180 “-” “.NET Framework/v4.0.30319”
176.99.1.23 - - [21/Dec/2020:11:53:28 +0300] “GET /index.php?dispatch=payment_notification.result&payment=robokassa HTTP/1.0” 200 13 “-” “.NET Framework/v4.0.30319”
176.99.1.23 - - [21/Dec/2020:11:53:28 +0300] “GET /index.php?dispatch=payment_notification.result&payment=robokassa HTTP/1.1” 200 23 “-” “.NET Framework/v4.0.30319”

Куда копать?)))))

1 лайк

Подскажите, вы решили данный вопрос? Походу дело в обновлениях. В 4.11.5 вроде как исправили этот баг под видом “access denied на multivendor”. Тоже столкнулся с такой проблемой.

Да, все нормально после обновления 4,11,5 работает как нужно

Спасибо за ответ. В моем случае проблема была связана с модулем AB: управление индексацией - пришлось отключить закрывающий слэш

Привет! Можно поинтересоваться - подмена заключалась в замене одного php или php + tpl? Я не очень понял.