public function getType()
    {
        return $this->type;
    }
    /**
     * @return String
     */
    public function getFriendlyType()
    {
        return $this->friendlyType;
    }
    private function setType($type)
    {
        $this->type = $type;
        if (!array_key_exists($type, self::$TYPES)) {
            self::$TYPES[$type] = $this;
        }
    }
    public function equals(PaymentTransactionType $obj)
    {
        return $this->getType() == $obj->getType();
    }
}
PaymentTransactionType::$AUTHORIZE = new PaymentTransactionType("AUTHORIZE", "Authorize");
PaymentTransactionType::$CAPTURE = new PaymentTransactionType("CAPTURE", "Capture");
PaymentTransactionType::$AUTHORIZE_AND_CAPTURE = new PaymentTransactionType("AUTHORIZE_AND_CAPTURE", "Authorize and Capture");
PaymentTransactionType::$SETTLED = new PaymentTransactionType("SETTLED", "Settled");
PaymentTransactionType::$REFUND = new PaymentTransactionType("REFUND", "Refund");
PaymentTransactionType::$VOID = new PaymentTransactionType("VOID", "Void");
PaymentTransactionType::$REVERSE_AUTH = new PaymentTransactionType("REVERSE_AUTH", "Reverse Auth");
PaymentTransactionType::$UNCONFIRMED = new PaymentTransactionType("UNCONFIRMED", "Not Confirmed");