Документация - СберБанк Эквайринг PRO

Магазины версии 3.х Установка:
1) Установить модуль через Установщик модулей, в модификациях (менеджер дополнений) нажать обновить
2) Установить модуль в админ панель -> Дополнения -> Оплата -> Сбербанк Эквайринг-> Установить (если вы не видите модуль то файлы модуля не были записаны, выполните установку вручную)
3) Ввести настройки модуля: имя и пароль Api
4) Сообщить Сбербанку ссылку callback - указана в настройках модуля (не обязательно, опция в настройках делать запрос на страницы удачной оплаты уже включена по умолчанию, если вы включили callback на стороне банка, то отключите опцию Проверка платежа и смена статуса заказа на странице удачной оплаты)
5) Установить статус включено

Установка вручную
1) Скопируйте все из папки upload в корень сайта
3) обновите кеш модификаторов и кеш twig
4) вернитесь к основной установке пункт 2

Магазины версии 2.0, 2.1, 2.2, 2.3 Установка:
1) Установить модуль через Установщик модулей, в модификациях (менеджер дополнений) нажать обновить
2) Установить модуль в админ панель -> Дополнения -> Оплата -> Сбербанк Эквайринг-> Установить (если вы не видите модуль то файлы модуля не были записаны, воспользуйтесь фиксом по ссылке или выполните установку вручную)
3) Ввести настройки модуля: имя и пароль Api
4) Сообщить Сбербанку ссылку callback - указана в настройках модуля (не обязательно, опция в настройках делать запрос на страницы удачной оплаты уже включена по умолчанию, если вы включили callback на стороне банка, то отключите опцию Проверка платежа и смена статуса заказа на странице удачной оплаты)
5) Установить статус включено

Установка вручную
1) Скопируйте все из папки upload в корень сайта
2) переименуйте install.xml в sb.ocmod.xml и установите через установщик или положите в папку system
3) обновите кеш модификаторов
4) вернитесь к основной установке пункт 2

Магазины версии 1.5 Установка:

1) Скопировать все из папки Upload в корень сайта
2) Установить модуль в админ панель -> Дополнения -> Оплата -> Сбербанк Эквайринг-> Установить
3) Ввести настройки модуля: имя и пароль Api
4) Для получения уведомлений о оплате сообщить Сбербанку ссылку callback - указана в настройках модуля (не обязательно, опция в настройках делать запрос на страницы удачной оплаты уже включена по умолчанию, если вы включили callback на стороне банка, то отключите опцию Проверка платежа и смена статуса заказа на странице удачной оплаты)
5) Установить статус включено

 

Обновление версии модуля

1) Сделайте резервную копию сайта (файлы и база)
2) Удалить модификатор модуля (только для магазинов 2.х)
3) Произвести стандартную установку из раздела установка для Вашей версии магазина с перезаписью файлов
4) Обязательно ввести повторно пароль api и пересохранить настройки
5) Если файлы template модуля корректировались под шаблон обязательно произвести повторную коррекцию.
6) Если вы сообщали банку ссылку callback и просили включить уведомления о оплате на данный адрес, убедитесь что у банка установлена корректная ссылка (через поддержку банка) и в модуле она не изменилась (указана в настройках модуля) , если вы не сообщали банку ссылку, то пропустите этот шаг.

Подключение онлайн-кассы

  1. В личином кабинете банка найдите раздел фискализация, если такой раздел не видите то обратитесь в поддержку банка для включения данного раздела
  2. Выберете вашу кассу из списка доступных
  3. Введите настройки от Вашей кассы

FAQ

1. При переходе на оплату пишет No Data 

Смотреть журнал ошибок - расшифровка ошибок пункт 2, 3, 4, ошибки с кодом Sbacuiring error: ТЕКСТ - не описанные в данном руководстве вы можете найти в документации банка

2. В журнале ошибок запись "Доступ запрещен"

Это означает что не верный логин или пароль (Внимание! Вводить логин и пароль API, а не Оператор)

  1. Вы выбрали не верный Адрес сервера в настройках для вашего логина и пароля (Выбирать тестовый или реальный, свой адрес только в исключительных случаях)
  2. Вы ввели не верный логин API (Попробуйте пересохранить логин, убедитесь что отсутвуют пробелы в начале и в конце. Логин API выдает Вам поддержка банка)
  3. Вы ввели не верный пароль API (Попробуйте пересохранить пароль, убедитесь что отсутвуют пробелы в начале и в конце. Сброс пароля API может помочь, подробности сброса пароля API уточняйте в поддержке банка) , убедитесь что пароль соответвует режиму тестовый или реальный (это разные пароли), также убедитесь что при реальных платежах вы совершили первоначальный сброс пароля api (как это делать вам подскажет поддержка банка)
  4. Вам не открыли доступ на стороне банка
  5. Пароль содержит спец символы (попробуйте использовать только ! восклицательный знак, он проверенно работает) или используйте метод file get contents

