首页 > 解决方案 > 快书支付整合问题

问题描述

我需要将我的网站中的快速预订支付与 PHP 集成,但我遇到以下错误:

致命错误:未捕获的 QuickBooksOnline\API\Exception\ServiceException:Http 状态代码 [403]:请求未成功。响应代码:[403] 正文:[ message=AuthorizationFailed; 错误代码=003100;statusCode=403 访问令牌没有足够的范围]。在第 226 行的 /home/treasu46/public_html/qb/qb/payment_int/vendor/quickbooks/v3-php-sdk/src/Core/HttpClients/SyncRestHandler.php 中抛出

    <?php
require "../vendor/autoload.php";

use QuickBooksOnline\API\DataService\DataService;
use QuickBooksOnline\API\Core\Http\Serialization\XmlObjectSerializer;
use QuickBooksOnline\API\Facades\Invoice;
// Prep Data Services
$dataService = DataService::Configure(array(
    'auth_mode' => 'oauth2',
    'ClientID' => "xxxxxxxxxx",
    'ClientSecret' => "xxxxxxxxx",
    'accessTokenKey' =>'xxxxxxxxxxxxxx',
    'refreshTokenKey' => "xxxxxxxxxxxxxx",
    'QBORealmID' => "xxxxxxxxxxx",
    'baseUrl' => "Development"
));
$dataService->setLogLocation("/Users/hlu2/Desktop/newFolderForLog");
$dataService->throwExceptionOnError(true);
//Add a new Invoice
$theResourceObj = Invoice::create([
    "Line" => [
    [
         "Amount" => 100.00,
         "DetailType" => "SalesItemLineDetail",
         "SalesItemLineDetail" => [
           "ItemRef" => [
             "value" => 20,
             "name" => "Hours"
           ]
         ]
    ]
    ],
    "CustomerRef"=> [
          "value"=> 1
    ],
    "BillEmail" => [
          "Address" => "Familiystore@intuit.com"
    ],
    "BillEmailCc" => [
          "Address" => "a@intuit.com"
    ],
    "BillEmailBcc" => [
          "Address" => "v@intuit.com"
    ]
]);
$resultingObj = $dataService->Add($theResourceObj);
$error = $dataService->getLastError();
if ($error) {
    echo "The Status code is: " . $error->getHttpStatusCode() . "\n";
    echo "The Helper message is: " . $error->getOAuthHelperError() . "\n";
    echo "The Response message is: " . $error->getResponseBody() . "\n";
}
else {
    echo "Created Id={$resultingObj->Id}. Reconstructed response body:\n\n";
    $xmlBody = XmlObjectSerializer::getPostXmlFromArbitraryEntity($resultingObj, $urlResource);
    echo $xmlBody . "\n";
}

标签: phpquickbooks

解决方案


推荐阅读