Выпуск Quickbooks Desktop php Library в "ReceivePaymentToDepositQuery" - PullRequest
0 голосов
/ 17 октября 2018

Я использую php-библиотеку quickbooks уже около года.Мой основной рабочий процесс в текущей системе:

.Ставить запросы, делая вызовы API.,Импортируйте файл qwc в соединитель и запустите.он будет извлекать запросы в очереди из сервера, обрабатывать их и возвращать ответ обратно на сервер.

Вот так выглядит моя кодовая база: https://github.com/consolibyte/quickbooks-php/blob/master/docs/web_connector/example_web_connector.php

Следуя приведенной выше кодовой базе,Я могу запросить счета, клиентов, счета, товары и т. д. Но мой запрос на получение списка неоплаченных платежей не работает.Я получил запрос xml здесь:

https://developer -static.intuit.com / qbSDK-current / Common / newOSR / index.html

Просто выберите "ReceivePaymentToDepositQueryRq "из выпадающего списка, вы увидите XML.Я также напечатал окончательный запрос XML, который формируется в журналах.Это выглядит так:

<QBXMLMsgsRq onError="stopOnError">

    <ReceivePaymentToDepositQueryRq metaData="MetaDataAndResponseData">

        <IncludeRetElement>TxnLineID</IncludeRetElement>

        <IncludeRetElement>TxnType</IncludeRetElement>

        <IncludeRetElement>CustomerRef</IncludeRetElement>

        <IncludeRetElement>TxnDate</IncludeRetElement>

        <IncludeRetElement>RefNumber</IncludeRetElement>

        <IncludeRetElement>Amount</IncludeRetElement>

        <IncludeRetElement>CurrencyRef</IncludeRetElement>

        <IncludeRetElement>ExchangeRate</IncludeRetElement>

        <IncludeRetElement>AmountInHomeCurrency</IncludeRetElement>

    </ReceivePaymentToDepositQueryRq>

</QBXMLMsgsRq>

Все выглядит хорошо до этого момента.Но проблема в том, что я не получаю результат обратно.Это даже не дает какой-либо детали ошибки, которая является более болезненной.Было бы здорово, если бы кто-нибудь из вас смог мне помочь.Заранее спасибо.

Примечание. В приведенном выше xml я пробовал как с тегами , так и без них.Не работал в обоих случаях.

По просьбе @Keith в комментариях я добавил свой код здесь:

function _quickbooks_ReceivePaymentToDeposit_request($requestID, $user, $action, $ID, $extra, &$err, $last_action_time, $last_actionident_time, $version, $locale)

{

$xml = '<?xml version="1.0" encoding="utf-8"?>
<?qbxml version="13.0"?>
<QBXML>
<QBXMLMsgsRq onError="stopOnError">
<ReceivePaymentToDepositQueryRq metaData="MetaDataAndResponseData">
<IncludeRetElement>TxnLineID</IncludeRetElement>
<IncludeRetElement>TxnType</IncludeRetElement>
<IncludeRetElement>CustomerRef</IncludeRetElement>
<IncludeRetElement>TxnDate</IncludeRetElement>
<IncludeRetElement>RefNumber</IncludeRetElement>
<IncludeRetElement>Amount</IncludeRetElement>
<IncludeRetElement>CurrencyRef</IncludeRetElement>
<IncludeRetElement>ExchangeRate</IncludeRetElement>
<IncludeRetElement>AmountInHomeCurrency</IncludeRetElement>
</ReceivePaymentToDepositQueryRq>
</QBXMLMsgsRq>
</QBXML>';

return $xml;

}

function _quickbooks_ReceivePaymentToDeposit_response ($ requestID, $ user, $ action, $ ID, $ extra, & $ err, $ last_action_time, $ last_actionident_time, $ xml, $ idents) {

$Createdon = date('Ymd');
$file = "logs/$Createdon.txt";
if (!file_exists($file)) {
    $myFile = fopen($file, "w") or die("Unable to open file!");
    fclose($myFile);
}
$current = file_get_contents($file);
$current .= "\n\n" . date("h:i:sa") . "\n" . $xml . "\n";
file_put_contents($file, $current);

}

...