Сайт на 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;", тоже нифига. Помогите пожалуйста решить этот вопрос.