如何使用PHP代码在quickbooks online sdk上发票付款

时间:2018-02-15 17:35:34

标签: php quickbooks quickbooks-online

我使用以下代码创建了发票:https://github.com/intuit/QuickBooks-V3-PHP-SDK/blob/master/src/_Samples/InvoiceCreate.php

但如何使用PHP sdk将此发票作为付款?

我在这里使用纸质支票付款......所以我创建的发票仅用于记账而不是发送给客户。 (不使用QBO付款) 所以当我收到付款时如何使用php sdk标记发票?

我尝试将“余额”更新为0,但不将其标记为已付款。

由于

2 个答案:

答案 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);