Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
QUickbooks PHP SDK添加发票付款_Php_Api_Quickbooks - Fatal编程技术网

QUickbooks PHP SDK添加发票付款

QUickbooks PHP SDK添加发票付款,php,api,quickbooks,Php,Api,Quickbooks,我正在尝试使用Quickbooks PHP SDK将付款添加到发票中 我可以创建客户、发票、项目、销售线等,但当涉及到创建付款并将其链接到发票的正确方法时,我有点卡住了 这就是我一直在尝试的: $qbLinkedInvoice = new IPPLinkedTxn(); $qbLinkedInvoice->TxnId = 277; // the QB invoice ID $qbLinkedInvoice->TxnType = 'Invoice'; $qbPayment = new

我正在尝试使用Quickbooks PHP SDK将付款添加到发票中

我可以创建客户、发票、项目、销售线等,但当涉及到创建付款并将其链接到发票的正确方法时,我有点卡住了

这就是我一直在尝试的:

$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、发票、客户等中)

在quickbooks中创建发票时,我一直在通过创建IPPSalesItemLineDetail对象发送发票行项目,然后将其分配给行,然后将其作为“行”数组属性分配给发票,但我似乎不知道如何发送付款并将其链接到发票

SDK中也没有提供任何线索的示例


任何帮助都将不胜感激。谢谢。

找到了怎么做。我缺少一个IPPLine对象来将Payment和LinkedTxn对象绑定在一起。这就是成功的原因:

$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,您只需传递一个数组即可创建发票和付款:

Hello@Steven1978,我可以使用IPPLine()创建发票吗?谢谢,这是可行的,但付款方式如何。正如我所看到的,类中有$qbPayment->PaymentMethodRef,我认为这意味着您需要输入一个付款ID。如何获取这些ID并将其保存在数据库中?