public function pay(Payment $payment, $paid = self::PAID_STATUS_PAID)
{
if ($this->isPaid()) {
return true;
}
$this->setAttributes(['paid' => (int) $paid, 'payment_method_id' => $payment->id, 'payment_time' => new CDbExpression('NOW()')]);
$result = $this->save();
if ($result) {
Yii::app()->eventManager->fire(OrderEvents::SUCCESS_PAID, new PayOrderEvent($this, $payment));
} else {
Yii::app()->eventManager->fire(OrderEvents::FAILURE_PAID, new PayOrderEvent($this, $payment));
}
return $result;
}