我使用以下代码创建了发票:https://github.com/intuit/QuickBooks-V3-PHP-SDK/blob/master/src/_Samples/InvoiceCreate.php
但如何使用PHP sdk将此发票作为付款?
我在这里使用纸质支票付款......所以我创建的发票仅用于记账而不是发送给客户。 (不使用QBO付款) 所以当我收到付款时如何使用php sdk标记发票?
我尝试将“余额”更新为0,但不将其标记为已付款。
由于
答案 0 :(得分:2)
我不是100%肯定这一点,但我认为您必须为该发票创建相当于发票全额的付款。要查看有效负载的所需内容,请参阅https://developer.intuit.com/docs/api/accounting/payment。
答案 1 :(得分:1)
首先,我真的建议您使用Keith Palmer编写的库,因为QBO文档是垃圾,而且到处都是。
话虽如此:
您需要从发票中返回交易ID:
return $resultingObj->TxnId;
然后使用提供该交易ID创建付款:
$invoiceId = CreateInvoice(); //returns txnId above
$qbLinkedInvoice = new IPPLinkedTxn();
$qbLinkedInvoice->TxnId = $invoiceId;
$qbLinkedInvoice->TxnType = 'Invoice';
$qbLine = new IPPLine();
$qbLine->Amount = "";//set amount;
$qbLine->LinkedTxn = $qbLinkedInvoice;
$qbPayment = new IPPPayment();
$qbPayment->CustomerRef = "";//customer id
$qbPayment->TotalAmt = "";//I think this must match amount above;
$qbPayment->Line = array($qbLine);
$createdQbPayment = $this->dataService->Add($qbPayment);