Как правильно подключить уведомления от яндекс денег?

Сайт на yii2, сделал обычную форму оплаты через яндекс деньги. Все норм проходит. Но нужно принять уведомление по http о успешной оплате.
https://money.yandex.ru/myservices/online.xml тут указал сайт "http://test.ру/balance/transaction/ya-create" указал что нужно уведомлять. Но после оплаты в целом на данную страницу ничего не приходит. Сделал обычную проверку с записью в бд.
if ($_POST && $_POST['notification_type'])
            $sha1 = sha1( $_POST['notification_type'] . '&' .
                $_POST['operation_id']. '&' .
                $_POST['amount'] . '&643&' .
                $_POST['datetime'] . '&'.
                $_POST['sender'] . '&' .
                $_POST['codepro'] . '&' .
                $secret_key. '&' .
                $_POST['label'] );
else
            $sha1 = null;


if ($_POST && $_POST['sha1_hash'] && $sha1 == $_POST['sha1_hash']) {
            $model = new Transaction();
            $model->balance_id = Yii::$app->user->identity->id;
            $model->type = 'in';
            $model->amount = $_POST['amount'];
            $model->refill_type = '1';
            $model->comment = $_POST['comment'];
            $model->save;
} else {
            $model = new Transaction();
            $model->balance_id = 1;
            $model->type = 'out';
            $model->amount = 60;
            $model->refill_type = '1';
            $model->comment = 'Коммент';
            $model->save;
}

Прикол в том, что даже нижнее else не срабатывает, то есть вообще ничего в базу не записывается. Но когда просто переходишь на эту страницу, то идет запись с else.

В начале контроллера поставил "public $enableCsrfValidation = false;", тоже нифига. Помогите пожалуйста решить этот вопрос.
  • Вопрос задан
  • 76 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы