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