QUickbooks PHP SDK添加发票支付

QUickbooks PHP SDK add invoice payment

我正在尝试使用 Quickbooks PHP SDK 向发票添加付款。

我可以创建客户、发票、项目、销售行等,但是当涉及到正确的创建方式和link发票付款时,我有点卡住了。

这是我一直在尝试的:

$qbLinkedInvoice = new IPPLinkedTxn();
$qbLinkedInvoice->TxnId = 277; // the QB invoice ID
$qbLinkedInvoice->TxnType = 'Invoice';

$qbPayment = new IPPPayment();
$qbPayment->Amount = 10.0;
$qbPayment->CustomerRef = 164; // the QB cusotmer ID
$qbPayment->LinkedTxn = $qbLinkedInvoice;

$createdQbPayment = $this->dataService->Add($qbPayment);

但这只是给出:

CheckNullResponseAndThrowException - Response Null or Empty

这意味着某些内容的格式不正确。所有参考都是正确的(存在于 quickbooks、发票、客户等中)。

我一直在发送发票行项目,方法是创建一个 IPPSalesItemLineDetail 对象,然后将其分配给行,然后将其作为 'Line' 数组 属性 分配给发票发票是在 quickbooks 中创建的,但我似乎无法弄清楚如何发送付款并将其 link 发送到发票。

SDK 中也没有任何示例可以提供任何线索。

如有任何帮助,我们将不胜感激。谢谢

找到了操作方法。我缺少将 Payment 和 LinkedTxn 对象绑定在一起的 IPPLine 对象。这是有效的:

$qbLinkedInvoice = new IPPLinkedTxn();
$qbLinkedInvoice->TxnId = 277;
$qbLinkedInvoice->TxnType = 'Invoice';

$qbLine = new IPPLine();
$qbLine->Amount = 10.0;
$qbLine->LinkedTxn = $qbLinkedInvoice;

$qbPayment = new IPPPayment();
$qbPayment->CustomerRef = 164;
$qbPayment->TotalAmt = 10.0;
$qbPayment->Line = [$qbLine];

$createdQbPayment = $this->dataService->Add($qbPayment);

参考这里的例子,你使用的是PHP官方SDK,你可以只传一个数组来创建Invoice和Payment: https://github.com/intuit/QuickBooks-V3-PHP-SDK