-
Notifications
You must be signed in to change notification settings - Fork 455
Expand file tree
/
Copy pathEPC.php
More file actions
105 lines (94 loc) · 2.01 KB
/
EPC.php
File metadata and controls
105 lines (94 loc) · 2.01 KB
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
<?php
namespace SimpleSoftwareIO\QrCode\DataTypes;
class EPC implements DataTypeInterface
{
/**
* The prefix of the QrCode.
*
* @var string
*/
protected $prefix = 'epc:';
/**
* The BIC.
*
* @var string
*/
protected $bic;
/**
* The iban.
*
* @var string
*/
protected $iban;
/**
* The amount of credit_transfer.
*
* @var string
*/
protected $amount;
/**
* The Name of the Beneficiary.
*
* @var string
*/
protected $name;
/**
* The text.
*
* @var string
*/
protected $text;
/**
* Generates the DataType Object and sets all of its properties.
*
* @param $arguments
*/
public function create(array $arguments)
{
$this->setProperties($arguments);
}
/**
* Returns the correct QrCode format.
*
* @return string
*/
public function __toString()
{
$string = "BCD\n";
$string .= "002\n";
$string .= "2\n";
$string .= "SCT\n";
$string .= $this->bic."\n";
$string .= $this->name."\n";
$string .= $this->iban."\n";
$string .= 'EUR'.number_format($this->amount, 2)."\n";
$string .= "\n";
$string .= "\n";
$string .= $this->text."\n";
return $string;
}
/**
* Sets the properties.
*
* @param $arguments
*/
protected function setProperties(array $arguments)
{
$arguments = $arguments[0];
if (isset($arguments['bic'])) {
$this->bic = $arguments['bic'];
}
if (isset($arguments['iban'])) {
$this->iban = $arguments['iban'];
}
if (isset($arguments['amount'])) {
$this->amount = $arguments['amount'];
}
if (isset($arguments['name'])) {
$this->name = $arguments['name'];
}
if (isset($arguments['text'])) {
$this->text = $arguments['text'];
}
}
}