|
| 1 | +<?php |
| 2 | +require "../../vendor/autoload.php"; |
| 3 | + |
| 4 | +use QuickBooksOnline\API\DataService\DataService; |
| 5 | +use QuickBooksOnline\API\Core\Http\Serialization\XmlObjectSerializer; |
| 6 | +use QuickBooksOnline\API\Facades\Invoice; |
| 7 | +// Prep Data Services |
| 8 | +$dataService = DataService::Configure(array( |
| 9 | + 'auth_mode' => 'oauth2', |
| 10 | + 'ClientID' => "Q094uKi203zS1V1ZxH6dyff236cHa2CQhFiXs3JZFjRq1Gmu9f", |
| 11 | + 'ClientSecret' => "NacL2Q92jmFEKjycARHEw8qrGGD1fv89OMxbjjbq", |
| 12 | + 'accessTokenKey' => |
| 13 | + 'eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiZGlyIn0..cKbx7-6jqrrapV7zIZyFTQ.7seYzuxsB74f3fKwl3LRgaHWN9YjYmU7uXnrwrebB5oAtVaDfn1-BLzJ-WNcWyQ-T2y-RAvY7ObfCyehkuejhQSu2Qv9o-7T-A1VlJ1n7Eeez0lzKA3KmHh5BOrkaC9Zr5ttZ2l9Q9esbotExk71ujhCJ8H5roMe5vnPoPsGRm3m5AUqITbNtsJjg1j3zucOOrwAjEvNEAxbKn83uAbQVlmpeXK3-511ezADe2i6xCXSABFCS9w79VgZPpXi_VXjhrubseQ01ognVQaY1PZN0-YvRmEfayXN3PQgHL4cKWQcqvS4mc3qbGTGmvWuaI5Bb8i2pRyN4efURqzDLB0sQCSqlRyGsHJJWVCRMW2qOBggpv83rRBUwOaBdHlVz1HIviz30vuWM711CKirGLi1sPTSTVGIR-2HFuNZcGKB77Wh7ZpUVwP0y61LENgkKhLmvlSSrCQUEiySy3fY2he2esCwuWKi0ViZhaAqLgtb0p8bZThE-jNaZMesY3vfZo0Ko2Xgelce6K7wjLYqB5IxluSOreflDqgLahljRsfmvIlzq8ETkMisLNzaGnWPrHF9iVIN6H7w8hZ26GNt9vmz835XXE5pKb3cv_rqxQH3pzXMdCbnn1_Fn4w_I6euonj-hKvvPTUwSHcp9x7iJpoB0ruj7KGy9TQABSkrYEYrqENDkFcPDYypzHDw8L2oNha6.Ai1vpt8b-fbgZ9f7qDGSCA', |
| 14 | + 'refreshTokenKey' => "L011530994357pUIdF4rZSpMC5XCZ2TV4ypu4pOpfen4VRvYzl", |
| 15 | + 'QBORealmID' => "123146098672079", |
| 16 | + 'baseUrl' => "production" |
| 17 | +)); |
| 18 | +$dataService->setLogLocation("/Users/hlu2/Desktop/newFolderForLog"); |
| 19 | +$dataService->throwExceptionOnError(true); |
| 20 | +//find the invoice we just created |
| 21 | +$invoice = $dataService->FindbyId('invoice', 9); |
| 22 | + |
| 23 | +//Also, make sure the Sales Deposit is turned on in the settings page, and the AST is enabled. |
| 24 | +//we are going to override the tax. Again, the TxnTaxDetail.TxnTaxCodeRef is just a placeholder. It is required. You can use the same value as it is, or some random value. |
| 25 | +//The only value that matters is the TotalTax here |
| 26 | +$theResourceObj = Invoice::update($invoice, [ |
| 27 | + "TxnTaxDetail" => [ |
| 28 | + "TxnTaxCodeRef" => [ |
| 29 | + //Original value is 3, but 999999 will work |
| 30 | + "value" => "3" |
| 31 | + ], |
| 32 | + //It is the totalTax that matters |
| 33 | + "TotalTax" => 210 |
| 34 | + ] |
| 35 | +]); |
| 36 | +$resultingObj = $dataService->Add($theResourceObj); |
| 37 | +$error = $dataService->getLastError(); |
| 38 | +if ($error) { |
| 39 | + echo "The Status code is: " . $error->getHttpStatusCode() . "\n"; |
| 40 | + echo "The Helper message is: " . $error->getOAuthHelperError() . "\n"; |
| 41 | + echo "The Response message is: " . $error->getResponseBody() . "\n"; |
| 42 | +} |
| 43 | +else { |
| 44 | + echo "Created Id={$resultingObj->Id}. Reconstructed response body:\n\n"; |
| 45 | + $xmlBody = XmlObjectSerializer::getPostXmlFromArbitraryEntity($resultingObj, $urlResource); |
| 46 | + echo $xmlBody . "\n"; |
| 47 | +} |
0 commit comments