PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.14.2
GiveWP – Donation Plugin and Fundraising Platform v3.14.2
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 / DonationForms / DataTransferObjects / LegacyPurchaseFormData.php
give / src / DonationForms / DataTransferObjects Last commit date
AuthenticationData.php 2 years ago DonateControllerData.php 2 years ago DonateFormRouteData.php 1 year ago DonateRouteData.php 2 years ago DonationConfirmationReceiptViewRouteData.php 2 years ago DonationFormGoalData.php 2 years ago DonationFormPreviewRouteData.php 2 years ago DonationFormQueryData.php 2 years ago DonationFormViewRouteData.php 2 years ago LegacyPurchaseFormData.php 2 years ago UserData.php 2 years ago ValidationRouteData.php 2 years ago
LegacyPurchaseFormData.php
86 lines
1 <?php
2
3 namespace Give\DonationForms\DataTransferObjects;
4
5 use Give\Donations\Models\Donation;
6 use Give\Donors\Models\Donor;
7
8 /**
9 * This DTO extracts the complexity of supplying an array for use in give_set_purchase_session()
10 *
11 * @since 3.0.0
12 */
13 class LegacyPurchaseFormData
14 {
15 /**
16 * @var Donation
17 */
18 public $donation;
19 /**
20 * @var Donor
21 */
22 public $donor;
23
24 /**
25 * @since 3.0.0
26 *
27 * @param array{donation: Donation, donor: Donation} $array
28 * @return LegacyPurchaseFormData
29 */
30 public static function fromArray(array $array): self
31 {
32 $self = new self();
33
34 $self->donation = $array['donation'];
35 $self->donor = $array['donor'];
36
37 return $self;
38 }
39
40 /**
41 * Returns shape needed for give_set_purchase_session()
42 *
43 * @since 3.0.0
44 */
45 public function toPurchaseData(): array
46 {
47 $address = [
48 'line1' => $this->donation->billingAddress->address1,
49 'line2' => $this->donation->billingAddress->address2,
50 'city' => $this->donation->billingAddress->city,
51 'state' => $this->donation->billingAddress->state,
52 'country' => $this->donation->billingAddress->country,
53 'zip' => $this->donation->billingAddress->zip
54 ];
55
56 return [
57 'donation_id' => $this->donation->id,
58 'price' => $this->donation->amount->formatToDecimal(),
59 'purchase_key' => $this->donation->purchaseKey,
60 'user_email' => $this->donor->email,
61 'date' => $this->donation->createdAt->format('Y-m-d H:i:s'),
62 'user_info' => [
63 'id' => $this->donor->id,
64 'firstName' => $this->donor->firstName,
65 'lastName' => $this->donor->lastName,
66 'title' => $this->donor->prefix,
67 'email' => $this->donor->email,
68 'address' => $address
69 ],
70 'post_data' => [
71 'amount' => $this->donation->amount->formatToDecimal(),
72 'first' => $this->donation->firstName,
73 'last' => $this->donation->lastName,
74 'email' => $this->donation->email,
75 'userId' => get_current_user_id(),
76 'gateway' => $this->donation->gatewayId,
77 ],
78 'gateway' => $this->donation->gatewayId,
79 'card_info' => [
80 'address' => $address
81 ],
82 ];
83 }
84
85 }
86