Я использую 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);
}