Jump to content

Обработка Callback уведомлений в модуле Payment method Sberbank Module


Recommended Posts

Добрый день!

Прошу помощи в реализации обработки уведомлений от Сбербанка со статусами операций по оплате.

Используется модуль 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"
}

как менять статус заказа дальше, не понимаю....

Благодарю заранее за подсказки.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...