public function pay()
{
$this->beforePayment();
$this->status = self::STATUS_UNSHIPPED;
$this->clearCancelledMsg();
if (!$this->save(false)) {
return false;
}
$this->afterPayment();
return true;
}