Exemplo n.º 1
0
 /**
  * Creates a new Order model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     //if(!Yii::$app->user->can('createYourAuth')) throw new ForbiddenHttpException(Yii::t('app', 'No Auth'));
     $model = new Order();
     $model->loadDefaultValues();
     if ($model->load(Yii::$app->request->post()) && $model->save()) {
         return $this->redirect(['view', 'id' => $model->id]);
     } else {
         return $this->render('create', ['model' => $model]);
     }
 }
Exemplo n.º 2
0
 public function actionPurchaseNow()
 {
     $MOLPayInfo = [];
     $order = new Order();
     $order->loadDefaultValues();
     $orderForm = new OrderForm();
     $orderForm->load(\Yii::$app->request->post());
     $order->invoice_no = 0;
     $order->invoice_prefix = date("Y-m-d") . '-00';
     $order->store_name = 'Hybrizy';
     $order->payment_method = "MOLPay";
     $order->payment_code = "molpay";
     $order->store_url = Url::base(true);
     $order->user_id = \Yii::$app->user->id;
     $order->firstname = $orderForm->payment_firstname;
     $order->lastname = $orderForm->payment_lastname;
     $order->email = $orderForm->email;
     $order->telephone = $orderForm->payment_telephone;
     $order->fax = "";
     $order->payment_firstname = $orderForm->payment_firstname;
     $order->payment_lastname = $orderForm->payment_lastname;
     $order->payment_company = "";
     $order->payment_address_1 = $orderForm->payment_address_1;
     $order->payment_address_2 = $orderForm->payment_address_2;
     $order->payment_city = $orderForm->payment_city;
     $order->payment_postcode = $orderForm->payment_postcode;
     $order->payment_country = "";
     $order->payment_zone = "";
     $order->payment_address_format = "";
     if ($orderForm->BillingInfoAsShippingAddress === '1') {
         $order->shipping_firstname = $orderForm->payment_firstname;
         $order->shipping_lastname = $orderForm->payment_lastname;
         $order->shipping_address_1 = $orderForm->payment_address_1;
         $order->shipping_address_2 = $orderForm->payment_address_2;
         $order->shipping_city = $orderForm->payment_city;
         $order->shipping_code = $orderForm->payment_code;
         $order->shipping_postcode = $orderForm->shipping_postcode;
     } else {
         $order->shipping_firstname = $orderForm->shipping_firstname;
         $order->shipping_lastname = $orderForm->shipping_lastname;
         $order->shipping_address_1 = $orderForm->shipping_address_1;
         $order->shipping_address_2 = $orderForm->shipping_address_2;
         $order->shipping_city = $orderForm->shipping_city;
         $order->shipping_code = $orderForm->shipping_code;
         $order->shipping_postcode = $orderForm->shipping_postcode;
     }
     // MOL Pay info
     $MOLPayInfo['bill_name'] = $order->payment_firstname . ' ' . $order->payment_lastname;
     $MOLPayInfo['bill_desc'] = $orderForm->BillDescription();
     $order->shipping_zone = "";
     $order->shipping_address_format = "";
     $order->shipping_method = "";
     $order->shipping_code = "";
     $order->comment = "";
     $order->order_status_id;
     $order->currency_code = "";
     $order->ip = "";
     $order->forwarded_ip = "";
     $order->user_agent = "";
     $order->accept_language = "";
     $order->user_id = \Yii::$app->user->id;
     $cart = unserialize(\Yii::$app->db->createCommand('select cart from user where id=:id')->bindValue(':id', \Yii::$app->user->id)->queryColumn()[0]);
     $order->total = $cart['grandTotal'];
     if ($order->save()) {
         $tempOrderId = $order->invoice_prefix . '-' . $order->id;
         $MOLPayInfo['orderid'] = $tempOrderId;
         $MOLPayInfo['amount'] = $order->total;
         $MOLPayInfo['bill_email'] = $order->email;
         $MOLPayInfo['bill_mobile'] = $order->telephone;
         $form = \Yii::$app->controller->renderPartial('@frontend/views/site/_molpay_progress', ['model' => $MOLPayInfo, 'merchantId' => \Yii::$app->params['merchantId']], true);
         return ['data' => $MOLPayInfo, 'result' => 1, 'merchantId' => \Yii::$app->params['merchantId'], 'html' => $form];
     } else {
         return ['data' => [], 'result' => 0];
     }
 }
Exemplo n.º 3
0
 public function save()
 {
     $order = new Order();
     $order->loadDefaultValues();
     $order->invoice_no = 0;
     $order->invoice_prefix = date("Y-m-d") . '-00';
     $order->store_name = 'Hybrizy';
     if ($this->scenario == self::SCENARIO_TRIAL) {
         $order->payment_method = "Trial";
         $order->payment_code = "Trial";
         $order->firstname = $this->firstname;
         $order->lastname = $this->lastname;
     } elseif ($this->scenario === self::SCENARIO_CHECKOUT) {
         $order->payment_method = "MOLPay";
         $order->payment_code = "molpay";
         $order->telephone = $this->telephone;
         $order->firstname = Yii::$app->user->identity->profile->firstname;
         $order->lastname = Yii::$app->user->identity->profile->lastname;
         $order->payment_firstname = $this->payment_firstname;
         $order->payment_lastname = $this->payment_lastname;
         $order->lastname = $this->payment_lastname;
         $order->email = $this->email;
         $order->total = $this->total;
     }
     $order->store_url = Url::base(true);
     $order->user_id = Yii::$app->user->id;
     if ($order->save()) {
         if ($this->scenario === self::SCENARIO_CHECKOUT) {
             // Generate VCode
             $amount = $order->total;
             $merchantID = Yii::$app->params['merchantID'];
             $orderid = $order->invoice_prefix . '-' . $order->id;
             $vcode = md5($amount . $merchantID . $orderid . Yii::$app->params['verifyKey']);
             // MOLPay Tx Data setup
             $this->_mol_pay_tx_data['bill_name'] = $order->payment_firstname . ' ' . $order->payment_lastname;
             $this->_mol_pay_tx_data['bill_desc'] = $this->BillDescription();
             $this->_mol_pay_tx_data['orderid'] = $orderid;
             $this->_mol_pay_tx_data['amount'] = $order->total;
             $this->_mol_pay_tx_data['bill_email'] = $order->email;
             $this->_mol_pay_tx_data['currency'] = 'MYR';
             $this->_mol_pay_tx_data['country'] = 'MY';
             $this->_mol_pay_tx_data['bill_mobile'] = $order->telephone;
             $this->_mol_pay_tx_data['vcode'] = $vcode;
         }
         return $order;
     } else {
         return false;
     }
 }