微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 php api 创建 QuickBooks 在线发票时出错

如何解决使用 php api 创建 QuickBooks 在线发票时出错

我在将发票保存到 quickbook online PHP api 时发现错误,这是我的代码, ...

require_once(__DIR__ . '/quickbook/vendor/autoload.PHP');
    $config = include('quickbook/config.PHP');

    use QuickBooksOnline\API\Core\ServiceContext;
    use QuickBooksOnline\API\DataService\DataService;
    use QuickBooksOnline\API\PlatformService\PlatformService;
    use QuickBooksOnline\API\Core\Http\Serialization\XmlObjectSerializer;
    use QuickBooksOnline\API\Facades\Invoice;


    //include("connect.PHP");
    session_start();
    $cid = $_REQUEST['cid'];

    $token_file = 'quickbook/token.txt';
    $atf = unserialize(file_get_contents($token_file));
    $accesstoken = $atf;

    $invoice_id = $_SESSION['invoice_id'];
    $firstname = $_SESSION['firstname'];
    $lastname = $_SESSION['lastname'];
    $company_name = $_SESSION['company_name'];
    $email = $_SESSION['email'];
    $cust_phone = $_SESSION['cust_phone'];
    $cust_address = $_SESSION['cust_address'];
    $cust_city = $_SESSION['cust_city'];
    $cust_pincode = $_SESSION['cust_pincode'];
    $cust_country = $_SESSION['cust_country'];
    $invoice_service = $_SESSION['invoice_service'];
    $invoice_amount = $_SESSION['invoice_amount'];

    $dataService = DataService::Configure(array(
        'auth_mode' => 'oauth2','ClientID' => $config['client_id'],'ClientSecret' =>  $config['client_secret'],'accesstokenKey'  => $accesstoken->getAccesstoken(),'refreshTokenKey' => $accesstoken->getRefreshToken(),'QBORealmID' => $accesstoken->getRealmID(),'baseUrl' => "development"
    ));

    $theResourceObj = Invoice::create([
        "DocNumber" => $invoice_id,"Line" => [
                       [
                         "Description" => $invoice_service,"Amount" => number_format($invoice_amount,2),"DetailType" => "SalesItemLineDetail","SalesItemLineDetail" => [
                           "ItemRef" => [
                             "value" => 1,"name" => "Services"
                            ],"UnitPrice" => $invoice_amount,"Qty" => 1
                          ]
                      ]
                    ],"CustomerRef"=> [
            "value"=> $cid,]
    ]);
    //print_r($theResourceObj);
    $resultingObj = $dataService->Add($theResourceObj);
    $error = $dataService->getLastError();
    if ($error) {
        echo "The Status code is: " . $error->getHttpStatusCode() . "<br>";
        echo "The Helper message is: " . $error->getoAuthHelperError() . "<br>";
        echo "The Response message is: " . $error->getResponseBody() . "<br>";
    }
    else {
        echo "Created Id={$resultingObj->Id}. Reconstructed response body:<br><br>";
        $xmlBody = XmlObjectSerializer::getPostXmlFromArbitraryEntity($resultingObj,$urlResource);
        echo $xmlBody . "<br>";
    }
    exit;
    //location('invoice.PHP');

....

这里有错误

        The Status code is: 400
        The Helper message is: Invalid auth/bad request (got a 400,expected HTTP/1.1 20X or a redirect)
        The Response message is: required param missing,need to supply the required value for the APIrequired parameter Line.Amount is missing in the request

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。