Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
XERO-PHPSDK-创建发票抛出服务器错误_Php_Xero Api - Fatal编程技术网

XERO-PHPSDK-创建发票抛出服务器错误

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

使用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 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获取所有数据结构。