Невозможно отправить шаблон счета в песочнице QuickBook Online - PullRequest
0 голосов
/ 24 октября 2019

Я использую песочницу QuickBook Online для отправки счетов клиентам. Но я уже создал шаблон Invoice, также используя Custom Form Style. Но когда я отправляю счет-фактуру в формате PDF клиентам, он имеет старый стиль. Вновь созданный шаблон не вступает в силу. Когда я нажимаю кнопку «Сделать по умолчанию» на вкладке действий, я получаю сообщение об ошибке «An unexpected failure occurred.», а при редактировании и сохранении шаблона я получаю сообщение об ошибке «An application error has occurred while processing your request : 10000». Затем, Как я могу отправить счет через недавно созданный шаблон счета?

Код для создания счета

function createInvoice($customer, $invoice, $order)
{
    $response = array(
        'msg' => '',
        'is_success' => false,
        'data' => ''
    );

    try
    {
        $tax = $this - > dataService - > Query("SELECT * FROM payments WHERE name='tax".$invoice - > tax."'");
        $taxSer = current($tax);

        $line = array();
        $tax_va = (int) $invoice - > tax;
        foreach($invoice - > invoiceItem as $key => $value)
        {
            $amount = $invoice - > is_include == 1 ? $value - > amount * 100 / (100 + $tax_va) : $value - > amount;
            $unit_price = $amount / ($value - > quantity);
            $sales_item_line_detail = array("ItemRef" => array("value" => $value - > qb_item_id, "name" => $value - > description), "UnitPrice" => $unit_price, "Qty" => $value - > quantity, "TaxCodeRef" => array("value" => $taxSer - > Id));
            $one_line = array("Description" => "", "Amount" => $amount, "DetailType" => "SalesItemLineDetail", "SalesItemLineDetail" => $sales_item_line_detail, "Class" => $order - > accountant);
            array_push($line, $one_line);
        }
        $payment = $invoice -> mode = 1 ? true : false;
        $theResourceObj = Invoice::create([
            "DocNumber" => $invoice - > invoice_no,
            "AllowOnlinePayment" => $payment,
            "AllowOnlineCreditCardPayment" => $payment,
            "Line" => $line,
        ]);
        $resultingObj = $this - > dataService - > Add($theResourceObj);
        $error = $this - > dataService - > getLastError();
        if ($error)
        {
            $response["msg"] = $error - > getOAuthHelperError();
            $response["is_success"] = false;
            return $response;
        }
        else
        {
            $result = $this - > dataService - > SendEmail($resultingObj, $customer - > email);
            $response["msg"] = "invoice create successfully";
            $response["is_success"] = true;
            $response["data"] = $resultingObj - > Id;
            return $response;
        }
    }
    catch (\Exception $th)
    {
        $response["msg"] = "invoice not create";
        $response["is_success"] = false;
        $response["error"] = $th - > getMessage();
        return $response;
    }
}

Template edit error

Make Default error

...