2017-03-21 60 views
0

我正在使用Xero Laravel包裝(https://github.com/amochohan/xerolaravel)並希望記錄根據發票進行的付款。我可以獲得發票,但無法找到如何使用Laravel Wrapper提供的付款記錄;PHP Xero Laravel記錄付款

我嘗試了幾個解決方案,但似乎沒有工作;

// Load the Invoice (Working) 
$invoice = XeroPrivate::loadByGUID('Accounting\\Invoice', 'RPT445-1'); 

$payment = \App::make('XeroPayment'); 
$payment->setInvoice($invoice); 
$payment->setDate(Carbon::now()); 
$payment->setAmount(100); 

$xero->save($payment); 

以上的回報這個問題

類XeroPayment不存在

誰能幫助?我可以找到Xero文檔,但這對於如何將其轉換爲Laravel沒有幫助。這可能是包裝沒有內置此功能,如果是的話,我將如何完成使用包裝所基於的https://github.com/calcinai/xero-php

+0

作曲家既是包裝又是Xero? – apokryfos

+0

是的,他們都在我的作曲家文件中。 –

+0

另外假設你已經註冊了服務提供者和別名,試着做一個'composer dump-autoload'和'php artisan cache:clear',如果你不在根名字空間中,也要確保你有'使用XeroPrivate'。 – apokryfos

回答

0

在xero-php庫的幫助下,我完成了下面的工作;

$invoice = XeroPrivate::loadByGUID('Accounting\\Invoice', 'INV-0038'); 
    $account = XeroPrivate::loadByGUID('Accounting\\Account', 'BD9E85E0-0478-433D-AE9F-0B3C4F04BFE4'); 

    $dateInstance = new \DateTime(); 

    $newPayment = new \XeroPHP\Models\Accounting\Payment(); 
    $newPayment 
     ->setInvoice($invoice) 
     ->setAccount($account) 
     ->setDate($dateInstance) 
     ->setAmount(10) 
     ->setIsReconciled(true) 
     ->setReference('Payment 45678'); 

    $posted_payment = XeroPrivate::save($newPayment);