code: public function setReason($reason)
      {
          if (! Type::isValidReason($reason)) {
              throw new \Exception(sprintf('The action "%s" isn\'t supported!', $reason));
          }
  
          $this->reason = $reason;
  
          return $this;
      }
docs: @param string $reason
  
  @return Payload
  
  @throws \Exception