<?php

namespace patest\EnumType;

use \WsdlToPhp\PackageBase\AbstractStructEnumBase;

/**
 * This class stands for PaymentSessionCompletionCode EnumType
 * Meta information extracted from the WSDL
 * - nillable: true
 * - type: tns:PaymentSessionCompletionCode
 * @subpackage Enumerations
 */
class PaymentSessionCompletionCode extends AbstractStructEnumBase
{
    /**
     * Constant for value 'SuccessNormal'
     * @return string 'SuccessNormal'
     */
    const VALUE_SUCCESS_NORMAL = 'SuccessNormal';
    /**
     * Constant for value 'FailCancelByUser'
     * @return string 'FailCancelByUser'
     */
    const VALUE_FAIL_CANCEL_BY_USER = 'FailCancelByUser';
    /**
     * Constant for value 'FailSystemError'
     * @return string 'FailSystemError'
     */
    const VALUE_FAIL_SYSTEM_ERROR = 'FailSystemError';
    /**
     * Constant for value 'FailDecline'
     * @return string 'FailDecline'
     */
    const VALUE_FAIL_DECLINE = 'FailDecline';
    /**
     * Constant for value 'FailTimeout'
     * @return string 'FailTimeout'
     */
    const VALUE_FAIL_TIMEOUT = 'FailTimeout';
    /**
     * Constant for value 'FailTranRollback'
     * @return string 'FailTranRollback'
     */
    const VALUE_FAIL_TRAN_ROLLBACK = 'FailTranRollback';
    /**
     * Constant for value 'UnknownTimeout'
     * @return string 'UnknownTimeout'
     */
    const VALUE_UNKNOWN_TIMEOUT = 'UnknownTimeout';
    /**
     * Constant for value 'UnknownError'
     * @return string 'UnknownError'
     */
    const VALUE_UNKNOWN_ERROR = 'UnknownError';
    /**
     * Return allowed values
     * @uses self::VALUE_SUCCESS_NORMAL
     * @uses self::VALUE_FAIL_CANCEL_BY_USER
     * @uses self::VALUE_FAIL_SYSTEM_ERROR
     * @uses self::VALUE_FAIL_DECLINE
     * @uses self::VALUE_FAIL_TIMEOUT
     * @uses self::VALUE_FAIL_TRAN_ROLLBACK
     * @uses self::VALUE_UNKNOWN_TIMEOUT
     * @uses self::VALUE_UNKNOWN_ERROR
     * @return string[]
     */
    public static function getValidValues()
    {
        return array(
            self::VALUE_SUCCESS_NORMAL,
            self::VALUE_FAIL_CANCEL_BY_USER,
            self::VALUE_FAIL_SYSTEM_ERROR,
            self::VALUE_FAIL_DECLINE,
            self::VALUE_FAIL_TIMEOUT,
            self::VALUE_FAIL_TRAN_ROLLBACK,
            self::VALUE_UNKNOWN_TIMEOUT,
            self::VALUE_UNKNOWN_ERROR,
        );
    }
}
