我正在實作 Keith Palmer 的 QuickBooks PHP DevKit (https://github.com/consolibyte/quickbooks-php/),以便我的 PHP 應用程式可以透過 Quickbooks Web Connector 將資料傳遞到 Quickbooks Desktop。由於 PHP 和 Quickbooks 的更改,我遇到了一些問題,現在範例 Web 連接器應用程式可以正常運作並成功地將客戶傳遞到 Quickbooks。
我的實際目標是透過 PHP 來模擬在 Quickbooks 中透過相對簡單的過程完成的交易:
銀行業務-->使用註冊,(選擇帳戶),然後輸入付款或存款金額、帳戶、備忘錄和點擊記錄。
我認為這(至少是存款部分)可以透過使用 PHP DevKit 中的 QUICKBOOKS_ADD_DEPOSIT 方法透過 DepositAddRq 來完成。現在我正在重寫內容以使用此方法,我收到以下錯誤:
3180: 儲存存款行時發生錯誤。 QuickBooks 錯誤訊息:給定的記錄號碼不在存款付款清單中。
SOAP 伺服器正在產生以下 XML:
<?qbxml version="2.0"?> <QBXML> <QBXMLMsgsRq onError="stopOnError"> <DepositAddRq requestID="19"> <DepositAdd> <DepositToAccountRef> <FullName>test account</FullName> </DepositToAccountRef> <Memo>Memo</Memo> <DepositLineAdd> <PaymentTxnID>3D95-1071497093</PaymentTxnID> </DepositLineAdd> </DepositAdd> </DepositAddRq> </QBXMLMsgsRq> </QBXML>
我收到了 Quickbooks 的 XML 回應:
<?xml version="1.0" ?> <QBXML> <QBXMLMsgsRs> <DepositAddRs requestID="19" statusCode="3180" statusSeverity="Error" statusMessage="保存存款行时出错。 QuickBooks error message: The given record number is not in the Payments to Deposit list." /> </QBXMLMsgsRs> </QBXML>
在傳遞 DepositAddRq 的 QuickBooks SDK 15 範例 XML 程式碼時,我收到相同的錯誤:
<QBXMLMsgsRq onError="stopOnError"> <DepositAddRq requestID="0"> <DepositAdd> <DepositToAccountRef> <FullName>Checking</FullName> </DepositToAccountRef> <DepositLineAdd> <PaymentTxnID>3D95-1071497099</PaymentTxnID> </DepositLineAdd> </DepositAdd> </DepositAddRq> </QBXMLMsgsRq> </QBXML>
我是否應該使用完全不同的方法來記錄帳戶的存款和付款,是否需要額外的步驟,或者我的做法是否完全錯誤?
提前致謝!
這有點棘手,但是如果您查看文檔,您可以看到它想要什麼:
具體請看本節:
這表示您可以或提供付款連結(
)或您可以提供以下連結一個帳戶(
#)。您在貼文中描述的內容和您在 XML 中顯示的內容是兩件不同的事情。在 XML 中,您嘗試連結到現有的未存款付款(例如,您嘗試將現有付款標記為已存入銀行):
#但是您描述的是指定帳戶和備忘錄:
如果您嘗試模擬輸入帳戶、備忘錄等,則您需要提供 XML 來指定帳戶、備忘錄等。 例如,如下所示: p>