PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.27.0
GiveWP – Donation Plugin and Fundraising Platform v2.27.0
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 / Repositories / Settings.php
give / src / PaymentGateways / PayPalCommerce / Repositories Last commit date
Traits 4 years ago MerchantDetails.php 4 years ago PayPalAuth.php 3 years ago PayPalOrder.php 4 years ago Settings.php 3 years ago Webhooks.php 4 years ago
Settings.php
202 lines
1 <?php
2
3 namespace Give\PaymentGateways\PayPalCommerce\Repositories;
4
5 use Give\PaymentGateways\PayPalCommerce\Models\MerchantDetail;
6
7 class Settings
8 {
9 /**
10 * wp_options key for the account country
11 *
12 * @since 2.9.0
13 */
14 const COUNTRY_KEY = 'paypal_commerce_account_country';
15
16 /**
17 * wp_options key for the seller access token
18 *
19 * @since 2.9.0
20 */
21 const ACCESS_TOKEN_KEY = 'temp_give_paypal_commerce_seller_access_token';
22
23 /**
24 * wp_options key for the partner link details
25 *
26 * @since 2.9.0
27 */
28 const PARTNER_LINK_DETAIL_KEY = 'temp_give_paypal_commerce_partner_link';
29
30 /**
31 * give_settings key for the collect bulling details
32 *
33 * @since 2.11.1
34 */
35 const COLLECT_BILLING_DETAILS_KEY = 'paypal_commerce_collect_billing_details';
36
37 /**
38 * give_settings key for the collect bulling details
39 *
40 * @since 2.16.2
41 */
42 const TRANSACTION_TYPE = 'paypal_commerce_transaction_type';
43
44 /**
45 * Returns the country for the account
46 *
47 * @since 2.9.0
48 *
49 * @return string|null
50 */
51 public function getAccountCountry()
52 {
53 return get_option(self::COUNTRY_KEY, give_get_country());
54 }
55
56 /**
57 * Returns the PayPal merchant seller access token.
58 *
59 * @since 2.9.0
60 *
61 * @return array|null
62 */
63 public function getAccessToken()
64 {
65 return get_option(self::ACCESS_TOKEN_KEY, null);
66 }
67
68 /**
69 * Returns the account access token
70 *
71 * @since 2.9.0
72 *
73 * @return array|null
74 */
75 public function getTransactionType()
76 {
77 return give_get_option(self::TRANSACTION_TYPE, 'donation');
78 }
79
80 /**
81 * Updates the country account
82 *
83 * @param string $country
84 *
85 * @return bool
86 */
87 public function updateAccountCountry($country)
88 {
89 return update_option(self::COUNTRY_KEY, $country);
90 }
91
92 /**
93 * Updates the PayPal merchant seller access token.
94 *
95 * @param $token
96 *
97 * @return bool
98 */
99 public function updateAccessToken($token)
100 {
101 return update_option(self::ACCESS_TOKEN_KEY, $token);
102 }
103
104 /**
105 * Deletes the PayPal seller access token.
106 *
107 * @since 2.9.0
108 *
109 * @return bool
110 */
111 public function deleteAccessToken()
112 {
113 return delete_option(self::ACCESS_TOKEN_KEY);
114 }
115
116 /**
117 * Returns the partner link details
118 *
119 * @since 2.9.0
120 *
121 * @return string|null
122 */
123 public function getPartnerLinkDetails()
124 {
125 return get_option(self::PARTNER_LINK_DETAIL_KEY, null);
126 }
127
128 /**
129 * Updates the partner link details
130 *
131 * @param $linkDetails
132 *
133 * @return bool
134 */
135 public function updatePartnerLinkDetails($linkDetails)
136 {
137 return update_option(self::PARTNER_LINK_DETAIL_KEY, $linkDetails);
138 }
139
140 /**
141 * Deletes the partner link details
142 *
143 * @return bool
144 */
145 public function deletePartnerLinkDetails()
146 {
147 return delete_option(self::PARTNER_LINK_DETAIL_KEY);
148 }
149
150 /**
151 * Updates the partner link details
152 *
153 * @since 2.25.0
154 */
155 public function updateSellerAccessToken(array $sellerAccessToken): bool
156 {
157 return update_option($this->getSellerAccessTokenOptionName(), $sellerAccessToken);
158 }
159
160 /**
161 * Updates the partner link details
162 *
163 * @since 2.25.0
164 */
165 public function deleteSellerAccessToken(): bool
166 {
167 return delete_option($this->getSellerAccessTokenOptionName());
168 }
169
170 /**
171 * Deletes the partner link details
172 *
173 * @since 2.11.1
174 * @return bool
175 */
176 public function canCollectBillingInformation()
177 {
178 return give_is_setting_enabled(give_get_option(self::COLLECT_BILLING_DETAILS_KEY));
179 }
180
181 /**
182 * @since 2.16.2
183 */
184 public function isTransactionTypeDonation()
185 {
186 return 'donation' === $this->getTransactionType();
187 }
188
189 /**
190 * This function returns the seller access token option name
191 *
192 * @since 2.25.0
193 */
194 private function getSellerAccessTokenOptionName(): string
195 {
196 return sprintf(
197 'give_paypal_commerce_%s_seller_access_token',
198 give_is_test_mode() ? 'sandbox' : 'live'
199 );
200 }
201 }
202