PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.17.1
GiveWP – Donation Plugin and Fundraising Platform v3.17.1
4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / src / ValueObjects / CardInfo.php
give / src / ValueObjects Last commit date
Address.php 4 years ago CardInfo.php 4 years ago DonorInfo.php 4 years ago Money.php 3 years ago ValueObjects.php 4 years ago
CardInfo.php
91 lines
1 <?php
2
3 namespace Give\ValueObjects;
4
5 use Give\Framework\Exceptions\Primitives\InvalidArgumentException;
6
7 /**
8 * Class CardInfo
9 *
10 * @package Give\ValueObjects
11 *
12 * @since 2.7.0
13 */
14 class CardInfo implements ValueObjects
15 {
16 /**
17 * Cardholder name.
18 *
19 * @var string
20 */
21 public $name;
22
23 /**
24 * Cardholder name.
25 *
26 * @var string
27 */
28 public $number;
29
30 /**
31 * Card security pin.
32 *
33 * @var string
34 */
35 public $cvc;
36
37 /**
38 * Card expire month
39 *
40 * @var string
41 */
42 public $expMonth;
43
44 /**
45 * Card expire year.
46 *
47 * @var string
48 */
49 public $expYear;
50
51 /**
52 * Address.
53 *
54 * @var Address
55 */
56 public $address;
57
58 /**
59 * Take array and return object.
60 *
61 * @param $array
62 *
63 * @return CardInfo
64 */
65 public static function fromArray($array)
66 {
67 $expectedKeys = ['name', 'cvc', 'expMonth', 'expYear', 'number', 'address'];
68
69 $array = array_intersect_key($array, array_flip($expectedKeys));
70
71 if (empty($array)) {
72 throw new InvalidArgumentException(
73 'Invalid DonorInfo object, must have the exact following keys: ' . implode(', ', $expectedKeys)
74 );
75 }
76
77 // Cast array "address" to Give\ValueObjects\Address object.
78 if ( ! empty($array['address'])) {
79 $array['address'] = Address::fromArray($array['address']);
80 }
81
82 $cardInfo = new self();
83
84 foreach ($array as $key => $value) {
85 $cardInfo->{$key} = $value;
86 }
87
88 return $cardInfo;
89 }
90 }
91