FAQ Сбербанк - Двухстадийные платежи (Отложенная оплата)

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

 

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

Обновление с с модуля одностадийных платежей

1) Из папки upload загрузить все в корень сайта
2) Пересохранить настройки модуля

Порядок работы.
Клиент создает заказ, выбирает данный метод оплаты. Создается заказ со статусом указанном в настройках модуля. Менеджер магазина видит заказ и присваивает статус заказу(например Ожидает оплаты, настраивается в настройках модуля), после этого у клиента появляется кнопка в личном кабинете, в истории заказов оплатить онлайн. Если пользователь совершил заказ без регистрации, то после изменения статуса заказа и установки флажка уведомить покупателя, клиенту отправляется письмо с информацией об изменении заказа и ссылкой на оплату онлайн. После оплаты создается запись о совершенном платеже в админ панели и статус заказа меняется на другой(например Оплата принята, задается в настройках модуля).

После того как вы получили уведомление о новом заказе и убедились в наличии или еще каких то факторах
1) В заказе клиента поставить статус который вы выбрали в настройках модуля(Статус заказа для включения кнопки "оплатить онлайн"). Если пользователь совершил заказ без регистрации то установите галочку "Уведомить покупателя". Тогда он получит письмо с ссылкой на оплату.
2) Теперь у клиента в личном кабинете в истории заказов на заказе со статусом появилась кнопка "Оплатить онлайн". Если пользователь не регистрировался при заказе то только в письме он увидит ссылку.
3) После оплаты в меню Продажи->sbacquiringpay вы увидите информацию о полученном платеже.

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

 

FAQ

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

Смотреть журнал ошибок - расшифровка ошибок ниже

 

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

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

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

 

3. В журнале ошибок запись SberBank 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 на хостинге до актуальной версии банка

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

 

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

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

 

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

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

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

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

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

 

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

 

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

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

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

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

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

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

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

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

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

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

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

по этому итог

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

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

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

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

 

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

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

 

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

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