我正在与PHP集成我的系统,这样我就可以在QuickBooks中启动销售了。为了集成,我使用API提供的此链接https://github.com/consolibyte/quickbooks-php.
按照指示设置一切,但当你抛出销售时,我会出现以下错误:
2020: [Required param missing, need to supply the required value for the API, Required parameter Line.DetailType is missing in the request]
生成发票的类目前如下:
<?php
require_once dirname(__FILE__) . '/config.php';
require_once dirname(__FILE__) . '/views/header.tpl.php';
?>
<pre>
<?php
$InvoiceService = new QuickBooks_IPP_Service_Invoice();
$Invoice = new QuickBooks_IPP_Object_Invoice();
$Invoice->setDocNumber('WEB' . mt_rand(0, 10000));
$Invoice->setTxnDate('2015-12-10');
$Line = new QuickBooks_IPP_Object_Line();
$Line->setDetailType('Example');
$Line->setAmount(12.95 * 2);
$Line->setDescription('Example');
$SalesItemLineDetail = new QuickBooks_IPP_Object_SalesItemLineDetail();
$SalesItemLineDetail->setItemRef('8');
$SalesItemLineDetail->setUnitPrice(12.95);
$SalesItemLineDetail->setQty(2);
$Line->addSalesItemLineDetail($SalesItemLineDetail);
$Invoice->addLine($Line);
$Invoice->setCustomerRef('67');
if ($resp = $InvoiceService->add($Context, $realm, $Invoice))
{
print('Our new Invoice ID is: [' . $resp . ']');
}
else
{
print($InvoiceService->lastError());
}
?>
</pre>
<?php
require_once dirname(__FILE__) . '/views/footer.tpl.php';
有人经历过这个问题吗?
我真的需要帮助,因为他们对QuickBooks了解不多。
谢谢,
此错误:
Required parameter Line.DetailType is missing in the request
意味着您的请求中缺少一个名为Line.DetailType
的必需参数。更具体地说,在您的情况下,您实际上为该参数发送了一个无效值。
$Line->setDetailType('Example');
^^^无效。请花点时间参考Intuit的文档:
- https://developer.intuit.com/docs/api/accounting/Invoice
并花时间参考示例:
- https://github.com/consolibyte/quickbooks-php/blob/master/docs/partner_platform/example_app_ipp_v3/example_invoice_add.php#L21
注意,文档/示例显示的正确值为:
// Set to SalesItemLineDetailfor this type of line.
$Line->setDetailType('SalesItemLineDetail');