minishop2, PayPal, вывод средств и все такое... Новый

Дополнение: minishop2

Здравствуйте!
Помогите, пожалуйста. прояснить ситуацию с использованием PayPal в minishop2, да и вообще в целом.
Я делаю проект, в котором подразумевается продажа товаров в Европу, соответственно, в евро валюте. Я никогда не работал с PayPal и вообще слабо представляю себе всю эту систему. По ходу работы возникли вопросы:
  • Компонент оплаты через PayPal, встроенный в minishop2, абсолютно рабочий, и можно совершать покупки в евро и долларах? (я, конечно, не сомневаюсь, но вот просто на всякий случай :) )
  • В параметрах этого модуля есть такие поля как «пароль продавца», «подпись продавца», «логин продавца». Я так понимаю, эти данные нужно заполнить, чтобы на этот счет приходили деньги?
  • Какой тип аккаунта на PayPal лучше выбрать: корпоративный или персональный? Кто-нибудь сталкивался с этим? У заказчика (владельца сайта, я имею в виду) есть счет на PayPal, но он не знает, что будет лучше.
Заранее благодарю за ответы.
09 сентября 2016, 19:47    Дмитрий   
0    396 0

Комментарии (11)

  1. Scorp Satex 10 сентября 2016, 12:01 # +1
    1. В старой версии miniShop2 2.2 — не было поддержки мультивалюты, пришлось писать костыли. Как в новой версии с этим обстоит — не знаю, нужно спросить автора модуля.

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

    3. Корпоративный.
    1. Дмитрий 10 сентября 2016, 12:44 # 0
      Большое спасибо!
      1. Паша Палиенко 10 сентября 2016, 17:04 # 0
        какие костыли писал?)
        1. 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 мы передаем в том же виде, как она поступила. Ждем результат выполнения запроса и выводим его на экран. Если приходит редирект — следуем редиректу.
          1. Дмитрий 10 сентября 2016, 18:49 # 0
            У меня тоже двуязычный сайт, русский и английский, и соответственно, рубли и евро. Я просто думал сделать для расчета в евро PayPal, а в рублях Яндекс.Кассу.
            1. Scorp Satex 10 сентября 2016, 18:55 # 0
              В моем случае, многие клиенты из России имеют Paypal, и поэтому мне такой вариант не подошел. :)
            2. Роман Садоян 10 сентября 2016, 20:04 # 0
              Плохой пример, почему не переписали в виде плагина?
              1. Scorp Satex 10 сентября 2016, 20:07 # 0
                Потому что я не программист, а верстальщик.
                1. Роман Садоян 10 сентября 2016, 20:15 # -1
                  Одно другому не мешает.
              2. Andrei D. 03 октября 2016, 06:38 # 0
                Поздно увидел ваше сообщение, похоже зря обновился на новый minishop
          2. Andrei D. 03 октября 2016, 06:36 # 0
            Проблему с контекстами описывал два года назад, странно, что она еще не решена
            Вы должны авторизоваться, чтобы оставлять комментарии.