Перейти к содержимому


Фотография
- - - - -

Интеграция с платёжной системой Сбербанка


Сообщений в теме: 21

#11 Irina

Irina

Отправлено 06 July 2017 - 04:42

Таже самая проблема. 

Ввел адрес тестового сервера -  https://3dsec.sberba...-uat/index.html 

Включил режим отладки.

 

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

 

https://3dsec.sberba...-uat/index.html  - это неправильный тестовый сервер, правильный должен оканчиваться на rest (пример есть в настройках)

 

А сбербанк предоставил вам мерчант и пароль для тестового сервера, вы его ввели в настройках?


Сообщение отредактировал Irina: 06 July 2017 - 04:43

  • 0

#12 Sandmansss

Sandmansss

Отправлено 06 July 2017 - 07:04

Да предоставил. Но в письме был именно https://3dsec.sberba...-uat/index.html 


  • 0

#13 Irina

Irina

Отправлено 06 July 2017 - 08:23

Да предоставил. Но в письме был именно https://3dsec.sberba...-uat/index.html 

Попробуйте использовать тот, что указан в примере в настройках. Тот что вам прислали - это ссылка на личный кабинет в сбербанке (смотреть платежи)


  • 0

#14 Sandmansss

Sandmansss

Отправлено 06 July 2017 - 08:30

Irina спасибо за подсказки, :)

Я уже созвонился с техподдержкой и они назвали тот же адрес, что и вы.

 

Теперь с доступом какая то фигня, но это уже на их стороне.


  • 0

#15 Irina

Irina

Отправлено 06 July 2017 - 14:58

в папке /logs/rbs_payment.log создается лог транзакций, подробную информацию можно посмотреть в нем.


  • 0

#16 Sandmansss

Sandmansss

Отправлено 11 July 2017 - 10:06

Что-то никак не могу подружиться с эквайрингом.

Предыдущие проблемы победил.

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

500 internal server error

 

Т.Е. ошибка у меня.

После успешной оплаты меня кидает на адрес  

http://alircosmetik.ru/index.php?option=com_zoo&controller=payment&task=paymentFail 

http://alircosmetik....49-a485a828ed8f

 

И вот явно тут, что-то не то. Мне кажется я в магазине что-то не донастроил. Может кто подсказать в какую сторону смотреть?


Сообщение отредактировал Sandmansss: 11 July 2017 - 10:10

  • 0

#17 Sandmansss

Sandmansss

Отправлено 12 July 2017 - 09:44

Ну хоть кто-нибудь может подсказать?

 

'returnUrl' => $this->_jbrouter->payment('success'), //'ВАШ ДОМЕН/index.php?option=com_zoo&controller=payment&task=paymentSuccess',
'failUrl' => $this->_jbrouter->payment('fail') //'ВАШ ДОМЕН/index.php?option=com_zoo&controller=payment&task=paymentFail'
 
Вся проблема в ссылках успешной и не успешной оплаты.
 
Какие они должны быть правильно? Где их взять?

  • 0

#18 Sandmansss

Sandmansss

Отправлено 12 July 2017 - 11:34

Блин. 

Как всегда сам виноват.

В общем при копировании логина и пароля, в пароль затесался пробел. Увидел я это только при отладке через NetBeans. После поведения платежа сервер не пускал, в функцию getOrderStatus.do. Давал Access deinied. Ну а дальше, не было обработано исключение. 

Пароль поправил, и ошибка исчезла.

 

Правда пока для меня непонятно, заказ в списке создался, но статус "оплачено" так и не получил. 

Буду копаться дальше, почему так.


  • 0

#19 Sandmansss

Sandmansss

Отправлено 12 July 2017 - 12:10

Все вопросы снимаю. Надо было внимательнее читать документацию.

Надо было назначить статусы платежным системам.


Сообщение отредактировал Sandmansss: 12 July 2017 - 12:11

  • 0

#20 fiction13

fiction13

Отправлено 02 December 2017 - 08:44

*
Популярное сообщение!

Недавно занимался правками этого элемента.

 

У кого с этим элементом не работают другие способы оплаты - необходимо в файл sberbank.php сохранить в кодировке UTF без BOM. Сейчас в начале файла есть метка BOM и это плохо.

 

У кого после оплаты не меняется статус, значит у Вас есть элемент оплаты Yandex Kassa, поэтому необходимо поменять

if (!isset($_REQUEST['orderNumber']) && isset($_REQUEST['orderId']))

на

if (!isset($_REQUEST['orderNumberSberbank']) && isset($_REQUEST['orderId']))

Далее

//Принудительно сами генерируем запрос callback
$fields = array(
'orderNumber' => $orderNumber,
'orderStatus' => $orderStatus,
'orderAmount' => $response['Amount'],
'checkOrderId' => $_REQUEST['orderId']
);

на

//Принудительно сами генерируем запрос callback
$fields = array(
'orderNumberSberbank' => $orderNumber,
'orderStatus' => $orderStatus,
'orderAmount' => $response['Amount'],
'checkOrderId' => $_REQUEST['orderId']
);

Далее

return $_REQUEST['orderNumber'];

на

return $_REQUEST['orderNumberSberbank'];

Долго объснять, с чем это связано, но если коротко - то нужно использовать уникальные имена в реквесте в функции getRequestOrderId. В элементе использовалось имя, которое используется в Yandex Kassa. Поэтому оплата не проходит на сайте.


  • 5




Click to return to top of page in style!