php - 快书支付整合问题
问题描述
我需要将我的网站中的快速预订支付与 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";
}
解决方案
推荐阅读
- javascript - 使用 Go 读取文件以用于 javascript 渲染
- c++ - C ++多次声明相同的线程变量(在循环中)
- python-3.x - 如何用用户输入替换一行?
- javascript - 登录后如何从导航栏中删除登录按钮
- flutter - 输入'_ControllerSubscription
' 不是类型 'Stream 的子类型 ' - multithreading - 为什么我在并行调用 Apps Script API 时出现超时并记录丢失的错误?
- reactjs - @testing-library/react 测试表单 onSubmit
- sql - SQL Select 返回值的静态列表?
- azure - 如何获取与 Azure SDK 运行的 Azure LogicApp 相关的所有操作?
- html - 网站无法在 IOS 上加载?