PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.22.0
GiveWP – Donation Plugin and Fundraising Platform v2.22.0
4.16.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 / PaymentGateways / PayPalCommerce / Models / PayPalPayment.php
give / src / PaymentGateways / PayPalCommerce / Models Last commit date
MerchantDetail.php 4 years ago PayPalOrder.php 4 years ago PayPalPayment.php 4 years ago WebhookConfig.php 4 years ago
PayPalPayment.php
122 lines
1 <?php
2
3 namespace Give\PaymentGateways\PayPalCommerce\Models;
4
5 use Give\Framework\Exceptions\Primitives\InvalidArgumentException;
6 use Give\Helpers\ArrayDataSet;
7
8 /**
9 * Class PayPalPayment
10 * @package Give\PaymentGateways\PayPalCommerce
11 *
12 * @since 2.9.0
13 */
14 class PayPalPayment
15 {
16 /**
17 * Payment Id.
18 *
19 * @since 2.9.0
20 *
21 * @var string
22 */
23 public $id;
24
25 /**
26 * Payment Amount.
27 *
28 * @since 2.9.0
29 *
30 * @var string
31 */
32 public $amount;
33
34 /**
35 * Payment status.
36 *
37 * @since 2.9.0
38 *
39 * @var string
40 */
41 public $status;
42
43 /**
44 * Payment creation time.
45 *
46 * @since 2.9.0
47 *
48 * @var string
49 */
50 public $createTime;
51
52 /**
53 * Payment update time.
54 *
55 * @since 2.9.0
56 *
57 * @var string
58 */
59 public $updateTime;
60
61 /**
62 * PayPal Payment action links.
63 *
64 * @since 2.9.0
65 *
66 * @var string
67 */
68 public $links;
69
70 /**
71 *
72 */
73 /**
74 * Create PayPalPayment object from given array.
75 *
76 * @since 2.9.0
77 *
78 * @param $array
79 *
80 * @return PayPalPayment
81 */
82 public static function fromArray($array)
83 {
84 /* @var PayPalPayment $payment */
85 $payment = give(__CLASS__);
86
87 $payment->validate($array);
88
89 $array = ArrayDataSet::camelCaseKeys($array);
90
91 foreach ($array as $itemName => $value) {
92 $payment->{$itemName} = $value;
93 }
94
95 return $payment;
96 }
97
98 /**
99 * Validate order given in array format.
100 *
101 * @since 2.9.0
102 *
103 * @param array $array
104 *
105 * @throws InvalidArgumentException
106 */
107 private function validate($array)
108 {
109 $required = ['id', 'amount', 'status', 'create_time', 'update_time', 'links'];
110 $array = array_filter($array); // Remove empty values.
111
112 if (array_diff($required, array_keys($array))) {
113 throw new InvalidArgumentException(
114 __(
115 'To create a PayPalPayment object, please provide valid id, amount, status, create_time, update_time and links',
116 'give'
117 )
118 );
119 }
120 }
121 }
122