PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.0.4
GiveWP – Donation Plugin and Fundraising Platform v3.0.4
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 / DataTransferObjects / GiveInsertPaymentData.php
give / src / PaymentGateways / DataTransferObjects Last commit date
FormData.php 3 years ago GiveInsertPaymentData.php 3 years ago SubscriptionData.php 3 years ago
GiveInsertPaymentData.php
143 lines
1 <?php
2
3 namespace Give\PaymentGateways\DataTransferObjects;
4
5 use Give\Donations\Properties\BillingAddress;
6
7 /**
8 * Class GiveInsertPaymentData
9 *
10 * This is used to expose data for use with give_insert_payment
11 *
12 * @since 2.18.0
13 */
14 final class GiveInsertPaymentData
15 {
16 /**
17 * @var float
18 */
19 public $price;
20 /**
21 * @var string
22 */
23 public $priceId;
24 /**
25 * @var string
26 */
27 public $date;
28 /**
29 * @var string
30 */
31 public $purchaseKey;
32 /**
33 * @var string
34 */
35 public $currency;
36 /**
37 * @var string
38 */
39 public $formTitle;
40 /**
41 * @var int
42 */
43 public $formId;
44 /**
45 * @var array
46 */
47 public $userInfo;
48 /**
49 * @var string
50 */
51 public $donorEmail;
52 /**
53 * @var string
54 */
55 public $paymentGateway;
56 /**
57 * @var int
58 */
59 public $donorId;
60
61 /**
62 * Convert data from array into DTO
63 *
64 * @since 2.18.0
65 *
66 * @return self
67 */
68 public static function fromArray(array $array)
69 {
70 $self = new static();
71
72 $self->donorId = $array['donorId'];
73 $self->price = $array['price'];
74 $self->priceId = $array['priceId'];
75 $self->formTitle = $array['formTitle'];
76 $self->formId = $array['formId'];
77 $self->currency = $array['currency'];
78 $self->date = $array['date'];
79 $self->purchaseKey = $array['purchaseKey'];
80 $self->donorEmail = $array['donorEmail'];
81 $self->userInfo = $array['userInfo'];
82 $self->paymentGateway = $array['paymentGateway'];
83
84 return $self;
85 }
86
87 /**
88 * @return array
89 */
90 public function toArray()
91 {
92 return [
93 'price' => $this->price,
94 'give_form_title' => $this->formTitle,
95 'give_form_id' => $this->formId,
96 'give_price_id' => $this->priceId,
97 'date' => $this->date,
98 'user_email' => $this->donorEmail,
99 'purchase_key' => $this->purchaseKey,
100 'currency' => $this->currency,
101 'user_info' => [
102 'id' => $this->userInfo['id'],
103 'title' => $this->userInfo['title'],
104 'email' => $this->userInfo['email'],
105 'first_name' => $this->userInfo['firstName'],
106 'last_name' => $this->userInfo['lastName'],
107 'donor_id' => $this->donorId,
108 'address' => $this->getLegacyBillingAddress(),
109 ],
110 'status' => 'pending',
111 ];
112 }
113
114 /**
115 * Should return donor billing address for donation.
116 *
117 * Check legacy code give_get_donation_form_user:1212
118 *
119 * @unlreased
120 *
121 * @return array|bool
122 */
123 private function getLegacyBillingAddress()
124 {
125 /* @var BillingAddress $donorDonationBillingAddress */
126 $donorDonationBillingAddress = $this->userInfo['address'];
127 $address = [
128 'line1' => $donorDonationBillingAddress->address1,
129 'line2' => $donorDonationBillingAddress->address2,
130 'city' => $donorDonationBillingAddress->city,
131 'state' => $donorDonationBillingAddress->state,
132 'zip' => $donorDonationBillingAddress->zip,
133 'country' => $donorDonationBillingAddress->country,
134 ];
135
136 if (! $donorDonationBillingAddress->country) {
137 $address = false;
138 }
139
140 return $address;
141 }
142 }
143