Способ оплаты через карту Сбербанка (Сбербанк эквайринг))

Тема в разделе "PrestaShop", создана пользователем Noxikus, 7 окт 2016.

Информация :
Приветствую гость, обрати внимание! Темы которые закреплены в разделах, в скором времени будут откреплены. Правила раздела PrestaShop

(Не актуальные темы) Каталоги:Модули PrestaShop 1.7Модули PrestaShop 1.5 - 1.6Шаблоны PrestaShop 1.7Шаблоны PrestaShop 1.5 - 1.6
(Не актуальные темы) Поиск / Запросы:Модули PrestaShop 1.7Модули PrestaShop 1.5 - 1.6Шаблоны PrestaShop 1.7Шаблоны PrestaShop 1.5 - 1.6
Полезная информация:Поддержка и помощь c PrestaShopУбираем ПрестаТраст, стучалки и прочую рекламуСовместные покупки модулей и шаблоновПеревод Prestashop и модулей
Модераторы: trace
  1. Noxikus

    Noxikus

    Регистр.:
    18 фев 2015
    Сообщения:
    297
    Симпатии:
    67
    Всем привет.

    Кто-нибудь подключал Сбербанк эквайринг? Что-то не могу найти хоть какую-нибудь информацию по этому вопросу... Есть ли какие-то модули или способы?

    Спасибо.

    Неужели ни кто не делал способ оплаты через карту какого-либо банка?
     
    Последнее редактирование модератором: 26 фев 2018
  2. artful knave

    artful knave Постоялец

    Регистр.:
    6 июл 2013
    Сообщения:
    145
    Симпатии:
    105
    зачастую подключают какой-нибудь агрегатор: онпэй, единая касса, робокасса и там уже настраивают нужные способы оплаты, в т.ч. картами (не только сбера). Минус способа - дополнительные комиссии (например, в онпээ при методе перевода "с карты на карту" берут 1,7%).
    есть еще ассист, но там плата за подключение 3 тыс. (есть ли комиссия по картам - даже хз)
     
    Noxikus нравится это.
  3. dandandan

    dandandan

    Регистр.:
    7 авг 2008
    Сообщения:
    1.012
    Симпатии:
    272
  4. Noxikus

    Noxikus

    Регистр.:
    18 фев 2015
    Сообщения:
    297
    Симпатии:
    67
    Сейчас как раз и ожидается получение разрешения на использование интернет эквайринга.
    Но в каком виде этот функционал нужно будет впилить, чтобы все работало?
    Ведь нужно что-то типа модуля для Престы, чтобы добавить какой-либо способ оплаты, вот в чем вопрос...
     
  5. dandandan

    dandandan

    Регистр.:
    7 авг 2008
    Сообщения:
    1.012
    Симпатии:
    272
    Тут 3 варианта.
    1. Может быть у сбера есть готовый модуль, а об этом нужно спросить
    2. Фрилансер, который за бабосик напишет скрипт.
    3. Искать готовый существующий скрипт оплаты для сбербанка для Престы.

    [​IMG]

    Из того, что сразу гуглится, но не факт, что именно это нужно:
     
    trace и Noxikus нравится это.
  6. domowoi

    domowoi Постоялец

    Регистр.:
    9 фев 2010
    Сообщения:
    61
    Симпатии:
    43
    Свяжись со своим манагером, который курирует подключку интернет-эквайринга. Опиши ситуацию. Велика вероятность, что напрягут ся и напишут модуль под престу, если еще не. Сбер щас пытается быть шустрым. Пробуй и обрящешь.
     
    Noxikus нравится это.
  7. Gmoon

    Gmoon Писатель

    Регистр.:
    20 июл 2013
    Сообщения:
    2
    Симпатии:
    2
    Пишу как раз модуль, в сети не нашел ничего похожего. Вот пример кода который мне отправили.
    Код:
    <?php
    
    /**
    * ДАННЫЕ ДЛЯ ПОДКЛЮЧЕНИЯ К ПЛАТЕЖНОМУ ШЛЮЗУ
    *
    * USERNAME        Логин магазина, полученный при подключении.
    * PASSWORD        Пароль магазина, полученный при подключении.
    * GATEWAY_URL    Адрес платежного шлюза.
    * RETURN_URL    Адрес, на который надо перенаправить пользователя
    *                в случае успешной оплаты.
    */
    define('USERNAME', 'test');
    define('PASSWORD', 'testPwd');
    define('GATEWAY_URL', 'https://3dsec.sberbank.ru/payment/rest/');
    define('RETURN_URL', 'http://localhost/rest.php');
    
    /**
    * ФУНКЦИЯ ДЛЯ ВЗАИМОДЕЙСТВИЯ С ПЛАТЕЖНЫМ ШЛЮЗОМ
    *
    * Для отправки POST запросов на платежный шлюз используется
    * стандартная библиотека cURL.
    *
    * ПАРАМЕТРЫ
    *        method        Метод из API.
    *         data        Массив данных.
    *
    * ОТВЕТ
    *        response    Ответ.
    */
    function gateway($method, $data) {
        $curl = curl_init(); // Инициализируем запрос
        curl_setopt_array($curl, array(
            CURLOPT_URL => GATEWAY_URL.$method, // Полный адрес метода
            CURLOPT_RETURNTRANSFER => true, // Возвращать ответ
            CURLOPT_POST => true, // Метод POST
            CURLOPT_POSTFIELDS => http_build_query($data) // Данные в запросе
        ));
        $response = curl_exec($curl); // Выполненяем запрос
       
        $response = json_decode($response, true); // Декодируем из JSON в массив
        curl_close($curl); // Закрываем соединение
        return $response; // Возвращаем ответ
    }
    
    /**
    * ВЫВОД ФОРМЫ НА ЭКРАН
    */
    if ($_SERVER['REQUEST_METHOD'] == 'GET' && !isset($_GET['orderId'])) {
        echo '
            <form method="post" action="/rest.php">
                <label>Order number</label><br />
                <input type="text" name="orderNumber" /><br />
                <label>Amount</label><br />
                <input type="text" name="amount" /><br />
                <button type="submit">Submit</button>
            </form>
        ';
    }
    
    /**
    * ОБРАБОТКА ДАННЫХ ИЗ ФОРМЫ
    */
    else if ($_SERVER['REQUEST_METHOD'] == 'POST') {
        $data = array(
            'userName' => USERNAME,
            'password' => PASSWORD,
            'orderNumber' => urlencode($_POST['orderNumber']),
            'amount' => urlencode($_POST['amount']),
            'returnUrl' => RETURN_URL
        );
    
        /**
         * ЗАПРОС РЕГИСТРАЦИИ ОДНОСТАДИЙНОГО ПЛАТЕЖА В ПЛАТЕЖНОМ ШЛЮЗЕ
         *        register.do
         *
         * ПАРАМЕТРЫ
         *        userName            Логин магазина.
         *        password            Пароль магазина.
         *        orderNumber            Уникальный идентификатор заказа в магазине.
         *        amount                Сумма заказа.
         *        returnUrl            Адрес, на который надо перенаправить пользователя в случае успешной оплаты.
         *
         * ОТВЕТ
         *         В случае ошибки:
         *             errorCode        Код ошибки. Список возможных значений приведен в таблице ниже.
         *             errorMessage    Описание ошибки.
         *
         *         В случае успешной регистрации:
         *             orderId            Номер заказа в платежной системе. Уникален в пределах системы.
         *             formUrl            URL платежной формы, на который надо перенаправить браузер клиента.
         *
         *    Код ошибки        Описание
         *        0            Обработка запроса прошла без системных ошибок.
         *        1            Заказ с таким номером уже зарегистрирован в системе.
         *        3            Неизвестная (запрещенная) валюта.
         *        4            Отсутствует обязательный параметр запроса.
         *        5            Ошибка значения параметра запроса.
         *        7            Системная ошибка.
         */
        $response = gateway('register.do', $data);
       
        /**
         * ЗАПРОС РЕГИСТРАЦИИ ДВУХСТАДИЙНОГО ПЛАТЕЖА В ПЛАТЕЖНОМ ШЛЮЗЕ
         *        registerPreAuth.do
         *
         * Параметры и ответ точно такие же, как и в предыдущем методе.
         * Необходимо вызывать либо register.do, либо registerPreAuth.do.
         */
    //    $response = gateway('registerPreAuth.do', $data);
       
        if (isset($response['errorCode'])) { // В случае ошибки вывести ее
            echo 'Ошибка #' . $response['errorCode'] . ': ' . $response['errorMessage'];
        } else { // В случае успеха перенаправить пользователя на плетжную форму
            header('Location: ' . $response['formUrl']);
            die();
        }
    }
    
    /**
    * ОБРАБОТКА ДАННЫХ ПОСЛЕ ПЛАТЕЖНОЙ ФОРМЫ
    */
    else if ($_SERVER['REQUEST_METHOD'] == 'GET' && isset($_GET['orderId'])){
        $data = array(
            'userName' => USERNAME,
            'password' => PASSWORD,
            'orderId' => $_GET['orderId']
        );
       
        /**
         * ЗАПРОС СОСТОЯНИЯ ЗАКАЗА
         *        getOrderStatus
         *
         * ПАРАМЕТРЫ
         *        userName            Логин магазина.
         *        password            Пароль магазина.
         *        orderId                Номер заказа в платежной системе. Уникален в пределах системы.
         *
         * ОТВЕТ
         *         ErrorCode            Код ошибки. Список возможных значений приведен в таблице ниже.
         *         OrderStatus            По значению этого параметра определяется состояние заказа в платежной системе.
         *                            Список возможных значений приведен в таблице ниже. Отсутствует, если заказ не был найден.
         *
         *    Код ошибки        Описание
         *        0            Обработка запроса прошла без системных ошибок.
         *        2            Заказ отклонен по причине ошибки в реквизитах платежа.
         *        5            Доступ запрещён;
         *                    Пользователь должен сменить свой пароль;
         *                    Номер заказа не указан.
         *        6            Неизвестный номер заказа.
         *        7            Системная ошибка.
         *
         *    Статус заказа    Описание
         *        0            Заказ зарегистрирован, но не оплачен.
         *        1            Предавторизованная сумма захолдирована (для двухстадийных платежей).
         *        2            Проведена полная авторизация суммы заказа.
         *        3            Авторизация отменена.
         *        4            По транзакции была проведена операция возврата.
         *        5            Инициирована авторизация через ACS банка-эмитента.
         *        6            Авторизация отклонена.
         */
        $response = gateway('getOrderStatus.do', $data);
       
        // Вывод кода ошибки и статус заказа
        echo '
            <b>Error code:</b> ' . $response['ErrorCode'] . '<br />
            <b>Order status:</b> ' . $response['OrderStatus'] . '<br />
        ';
    }
    
    ?>
     
  8. alexeyud

    alexeyud

    Регистр.:
    14 июл 2016
    Сообщения:
    352
    Симпатии:
    140
    как успехи с модулем для сбера?
     
  9. Gmoon

    Gmoon Писатель

    Регистр.:
    20 июл 2013
    Сообщения:
    2
    Симпатии:
    2
    Я в итоге после бесконечных поисков написал сам.
    Playcafe45.ru вот здесь поставил, все работает уже на боевом сервере
     
    Kolfg и _sashok нравится это.
  10. Kolfg

    Kolfg

    Регистр.:
    20 авг 2012
    Сообщения:
    238
    Симпатии:
    164
    А выложить?