XERO-PHPSDK-创建发票抛出服务器错误
使用XERO PHP SDK创建发票时出错。传递的值是正确的 错误:[500]服务器错误:XERO-PHPSDK-创建发票抛出服务器错误,php,xero-api,Php,Xero Api,使用XERO PHP SDK创建发票时出错。传递的值是正确的 错误:[500]服务器错误:PUThttps://api.xero.com/api.xro/2.0/Invoices?summarizeErrors=false&unitdp=4 导致500内部服务器错误响应:{“Title”:“错误” “发生”,“详细信息”:“Xero中出现错误。请检查API状态 页面(截断…) 我的代码是: // Line Item tracking $tracking = new
PUThttps://api.xero.com/api.xro/2.0/Invoices?summarizeErrors=false&unitdp=4
导致500内部服务器错误
响应:{“Title”:“错误”
“发生”,“详细信息”:“Xero中出现错误。请检查API状态
页面(截断…)
我的代码是:
// Line Item tracking
$tracking = new XeroAPI\XeroPHP\Models\Accounting\LineItemTracking;
$tracking->setName("Unit No")->setOption($property);
$arr_trackings = [];
array_push($arr_trackings, $tracking);
$tracking = new XeroAPI\XeroPHP\Models\Accounting\LineItemTracking;
$tracking->setName("Room ID")->setOption("");
array_push($arr_trackings, $tracking);
$invoice = new XeroAPI\XeroPHP\Models\Accounting\Invoice;
$invoice->setType("ACCPAY");
$invoice->setReference($property . " - " . $billmonth);
$invoice->setDate($invoicedate);
$invoice->setDueDate($duedate);
$xerocustomerid = $this->xeromodel->GetBillContactID($company);
$contact = new XeroAPI\XeroPHP\Models\Accounting\Contact;
$contact->setContactID($xerocustomerid);
$invoice->setContact($contact);
$invoice->setStatus("SUBMITTED");
$invoice->setLineAmountTypes("Exclusive");
$lineitem = new XeroAPI\XeroPHP\Models\Accounting\LineItem;
$spaccode = "56400";
$lineitem->setDescription(htmlspecialchars($spacno . " - " . $property));
$lineitem->setQuantity(1);
$lineitem->setUnitAmount($spamount);
$lineitem->setAccountCode($spaccode);
$lineitem->setTaxType("NONE");
$lineitem->setTracking($arr_trackings);
$lineitems = [];
array_push($lineitems, $lineitem);
$invoice->setLineItems($lineitems);
// invoices
$arr_invoices = [];
array_push($arr_invoices, $invoice);
$invoices = new XeroAPI\XeroPHP\Models\Accounting\Invoices;
$invoices->setInvoices($arr_invoices);
$apiResponse = $accountingApi->createInvoices($xeroTenantId, $invoices, $summarize_errors, $unitdp);
如果您将相同的数据发布到预览器,它会给您提供更多信息吗?500错误通常表示您的数据形成中存在错误。我使用VB,但我可以从响应中获得扩展信息,我不知道您如何在PHP中做到这一点。可能您已经定义了在其他地方使用的所有变量,但没有包括在内为了简洁起见,他们在文章中提到了?PHP SDK没有提供扩展信息。它给出了这个一般错误。问题似乎是xero帐户中没有帐户代码。它现在可以工作了。PHP SDK应该显示验证错误,而不是引发一般异常。我必须承认,我没有使用太多的.net SDK,因为我发现它确实是com复杂化了,所以我对各个端点进行原始HTTP调用,如果您深入挖掘,扩展的错误消息将在响应中返回。我只使用SDK获取所有数据结构。