Scorp Satex

Scorp Satex

С нами с 06 марта 2013; Место в рейтинге пользователей: #229
Scorp Satex
10 октября 2016, 16:23
0
Очень нужная вещь, ждем в репо. :)
Scorp Satex
10 октября 2016, 14:59
0
Подскажите пожалуйста — работать с плагином Office будет? Мне нужно чтобы в личном кабинете можно было посмотреть все отложенные товары.
Scorp Satex
03 октября 2016, 11:12
0
Мой знакомый программист нашел решение так:

Вот что он мне оставил, может кому пригодится, актуально только для MiniShop2 2.2!

Описание проблемы:

1) Инициализация оплаты происходит по прямой ссылке paypal.php, вне зависимости от языковой версии.
2) При запросе paypal.php в контексте /en/* файл физически отсутствует на сервере и выдается ошибка 404. Так как информация запроса передается методом POST редирект в .htaccess файле не может помочь с этой проблемой. Возможно создание «симлинка» или копии файла paypal.php с физическим созданием папки /en/* на сервере, но при этом решении нужно изменять условия редиректов движка ModX с самыми интересными последствиями.
3) В условиях редиректов успешной и не успешной оплаты используется конструкция $modx->getOption('ms2_payment_paypal_success_id', null, 0) без указания контекста (языковой версии). При этом получение параметров cancel английской версии не работает.
4) paypal.class.php — файл отвечает за отправку и получение результатов с платежного шлюза. Файл при вызове не содержит информацию языковой версии, поэтому формирование платежной ссылки, а также распознавание результата (hash верификация) проходят только в рублях

Решение:

[index.php]

# Самое начало сайта

if(substr($_SERVER['REQUEST_URI'], 0, 50) == "/en/assets/components/minishop2/payment/paypal.php"){
$ch = curl_init();
$postvars = '';
foreach($_POST as $key=>$value) {
$postvars .= $key. "=". $value. "&";
}

$url = «site.ru».substr($_SERVER['REQUEST_URI'], 3)."&isEng=1";
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch,CURLOPT_POST, 1);
curl_setopt($ch,CURLOPT_POSTFIELDS, $postvars);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT ,3);
curl_setopt($ch,CURLOPT_TIMEOUT, 20);
$response = curl_exec($ch);

curl_close ($ch);
echo $response;

die();
}

# Описание:

Если ссылка на paypal.php содержит /en/ мы переадресуем этот запрос на /web/ контекст передавая в $_GET запросе дополнительный параметр "&isEng=1". Информацию POST мы передаем в том же виде, как она поступила. Ждем результат выполнения запроса и выводим его на экран. Если приходит редирект — следуем редиректу.
Scorp Satex
10 сентября 2016, 20:07
0
Потому что я не программист, а верстальщик.
Scorp Satex
10 сентября 2016, 18:55
0
В моем случае, многие клиенты из России имеют Paypal, и поэтому мне такой вариант не подошел. :)
Scorp Satex
10 сентября 2016, 17:13
0
У меня сложней был случай, двуязычный сайт. Есть сайт магазин, два языка, две валюты. Рубли и евро. Писал костыль не я, а знакомый программист не знакомый с MODx.

Вот что он мне оставил, может кому пригодится, актуально только для MiniShop2 2.2!

Описание проблемы:

1) Инициализация оплаты происходит по прямой ссылке paypal.php, вне зависимости от языковой версии.
2) При запросе paypal.php в контексте /en/* файл физически отсутствует на сервере и выдается ошибка 404. Так как информация запроса передается методом POST редирект в .htaccess файле не может помочь с этой проблемой. Возможно создание «симлинка» или копии файла paypal.php с физическим созданием папки /en/* на сервере, но при этом решении нужно изменять условия редиректов движка ModX с самыми интересными последствиями.
3) В условиях редиректов успешной и не успешной оплаты используется конструкция $modx->getOption('ms2_payment_paypal_success_id', null, 0) без указания контекста (языковой версии). При этом получение параметров cancel английской версии не работает.
4) paypal.class.php — файл отвечает за отправку и получение результатов с платежного шлюза. Файл при вызове не содержит информацию языковой версии, поэтому формирование платежной ссылки, а также распознавание результата (hash верификация) проходят только в рублях

Решение:

[index.php]

# Самое начало сайта

if(substr($_SERVER['REQUEST_URI'], 0, 50) == "/en/assets/components/minishop2/payment/paypal.php"){
$ch = curl_init();
$postvars = '';
foreach($_POST as $key=>$value) {
$postvars .= $key. "=". $value. "&";
}

$url = «site.ru».substr($_SERVER['REQUEST_URI'], 3)."&isEng=1";
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch,CURLOPT_POST, 1);
curl_setopt($ch,CURLOPT_POSTFIELDS, $postvars);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT ,3);
curl_setopt($ch,CURLOPT_TIMEOUT, 20);
$response = curl_exec($ch);


curl_close ($ch);
echo $response;

die();
}

# Описание:

Если ссылка на paypal.php содержит /en/ мы переадресуем этот запрос на /web/ контекст передавая в $_GET запросе дополнительный параметр "&isEng=1". Информацию POST мы передаем в том же виде, как она поступила. Ждем результат выполнения запроса и выводим его на экран. Если приходит редирект — следуем редиректу.
Scorp Satex
10 сентября 2016, 12:01
+1
1. В старой версии miniShop2 2.2 — не было поддержки мультивалюты, пришлось писать костыли. Как в новой версии с этим обстоит — не знаю, нужно спросить автора модуля.

2. Да, именно для этого.

3. Корпоративный.
Scorp Satex
04 мая 2016, 19:33
0
На странице модуля написано:

Внимание:
Для подключения к ЯК необходимо чтобы ваш сайт работал по протоколу https.

Источник: modstore.pro/packages/payment-system/mspyacassa
Scorp Satex
13 апреля 2016, 14:35
0
Жаль, очень ждал, и надеялся что будет в Москве, в каком-нибудь бизнес центре. За город нет ни желания, ни времени ехать.

Желаю хорошо Вам там провести время, надеюсь в следующий раз вы сможете перебраться ближе к центру. :)
Scorp Satex
24 марта 2016, 14:33
0
Ура!

Спасибо за документацию!
Scorp Satex
20 января 2016, 11:59
0
Отлично! Как раз столкнулся с сложностями настройки корзины для многоязычных сайтов. Надеюсь будет возможность для разных контекстов делать разные корзины и там можно будет указывать какие там будут варианты оплаты и доставки.
Scorp Satex
17 января 2016, 22:52
+1
Вызвать этот блок некешированым? После открывающих скобок поставить восклицательный знак. Подробнее тут: rtfm.modx.com/revolution/2.x/making-sites-with-modx/tag-syntax раздел «Caching».
Scorp Satex
20 августа 2015, 21:03
0
У меня в Windows 7 сочетание клавиш Ctrl + Z = откатывает действие, а не выстраивает код лесенкой.

Что я делаю не так?
Scorp Satex
07 июля 2015, 14:46
0
Отлично! Спасибо, помогло! :)
Scorp Satex
02 июля 2015, 19:55
+1
Спасибо вам большое! Сэкономили мне кучу времени. :)
Scorp Satex
21 апреля 2015, 02:11
0
А, нашел в мануале, спасибо, дальше я сам! :)
Scorp Satex
20 апреля 2015, 23:41
0
А хотя бы базовый пример такого вызова в pdoTools можете показать?
Scorp Satex
20 апреля 2015, 23:40
0
А хотя бы базовый пример такого вызова в pdoTools можете показать?