array( "DownloadPDF" => false, "jsonOnly" => false, "SendEmail"=> false), "IPPTaxService" => array( '*' => false, 'Add' => true, 'jsonOnly' => true), "IPPSalesReceipt" => array( "DownloadPDF" => true, "SendEmail" => true ), "IPPInvoice" => array( "DownloadPDF" => true, "SendEmail" => true ), "IPPEstimate" => array( "DownloadPDF" => true, "SendEmail" => true ), "IPPCreditMemo" => array( "DownloadPDF" => true, "SendEmail" => true ), "IPPRefundReceipt" => array( "DownloadPDF" => true, "SendEmail" => true ), "IPPPurchaseOrder" => array( "DownloadPDF" => true, "SendEmail" => true ), "IPPPayment" => array( "DownloadPDF" => true, "SendEmail" => true ), ); } /** * A helper method to get Access Token Key. People may have a typo on the key name * @param Array $settings The array contains all the key values * @return String | null The access token developer provided */ public static function getAccessTokenFromArray(array $settings){ if(array_key_exists('accessTokenKey', $settings)){ return $settings['accessTokenKey']; }else if(array_key_exists('accessToken', $settings)){ return $settings['accessToken']; } else if(array_key_exists('AccessToken', $settings)){ return $settings['AccessToken']; } else{ return null; } } /** * A helper method to get Refresh Token Key. People may have a typo on the key name * @param Array $settings The array contains all the key values * @return String | null The refresh token developer provided */ public static function getRefreshTokenFromArray(array $settings){ if(array_key_exists('refreshTokenKey', $settings)){ return $settings['refreshTokenKey']; }else if(array_key_exists('refreshToken', $settings)){ return $settings['refreshToken']; } else if(array_key_exists('RefreshToken', $settings)){ return $settings['RefreshToken']; } else{ return null; } } /** * A helper method to get redirect URL. People may have a typo on the key name * @param Array $settings The array contains all the key values * @return String | null The redirect url developer provide */ public static function getRedirectURL(array $settings){ if(array_key_exists('redirectURL', $settings)){ return $settings['redirectURL']; }else if(array_key_exists('RedirectUrl', $settings)){ return $settings['RedirectUrl']; } else if(array_key_exists('redirecturl', $settings)){ return $settings['redirecturl']; } else if(array_key_exists('redirectUrl', $settings)){ return $settings['redirectUrl']; } else if(array_key_exists('RedirectURL', $settings)){ return $settings['RedirectURL']; } else if(array_key_exists('redirectURI', $settings)){ return $settings['redirectURI']; }else if(array_key_exists('RedirectUri', $settings)){ return $settings['RedirectUri']; } else if(array_key_exists('redirecturi', $settings)){ return $settings['redirecturl']; } else if(array_key_exists('redirectUri', $settings)){ return $settings['redirectUrl']; } else if(array_key_exists('RedirectURI', $settings)){ return $settings['RedirectURI']; } else{ return null; } } //-------------------------------------------------------------------------------------------------- //OAuth 2 const OAUTH2_TOKEN_ENDPOINT_URL = "https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer"; const OAUTH2_AUTHORIZATION_REQUEST_URL = "https://appcenter.intuit.com/connect/oauth2"; const REVOCATION_ENDPONT = "https://developer.api.intuit.com/v2/oauth2/tokens/revoke"; const OAUTH2_REFRESH_GRANTYPE = "refresh_token"; const OAUTH2_AUTHORIZATION_TYPE = "Basic "; const EXPIRES_IN = "expires_in"; const X_REFRESH_TOKEN_EXPIRES_IN = "x_refresh_token_expires_in"; const ACCESS_TOKEN = "access_token"; // --- NEW CONSTANTS --- /** Header to request refresh token hard expiry info */ const INCLUDE_REFRESH_TOKEN_HARD_EXPIRES_IN_HEADER = "x-include-refresh-token-hard-expires-in"; /** Response field key for the refresh token hard expiry lifespan */ const X_REFRESH_TOKEN_HARD_EXPIRES_IN = "x_refresh_token_hard_expires_in"; public static function getCertPath(){ return dirname(__FILE__) . "/OAuth/OAuth2/certs/cacert.pem"; //Pem certification Key Path } //AutoLoader Settings const USE_AUTOLOADER = true; }