Добрый день!
Прошу помощи в реализации обработки уведомлений от Сбербанка со статусами операций по оплате.
Используется модуль Payment method Sberbank Module 1.1.3.
По документации из СБРФ нужно создать у себя на сайте маршрут, который будет принимать GET запрос от сервиса оплаты.
Предварительно зарегистрировав хук в функции установки модуля, маршрут задаю так
public function hookModuleRoutes()
{
return array(
'module-'.$this->name.'-callback' => array(
'controller' => 'callback',
'rule' => 'callback/{-:mdOrder}{-:orderNumber}{-:operation}{-:checksum}{-:status}',
'keywords' => array(
'mdOrder' => array('regexp' => '[\w]+', 'param' => 'mdOrder'),
'orderNumber' => array('regexp' => '[\w]+', 'param' => 'orderNumber'),
'operation' => array('regexp' => '(approved|deposited|reversed|refunded|declinedByTimeout)+', 'param' => 'operation'),
'checksum' => array('regexp' => '[\w]+', 'param' => 'checksum'),
'status' => array('regexp' => '(0|1)+', 'param' => 'status')
),
'params' => array(
'fc' => 'module',
'module' => $this->name,
)
)
);
}
создал контроллер callback в модуле, для проверки работы такой
class SberbankpaymentCallbackModuleFrontController extends ModuleFrontController
{
public function init()
{
header('Content-Type: application/json');
echo json_encode($_GET);
}
}
в итоге по ссылке callback/?mdOrder=6bc93e62313ba3ede9cbcf24f6a6c691&orderNumber=6&operation=deposited&status=0
получаю ответ
{
"mdOrder": "6bc93e62313ba3ede9cbcf24f6a6c691",
"orderNumber": "6",
"operation": "deposited",
"status": "0",
"isolang": "ru",
"id_lang": 2,
"fc": "module",
"module": "sberbankpayment",
"controller": "callback"
}
Подскажите пожалуйста, как дальше на основе этих параметров изменить статус заказа, сохраняя историю?
Я новичек в PrestaShop, буду благодарен за любые подсказки.
Спасибо!