2015-12-10 5 views
0

Я занимаюсь интеграцией с моей PHP-системой, поэтому я могу начать продажи в QuickBooks. Для интеграции с использованием API при помощи этой ссылки https://github.com/consolibyte/quickbooks-php.Ошибка интеграции с QuickBooks

Установите все как указано, но в тот момент вы бросаете продажу, я получаю следующее сообщение об ошибке:

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.

Спасибо,

ответ

0

Эта ошибка:

Required parameter Line.DetailType is missing in the request

означает, что вы пропускаете необходимый параметр с именем Line.DetailType в запросе. Более конкретно - в вашем случае вы фактически отправляете недопустимое значение для этого параметра.

$Line->setDetailType('Example'); 

Это недопустимое ^^^. Пожалуйста, найдите время, чтобы обратиться к документации Intuit по:

И взять время, чтобы обратиться к примерам:

И замечает, что документация/примеры показывают правильное значение:

// Set to SalesItemLineDetailfor this type of line. 
$Line->setDetailType('SalesItemLineDetail'); 
+0

Большое спасибо за помощь. Я следую их советам. –

Смежные вопросы