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

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

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

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

 

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. Кнопка для повторной оплаты не появляется в личном кабинете

 

     Если шаблон личного кабинет далек от стандартного то кнопка в личном кабинете может не появиться о чем вы увидите оповещение в логе vqmod или ocmod

 

     для вывода кнопки необходимо в файле vqmod/xml/sbacuiring.xml

     <?php echo $order['status']; ?></div>

     заменить на строчку которая у вас в шаблоне похожая

     или то место куда вы хотите вставить кнопку

     из этого файла catalog/view/theme/вашатема/template/account/order_list.tpl

 

для опенкарт 2 - 2.2 изменения в install.xml

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

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

 

для опенкарт 2.3 только задание ссылки на инструкцию в поле инструкции при оплате
просто вставить переменную указанную рядом с полем

 

6. Ругается антивирус на хостинге

 

на данный момент код проверки ключа зашифрован стандартными функциями пхп

простые антивирусы(грубо говоря сканеры) бесплатные банально берут и сканируют файлы и читают код и видя зашифрованный участок - естественно они его прочитать не могут - потому что алгоритмы всегда разные - говорят что это вирус или чего еще 

а то что он удаляет файл ну это хостер молодец - он должен просто вас предупредить что внимание а не удалять

у нормальных хостеров если они используют жалкую поделку антивируса это так и реализовано

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

 

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

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

конфликты разных версий куба

и самое главное невозможности изменения модуля без моего вмешательства.

 

либо все сделать в открытом виде, не шифруя проверку домена - тогда сие мероприятие и не нужно, любой просто отключит проверку (а есть опыт продажи дополнений без ключа но с текстом что лицензия на один домен, но это никого не смущает, повторных покупок на другие домены банально нет)

 

по этому итог

 

использовать ион куб -нет (для покупателей плохо)

не использовать проверку домена (для продавца плохо)

 

использовать шифрование стандартными методами пхп (золотая середина)

 

Необходимо добавить в исключения файл admin/controller/payment/sbacuiring.php

 

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

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

 

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

На тестовых платежах работают только тестовые карты.
Данные тестовых карт вы можете запросить в поддержки банка. (или найти в документации от банка которую вам возможно вкладывали в письмо, раздел тестовые карты)
Модуль не обратывает сами карты, обработка происходит только на стороне банка
 
9. На реальных платежах при вводе данных реальной карты не проходит оплата
 
Модуль не обратывает сами карты, обработка происходит только на стороне банка
Вам необходимо обратиться в поддержку банка