getStatus()) { case PhortuneCart::STATUS_PURCHASED: throw new Exception( pht( 'This order can not be cancelled because it has already been '. 'completed.')); break; } } public function assertCanRefundOrder(PhortuneCart $cart) { return; } abstract public function willCreateCart( PhabricatorUser $viewer, PhortuneCart $cart); }