Skip to content

Commit

Permalink
add PurchaseInvoicePayment
Browse files Browse the repository at this point in the history
  • Loading branch information
Spreeuw committed Jan 18, 2017
1 parent 575e68e commit 3dfb91d
Show file tree
Hide file tree
Showing 5 changed files with 81 additions and 27 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<?php namespace Picqer\Financials\Moneybird\Entities\Generic;

use Picqer\Financials\Moneybird\Model;

/**
* Class InvoicePayment
* @package Picqer\Financials\Moneybird\Entities\Generic
*/
abstract class InvoicePayment extends Model {

/**
* @var array
*/
protected $fillable = [
'id',
'invoice_type',
'invoice_id',
'financial_account_id',
'user_id',
'payment_transaction_id',
'price',
'price_base',
'payment_date',
'credit_invoice_id',
'financial_mutation_id',
'created_at',
'updated_at',
];

/**
* @var string
*/
protected $namespace = 'payment';
}
22 changes: 22 additions & 0 deletions src/Picqer/Financials/Moneybird/Entities/PurchaseInvoice.php
Original file line number Diff line number Diff line change
Expand Up @@ -72,4 +72,26 @@ class PurchaseInvoice extends Model
'type' => self::NESTING_TYPE_ARRAY_OF_OBJECTS,
],
];

/**
* Register a payment for the current purchase invoice
*
* @param PurchaseInvoicePayment $purchaseInvoicePayment (payment_date and price are required)
* @throws ApiException
*/
public function registerPayment(PurchaseInvoicePayment $purchaseInvoicePayment)
{
if (! isset($purchaseInvoicePayment->payment_date)) {
throw new ApiException('Required [payment_date] is missing');
}

if (! isset($purchaseInvoicePayment->price)) {
throw new ApiException('Required [price] is missing');
}

$this->connection()->patch($this->endpoint . '/' . $this->id . '/register_payment',
$purchaseInvoicePayment->jsonWithNamespace()
);
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?php namespace Picqer\Financials\Moneybird\Entities;

use Picqer\Financials\Moneybird\Entities\Generic\InvoicePayment;

/**
* Class SalesInvoicePayment
* @package Picqer\Financials\Moneybird\Entities
*/
class PurchaseInvoicePayment extends InvoicePayment
{
}
31 changes: 4 additions & 27 deletions src/Picqer/Financials/Moneybird/Entities/SalesInvoicePayment.php
Original file line number Diff line number Diff line change
@@ -1,34 +1,11 @@
<?php namespace Picqer\Financials\Moneybird\Entities;

use Picqer\Financials\Moneybird\Model;
use Picqer\Financials\Moneybird\Entities\Generic\InvoicePayment;

/**
* Class SalesInvoicePayment
* @package Picqer\Financials\Moneybird\Entities
*/
class SalesInvoicePayment extends Model {

/**
* @var array
*/
protected $fillable = [
'id',
'invoice_type',
'invoice_id',
'financial_account_id',
'user_id',
'payment_transaction_id',
'price',
'price_base',
'payment_date',
'credit_invoice_id',
'financial_mutation_id',
'created_at',
'updated_at',
];

/**
* @var string
*/
protected $namespace = 'payment';
}
class SalesInvoicePayment extends InvoicePayment
{
}
10 changes: 10 additions & 0 deletions src/Picqer/Financials/Moneybird/Moneybird.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
use Picqer\Financials\Moneybird\Entities\Product;
use Picqer\Financials\Moneybird\Entities\PurchaseInvoice;
use Picqer\Financials\Moneybird\Entities\PurchaseInvoiceDetail;
use Picqer\Financials\Moneybird\Entities\PurchaseInvoicePayment;
use Picqer\Financials\Moneybird\Entities\Receipt;
use Picqer\Financials\Moneybird\Entities\RecurringSalesInvoice;
use Picqer\Financials\Moneybird\Entities\Note;
Expand Down Expand Up @@ -214,6 +215,15 @@ public function purchaseInvoiceDetail($attributes = [])
return new PurchaseInvoiceDetail($this->connection, $attributes);
}

/**
* @param array $attributes
* @return PurchaseInvoicePayment
*/
public function purchaseInvoicePayment($attributes = [])
{
return new PurchaseInvoicePayment($this->connection, $attributes);
}

/**
* @param array $attributes
* @return Receipt
Expand Down

0 comments on commit 3dfb91d

Please sign in to comment.