3. В журнале ошибок запись ( SberBank error: code= ), Sbacuiring error: ( без описания ошибки) - NEW Можно сменить метод запросов к банку в настройках модуля

/* Внимание убедитесь что в настройках модуля выбран адрес сервера тестовый или реальный (свой выбирать не надо, свой адрес используется только для функционала платежной страницы на стороне магазина) */

не работает полноценно curl (Внимание при такой ошибки только проблема с Curl у хостера)

curl собран с версией openssl ниже чем у банка (постоянно обновляется так как в нем появляются новые и новые дыры)

посмотреть можно в phpinfo в разделе curl (обязательно в разделе curl а не просто openssll искать, так как может на самом хостинге openssl новой версии а сам curl собран со старой или вообще без поддержки)

curl тестируется по следующему методу 

версия openssl на хостинге не ниже чем у банка, запросить актуальную версию вы можете в поддержке банка - иначе не работает CURL запрос к банку. Проверить версию можно с помощью phpinfo();, раздел CURL.

Проверка курл:

if ( $curl = curl_init() ) {
            
   echo "Curl init ok<br>";
            
   curl_setopt($curl, CURLOPT_URL, 'https://3dsec.sberbank.ru/payment/rest/register.do');

   $result = curl_exec($curl);
                     
   echo $result;

}
else { 
    echo 'No Curl'; 
}

Должен вывести в качестве result

{"errorCode":"5","errorMessage":"Доступ запрещён"}

Если такого нет, ничего не заработает. К хостеру, или сменить в настройках метод запросов к банку

Никакого отношения такой тест не к модулю не к опенкарту не имеет, все голый php

если он не проходит это означает что ваш curl собран с openssl ниже чем в данный момент у банка или он вообще собран без поддержки openssl

Варианты решения:

4. Ошибка PHP Warning: file_get_contents(): SSL: Connection reset by peer

Необходимо обновление openssl с поддержкой TLS на хостинге до актуальной версии банка
Какая версия TLS требуется банку вы можете узнать у них в поддержке
 

5. Кнопка для повторной оплаты не появляется в личном кабинете

Если шаблон личного кабинета далек от стандартного, то кнопка в личном кабинете может не появиться
 

