// $this_url This is the full URL (e.g. http://path/to/this/file.php) of THIS SCRIPT // $that_url After the user authenticates, they will be forwarded to this URL // $IntuitAnywhere = new QuickBooks_IPP_IntuitAnywhere($dsn, $encryption_key, $oauth_consumer_key, $oauth_consumer_secret, $quickbooks_oauth_url, $quickbooks_success_url); // Are they connected to QuickBooks right now? if ($IntuitAnywhere->check($the_username, $the_tenant) and $IntuitAnywhere->test($the_username, $the_tenant)) { // Yes, they are $quickbooks_is_connected = true; // Set up the IPP instance $IPP = new QuickBooks_IPP($dsn); // Get our OAuth credentials from the database $creds = $IntuitAnywhere->load($the_username, $the_tenant); // Tell the framework to load some data from the OAuth store $IPP->authMode(QuickBooks_IPP::AUTHMODE_OAUTH, $the_username, $creds); if ($sandbox) { // Turn on sandbox mode/URLs $IPP->sandbox(true); } // Print the credentials we're using //print_r($creds); // This is our current realm $realm = $creds['qb_realm']; // Load the OAuth information from the database $Context = $IPP->context(); // Get some company info $CompanyInfoService = new QuickBooks_IPP_Service_CompanyInfo(); $quickbooks_CompanyInfo = $CompanyInfoService->get($Context, $realm); } else { // No, they are not $quickbooks_is_connected = false; }
<pre> <?php // Set up the IPP instance $IPP = new QuickBooks_IPP($dsn); // Get our OAuth credentials from the database $creds = $IntuitAnywhere->load($the_username, $the_tenant); // Tell the framework to load some data from the OAuth store $IPP->authMode(QuickBooks_IPP::AUTHMODE_OAUTH, $the_username, $creds); // Print the credentials we're using //print_r($creds); // This is our current realm $realm = $creds['qb_realm']; // Load the OAuth information from the database if ($Context = $IPP->context()) { // Set the IPP version to v3 $IPP->version(QuickBooks_IPP_IDS::VERSION_3); $TermService = new QuickBooks_IPP_Service_Term(); $terms = $TermService->query($Context, $realm, "SELECT * FROM Term"); //print_r($terms); foreach ($terms as $Term) { //print_r($Term); print 'Term Id=' . $Term->getId() . ' is named: ' . $Term->getName() . '<br>'; } /* print("\n\n\n\n"); print('Request [' . $IPP->lastRequest() . ']'); print("\n\n\n\n"); print('Response [' . $IPP->lastResponse() . ']'); print("\n\n\n\n");
/** * Test to see if a connection actually works (make sure you haven't been disconnected on Intuit's end) * */ public function test($app_username, $app_tenant) { if ($creds = $this->load($app_username, $app_tenant)) { $IPP = new QuickBooks_IPP(); $IPP->authMode(QuickBooks_IPP::AUTHMODE_OAUTH, $app_username, $creds); if ($Context = $IPP->context()) { // Set the DBID $IPP->dbid($Context, 'something'); // Set the IPP flavor $IPP->flavor($creds['qb_flavor']); // Get the base URL if it's QBO if ($creds['qb_flavor'] == QuickBooks_IPP_IDS::FLAVOR_ONLINE) { $cur_version = $IPP->version(); $IPP->version(QuickBooks_IPP_IDS::VERSION_3); // Need v3 for this $CustomerService = new QuickBooks_IPP_Service_Customer(); $customers = $CustomerService->query($Context, $creds['qb_realm'], "SELECT * FROM Customer MAXRESULTS 1"); $IPP->version($cur_version); // Revert back to whatever they set //$IPP->baseURL($IPP->getBaseURL($Context, $creds['qb_realm'])); } else { $companies = $IPP->getAvailableCompanies($Context); } //print('[[' . $IPP->lastRequest() . ']]' . "\n\n"); //print('[[' . $IPP->lastResponse() . ']]' . "\n\n"); //print('here we are! [' . $IPP->errorCode() . ']'); // Check the last error code now... if ($IPP->errorCode() == 401 or $IPP->errorCode() == 3200) { return false; } return true; } } return false; }