我正在为我的一个项目编写quickbooks api。我得到以下错误:
guzzlehttp\exception\clientexception客户端错误: POST https://sandbox-quickbooks.api.intuit.com/v3/company/4620816365163801940/invoice?minorversion=57
导致 400 Bad Request
响应:{“错误”:{“错误”:[{“消息”:“请求的属性无效或不受支持”,“详细信息”:“属性名称:无法识别的字段\(被截断…)
守则:
$invoice = $http->post(
'https://sandbox-quickbooks.api.intuit.com/v3/company/'.config('services.quickbooks.realmId').'/invoice?minorversion=57',
[
'headers' => [
'Accept'=> 'application/json',
'Content-type'=> 'application/json',
'Authorization'=> 'Bearer '.$oauth['access_token']
// 'Host'=> 'quickbooks.api.intuit.com'
],
'body' => json_encode($invoiceBody)
]
);
$invoice = json_decode((string)$invoice->getBody(), true);
// dd($invoice);
$buyer->quickbooks_invoice = $invoice['Invoice']['Id'];
$buyer->save();
//pdf invoice
$pdfFileResource = fopen(public_path().'/Invoice.pdf', 'w+');
$pdf = $http->get(
'https://sandbox-quickbooks.api.intuit.com/v3/company/'.config('services.quickbooks.realmId').'/invoice/'.$invoice['Invoice']['Id'].'/pdf?minorversion=57',
[
'headers' => [
'Accept'=> 'application/pdf',
'Content-type'=> 'application/pdf',
'Authorization'=> 'Bearer '.$oauth['access_token']
// 'Host'=> 'quickbooks.api.intuit.com'
],
'sink' => $pdfFileResource
]
);
我不知道它在对我说什么来修复它。有人能帮我吗?
请查找更新代码
$oauth = json_decode((string)$oauth->getBody(), true);
DB::table('quickbooks_tokens')->where('id',1)->update(['refresh_token'=>$oauth['refresh_token'],'access_token'=>$oauth['access_token']]);
$invoiceBody['Line'][0]["Amount"] = $request->total_clearing_amount;
$invoiceBody['Line'][0]["DetailType"] = "SalesItemLineDetail";
$invoiceBody['Line'][0]["SalesItemLineDetail"]["ItemRef"]["value"] = $product->quickbooks_id;
$invoiceBody['Line'][0]["SalesItemLineDetail"]["BuyerDetails"] = $buyer->email;
$invoiceBody['Line'][0]["SalesItemLineDetail"]["SellerDetails"] = $seller->email;
$invoiceBody['Line'][0]["SalesItemLineDetail"]["Shipping"] = $request->shipping_clearing;
$invoiceBody['BillEmail']['Address'] = $buyer->email;
$invoiceBody['SalesTermRef']["value"] = 1;
$buyer = UserDetails::where('user_id', Auth::user()->id)->first();
//dd($buyer);
$invoiceBody['CustomerRef']["value"] = $buyer->quickbooks_id;
$invoiceBody['AllowOnlineACHPayment'] = true;
$invoice = $http->post(
'https://sandbox-quickbooks.api.intuit.com/v3/company/'.config('services.quickbooks.realmId').'/invoice?minorversion=57',
[
'headers' => [
'Accept'=> 'application/json',
'Content-type'=> 'application/json',
'Authorization'=> 'Bearer '.$oauth['access_token']
// 'Host'=> 'quickbooks.api.intuit.com'
],
'body' => json_encode($invoiceBody)
]
);
$invoice = json_decode((string)$invoice->getBody(), true);
// dd($invoice);
$buyer->quickbooks_invoice = $invoice['Invoice']['Id'];
$buyer->save();
//pdf invoice
$pdfFileResource = fopen(public_path().'/Invoice.pdf', 'w+');
$pdf = $http->get(
'https://sandbox-quickbooks.api.intuit.com/v3/company/'.config('services.quickbooks.realmId').'/invoice/'.$invoice['Invoice']['Id'].'/pdf?minorversion=57',
[
'headers' => [
'Accept'=> 'application/pdf',
'Content-type'=> 'application/pdf',
'Authorization'=> 'Bearer '.$oauth['access_token']
// 'Host'=> 'quickbooks.api.intuit.com'
],
'sink' => $pdfFileResource
]
);
暂无答案!
目前还没有任何答案,快来回答吧!