Магазины 2.0, 2.1, 2.2 , 2.3 провести изменения в install.xml

     $(\'a.btn-info

     заменить на $(\'a

     или btn-info заменить на класс кнопки просмотра заказа

переименовать в install.ocmod.xml и установить через установщик (перед этим удалив старый модификатор)

не забыть обновить кэш


Магазины 1.5 , для вывода кнопки необходимо провести изменения описанные выше в файле vqmod/xml/sbacuiring.xml
 

6. Ошибка 404 на стороне шлюза

Скачайте архив статики платежных страниц и загрузите посторно (вкладка платежная страница)
 

7. На тестовых платежах при вводе данных реальной карты не проходит оплата

На тестовых платежах работают только тестовые карты.
Данные тестовых карт вы можете запросить в поддержки банка. (или найти в документации от банка которую вам возможно вкладывали в письмо, раздел тестовые карты)
Модуль не обратывает сами карты, обработка происходит только на стороне банка
 
9. На реальных платежах при вводе данных реальной карты не проходит оплата
 
Модуль не обратывает сами карты, обработка происходит только на стороне банка
Вам необходимо обратиться в поддержку банка
 
10. Активация отложенной оплаты
 
Для активации оплаты, необходимо в просмотре(не редактировании) заказа установить статус из настроек модуля - Статус для активации Отложенной оплаты и установить галку уведомить покупателя, нажать кнопку добавить историю
Для работы отложенной оплаты обязательно наличие модификатора в разделе Менеджер дополнений(Модификаторы) и обновленный кеш модификаторов (там же кнопка вверху стрелки по кругу)
 
11. Ошибка sberBank error: code=8 - [item.itemCode] дублируется
Ошибка возникает при нахождении в заказе товаров с одинаковым полем модель. Поле модель в товарах обязательно должно быть уникально.
 
12. Настройка признака способа и предмета расчета

В настройках модуля укажите Признак способа и предмета расчета - эти данные будут использоваться по умолчанию если вы выберите Признак предмета и/или способа для товара - пункт по умолчанию

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

Для индивидуальных значений необходимо выбрать поле из которого будет браться значение, список полей доступен в выпадающем списке.

Для значений в карточке товара указываете в нужном поле одно из следующих значиний

Признак предмета расчета

Значение Описание
1 Товар
2 Подакцизный товар
3 Работа
4 Услуга
5 Ставка в азартной игре
6 Выигрыш в азартной игре
7 Лотерейный билет
8 Выигрыш в лотерею
9 Результаты интеллектуальной деятельности
10 Платеж
11 Агентское вознаграждение
12 Несколько вариантов
13 Другое

 

Признак способа расчета

Значение Описание
1 Полная предоплата
2 Частичная предоплата
3 Аванс
4 Полный расчет
5 Частичный расчет и кредит
6 Кредит
7 Выплата по кредиту

 

13. Доступные переменные:

Некоторые переменные могут не работать в зависимости от версии магазина или места вывода

$href$ - ссылка на оплату
$orderlist$ - список заказа
$itogo$ - итого заказа в валюте магазина
$itogobez$ - итого заказа в валюте магазина без вывода валюты
$itogozakaz$ - итого заказа в валюте заказа без вывода валюты
$totals$ - итого заказа в валюте заказа
$komis$ - комиссия в процентах из настроек
$total-komis$ - подсчитанная комиссия
$plus-komis$ - сумма с комиссией
$order_id$ - номер заказа
$invoice_no$ - номер счета
$invoice_prefix$ - префикс счета
$store_id$ - id магазина
$store_name$ - название магазина
$store_url$ - url магазина
$customer_id$ - id покупателя
$customer_group_id$ - id группы покупателя
$firstname$ - имя
$lastname$ - фамилия
$telephone$ - телефон
$fax$ - факс
$email$ - почта
$payment_firstname$ - имя плательщика
$payment_lastname$ - фамилия плательщика
$payment_company$ - компания плательщика
$payment_address_1$ - адрес плательщика
$payment_address_2$ - адрес2 плательщика
$payment_postcode$ - индекс плательщика
$payment_city$ - город плательщика
$payment_zone_id$ - id гео зоны плательщика
$payment_zone$ - гео зона плательщика
$payment_zone_code$ - код зоны плательщика
$payment_country_id$ - id страны плательщика
$payment_country$ - страна плательщика
$payment_iso_code_2$ - iso код плательщика
$payment_iso_code_3$ - iso код плательщика
$payment_address_format$ - формат адреса плательщика
$payment_method$ - метод оплаты
$payment_code$ - код оплаты    
$shipping_firstname$ - имя для доставки
$shipping_lastname$ - фамилия для доставки
$shipping_company$ - компания для доставки
$shipping_address_1$ - адрес доставки
$shipping_address_2$ - адрес2 доставки
$shipping_postcode$ - индекс для доставки
$shipping_city$ - город доставки
$shipping_zone_id$ - id гео зоны доставки
$shipping_zone$ - гео зона доставки
$shipping_zone_code$ - код зоны доставки
$shipping_country_id$ - id страны доставки
$shipping_country$ - страна доставки
$shipping_iso_code_2$ - iso код доставки
$shipping_iso_code_3$ - iso код доставки
$shipping_address_format$ - формат адреса доставки
$shipping_method$ - метод доставки
$shipping_code$ - код метода доставки
$comment$ - комментарий
$total$ - итого (в валюте по умолчанию)
$order_status_id$ - id статуса заказа
$order_status$ - статус заказа
$language_id$ - id языка
$language_code$ - код языка
$language_filename$ - файл языка
$language_directory$ - дирректория языка
$currency_id$ - id валюты
$currency_code$ - код валюты
$currency_value$ - курс валюты
$ip$ - ip
$forwarded_ip$ - переадресованный ip
$user_agent$ - юзер агент
$accept_language$ - язык
$date_modified$ - дата изменения заказа
$date_added$ - дата создания заказа


Переменные и использование полей из Simple:
Название берется из вкладки "Настройка полей" строка ID


Для Simple 4.x
$paymentsimple4_имяполя$ - поле привязанное к адресу оплаты
$shippingsimple4_имяполя$ - поле привязанное к адресу доставки
$simple4_имяполя$ - поле привязанное к учетной записи покупателя или поле привязанное к методу

Выбор отображения отчества покупателя
Пример:
Отчество: $simple4_otchestvo$