-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathPayable.php
More file actions
45 lines (29 loc) · 936 Bytes
/
Payable.php
File metadata and controls
45 lines (29 loc) · 936 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<?php
declare(strict_types=1);
/**
* Contains the Payable interface.
*
* @copyright Copyright (c) 2019 Attila Fulop
* @author Attila Fulop
* @license MIT
* @since 2019-12-17
*
*/
namespace Vanilo\Contracts;
use Traversable;
interface Payable
{
public function getPayableId(): string;
public function getPayableType(): string;
public function getAmount(): float;
public function getCurrency(): string;
public function getBillpayer(): ?Billpayer;
public function getNumber(): string;
public function getPayableRemoteId(): ?string;
public function setPayableRemoteId(string $remoteId): void;
public static function findByPayableRemoteId(string $remoteId): ?Payable;
public function hasItems(): bool;
public function getItems(): Traversable;
/** The human readable representation, eg.: "Order no. ABC-123" */
public function getTitle(): string;
}