/** * @throws InvalidTransitionException */ public function send() : OrderState { throw InvalidTransitionException::unexpectedTransition('accepted', 'sent'); }
/** * @throws InvalidTransitionException */ public function send() : OrderState { throw InvalidTransitionException::finalState('rejected'); }
/** * @throws InvalidTransitionException */ public function reject() : PaymentState { throw InvalidTransitionException::finalState('rejected'); }
/** * @throws InvalidTransitionException */ public function reject() : PaymentState { throw InvalidTransitionException::unexpectedTransition('paid', 'rejected'); }
/** * @throws InvalidTransitionException */ public function refund() : OrderState { throw InvalidTransitionException::unexpectedTransition('prepared', 'refund'); }