public function actionAffiliatePayment() { //print_r($_REQUEST); //Yii::app()->end(); $hashSecretWord = Campaign::getPayment2ChekoutHash(); //2Checkout Secret Word $hashSid = Campaign::getPayment2Chekout(); //2Checkout account number $hashTotal = $_REQUEST['total']; //Sale total to validate against $hashOrder = $_REQUEST['order_number']; //2Checkout Order Number ---- =1 for test!! $StringToHash = strtoupper(md5($hashSecretWord . $hashSid . $hashOrder . $hashTotal)); if ($StringToHash != $_REQUEST['key']) { $result = 'Fail - Hash Mismatch'; } else { $result = 'Success - Hash Matched'; $orderId = $_REQUEST['li_0_product_id']; $payment = ProjectPayments::model()->find('order_id = :ORDER_ID', array('ORDER_ID' => $orderId)); $payment->received = $payment->received + $hashTotal; $payment->to_receive -= $hashTotal; if ($payment->save() && $hashTotal != 0) { $order = Zakaz::model()->resetScope()->findByPk($orderId); if ($order->status < 3) { $order->status = 3; } $order->save(); if ($payment->received == $payment->project_price) { $this->saveFullPaymentWebmasterLog($order); } $buh = new Payment(); $buh->order_id = $orderId; $buh->receive_date = date('Y-m-d H:i:s'); $buh->theme = $order->title; $user = User::model()->findByPk($order->user_id); $buh->user = $user->email; $buh->summ = (double) $hashTotal; $buh->payment_type = Payment::INCOMING_CUSTOMER; $buh->manager = '*****@*****.**'; $buh->approve = 1; $buh->method = 'Bank'; if ($buh->save()) { echo 'ok'; //Yii::app()->user->setFlash('tipDay','Данные сохранены'); EventHelper::payForOrder($orderId); $this->redirect(array('/project/chat', 'orderId' => $orderId)); } else { echo 'Error! Can\'t save buh-payment'; } } else { echo 'Error! Can\'t save order-payment'; } } //echo $result; }