PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.11.3
GiveWP – Donation Plugin and Fundraising Platform v2.11.3
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 5 years ago CardInfo.php 5 years ago DonorInfo.php 5 years ago Money.php 5 years ago ValueObjects.php 6 years ago
CardInfo.php
90 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 * Cardholder name.
17 *
18 * @var string
19 */
20 public $name;
21
22 /**
23 * Cardholder name.
24 *
25 * @var string
26 */
27 public $number;
28
29 /**
30 * Card security pin.
31 *
32 * @var string
33 */
34 public $cvc;
35
36 /**
37 * Card expire month
38 *
39 * @var string
40 */
41 public $expMonth;
42
43 /**
44 * Card expire year.
45 *
46 * @var string
47 */
48 public $expYear;
49
50 /**
51 * Address.
52 *
53 * @var Address
54 */
55 public $address;
56
57
58 /**
59 * Take array and return object.
60 *
61 * @param $array
62 *
63 * @return CardInfo
64 */
65 public static function fromArray( $array ) {
66 $expectedKeys = [ 'name', 'cvc', 'expMonth', 'expYear', 'number', 'address' ];
67
68 $array = array_intersect_key( $array, array_flip( $expectedKeys ) );
69
70 if ( empty( $array ) ) {
71 throw new InvalidArgumentException(
72 'Invalid DonorInfo object, must have the exact following keys: ' . implode( ', ', $expectedKeys )
73 );
74 }
75
76 // Cast array "address" to Give\ValueObjects\Address object.
77 if ( ! empty( $array['address'] ) ) {
78 $array['address'] = Address::fromArray( $array['address'] );
79 }
80
81 $cardInfo = new self();
82
83 foreach ( $array as $key => $value ) {
84 $cardInfo->{$key} = $value;
85 }
86
87 return $cardInfo;
88 }
89 }
90