@@ -1,5 +1,5 @@ discard block |
||
1 | 1 | <?php |
2 | -if ( ! defined( 'ABSPATH' ) ) { |
|
2 | +if ( ! defined('ABSPATH')) { |
|
3 | 3 | exit; // Exit if accessed directly |
4 | 4 | } |
5 | 5 | |
@@ -20,28 +20,28 @@ discard block |
||
20 | 20 | * @since 4.0.0 |
21 | 21 | * @version 4.0.0 |
22 | 22 | */ |
23 | - public static function log( $message, $start_time = null, $end_time = null ) { |
|
24 | - if ( ! class_exists( 'WC_Logger' ) ) { |
|
23 | + public static function log($message, $start_time = null, $end_time = null) { |
|
24 | + if ( ! class_exists('WC_Logger')) { |
|
25 | 25 | return; |
26 | 26 | } |
27 | 27 | |
28 | - if ( apply_filters( 'wc_stripe_logging', true, $message ) ) { |
|
29 | - if ( empty( self::$logger ) ) { |
|
28 | + if (apply_filters('wc_stripe_logging', true, $message)) { |
|
29 | + if (empty(self::$logger)) { |
|
30 | 30 | self::$logger = wc_get_logger(); |
31 | 31 | } |
32 | 32 | |
33 | - $settings = get_option( 'woocommerce_stripe_settings' ); |
|
33 | + $settings = get_option('woocommerce_stripe_settings'); |
|
34 | 34 | |
35 | - if ( empty( $settings ) || isset( $settings['logging'] ) && 'yes' !== $settings['logging'] ) { |
|
35 | + if (empty($settings) || isset($settings['logging']) && 'yes' !== $settings['logging']) { |
|
36 | 36 | return; |
37 | 37 | } |
38 | 38 | |
39 | - if ( ! is_null( $start_time ) ) { |
|
39 | + if ( ! is_null($start_time)) { |
|
40 | 40 | |
41 | - $formatted_start_time = date_i18n( get_option( 'date_format' ) . ' g:ia', $start_time ); |
|
42 | - $end_time = is_null( $end_time ) ? current_time( 'timestamp' ) : $end_time; |
|
43 | - $formatted_end_time = date_i18n( get_option( 'date_format' ) . ' g:ia', $end_time ); |
|
44 | - $elapsed_time = round( abs( $end_time - $start_time ) / 60, 2 ); |
|
41 | + $formatted_start_time = date_i18n(get_option('date_format') . ' g:ia', $start_time); |
|
42 | + $end_time = is_null($end_time) ? current_time('timestamp') : $end_time; |
|
43 | + $formatted_end_time = date_i18n(get_option('date_format') . ' g:ia', $end_time); |
|
44 | + $elapsed_time = round(abs($end_time - $start_time) / 60, 2); |
|
45 | 45 | |
46 | 46 | $log_entry = "\n" . '====Stripe Version: ' . WC_STRIPE_VERSION . '====' . "\n"; |
47 | 47 | $log_entry .= '====Start Log ' . $formatted_start_time . '====' . "\n" . $message . "\n"; |
@@ -53,7 +53,7 @@ discard block |
||
53 | 53 | |
54 | 54 | } |
55 | 55 | |
56 | - self::$logger->debug( $log_entry, array( 'source' => self::WC_LOG_FILENAME ) ); |
|
56 | + self::$logger->debug($log_entry, array('source' => self::WC_LOG_FILENAME)); |
|
57 | 57 | } |
58 | 58 | } |
59 | 59 | } |
@@ -34,17 +34,17 @@ discard block |
||
34 | 34 | public function setUp() { |
35 | 35 | parent::setUp(); |
36 | 36 | |
37 | - $this->wc_stripe_subs_compat = $this->getMockBuilder( 'WC_Stripe_Subs_Compat' ) |
|
37 | + $this->wc_stripe_subs_compat = $this->getMockBuilder('WC_Stripe_Subs_Compat') |
|
38 | 38 | ->disableOriginalConstructor() |
39 | - ->setMethods( array( 'prepare_order_source', 'has_subscription', 'ensure_subscription_has_customer_id' ) ) |
|
39 | + ->setMethods(array('prepare_order_source', 'has_subscription', 'ensure_subscription_has_customer_id')) |
|
40 | 40 | ->getMock(); |
41 | 41 | |
42 | 42 | // Mocked in order to get metadata[payment_type] = recurring in the HTTP request. |
43 | 43 | $this->wc_stripe_subs_compat |
44 | - ->expects( $this->any() ) |
|
45 | - ->method( 'has_subscription' ) |
|
44 | + ->expects($this->any()) |
|
45 | + ->method('has_subscription') |
|
46 | 46 | ->will( |
47 | - $this->returnValue( true ) |
|
47 | + $this->returnValue(true) |
|
48 | 48 | ); |
49 | 49 | |
50 | 50 | $this->statement_descriptor = 'This is a statement descriptor.'; |
@@ -62,7 +62,7 @@ discard block |
||
62 | 62 | public function tearDown() { |
63 | 63 | parent::tearDown(); |
64 | 64 | |
65 | - delete_option( 'woocommerce_stripe_settings' ); |
|
65 | + delete_option('woocommerce_stripe_settings'); |
|
66 | 66 | } |
67 | 67 | |
68 | 68 | /** |
@@ -79,22 +79,22 @@ discard block |
||
79 | 79 | // Arrange: Some variables we'll use later. |
80 | 80 | $renewal_order = WC_Helper_Order::create_order(); |
81 | 81 | $amount = 20; // WC Subs sends an amount to be used, instead of using the order amount. |
82 | - $stripe_amount = WC_Stripe_Helper::get_stripe_amount( $amount ); |
|
83 | - $currency = strtolower( $renewal_order->get_currency() ); |
|
82 | + $stripe_amount = WC_Stripe_Helper::get_stripe_amount($amount); |
|
83 | + $currency = strtolower($renewal_order->get_currency()); |
|
84 | 84 | $customer = 'cus_123abc'; |
85 | 85 | $source = 'src_123abc'; |
86 | - $statement_descriptor = WC_Stripe_Helper::clean_statement_descriptor( $this->statement_descriptor ); |
|
86 | + $statement_descriptor = WC_Stripe_Helper::clean_statement_descriptor($this->statement_descriptor); |
|
87 | 87 | $should_retry = false; |
88 | 88 | $previous_error = false; |
89 | 89 | $payments_intents_api_endpoint = 'https://api.stripe.com/v1/payment_intents'; |
90 | 90 | $urls_used = array(); |
91 | 91 | |
92 | - $renewal_order->set_payment_method( 'stripe' ); |
|
92 | + $renewal_order->set_payment_method('stripe'); |
|
93 | 93 | |
94 | 94 | // Arrange: Mock prepare_order_source() so that we have a customer and source. |
95 | 95 | $this->wc_stripe_subs_compat |
96 | - ->expects( $this->any() ) |
|
97 | - ->method( 'prepare_order_source' ) |
|
96 | + ->expects($this->any()) |
|
97 | + ->method('prepare_order_source') |
|
98 | 98 | ->will( |
99 | 99 | $this->returnValue( |
100 | 100 | (object) array( |
@@ -108,7 +108,7 @@ discard block |
||
108 | 108 | |
109 | 109 | // Arrange: Add filter that will return a mocked HTTP response for the payment_intent call. |
110 | 110 | // Note: There are assertions in the callback function. |
111 | - $pre_http_request_response_callback = function( $preempt, $request_args, $url ) use ( |
|
111 | + $pre_http_request_response_callback = function($preempt, $request_args, $url) use ( |
|
112 | 112 | $renewal_order, |
113 | 113 | $stripe_amount, |
114 | 114 | $currency, |
@@ -119,35 +119,35 @@ discard block |
||
119 | 119 | &$urls_used |
120 | 120 | ) { |
121 | 121 | // Add all urls to array so we can later make assertions about which endpoints were used. |
122 | - array_push( $urls_used, $url ); |
|
122 | + array_push($urls_used, $url); |
|
123 | 123 | |
124 | 124 | // Continue without mocking the request if it's not the endpoint we care about. |
125 | - if ( $payments_intents_api_endpoint !== $url ) { |
|
125 | + if ($payments_intents_api_endpoint !== $url) { |
|
126 | 126 | return false; |
127 | 127 | } |
128 | 128 | |
129 | 129 | // Assert: the request method is POST. |
130 | - $this->assertArrayHasKey( 'method', $request_args ); |
|
131 | - $this->assertSame( 'POST', $request_args['method'] ); |
|
130 | + $this->assertArrayHasKey('method', $request_args); |
|
131 | + $this->assertSame('POST', $request_args['method']); |
|
132 | 132 | |
133 | 133 | // Assert: the request has a body. |
134 | - $this->assertArrayHasKey( 'body', $request_args ); |
|
134 | + $this->assertArrayHasKey('body', $request_args); |
|
135 | 135 | |
136 | 136 | // Assert: the request body contains these values. |
137 | 137 | $expected_request_body_values = array( |
138 | 138 | 'source' => $source, |
139 | 139 | 'amount' => $stripe_amount, |
140 | 140 | 'currency' => $currency, |
141 | - 'payment_method_types' => array( 'card' ), |
|
141 | + 'payment_method_types' => array('card'), |
|
142 | 142 | 'customer' => $customer, |
143 | 143 | 'off_session' => 'true', |
144 | 144 | 'confirm' => 'true', |
145 | 145 | 'confirmation_method' => 'automatic', |
146 | 146 | 'statement_descriptor' => $statement_descriptor, |
147 | 147 | ); |
148 | - foreach ( $expected_request_body_values as $key => $value ) { |
|
149 | - $this->assertArrayHasKey( $key, $request_args['body'] ); |
|
150 | - $this->assertSame( $value, $request_args['body'][ $key ] ); |
|
148 | + foreach ($expected_request_body_values as $key => $value) { |
|
149 | + $this->assertArrayHasKey($key, $request_args['body']); |
|
150 | + $this->assertSame($value, $request_args['body'][$key]); |
|
151 | 151 | } |
152 | 152 | |
153 | 153 | // Assert: the request body contains these keys, without checking for their value. |
@@ -155,8 +155,8 @@ discard block |
||
155 | 155 | 'description', |
156 | 156 | 'metadata', |
157 | 157 | ); |
158 | - foreach ( $expected_request_body_keys as $key ) { |
|
159 | - $this->assertArrayHasKey( $key, $request_args['body'] ); |
|
158 | + foreach ($expected_request_body_keys as $key) { |
|
159 | + $this->assertArrayHasKey($key, $request_args['body']); |
|
160 | 160 | } |
161 | 161 | |
162 | 162 | // Assert: the body metadata has these values. |
@@ -165,9 +165,9 @@ discard block |
||
165 | 165 | 'order_id' => $order_id, |
166 | 166 | 'payment_type' => 'recurring', |
167 | 167 | ); |
168 | - foreach ( $expected_metadata_values as $key => $value ) { |
|
169 | - $this->assertArrayHasKey( $key, $request_args['body']['metadata'] ); |
|
170 | - $this->assertSame( $value, $request_args['body']['metadata'][ $key ] ); |
|
168 | + foreach ($expected_metadata_values as $key => $value) { |
|
169 | + $this->assertArrayHasKey($key, $request_args['body']['metadata']); |
|
170 | + $this->assertSame($value, $request_args['body']['metadata'][$key]); |
|
171 | 171 | } |
172 | 172 | |
173 | 173 | // Assert: the body metadata has these keys, without checking for their value. |
@@ -176,8 +176,8 @@ discard block |
||
176 | 176 | 'customer_email', |
177 | 177 | 'site_url', |
178 | 178 | ); |
179 | - foreach ( $expected_metadata_keys as $key ) { |
|
180 | - $this->assertArrayHasKey( $key, $request_args['body']['metadata'] ); |
|
179 | + foreach ($expected_metadata_keys as $key) { |
|
180 | + $this->assertArrayHasKey($key, $request_args['body']['metadata']); |
|
181 | 181 | } |
182 | 182 | |
183 | 183 | // Assert: the request body does not contains these keys. |
@@ -186,15 +186,15 @@ discard block |
||
186 | 186 | 'capture_method', // The default ('automatic') is what we want in this case, so we leave it off. |
187 | 187 | 'expand[]', |
188 | 188 | ); |
189 | - foreach ( $expected_missing_request_body_keys as $key ) { |
|
190 | - $this->assertArrayNotHasKey( $key, $request_args['body'] ); |
|
189 | + foreach ($expected_missing_request_body_keys as $key) { |
|
190 | + $this->assertArrayNotHasKey($key, $request_args['body']); |
|
191 | 191 | } |
192 | 192 | |
193 | 193 | // Arrange: return dummy content as the response. |
194 | 194 | return array( |
195 | 195 | 'headers' => array(), |
196 | 196 | // Too bad we aren't dynamically setting things 'cus_123abc' when using this file. |
197 | - 'body' => file_get_contents( 'tests/phpunit/dummy-data/subscription_renewal_response_success.json' ), |
|
197 | + 'body' => file_get_contents('tests/phpunit/dummy-data/subscription_renewal_response_success.json'), |
|
198 | 198 | 'response' => array( |
199 | 199 | 'code' => 200, |
200 | 200 | 'message' => 'OK', |
@@ -204,48 +204,48 @@ discard block |
||
204 | 204 | ); |
205 | 205 | }; |
206 | 206 | |
207 | - add_filter( 'pre_http_request', $pre_http_request_response_callback, 10, 3 ); |
|
207 | + add_filter('pre_http_request', $pre_http_request_response_callback, 10, 3); |
|
208 | 208 | |
209 | 209 | // Arrange: Make sure to check that an action we care about was called |
210 | 210 | // by hooking into it. |
211 | 211 | $mock_action_process_payment = new MockAction(); |
212 | 212 | add_action( |
213 | 213 | 'wc_gateway_stripe_process_payment', |
214 | - [ &$mock_action_process_payment, 'action' ] |
|
214 | + [&$mock_action_process_payment, 'action'] |
|
215 | 215 | ); |
216 | 216 | |
217 | 217 | // Act: call process_subscription_payment(). |
218 | 218 | // We need to use `wc_stripe_subs_compat` here because we mocked this class earlier. |
219 | - $result = $this->wc_stripe_subs_compat->process_subscription_payment( 20, $renewal_order, $should_retry, $previous_error ); |
|
219 | + $result = $this->wc_stripe_subs_compat->process_subscription_payment(20, $renewal_order, $should_retry, $previous_error); |
|
220 | 220 | |
221 | 221 | // Assert: nothing was returned. |
222 | - $this->assertEquals( $result, null ); |
|
222 | + $this->assertEquals($result, null); |
|
223 | 223 | |
224 | 224 | // Assert that we saved the payment intent to the order. |
225 | 225 | $order_id = $renewal_order->get_id(); |
226 | - $order = wc_get_order( $order_id ); |
|
227 | - $order_data = $order->get_meta( '_stripe_intent_id' ); |
|
226 | + $order = wc_get_order($order_id); |
|
227 | + $order_data = $order->get_meta('_stripe_intent_id'); |
|
228 | 228 | |
229 | - $this->assertEquals( $order_data, 'pi_123abc' ); |
|
229 | + $this->assertEquals($order_data, 'pi_123abc'); |
|
230 | 230 | |
231 | 231 | // Transaction ID was saved to order. |
232 | 232 | $order_transaction_id = $order->get_transaction_id(); |
233 | - $this->assertEquals( $order_transaction_id, 'ch_123abc' ); |
|
233 | + $this->assertEquals($order_transaction_id, 'ch_123abc'); |
|
234 | 234 | |
235 | 235 | // Assert: the order was marked as processing (this is done in process_response()). |
236 | - $this->assertEquals( $order->get_status(), 'processing' ); |
|
236 | + $this->assertEquals($order->get_status(), 'processing'); |
|
237 | 237 | |
238 | 238 | // Assert: called payment intents. |
239 | - $this->assertTrue( in_array( $payments_intents_api_endpoint, $urls_used ) ); |
|
239 | + $this->assertTrue(in_array($payments_intents_api_endpoint, $urls_used)); |
|
240 | 240 | |
241 | 241 | // Assert: Our hook was called once. |
242 | - $this->assertEquals( 1, $mock_action_process_payment->get_call_count() ); |
|
242 | + $this->assertEquals(1, $mock_action_process_payment->get_call_count()); |
|
243 | 243 | |
244 | 244 | // Assert: Only our hook was called. |
245 | - $this->assertEquals( array( 'wc_gateway_stripe_process_payment' ), $mock_action_process_payment->get_tags() ); |
|
245 | + $this->assertEquals(array('wc_gateway_stripe_process_payment'), $mock_action_process_payment->get_tags()); |
|
246 | 246 | |
247 | 247 | // Clean up. |
248 | - remove_filter( 'pre_http_request', array( $this, 'pre_http_request_response_success' ) ); |
|
248 | + remove_filter('pre_http_request', array($this, 'pre_http_request_response_success')); |
|
249 | 249 | } |
250 | 250 | |
251 | 251 | /** |
@@ -262,8 +262,8 @@ discard block |
||
262 | 262 | // Arrange: Some variables we'll use later. |
263 | 263 | $renewal_order = WC_Helper_Order::create_order(); |
264 | 264 | $amount = 20; |
265 | - $stripe_amount = WC_Stripe_Helper::get_stripe_amount( $amount ); |
|
266 | - $currency = strtolower( $renewal_order->get_currency() ); |
|
265 | + $stripe_amount = WC_Stripe_Helper::get_stripe_amount($amount); |
|
266 | + $currency = strtolower($renewal_order->get_currency()); |
|
267 | 267 | $customer = 'cus_123abc'; |
268 | 268 | $source = 'src_123abc'; |
269 | 269 | $should_retry = false; |
@@ -273,8 +273,8 @@ discard block |
||
273 | 273 | |
274 | 274 | // Arrange: Mock prepare_order_source() so that we have a customer and source. |
275 | 275 | $this->wc_stripe_subs_compat |
276 | - ->expects( $this->any() ) |
|
277 | - ->method( 'prepare_order_source' ) |
|
276 | + ->expects($this->any()) |
|
277 | + ->method('prepare_order_source') |
|
278 | 278 | ->will( |
279 | 279 | $this->returnValue( |
280 | 280 | (object) array( |
@@ -287,7 +287,7 @@ discard block |
||
287 | 287 | ); |
288 | 288 | |
289 | 289 | // Arrange: Add filter that will return a mocked HTTP response for the payment_intent call. |
290 | - $pre_http_request_response_callback = function( $preempt, $request_args, $url ) use ( |
|
290 | + $pre_http_request_response_callback = function($preempt, $request_args, $url) use ( |
|
291 | 291 | $renewal_order, |
292 | 292 | $stripe_amount, |
293 | 293 | $currency, |
@@ -297,10 +297,10 @@ discard block |
||
297 | 297 | &$urls_used |
298 | 298 | ) { |
299 | 299 | // Add all urls to array so we can later make assertions about which endpoints were used. |
300 | - array_push( $urls_used, $url ); |
|
300 | + array_push($urls_used, $url); |
|
301 | 301 | |
302 | 302 | // Continue without mocking the request if it's not the endpoint we care about. |
303 | - if ( $payments_intents_api_endpoint !== $url ) { |
|
303 | + if ($payments_intents_api_endpoint !== $url) { |
|
304 | 304 | return false; |
305 | 305 | } |
306 | 306 | |
@@ -308,7 +308,7 @@ discard block |
||
308 | 308 | return array( |
309 | 309 | 'headers' => array(), |
310 | 310 | // Too bad we aren't dynamically setting things 'cus_123abc' when using this file. |
311 | - 'body' => file_get_contents( 'tests/phpunit/dummy-data/subscription_renewal_response_authentication_required.json' ), |
|
311 | + 'body' => file_get_contents('tests/phpunit/dummy-data/subscription_renewal_response_authentication_required.json'), |
|
312 | 312 | 'response' => array( |
313 | 313 | 'code' => 402, |
314 | 314 | 'message' => 'Payment Required', |
@@ -317,48 +317,48 @@ discard block |
||
317 | 317 | 'filename' => null, |
318 | 318 | ); |
319 | 319 | }; |
320 | - add_filter( 'pre_http_request', $pre_http_request_response_callback, 10, 3 ); |
|
320 | + add_filter('pre_http_request', $pre_http_request_response_callback, 10, 3); |
|
321 | 321 | |
322 | 322 | // Arrange: Make sure to check that an action we care about was called |
323 | 323 | // by hooking into it. |
324 | 324 | $mock_action_process_payment = new MockAction(); |
325 | 325 | add_action( |
326 | 326 | 'wc_gateway_stripe_process_payment_authentication_required', |
327 | - [ &$mock_action_process_payment, 'action' ] |
|
327 | + [&$mock_action_process_payment, 'action'] |
|
328 | 328 | ); |
329 | 329 | |
330 | 330 | // Act: call process_subscription_payment(). |
331 | 331 | // We need to use `wc_stripe_subs_compat` here because we mocked this class earlier. |
332 | - $result = $this->wc_stripe_subs_compat->process_subscription_payment( 20, $renewal_order, $should_retry, $previous_error ); |
|
332 | + $result = $this->wc_stripe_subs_compat->process_subscription_payment(20, $renewal_order, $should_retry, $previous_error); |
|
333 | 333 | |
334 | 334 | // Assert: nothing was returned. |
335 | - $this->assertEquals( $result, null ); |
|
335 | + $this->assertEquals($result, null); |
|
336 | 336 | |
337 | 337 | // Assert that we saved the payment intent to the order. |
338 | 338 | $order_id = $renewal_order->get_id(); |
339 | - $order = wc_get_order( $order_id ); |
|
340 | - $order_data = $order->get_meta( '_stripe_intent_id' ); |
|
339 | + $order = wc_get_order($order_id); |
|
340 | + $order_data = $order->get_meta('_stripe_intent_id'); |
|
341 | 341 | $order_transaction_id = $order->get_transaction_id(); |
342 | 342 | |
343 | 343 | // Intent was saved to order even though there was an error in the response body. |
344 | - $this->assertEquals( $order_data, 'pi_123abc' ); |
|
344 | + $this->assertEquals($order_data, 'pi_123abc'); |
|
345 | 345 | |
346 | 346 | // Transaction ID was saved to order. |
347 | - $this->assertEquals( $order_transaction_id, 'ch_123abc' ); |
|
347 | + $this->assertEquals($order_transaction_id, 'ch_123abc'); |
|
348 | 348 | |
349 | 349 | // Assert: the order was marked as failed. |
350 | - $this->assertEquals( $order->get_status(), 'failed' ); |
|
350 | + $this->assertEquals($order->get_status(), 'failed'); |
|
351 | 351 | |
352 | 352 | // Assert: called payment intents. |
353 | - $this->assertTrue( in_array( $payments_intents_api_endpoint, $urls_used ) ); |
|
353 | + $this->assertTrue(in_array($payments_intents_api_endpoint, $urls_used)); |
|
354 | 354 | |
355 | 355 | // Assert: Our hook was called once. |
356 | - $this->assertEquals( 1, $mock_action_process_payment->get_call_count() ); |
|
356 | + $this->assertEquals(1, $mock_action_process_payment->get_call_count()); |
|
357 | 357 | |
358 | 358 | // Assert: Only our hook was called. |
359 | - $this->assertEquals( array( 'wc_gateway_stripe_process_payment_authentication_required' ), $mock_action_process_payment->get_tags() ); |
|
359 | + $this->assertEquals(array('wc_gateway_stripe_process_payment_authentication_required'), $mock_action_process_payment->get_tags()); |
|
360 | 360 | |
361 | 361 | // Clean up. |
362 | - remove_filter( 'pre_http_request', array( $this, 'pre_http_request_response_success' ) ); |
|
362 | + remove_filter('pre_http_request', array($this, 'pre_http_request_response_success')); |
|
363 | 363 | } |
364 | 364 | } |
@@ -25,8 +25,8 @@ discard block |
||
25 | 25 | /** |
26 | 26 | * Helper function to update test order meta data |
27 | 27 | */ |
28 | - private function updateOrderMeta( $order, $key, $value ) { |
|
29 | - $order->update_meta_data( $key, $value ); |
|
28 | + private function updateOrderMeta($order, $key, $value) { |
|
29 | + $order->update_meta_data($key, $value); |
|
30 | 30 | } |
31 | 31 | |
32 | 32 | /** |
@@ -34,8 +34,8 @@ discard block |
||
34 | 34 | */ |
35 | 35 | public function test_default_get_payment_intent_from_order() { |
36 | 36 | $order = WC_Helper_Order::create_order(); |
37 | - $intent = $this->gateway->get_intent_from_order( $order ); |
|
38 | - $this->assertFalse( $intent ); |
|
37 | + $intent = $this->gateway->get_intent_from_order($order); |
|
38 | + $this->assertFalse($intent); |
|
39 | 39 | } |
40 | 40 | |
41 | 41 | /** |
@@ -43,30 +43,30 @@ discard block |
||
43 | 43 | */ |
44 | 44 | public function test_success_get_payment_intent_from_order() { |
45 | 45 | $order = WC_Helper_Order::create_order(); |
46 | - $this->updateOrderMeta( $order, '_stripe_intent_id', 'pi_123' ); |
|
47 | - $expected_intent = ( object ) [ 'id' => 'pi_123' ]; |
|
48 | - $callback = function( $preempt, $request_args, $url ) use ( $expected_intent ) { |
|
46 | + $this->updateOrderMeta($order, '_stripe_intent_id', 'pi_123'); |
|
47 | + $expected_intent = (object) ['id' => 'pi_123']; |
|
48 | + $callback = function($preempt, $request_args, $url) use ($expected_intent) { |
|
49 | 49 | $response = [ |
50 | 50 | 'headers' => [], |
51 | - 'body' => json_encode( $expected_intent ), |
|
51 | + 'body' => json_encode($expected_intent), |
|
52 | 52 | 'response' => [ |
53 | 53 | 'code' => 200, |
54 | 54 | 'message' => 'OK', |
55 | 55 | ], |
56 | 56 | ]; |
57 | 57 | |
58 | - $this->assertEquals( 'GET', $request_args['method'] ); |
|
59 | - $this->assertStringEndsWith( 'payment_intents/pi_123', $url ); |
|
58 | + $this->assertEquals('GET', $request_args['method']); |
|
59 | + $this->assertStringEndsWith('payment_intents/pi_123', $url); |
|
60 | 60 | |
61 | 61 | return $response; |
62 | 62 | }; |
63 | 63 | |
64 | - add_filter( 'pre_http_request', $callback, 10, 3); |
|
64 | + add_filter('pre_http_request', $callback, 10, 3); |
|
65 | 65 | |
66 | - $intent = $this->gateway->get_intent_from_order( $order ); |
|
67 | - $this->assertEquals( $expected_intent, $intent ); |
|
66 | + $intent = $this->gateway->get_intent_from_order($order); |
|
67 | + $this->assertEquals($expected_intent, $intent); |
|
68 | 68 | |
69 | - remove_filter( 'pre_http_request', $callback ); |
|
69 | + remove_filter('pre_http_request', $callback); |
|
70 | 70 | } |
71 | 71 | |
72 | 72 | /** |
@@ -74,34 +74,34 @@ discard block |
||
74 | 74 | */ |
75 | 75 | public function test_error_get_payment_intent_from_order() { |
76 | 76 | $order = WC_Helper_Order::create_order(); |
77 | - $this->updateOrderMeta( $order, '_stripe_intent_id', 'pi_123' ); |
|
78 | - $response_error = ( object ) [ |
|
77 | + $this->updateOrderMeta($order, '_stripe_intent_id', 'pi_123'); |
|
78 | + $response_error = (object) [ |
|
79 | 79 | 'error' => [ |
80 | 80 | 'code' => 'resource_missing', |
81 | 81 | 'message' => 'error_message' |
82 | 82 | ] |
83 | 83 | ]; |
84 | - $callback = function( $preempt, $request_args, $url ) use ( $response_error ) { |
|
84 | + $callback = function($preempt, $request_args, $url) use ($response_error) { |
|
85 | 85 | $response = [ |
86 | 86 | 'headers' => [], |
87 | - 'body' => json_encode( $response_error ), |
|
87 | + 'body' => json_encode($response_error), |
|
88 | 88 | 'response' => [ |
89 | 89 | 'code' => 404, |
90 | 90 | 'message' => 'ERR', |
91 | 91 | ], |
92 | 92 | ]; |
93 | 93 | |
94 | - $this->assertEquals( 'GET', $request_args['method'] ); |
|
95 | - $this->assertStringEndsWith( 'payment_intents/pi_123', $url ); |
|
94 | + $this->assertEquals('GET', $request_args['method']); |
|
95 | + $this->assertStringEndsWith('payment_intents/pi_123', $url); |
|
96 | 96 | |
97 | 97 | return $response; |
98 | 98 | }; |
99 | 99 | |
100 | - add_filter( 'pre_http_request', $callback, 10, 3); |
|
100 | + add_filter('pre_http_request', $callback, 10, 3); |
|
101 | 101 | |
102 | - $intent = $this->gateway->get_intent_from_order( $order ); |
|
103 | - $this->assertFalse( $intent ); |
|
102 | + $intent = $this->gateway->get_intent_from_order($order); |
|
103 | + $this->assertFalse($intent); |
|
104 | 104 | |
105 | - remove_filter( 'pre_http_request', $callback ); |
|
105 | + remove_filter('pre_http_request', $callback); |
|
106 | 106 | } |
107 | 107 | } |
@@ -34,9 +34,9 @@ discard block |
||
34 | 34 | public function setUp() { |
35 | 35 | parent::setUp(); |
36 | 36 | |
37 | - $this->wc_stripe_subs_compat = $this->getMockBuilder( 'WC_Stripe_Subs_Compat' ) |
|
37 | + $this->wc_stripe_subs_compat = $this->getMockBuilder('WC_Stripe_Subs_Compat') |
|
38 | 38 | ->disableOriginalConstructor() |
39 | - ->setMethods( array( 'prepare_source', 'has_subscription' ) ) |
|
39 | + ->setMethods(array('prepare_source', 'has_subscription')) |
|
40 | 40 | ->getMock(); |
41 | 41 | |
42 | 42 | // Mocked in order to get metadata[payment_type] = recurring in the HTTP request. |
@@ -54,7 +54,7 @@ discard block |
||
54 | 54 | */ |
55 | 55 | public function tearDown() { |
56 | 56 | parent::tearDown(); |
57 | - delete_option( 'woocommerce_stripe_settings' ); |
|
57 | + delete_option('woocommerce_stripe_settings'); |
|
58 | 58 | } |
59 | 59 | |
60 | 60 | /** |
@@ -70,21 +70,21 @@ discard block |
||
70 | 70 | public function test_initial_intent_parameters() { |
71 | 71 | $initial_order = WC_Helper_Order::create_order(); |
72 | 72 | $order_id = $initial_order->get_id(); |
73 | - $stripe_amount = WC_Stripe_Helper::get_stripe_amount( $initial_order->get_total() ); |
|
74 | - $currency = strtolower( $initial_order->get_currency() ); |
|
73 | + $stripe_amount = WC_Stripe_Helper::get_stripe_amount($initial_order->get_total()); |
|
74 | + $currency = strtolower($initial_order->get_currency()); |
|
75 | 75 | $customer = 'cus_123abc'; |
76 | 76 | $source = 'src_123abc'; |
77 | - $statement_descriptor = WC_Stripe_Helper::clean_statement_descriptor( $this->statement_descriptor ); |
|
77 | + $statement_descriptor = WC_Stripe_Helper::clean_statement_descriptor($this->statement_descriptor); |
|
78 | 78 | $intents_api_endpoint = 'https://api.stripe.com/v1/payment_intents'; |
79 | 79 | $urls_used = array(); |
80 | 80 | |
81 | - $initial_order->set_payment_method( 'stripe' ); |
|
81 | + $initial_order->set_payment_method('stripe'); |
|
82 | 82 | $initial_order->save(); |
83 | 83 | |
84 | 84 | // Arrange: Mock prepare_source() so that we have a customer and source. |
85 | 85 | $this->wc_stripe_subs_compat |
86 | - ->expects( $this->any() ) |
|
87 | - ->method( 'prepare_source' ) |
|
86 | + ->expects($this->any()) |
|
87 | + ->method('prepare_source') |
|
88 | 88 | ->will( |
89 | 89 | $this->returnValue( |
90 | 90 | (object) array( |
@@ -98,11 +98,11 @@ discard block |
||
98 | 98 | |
99 | 99 | // Emulate a subscription. |
100 | 100 | $this->wc_stripe_subs_compat |
101 | - ->expects( $this->any() ) |
|
102 | - ->method( 'has_subscription' ) |
|
103 | - ->will( $this->returnValue( true ) ); |
|
101 | + ->expects($this->any()) |
|
102 | + ->method('has_subscription') |
|
103 | + ->will($this->returnValue(true)); |
|
104 | 104 | |
105 | - $pre_http_request_response_callback = function( $preempt, $request_args, $url ) use ( |
|
105 | + $pre_http_request_response_callback = function($preempt, $request_args, $url) use ( |
|
106 | 106 | $stripe_amount, |
107 | 107 | $currency, |
108 | 108 | $customer, |
@@ -113,9 +113,9 @@ discard block |
||
113 | 113 | &$urls_used |
114 | 114 | ) { |
115 | 115 | // Add all urls to array so we can later make assertions about which endpoints were used. |
116 | - array_push( $urls_used, $url ); |
|
116 | + array_push($urls_used, $url); |
|
117 | 117 | // Continue without mocking the request if it's not the endpoint we care about. |
118 | - if ( 0 !== strpos( $url, $intents_api_endpoint ) ) { |
|
118 | + if (0 !== strpos($url, $intents_api_endpoint)) { |
|
119 | 119 | return false; |
120 | 120 | } |
121 | 121 | |
@@ -123,7 +123,7 @@ discard block |
||
123 | 123 | $response = array( |
124 | 124 | 'headers' => array(), |
125 | 125 | // Too bad we aren't dynamically setting things 'cus_123abc' when using this file. |
126 | - 'body' => file_get_contents( 'tests/phpunit/dummy-data/subscription_signup_response_success.json' ), |
|
126 | + 'body' => file_get_contents('tests/phpunit/dummy-data/subscription_signup_response_success.json'), |
|
127 | 127 | 'response' => array( |
128 | 128 | 'code' => 200, |
129 | 129 | 'message' => 'OK', |
@@ -133,17 +133,17 @@ discard block |
||
133 | 133 | ); |
134 | 134 | |
135 | 135 | // Respond with a successfull intent for confirmations. |
136 | - if ( $url !== $intents_api_endpoint ) { |
|
137 | - $response['body'] = str_replace( 'requires_confirmation', 'succeeded', $response['body'] ); |
|
136 | + if ($url !== $intents_api_endpoint) { |
|
137 | + $response['body'] = str_replace('requires_confirmation', 'succeeded', $response['body']); |
|
138 | 138 | return $response; |
139 | 139 | } |
140 | 140 | |
141 | 141 | // Assert: the request method is POST. |
142 | - $this->assertArrayHasKey( 'method', $request_args ); |
|
143 | - $this->assertSame( 'POST', $request_args['method'] ); |
|
142 | + $this->assertArrayHasKey('method', $request_args); |
|
143 | + $this->assertSame('POST', $request_args['method']); |
|
144 | 144 | |
145 | 145 | // Assert: the request has a body. |
146 | - $this->assertArrayHasKey( 'body', $request_args ); |
|
146 | + $this->assertArrayHasKey('body', $request_args); |
|
147 | 147 | |
148 | 148 | // Assert: the request body contains these values. |
149 | 149 | $expected_request_body_values = array( |
@@ -153,11 +153,11 @@ discard block |
||
153 | 153 | 'statement_descriptor' => $statement_descriptor, |
154 | 154 | 'customer' => $customer, |
155 | 155 | 'setup_future_usage' => 'off_session', |
156 | - 'payment_method_types' => array( 'card' ), |
|
156 | + 'payment_method_types' => array('card'), |
|
157 | 157 | ); |
158 | - foreach ( $expected_request_body_values as $key => $value ) { |
|
159 | - $this->assertArrayHasKey( $key, $request_args['body'] ); |
|
160 | - $this->assertSame( $value, $request_args['body'][ $key ] ); |
|
158 | + foreach ($expected_request_body_values as $key => $value) { |
|
159 | + $this->assertArrayHasKey($key, $request_args['body']); |
|
160 | + $this->assertSame($value, $request_args['body'][$key]); |
|
161 | 161 | } |
162 | 162 | |
163 | 163 | // Assert: the request body contains these keys, without checking for their value. |
@@ -165,44 +165,44 @@ discard block |
||
165 | 165 | 'description', |
166 | 166 | 'capture_method', |
167 | 167 | ); |
168 | - foreach ( $expected_request_body_keys as $key ) { |
|
169 | - $this->assertArrayHasKey( $key, $request_args['body'] ); |
|
168 | + foreach ($expected_request_body_keys as $key) { |
|
169 | + $this->assertArrayHasKey($key, $request_args['body']); |
|
170 | 170 | } |
171 | 171 | |
172 | 172 | // Assert: the body metadata contains the order ID. |
173 | - $this->assertSame( $order_id, absint( $request_args['body']['metadata']['order_id'] ) ); |
|
173 | + $this->assertSame($order_id, absint($request_args['body']['metadata']['order_id'])); |
|
174 | 174 | |
175 | 175 | // // Assert: the body metadata has these keys, without checking for their value. |
176 | 176 | $expected_metadata_keys = array( |
177 | 177 | 'customer_name', |
178 | 178 | 'customer_email', |
179 | 179 | ); |
180 | - foreach ( $expected_metadata_keys as $key ) { |
|
181 | - $this->assertArrayHasKey( $key, $request_args['body']['metadata'] ); |
|
180 | + foreach ($expected_metadata_keys as $key) { |
|
181 | + $this->assertArrayHasKey($key, $request_args['body']['metadata']); |
|
182 | 182 | } |
183 | 183 | |
184 | 184 | // Return dummy content as the response. |
185 | 185 | return $response; |
186 | 186 | }; |
187 | - add_filter( 'pre_http_request', $pre_http_request_response_callback, 10, 3 ); |
|
187 | + add_filter('pre_http_request', $pre_http_request_response_callback, 10, 3); |
|
188 | 188 | |
189 | 189 | // Act: call process_subscription_payment(). |
190 | 190 | // We need to use `wc_stripe_subs_compat` here because we mocked this class earlier. |
191 | - $result = $this->wc_stripe_subs_compat->process_payment( $order_id ); |
|
191 | + $result = $this->wc_stripe_subs_compat->process_payment($order_id); |
|
192 | 192 | |
193 | 193 | // Assert: nothing was returned. |
194 | - $this->assertEquals( $result['result'], 'success' ); |
|
195 | - $this->assertArrayHasKey( 'redirect', $result ); |
|
194 | + $this->assertEquals($result['result'], 'success'); |
|
195 | + $this->assertArrayHasKey('redirect', $result); |
|
196 | 196 | |
197 | - $order = wc_get_order( $order_id ); |
|
198 | - $order_data = $order->get_meta( '_stripe_intent_id' ); |
|
197 | + $order = wc_get_order($order_id); |
|
198 | + $order_data = $order->get_meta('_stripe_intent_id'); |
|
199 | 199 | |
200 | - $this->assertEquals( $order_data, 'pi_123abc' ); |
|
200 | + $this->assertEquals($order_data, 'pi_123abc'); |
|
201 | 201 | |
202 | 202 | // Assert: called payment intents. |
203 | - $this->assertTrue( in_array( $intents_api_endpoint, $urls_used, true ) ); |
|
203 | + $this->assertTrue(in_array($intents_api_endpoint, $urls_used, true)); |
|
204 | 204 | |
205 | 205 | // Clean up. |
206 | - remove_filter( 'pre_http_request', array( $this, 'pre_http_request_response_success' ) ); |
|
206 | + remove_filter('pre_http_request', array($this, 'pre_http_request_response_success')); |
|
207 | 207 | } |
208 | 208 | } |
@@ -123,10 +123,10 @@ |
||
123 | 123 | // in includes/abstracts/abstract-wc-stripe-payment-gateway.php |
124 | 124 | if ( $this->testmode ) { |
125 | 125 | return preg_match( '/^pk_test_/', $this->publishable_key ) |
126 | - && preg_match( '/^[rs]k_test_/', $this->secret_key ); |
|
126 | + && preg_match( '/^[rs]k_test_/', $this->secret_key ); |
|
127 | 127 | } else { |
128 | 128 | return preg_match( '/^pk_live_/', $this->publishable_key ) |
129 | - && preg_match( '/^[rs]k_live_/', $this->secret_key ); |
|
129 | + && preg_match( '/^[rs]k_live_/', $this->secret_key ); |
|
130 | 130 | } |
131 | 131 | } |
132 | 132 |
@@ -121,7 +121,7 @@ |
||
121 | 121 | * Get this instance. |
122 | 122 | * |
123 | 123 | * @since 4.0.6 |
124 | - * @return class |
|
124 | + * @return WC_Stripe_Payment_Request |
|
125 | 125 | */ |
126 | 126 | public static function instance() { |
127 | 127 | return self::$_this; |
@@ -8,7 +8,7 @@ discard block |
||
8 | 8 | * @since 4.0.0 |
9 | 9 | */ |
10 | 10 | |
11 | -if ( ! defined( 'ABSPATH' ) ) { |
|
11 | +if ( ! defined('ABSPATH')) { |
|
12 | 12 | exit; |
13 | 13 | } |
14 | 14 | |
@@ -66,35 +66,35 @@ discard block |
||
66 | 66 | */ |
67 | 67 | public function __construct() { |
68 | 68 | self::$_this = $this; |
69 | - $this->stripe_settings = get_option( 'woocommerce_stripe_settings', array() ); |
|
70 | - $this->testmode = ( ! empty( $this->stripe_settings['testmode'] ) && 'yes' === $this->stripe_settings['testmode'] ) ? true : false; |
|
71 | - $this->publishable_key = ! empty( $this->stripe_settings['publishable_key'] ) ? $this->stripe_settings['publishable_key'] : ''; |
|
72 | - $this->secret_key = ! empty( $this->stripe_settings['secret_key'] ) ? $this->stripe_settings['secret_key'] : ''; |
|
73 | - $this->total_label = ! empty( $this->stripe_settings['statement_descriptor'] ) ? WC_Stripe_Helper::clean_statement_descriptor( $this->stripe_settings['statement_descriptor'] ) : ''; |
|
69 | + $this->stripe_settings = get_option('woocommerce_stripe_settings', array()); |
|
70 | + $this->testmode = ( ! empty($this->stripe_settings['testmode']) && 'yes' === $this->stripe_settings['testmode']) ? true : false; |
|
71 | + $this->publishable_key = ! empty($this->stripe_settings['publishable_key']) ? $this->stripe_settings['publishable_key'] : ''; |
|
72 | + $this->secret_key = ! empty($this->stripe_settings['secret_key']) ? $this->stripe_settings['secret_key'] : ''; |
|
73 | + $this->total_label = ! empty($this->stripe_settings['statement_descriptor']) ? WC_Stripe_Helper::clean_statement_descriptor($this->stripe_settings['statement_descriptor']) : ''; |
|
74 | 74 | |
75 | - if ( $this->testmode ) { |
|
76 | - $this->publishable_key = ! empty( $this->stripe_settings['test_publishable_key'] ) ? $this->stripe_settings['test_publishable_key'] : ''; |
|
77 | - $this->secret_key = ! empty( $this->stripe_settings['test_secret_key'] ) ? $this->stripe_settings['test_secret_key'] : ''; |
|
75 | + if ($this->testmode) { |
|
76 | + $this->publishable_key = ! empty($this->stripe_settings['test_publishable_key']) ? $this->stripe_settings['test_publishable_key'] : ''; |
|
77 | + $this->secret_key = ! empty($this->stripe_settings['test_secret_key']) ? $this->stripe_settings['test_secret_key'] : ''; |
|
78 | 78 | } |
79 | 79 | |
80 | - $this->total_label = str_replace( "'", '', $this->total_label ) . apply_filters( 'wc_stripe_payment_request_total_label_suffix', ' (via WooCommerce)' ); |
|
80 | + $this->total_label = str_replace("'", '', $this->total_label) . apply_filters('wc_stripe_payment_request_total_label_suffix', ' (via WooCommerce)'); |
|
81 | 81 | |
82 | 82 | // Checks if Stripe Gateway is enabled. |
83 | - if ( empty( $this->stripe_settings ) || ( isset( $this->stripe_settings['enabled'] ) && 'yes' !== $this->stripe_settings['enabled'] ) ) { |
|
83 | + if (empty($this->stripe_settings) || (isset($this->stripe_settings['enabled']) && 'yes' !== $this->stripe_settings['enabled'])) { |
|
84 | 84 | return; |
85 | 85 | } |
86 | 86 | |
87 | 87 | // Checks if Payment Request is enabled. |
88 | - if ( ! isset( $this->stripe_settings['payment_request'] ) || 'yes' !== $this->stripe_settings['payment_request'] ) { |
|
88 | + if ( ! isset($this->stripe_settings['payment_request']) || 'yes' !== $this->stripe_settings['payment_request']) { |
|
89 | 89 | return; |
90 | 90 | } |
91 | 91 | |
92 | 92 | // Don't load for change payment method page. |
93 | - if ( isset( $_GET['change_payment_method'] ) ) { |
|
93 | + if (isset($_GET['change_payment_method'])) { |
|
94 | 94 | return; |
95 | 95 | } |
96 | 96 | |
97 | - add_action( 'template_redirect', array( $this, 'set_session' ) ); |
|
97 | + add_action('template_redirect', array($this, 'set_session')); |
|
98 | 98 | $this->init(); |
99 | 99 | } |
100 | 100 | |
@@ -107,12 +107,12 @@ discard block |
||
107 | 107 | public function are_keys_set() { |
108 | 108 | // NOTE: updates to this function should be added to are_keys_set() |
109 | 109 | // in includes/abstracts/abstract-wc-stripe-payment-gateway.php |
110 | - if ( $this->testmode ) { |
|
111 | - return preg_match( '/^pk_test_/', $this->publishable_key ) |
|
112 | - && preg_match( '/^[rs]k_test_/', $this->secret_key ); |
|
110 | + if ($this->testmode) { |
|
111 | + return preg_match('/^pk_test_/', $this->publishable_key) |
|
112 | + && preg_match('/^[rs]k_test_/', $this->secret_key); |
|
113 | 113 | } else { |
114 | - return preg_match( '/^pk_live_/', $this->publishable_key ) |
|
115 | - && preg_match( '/^[rs]k_live_/', $this->secret_key ); |
|
114 | + return preg_match('/^pk_live_/', $this->publishable_key) |
|
115 | + && preg_match('/^[rs]k_live_/', $this->secret_key); |
|
116 | 116 | } |
117 | 117 | } |
118 | 118 | |
@@ -134,11 +134,11 @@ discard block |
||
134 | 134 | * @return void |
135 | 135 | */ |
136 | 136 | public function set_session() { |
137 | - if ( ! is_product() || ( isset( WC()->session ) && WC()->session->has_session() ) ) { |
|
137 | + if ( ! is_product() || (isset(WC()->session) && WC()->session->has_session())) { |
|
138 | 138 | return; |
139 | 139 | } |
140 | 140 | |
141 | - WC()->session->set_customer_session_cookie( true ); |
|
141 | + WC()->session->set_customer_session_cookie(true); |
|
142 | 142 | } |
143 | 143 | |
144 | 144 | /** |
@@ -149,30 +149,30 @@ discard block |
||
149 | 149 | * @return void |
150 | 150 | */ |
151 | 151 | public function init() { |
152 | - add_action( 'wp_enqueue_scripts', array( $this, 'scripts' ) ); |
|
152 | + add_action('wp_enqueue_scripts', array($this, 'scripts')); |
|
153 | 153 | |
154 | - add_action( 'woocommerce_after_add_to_cart_quantity', array( $this, 'display_payment_request_button_html' ), 1 ); |
|
155 | - add_action( 'woocommerce_after_add_to_cart_quantity', array( $this, 'display_payment_request_button_separator_html' ), 2 ); |
|
154 | + add_action('woocommerce_after_add_to_cart_quantity', array($this, 'display_payment_request_button_html'), 1); |
|
155 | + add_action('woocommerce_after_add_to_cart_quantity', array($this, 'display_payment_request_button_separator_html'), 2); |
|
156 | 156 | |
157 | - add_action( 'woocommerce_proceed_to_checkout', array( $this, 'display_payment_request_button_html' ), 1 ); |
|
158 | - add_action( 'woocommerce_proceed_to_checkout', array( $this, 'display_payment_request_button_separator_html' ), 2 ); |
|
157 | + add_action('woocommerce_proceed_to_checkout', array($this, 'display_payment_request_button_html'), 1); |
|
158 | + add_action('woocommerce_proceed_to_checkout', array($this, 'display_payment_request_button_separator_html'), 2); |
|
159 | 159 | |
160 | - add_action( 'woocommerce_checkout_before_customer_details', array( $this, 'display_payment_request_button_html' ), 1 ); |
|
161 | - add_action( 'woocommerce_checkout_before_customer_details', array( $this, 'display_payment_request_button_separator_html' ), 2 ); |
|
160 | + add_action('woocommerce_checkout_before_customer_details', array($this, 'display_payment_request_button_html'), 1); |
|
161 | + add_action('woocommerce_checkout_before_customer_details', array($this, 'display_payment_request_button_separator_html'), 2); |
|
162 | 162 | |
163 | - add_action( 'wc_ajax_wc_stripe_get_cart_details', array( $this, 'ajax_get_cart_details' ) ); |
|
164 | - add_action( 'wc_ajax_wc_stripe_get_shipping_options', array( $this, 'ajax_get_shipping_options' ) ); |
|
165 | - add_action( 'wc_ajax_wc_stripe_update_shipping_method', array( $this, 'ajax_update_shipping_method' ) ); |
|
166 | - add_action( 'wc_ajax_wc_stripe_create_order', array( $this, 'ajax_create_order' ) ); |
|
167 | - add_action( 'wc_ajax_wc_stripe_add_to_cart', array( $this, 'ajax_add_to_cart' ) ); |
|
168 | - add_action( 'wc_ajax_wc_stripe_get_selected_product_data', array( $this, 'ajax_get_selected_product_data' ) ); |
|
169 | - add_action( 'wc_ajax_wc_stripe_clear_cart', array( $this, 'ajax_clear_cart' ) ); |
|
170 | - add_action( 'wc_ajax_wc_stripe_log_errors', array( $this, 'ajax_log_errors' ) ); |
|
163 | + add_action('wc_ajax_wc_stripe_get_cart_details', array($this, 'ajax_get_cart_details')); |
|
164 | + add_action('wc_ajax_wc_stripe_get_shipping_options', array($this, 'ajax_get_shipping_options')); |
|
165 | + add_action('wc_ajax_wc_stripe_update_shipping_method', array($this, 'ajax_update_shipping_method')); |
|
166 | + add_action('wc_ajax_wc_stripe_create_order', array($this, 'ajax_create_order')); |
|
167 | + add_action('wc_ajax_wc_stripe_add_to_cart', array($this, 'ajax_add_to_cart')); |
|
168 | + add_action('wc_ajax_wc_stripe_get_selected_product_data', array($this, 'ajax_get_selected_product_data')); |
|
169 | + add_action('wc_ajax_wc_stripe_clear_cart', array($this, 'ajax_clear_cart')); |
|
170 | + add_action('wc_ajax_wc_stripe_log_errors', array($this, 'ajax_log_errors')); |
|
171 | 171 | |
172 | - add_filter( 'woocommerce_gateway_title', array( $this, 'filter_gateway_title' ), 10, 2 ); |
|
173 | - add_filter( 'woocommerce_validate_postcode', array( $this, 'postal_code_validation' ), 10, 3 ); |
|
172 | + add_filter('woocommerce_gateway_title', array($this, 'filter_gateway_title'), 10, 2); |
|
173 | + add_filter('woocommerce_validate_postcode', array($this, 'postal_code_validation'), 10, 3); |
|
174 | 174 | |
175 | - add_action( 'woocommerce_checkout_order_processed', array( $this, 'add_order_meta' ), 10, 2 ); |
|
175 | + add_action('woocommerce_checkout_order_processed', array($this, 'add_order_meta'), 10, 2); |
|
176 | 176 | } |
177 | 177 | |
178 | 178 | /** |
@@ -183,7 +183,7 @@ discard block |
||
183 | 183 | * @return string |
184 | 184 | */ |
185 | 185 | public function get_button_type() { |
186 | - return isset( $this->stripe_settings['payment_request_button_type'] ) ? $this->stripe_settings['payment_request_button_type'] : 'default'; |
|
186 | + return isset($this->stripe_settings['payment_request_button_type']) ? $this->stripe_settings['payment_request_button_type'] : 'default'; |
|
187 | 187 | } |
188 | 188 | |
189 | 189 | /** |
@@ -194,7 +194,7 @@ discard block |
||
194 | 194 | * @return string |
195 | 195 | */ |
196 | 196 | public function get_button_theme() { |
197 | - return isset( $this->stripe_settings['payment_request_button_theme'] ) ? $this->stripe_settings['payment_request_button_theme'] : 'dark'; |
|
197 | + return isset($this->stripe_settings['payment_request_button_theme']) ? $this->stripe_settings['payment_request_button_theme'] : 'dark'; |
|
198 | 198 | } |
199 | 199 | |
200 | 200 | /** |
@@ -205,7 +205,7 @@ discard block |
||
205 | 205 | * @return string |
206 | 206 | */ |
207 | 207 | public function get_button_height() { |
208 | - return isset( $this->stripe_settings['payment_request_button_height'] ) ? str_replace( 'px', '', $this->stripe_settings['payment_request_button_height'] ) : '64'; |
|
208 | + return isset($this->stripe_settings['payment_request_button_height']) ? str_replace('px', '', $this->stripe_settings['payment_request_button_height']) : '64'; |
|
209 | 209 | } |
210 | 210 | |
211 | 211 | /** |
@@ -227,7 +227,7 @@ discard block |
||
227 | 227 | * @return string |
228 | 228 | */ |
229 | 229 | public function get_button_branded_type() { |
230 | - return isset( $this->stripe_settings['payment_request_button_branded_type'] ) ? $this->stripe_settings['payment_request_button_branded_type'] : 'default'; |
|
230 | + return isset($this->stripe_settings['payment_request_button_branded_type']) ? $this->stripe_settings['payment_request_button_branded_type'] : 'default'; |
|
231 | 231 | } |
232 | 232 | |
233 | 233 | /** |
@@ -260,7 +260,7 @@ discard block |
||
260 | 260 | * @return string |
261 | 261 | */ |
262 | 262 | public function get_button_label() { |
263 | - return isset( $this->stripe_settings['payment_request_button_label'] ) ? $this->stripe_settings['payment_request_button_label'] : 'Buy now'; |
|
263 | + return isset($this->stripe_settings['payment_request_button_label']) ? $this->stripe_settings['payment_request_button_label'] : 'Buy now'; |
|
264 | 264 | } |
265 | 265 | |
266 | 266 | /** |
@@ -271,22 +271,22 @@ discard block |
||
271 | 271 | * @return mixed Returns false if not on a product page, the product information otherwise. |
272 | 272 | */ |
273 | 273 | public function get_product_data() { |
274 | - if ( ! is_product() ) { |
|
274 | + if ( ! is_product()) { |
|
275 | 275 | return false; |
276 | 276 | } |
277 | 277 | |
278 | 278 | global $post; |
279 | 279 | |
280 | - $product = wc_get_product( $post->ID ); |
|
280 | + $product = wc_get_product($post->ID); |
|
281 | 281 | |
282 | - if ( 'variable' === $product->get_type() ) { |
|
283 | - $attributes = wc_clean( wp_unslash( $_GET ) ); |
|
282 | + if ('variable' === $product->get_type()) { |
|
283 | + $attributes = wc_clean(wp_unslash($_GET)); |
|
284 | 284 | |
285 | - $data_store = WC_Data_Store::load( 'product' ); |
|
286 | - $variation_id = $data_store->find_matching_product_variation( $product, $attributes ); |
|
285 | + $data_store = WC_Data_Store::load('product'); |
|
286 | + $variation_id = $data_store->find_matching_product_variation($product, $attributes); |
|
287 | 287 | |
288 | - if ( ! empty( $variation_id ) ) { |
|
289 | - $product = wc_get_product( $variation_id ); |
|
288 | + if ( ! empty($variation_id)) { |
|
289 | + $product = wc_get_product($variation_id); |
|
290 | 290 | } |
291 | 291 | } |
292 | 292 | |
@@ -295,27 +295,27 @@ discard block |
||
295 | 295 | |
296 | 296 | $items[] = array( |
297 | 297 | 'label' => $product->get_name(), |
298 | - 'amount' => WC_Stripe_Helper::get_stripe_amount( $product->get_price() ), |
|
298 | + 'amount' => WC_Stripe_Helper::get_stripe_amount($product->get_price()), |
|
299 | 299 | ); |
300 | 300 | |
301 | - if ( wc_tax_enabled() ) { |
|
301 | + if (wc_tax_enabled()) { |
|
302 | 302 | $items[] = array( |
303 | - 'label' => __( 'Tax', 'woocommerce-gateway-stripe' ), |
|
303 | + 'label' => __('Tax', 'woocommerce-gateway-stripe'), |
|
304 | 304 | 'amount' => 0, |
305 | 305 | 'pending' => true, |
306 | 306 | ); |
307 | 307 | } |
308 | 308 | |
309 | - if ( wc_shipping_enabled() && $product->needs_shipping() ) { |
|
309 | + if (wc_shipping_enabled() && $product->needs_shipping()) { |
|
310 | 310 | $items[] = array( |
311 | - 'label' => __( 'Shipping', 'woocommerce-gateway-stripe' ), |
|
311 | + 'label' => __('Shipping', 'woocommerce-gateway-stripe'), |
|
312 | 312 | 'amount' => 0, |
313 | 313 | 'pending' => true, |
314 | 314 | ); |
315 | 315 | |
316 | 316 | $data['shippingOptions'] = array( |
317 | 317 | 'id' => 'pending', |
318 | - 'label' => __( 'Pending', 'woocommerce-gateway-stripe' ), |
|
318 | + 'label' => __('Pending', 'woocommerce-gateway-stripe'), |
|
319 | 319 | 'detail' => '', |
320 | 320 | 'amount' => 0, |
321 | 321 | ); |
@@ -323,36 +323,36 @@ discard block |
||
323 | 323 | |
324 | 324 | $data['displayItems'] = $items; |
325 | 325 | $data['total'] = array( |
326 | - 'label' => apply_filters( 'wc_stripe_payment_request_total_label', $this->total_label ), |
|
327 | - 'amount' => WC_Stripe_Helper::get_stripe_amount( $product->get_price() ), |
|
326 | + 'label' => apply_filters('wc_stripe_payment_request_total_label', $this->total_label), |
|
327 | + 'amount' => WC_Stripe_Helper::get_stripe_amount($product->get_price()), |
|
328 | 328 | 'pending' => true, |
329 | 329 | ); |
330 | 330 | |
331 | - $data['requestShipping'] = ( wc_shipping_enabled() && $product->needs_shipping() ); |
|
332 | - $data['currency'] = strtolower( get_woocommerce_currency() ); |
|
333 | - $data['country_code'] = substr( get_option( 'woocommerce_default_country' ), 0, 2 ); |
|
331 | + $data['requestShipping'] = (wc_shipping_enabled() && $product->needs_shipping()); |
|
332 | + $data['currency'] = strtolower(get_woocommerce_currency()); |
|
333 | + $data['country_code'] = substr(get_option('woocommerce_default_country'), 0, 2); |
|
334 | 334 | |
335 | - return apply_filters( 'wc_stripe_payment_request_product_data', $data, $product ); |
|
335 | + return apply_filters('wc_stripe_payment_request_product_data', $data, $product); |
|
336 | 336 | } |
337 | 337 | |
338 | 338 | /** |
339 | 339 | * Filters the gateway title to reflect Payment Request type |
340 | 340 | */ |
341 | - public function filter_gateway_title( $title, $id ) { |
|
341 | + public function filter_gateway_title($title, $id) { |
|
342 | 342 | global $post; |
343 | 343 | |
344 | - if ( ! is_object( $post ) ) { |
|
344 | + if ( ! is_object($post)) { |
|
345 | 345 | return $title; |
346 | 346 | } |
347 | 347 | |
348 | - $order = wc_get_order( $post->ID ); |
|
349 | - $method_title = is_object( $order ) ? $order->get_payment_method_title() : ''; |
|
348 | + $order = wc_get_order($post->ID); |
|
349 | + $method_title = is_object($order) ? $order->get_payment_method_title() : ''; |
|
350 | 350 | |
351 | - if ( 'stripe' === $id && ! empty( $method_title ) && 'Apple Pay (Stripe)' === $method_title ) { |
|
351 | + if ('stripe' === $id && ! empty($method_title) && 'Apple Pay (Stripe)' === $method_title) { |
|
352 | 352 | return $method_title; |
353 | 353 | } |
354 | 354 | |
355 | - if ( 'stripe' === $id && ! empty( $method_title ) && 'Chrome Payment Request (Stripe)' === $method_title ) { |
|
355 | + if ('stripe' === $id && ! empty($method_title) && 'Chrome Payment Request (Stripe)' === $method_title) { |
|
356 | 356 | return $method_title; |
357 | 357 | } |
358 | 358 | |
@@ -365,16 +365,16 @@ discard block |
||
365 | 365 | * @since 3.1.4 |
366 | 366 | * @version 4.0.0 |
367 | 367 | */ |
368 | - public function postal_code_validation( $valid, $postcode, $country ) { |
|
368 | + public function postal_code_validation($valid, $postcode, $country) { |
|
369 | 369 | $gateways = WC()->payment_gateways->get_available_payment_gateways(); |
370 | 370 | |
371 | - if ( ! isset( $gateways['stripe'] ) ) { |
|
371 | + if ( ! isset($gateways['stripe'])) { |
|
372 | 372 | return $valid; |
373 | 373 | } |
374 | 374 | |
375 | - $payment_request_type = isset( $_POST['payment_request_type'] ) ? wc_clean( $_POST['payment_request_type'] ) : ''; |
|
375 | + $payment_request_type = isset($_POST['payment_request_type']) ? wc_clean($_POST['payment_request_type']) : ''; |
|
376 | 376 | |
377 | - if ( 'apple_pay' !== $payment_request_type ) { |
|
377 | + if ('apple_pay' !== $payment_request_type) { |
|
378 | 378 | return $valid; |
379 | 379 | } |
380 | 380 | |
@@ -384,7 +384,7 @@ discard block |
||
384 | 384 | * the order and not let it go through. The remedy for now is just to remove this validation. |
385 | 385 | * Note that this only works with shipping providers that don't validate full postal codes. |
386 | 386 | */ |
387 | - if ( 'GB' === $country || 'CA' === $country ) { |
|
387 | + if ('GB' === $country || 'CA' === $country) { |
|
388 | 388 | return true; |
389 | 389 | } |
390 | 390 | |
@@ -401,22 +401,22 @@ discard block |
||
401 | 401 | * @version 4.0.0 |
402 | 402 | * @return void |
403 | 403 | */ |
404 | - public function add_order_meta( $order_id, $posted_data ) { |
|
405 | - if ( empty( $_POST['payment_request_type'] ) ) { |
|
404 | + public function add_order_meta($order_id, $posted_data) { |
|
405 | + if (empty($_POST['payment_request_type'])) { |
|
406 | 406 | return; |
407 | 407 | } |
408 | 408 | |
409 | - $order = wc_get_order( $order_id ); |
|
409 | + $order = wc_get_order($order_id); |
|
410 | 410 | |
411 | - $payment_request_type = wc_clean( $_POST['payment_request_type'] ); |
|
411 | + $payment_request_type = wc_clean($_POST['payment_request_type']); |
|
412 | 412 | |
413 | - if ( 'apple_pay' === $payment_request_type ) { |
|
414 | - $order->set_payment_method_title( 'Apple Pay (Stripe)' ); |
|
413 | + if ('apple_pay' === $payment_request_type) { |
|
414 | + $order->set_payment_method_title('Apple Pay (Stripe)'); |
|
415 | 415 | $order->save(); |
416 | 416 | } |
417 | 417 | |
418 | - if ( 'payment_request_api' === $payment_request_type ) { |
|
419 | - $order->set_payment_method_title( 'Chrome Payment Request (Stripe)' ); |
|
418 | + if ('payment_request_api' === $payment_request_type) { |
|
419 | + $order->set_payment_method_title('Chrome Payment Request (Stripe)'); |
|
420 | 420 | $order->save(); |
421 | 421 | } |
422 | 422 | } |
@@ -454,20 +454,20 @@ discard block |
||
454 | 454 | * @return boolean |
455 | 455 | */ |
456 | 456 | public function allowed_items_in_cart() { |
457 | - foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) { |
|
458 | - $_product = apply_filters( 'woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key ); |
|
457 | + foreach (WC()->cart->get_cart() as $cart_item_key => $cart_item) { |
|
458 | + $_product = apply_filters('woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key); |
|
459 | 459 | |
460 | - if ( ! in_array( $_product->get_type(), $this->supported_product_types() ) ) { |
|
460 | + if ( ! in_array($_product->get_type(), $this->supported_product_types())) { |
|
461 | 461 | return false; |
462 | 462 | } |
463 | 463 | |
464 | 464 | // Trial subscriptions with shipping are not supported |
465 | - if ( class_exists( 'WC_Subscriptions_Order' ) && WC_Subscriptions_Cart::cart_contains_subscription() && $_product->needs_shipping() && WC_Subscriptions_Product::get_trial_length( $_product ) > 0 ) { |
|
465 | + if (class_exists('WC_Subscriptions_Order') && WC_Subscriptions_Cart::cart_contains_subscription() && $_product->needs_shipping() && WC_Subscriptions_Product::get_trial_length($_product) > 0) { |
|
466 | 466 | return false; |
467 | 467 | } |
468 | 468 | |
469 | 469 | // Pre Orders compatbility where we don't support charge upon release. |
470 | - if ( class_exists( 'WC_Pre_Orders_Order' ) && WC_Pre_Orders_Cart::cart_contains_pre_order() && WC_Pre_Orders_Product::product_is_charged_upon_release( WC_Pre_Orders_Cart::get_pre_order_product() ) ) { |
|
470 | + if (class_exists('WC_Pre_Orders_Order') && WC_Pre_Orders_Cart::cart_contains_pre_order() && WC_Pre_Orders_Product::product_is_charged_upon_release(WC_Pre_Orders_Cart::get_pre_order_product())) { |
|
471 | 471 | return false; |
472 | 472 | } |
473 | 473 | } |
@@ -483,61 +483,61 @@ discard block |
||
483 | 483 | */ |
484 | 484 | public function scripts() { |
485 | 485 | // If keys are not set bail. |
486 | - if ( ! $this->are_keys_set() ) { |
|
487 | - WC_Stripe_Logger::log( 'Keys are not set correctly.' ); |
|
486 | + if ( ! $this->are_keys_set()) { |
|
487 | + WC_Stripe_Logger::log('Keys are not set correctly.'); |
|
488 | 488 | return; |
489 | 489 | } |
490 | 490 | |
491 | 491 | // If no SSL bail. |
492 | - if ( ! $this->testmode && ! is_ssl() ) { |
|
493 | - WC_Stripe_Logger::log( 'Stripe Payment Request live mode requires SSL.' ); |
|
492 | + if ( ! $this->testmode && ! is_ssl()) { |
|
493 | + WC_Stripe_Logger::log('Stripe Payment Request live mode requires SSL.'); |
|
494 | 494 | return; |
495 | 495 | } |
496 | 496 | |
497 | - if ( ! is_product() && ! is_cart() && ! is_checkout() && ! isset( $_GET['pay_for_order'] ) ) { |
|
497 | + if ( ! is_product() && ! is_cart() && ! is_checkout() && ! isset($_GET['pay_for_order'])) { |
|
498 | 498 | return; |
499 | 499 | } |
500 | 500 | |
501 | - if ( is_product() && ! $this->should_show_payment_button_on_product_page() ) { |
|
501 | + if (is_product() && ! $this->should_show_payment_button_on_product_page()) { |
|
502 | 502 | return; |
503 | 503 | } |
504 | 504 | |
505 | - $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'; |
|
505 | + $suffix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min'; |
|
506 | 506 | |
507 | 507 | $stripe_params = array( |
508 | - 'ajax_url' => WC_AJAX::get_endpoint( '%%endpoint%%' ), |
|
508 | + 'ajax_url' => WC_AJAX::get_endpoint('%%endpoint%%'), |
|
509 | 509 | 'stripe' => array( |
510 | 510 | 'key' => $this->publishable_key, |
511 | - 'allow_prepaid_card' => apply_filters( 'wc_stripe_allow_prepaid_card', true ) ? 'yes' : 'no', |
|
511 | + 'allow_prepaid_card' => apply_filters('wc_stripe_allow_prepaid_card', true) ? 'yes' : 'no', |
|
512 | 512 | ), |
513 | 513 | 'nonce' => array( |
514 | - 'payment' => wp_create_nonce( 'wc-stripe-payment-request' ), |
|
515 | - 'shipping' => wp_create_nonce( 'wc-stripe-payment-request-shipping' ), |
|
516 | - 'update_shipping' => wp_create_nonce( 'wc-stripe-update-shipping-method' ), |
|
517 | - 'checkout' => wp_create_nonce( 'woocommerce-process_checkout' ), |
|
518 | - 'add_to_cart' => wp_create_nonce( 'wc-stripe-add-to-cart' ), |
|
519 | - 'get_selected_product_data' => wp_create_nonce( 'wc-stripe-get-selected-product-data' ), |
|
520 | - 'log_errors' => wp_create_nonce( 'wc-stripe-log-errors' ), |
|
521 | - 'clear_cart' => wp_create_nonce( 'wc-stripe-clear-cart' ), |
|
514 | + 'payment' => wp_create_nonce('wc-stripe-payment-request'), |
|
515 | + 'shipping' => wp_create_nonce('wc-stripe-payment-request-shipping'), |
|
516 | + 'update_shipping' => wp_create_nonce('wc-stripe-update-shipping-method'), |
|
517 | + 'checkout' => wp_create_nonce('woocommerce-process_checkout'), |
|
518 | + 'add_to_cart' => wp_create_nonce('wc-stripe-add-to-cart'), |
|
519 | + 'get_selected_product_data' => wp_create_nonce('wc-stripe-get-selected-product-data'), |
|
520 | + 'log_errors' => wp_create_nonce('wc-stripe-log-errors'), |
|
521 | + 'clear_cart' => wp_create_nonce('wc-stripe-clear-cart'), |
|
522 | 522 | ), |
523 | 523 | 'i18n' => array( |
524 | - 'no_prepaid_card' => __( 'Sorry, we\'re not accepting prepaid cards at this time.', 'woocommerce-gateway-stripe' ), |
|
524 | + 'no_prepaid_card' => __('Sorry, we\'re not accepting prepaid cards at this time.', 'woocommerce-gateway-stripe'), |
|
525 | 525 | /* translators: Do not translate the [option] placeholder */ |
526 | - 'unknown_shipping' => __( 'Unknown shipping option "[option]".', 'woocommerce-gateway-stripe' ), |
|
526 | + 'unknown_shipping' => __('Unknown shipping option "[option]".', 'woocommerce-gateway-stripe'), |
|
527 | 527 | ), |
528 | 528 | 'checkout' => array( |
529 | 529 | 'url' => wc_get_checkout_url(), |
530 | - 'currency_code' => strtolower( get_woocommerce_currency() ), |
|
531 | - 'country_code' => substr( get_option( 'woocommerce_default_country' ), 0, 2 ), |
|
530 | + 'currency_code' => strtolower(get_woocommerce_currency()), |
|
531 | + 'country_code' => substr(get_option('woocommerce_default_country'), 0, 2), |
|
532 | 532 | 'needs_shipping' => WC()->cart->needs_shipping() ? 'yes' : 'no', |
533 | 533 | // Defaults to 'required' to match how core initializes this option. |
534 | - 'needs_payer_phone' => 'required' === get_option( 'woocommerce_checkout_phone_field', 'required' ), |
|
534 | + 'needs_payer_phone' => 'required' === get_option('woocommerce_checkout_phone_field', 'required'), |
|
535 | 535 | ), |
536 | 536 | 'button' => array( |
537 | 537 | 'type' => $this->get_button_type(), |
538 | 538 | 'theme' => $this->get_button_theme(), |
539 | 539 | 'height' => $this->get_button_height(), |
540 | - 'locale' => apply_filters( 'wc_stripe_payment_request_button_locale', substr( get_locale(), 0, 2 ) ), // Default format is en_US. |
|
540 | + 'locale' => apply_filters('wc_stripe_payment_request_button_locale', substr(get_locale(), 0, 2)), // Default format is en_US. |
|
541 | 541 | 'is_custom' => $this->is_custom_button(), |
542 | 542 | 'is_branded' => $this->is_branded_button(), |
543 | 543 | 'css_selector' => $this->custom_button_selector(), |
@@ -547,15 +547,15 @@ discard block |
||
547 | 547 | 'product' => $this->get_product_data(), |
548 | 548 | ); |
549 | 549 | |
550 | - wp_register_script( 'stripe', 'https://js.stripe.com/v3/', '', '3.0', true ); |
|
551 | - wp_register_script( 'wc_stripe_payment_request', plugins_url( 'assets/js/stripe-payment-request' . $suffix . '.js', WC_STRIPE_MAIN_FILE ), array( 'jquery', 'stripe' ), WC_STRIPE_VERSION, true ); |
|
550 | + wp_register_script('stripe', 'https://js.stripe.com/v3/', '', '3.0', true); |
|
551 | + wp_register_script('wc_stripe_payment_request', plugins_url('assets/js/stripe-payment-request' . $suffix . '.js', WC_STRIPE_MAIN_FILE), array('jquery', 'stripe'), WC_STRIPE_VERSION, true); |
|
552 | 552 | |
553 | - wp_localize_script( 'wc_stripe_payment_request', 'wc_stripe_payment_request_params', apply_filters( 'wc_stripe_payment_request_params', $stripe_params ) ); |
|
553 | + wp_localize_script('wc_stripe_payment_request', 'wc_stripe_payment_request_params', apply_filters('wc_stripe_payment_request_params', $stripe_params)); |
|
554 | 554 | |
555 | - wp_enqueue_script( 'wc_stripe_payment_request' ); |
|
555 | + wp_enqueue_script('wc_stripe_payment_request'); |
|
556 | 556 | |
557 | 557 | $gateways = WC()->payment_gateways->get_available_payment_gateways(); |
558 | - if ( isset( $gateways['stripe'] ) ) { |
|
558 | + if (isset($gateways['stripe'])) { |
|
559 | 559 | $gateways['stripe']->payment_scripts(); |
560 | 560 | } |
561 | 561 | } |
@@ -571,31 +571,31 @@ discard block |
||
571 | 571 | |
572 | 572 | $gateways = WC()->payment_gateways->get_available_payment_gateways(); |
573 | 573 | |
574 | - if ( ! isset( $gateways['stripe'] ) ) { |
|
574 | + if ( ! isset($gateways['stripe'])) { |
|
575 | 575 | return; |
576 | 576 | } |
577 | 577 | |
578 | - if ( ! is_cart() && ! is_checkout() && ! is_product() && ! isset( $_GET['pay_for_order'] ) ) { |
|
578 | + if ( ! is_cart() && ! is_checkout() && ! is_product() && ! isset($_GET['pay_for_order'])) { |
|
579 | 579 | return; |
580 | 580 | } |
581 | 581 | |
582 | - if ( is_checkout() && ! apply_filters( 'wc_stripe_show_payment_request_on_checkout', false, $post ) ) { |
|
582 | + if (is_checkout() && ! apply_filters('wc_stripe_show_payment_request_on_checkout', false, $post)) { |
|
583 | 583 | return; |
584 | 584 | } |
585 | 585 | |
586 | - if ( is_product() && ! $this->should_show_payment_button_on_product_page() ) { |
|
586 | + if (is_product() && ! $this->should_show_payment_button_on_product_page()) { |
|
587 | 587 | return; |
588 | - } else if ( ! $this->should_show_payment_button_on_cart() ) { |
|
588 | + } else if ( ! $this->should_show_payment_button_on_cart()) { |
|
589 | 589 | return; |
590 | 590 | } |
591 | 591 | ?> |
592 | 592 | <div id="wc-stripe-payment-request-wrapper" style="clear:both;padding-top:1.5em;display:none;"> |
593 | 593 | <div id="wc-stripe-payment-request-button"> |
594 | 594 | <?php |
595 | - if ( $this->is_custom_button() ) { |
|
596 | - $label = esc_html( $this->get_button_label() ); |
|
597 | - $class_name = esc_attr( 'button ' . $this->get_button_theme() ); |
|
598 | - $style = esc_attr( 'height:' . $this->get_button_height() . 'px;' ); |
|
595 | + if ($this->is_custom_button()) { |
|
596 | + $label = esc_html($this->get_button_label()); |
|
597 | + $class_name = esc_attr('button ' . $this->get_button_theme()); |
|
598 | + $style = esc_attr('height:' . $this->get_button_height() . 'px;'); |
|
599 | 599 | echo "<button id=\"wc-stripe-custom-button\" class=\"$class_name\" style=\"$style\"> $label </button>"; |
600 | 600 | } |
601 | 601 | ?> |
@@ -616,25 +616,25 @@ discard block |
||
616 | 616 | |
617 | 617 | $gateways = WC()->payment_gateways->get_available_payment_gateways(); |
618 | 618 | |
619 | - if ( ! isset( $gateways['stripe'] ) ) { |
|
619 | + if ( ! isset($gateways['stripe'])) { |
|
620 | 620 | return; |
621 | 621 | } |
622 | 622 | |
623 | - if ( ! is_cart() && ! is_checkout() && ! is_product() && ! isset( $_GET['pay_for_order'] ) ) { |
|
623 | + if ( ! is_cart() && ! is_checkout() && ! is_product() && ! isset($_GET['pay_for_order'])) { |
|
624 | 624 | return; |
625 | 625 | } |
626 | 626 | |
627 | - if ( is_checkout() && ! apply_filters( 'wc_stripe_show_payment_request_on_checkout', false, $post ) ) { |
|
627 | + if (is_checkout() && ! apply_filters('wc_stripe_show_payment_request_on_checkout', false, $post)) { |
|
628 | 628 | return; |
629 | 629 | } |
630 | 630 | |
631 | - if ( is_product() && ! $this->should_show_payment_button_on_product_page() ) { |
|
631 | + if (is_product() && ! $this->should_show_payment_button_on_product_page()) { |
|
632 | 632 | return; |
633 | - } else if ( ! $this->should_show_payment_button_on_cart() ) { |
|
633 | + } else if ( ! $this->should_show_payment_button_on_cart()) { |
|
634 | 634 | return; |
635 | 635 | } |
636 | 636 | ?> |
637 | - <p id="wc-stripe-payment-request-button-separator" style="margin-top:1.5em;text-align:center;display:none;">— <?php esc_html_e( 'OR', 'woocommerce-gateway-stripe' ); ?> —</p> |
|
637 | + <p id="wc-stripe-payment-request-button-separator" style="margin-top:1.5em;text-align:center;display:none;">— <?php esc_html_e('OR', 'woocommerce-gateway-stripe'); ?> —</p> |
|
638 | 638 | <?php |
639 | 639 | } |
640 | 640 | |
@@ -645,11 +645,11 @@ discard block |
||
645 | 645 | * @return boolean |
646 | 646 | */ |
647 | 647 | private function should_show_payment_button_on_cart() { |
648 | - if ( ! apply_filters( 'wc_stripe_show_payment_request_on_cart', true ) ) { |
|
648 | + if ( ! apply_filters('wc_stripe_show_payment_request_on_cart', true)) { |
|
649 | 649 | return false; |
650 | 650 | } |
651 | - if ( ! $this->allowed_items_in_cart() ) { |
|
652 | - WC_Stripe_Logger::log( 'Items in the cart has unsupported product type ( Payment Request button disabled )' ); |
|
651 | + if ( ! $this->allowed_items_in_cart()) { |
|
652 | + WC_Stripe_Logger::log('Items in the cart has unsupported product type ( Payment Request button disabled )'); |
|
653 | 653 | return false; |
654 | 654 | } |
655 | 655 | return true; |
@@ -664,32 +664,32 @@ discard block |
||
664 | 664 | private function should_show_payment_button_on_product_page() { |
665 | 665 | global $post; |
666 | 666 | |
667 | - $product = wc_get_product( $post->ID ); |
|
667 | + $product = wc_get_product($post->ID); |
|
668 | 668 | |
669 | - if ( apply_filters( 'wc_stripe_hide_payment_request_on_product_page', false, $post ) ) { |
|
669 | + if (apply_filters('wc_stripe_hide_payment_request_on_product_page', false, $post)) { |
|
670 | 670 | return false; |
671 | 671 | } |
672 | 672 | |
673 | - if ( ! is_object( $product ) || ! in_array( $product->get_type(), $this->supported_product_types() ) ) { |
|
673 | + if ( ! is_object($product) || ! in_array($product->get_type(), $this->supported_product_types())) { |
|
674 | 674 | return false; |
675 | 675 | } |
676 | 676 | |
677 | 677 | // Trial subscriptions with shipping are not supported |
678 | - if ( class_exists( 'WC_Subscriptions_Order' ) && $product->needs_shipping() && WC_Subscriptions_Product::get_trial_length( $product ) > 0 ) { |
|
678 | + if (class_exists('WC_Subscriptions_Order') && $product->needs_shipping() && WC_Subscriptions_Product::get_trial_length($product) > 0) { |
|
679 | 679 | return false; |
680 | 680 | } |
681 | 681 | |
682 | 682 | // Pre Orders charge upon release not supported. |
683 | - if ( class_exists( 'WC_Pre_Orders_Order' ) && WC_Pre_Orders_Product::product_is_charged_upon_release( $product ) ) { |
|
684 | - WC_Stripe_Logger::log( 'Pre Order charge upon release is not supported. ( Payment Request button disabled )' ); |
|
683 | + if (class_exists('WC_Pre_Orders_Order') && WC_Pre_Orders_Product::product_is_charged_upon_release($product)) { |
|
684 | + WC_Stripe_Logger::log('Pre Order charge upon release is not supported. ( Payment Request button disabled )'); |
|
685 | 685 | return false; |
686 | 686 | } |
687 | 687 | |
688 | 688 | // File upload addon not supported |
689 | - if ( class_exists( 'WC_Product_Addons_Helper' ) ) { |
|
690 | - $product_addons = WC_Product_Addons_Helper::get_product_addons( $product->get_id() ); |
|
691 | - foreach ( $product_addons as $addon ) { |
|
692 | - if ( 'file_upload' === $addon['type'] ) { |
|
689 | + if (class_exists('WC_Product_Addons_Helper')) { |
|
690 | + $product_addons = WC_Product_Addons_Helper::get_product_addons($product->get_id()); |
|
691 | + foreach ($product_addons as $addon) { |
|
692 | + if ('file_upload' === $addon['type']) { |
|
693 | 693 | return false; |
694 | 694 | } |
695 | 695 | } |
@@ -705,11 +705,11 @@ discard block |
||
705 | 705 | * @version 4.0.0 |
706 | 706 | */ |
707 | 707 | public function ajax_log_errors() { |
708 | - check_ajax_referer( 'wc-stripe-log-errors', 'security' ); |
|
708 | + check_ajax_referer('wc-stripe-log-errors', 'security'); |
|
709 | 709 | |
710 | - $errors = wc_clean( stripslashes( $_POST['errors'] ) ); |
|
710 | + $errors = wc_clean(stripslashes($_POST['errors'])); |
|
711 | 711 | |
712 | - WC_Stripe_Logger::log( $errors ); |
|
712 | + WC_Stripe_Logger::log($errors); |
|
713 | 713 | |
714 | 714 | exit; |
715 | 715 | } |
@@ -721,7 +721,7 @@ discard block |
||
721 | 721 | * @version 4.0.0 |
722 | 722 | */ |
723 | 723 | public function ajax_clear_cart() { |
724 | - check_ajax_referer( 'wc-stripe-clear-cart', 'security' ); |
|
724 | + check_ajax_referer('wc-stripe-clear-cart', 'security'); |
|
725 | 725 | |
726 | 726 | WC()->cart->empty_cart(); |
727 | 727 | exit; |
@@ -731,10 +731,10 @@ discard block |
||
731 | 731 | * Get cart details. |
732 | 732 | */ |
733 | 733 | public function ajax_get_cart_details() { |
734 | - check_ajax_referer( 'wc-stripe-payment-request', 'security' ); |
|
734 | + check_ajax_referer('wc-stripe-payment-request', 'security'); |
|
735 | 735 | |
736 | - if ( ! defined( 'WOOCOMMERCE_CART' ) ) { |
|
737 | - define( 'WOOCOMMERCE_CART', true ); |
|
736 | + if ( ! defined('WOOCOMMERCE_CART')) { |
|
737 | + define('WOOCOMMERCE_CART', true); |
|
738 | 738 | } |
739 | 739 | |
740 | 740 | WC()->cart->calculate_totals(); |
@@ -745,14 +745,14 @@ discard block |
||
745 | 745 | $data = array( |
746 | 746 | 'shipping_required' => WC()->cart->needs_shipping(), |
747 | 747 | 'order_data' => array( |
748 | - 'currency' => strtolower( $currency ), |
|
749 | - 'country_code' => substr( get_option( 'woocommerce_default_country' ), 0, 2 ), |
|
748 | + 'currency' => strtolower($currency), |
|
749 | + 'country_code' => substr(get_option('woocommerce_default_country'), 0, 2), |
|
750 | 750 | ), |
751 | 751 | ); |
752 | 752 | |
753 | 753 | $data['order_data'] += $this->build_display_items(); |
754 | 754 | |
755 | - wp_send_json( $data ); |
|
755 | + wp_send_json($data); |
|
756 | 756 | } |
757 | 757 | |
758 | 758 | /** |
@@ -763,7 +763,7 @@ discard block |
||
763 | 763 | * @see WC_Shipping::get_packages(). |
764 | 764 | */ |
765 | 765 | public function ajax_get_shipping_options() { |
766 | - check_ajax_referer( 'wc-stripe-payment-request-shipping', 'security' ); |
|
766 | + check_ajax_referer('wc-stripe-payment-request-shipping', 'security'); |
|
767 | 767 | |
768 | 768 | $shipping_address = filter_input_array( |
769 | 769 | INPUT_POST, |
@@ -776,11 +776,11 @@ discard block |
||
776 | 776 | 'address_2' => FILTER_SANITIZE_STRING, |
777 | 777 | ) |
778 | 778 | ); |
779 | - $product_view_options = filter_input_array( INPUT_POST, [ 'is_product_page' => FILTER_SANITIZE_STRING ] ); |
|
780 | - $should_show_itemized_view = ! isset( $product_view_options['is_product_page'] ) ?: filter_var( $product_view_options['is_product_page'], FILTER_VALIDATE_BOOLEAN ); |
|
779 | + $product_view_options = filter_input_array(INPUT_POST, ['is_product_page' => FILTER_SANITIZE_STRING]); |
|
780 | + $should_show_itemized_view = ! isset($product_view_options['is_product_page']) ?: filter_var($product_view_options['is_product_page'], FILTER_VALIDATE_BOOLEAN); |
|
781 | 781 | |
782 | - $data = $this->get_shipping_options( $shipping_address, $should_show_itemized_view ); |
|
783 | - wp_send_json( $data ); |
|
782 | + $data = $this->get_shipping_options($shipping_address, $should_show_itemized_view); |
|
783 | + wp_send_json($data); |
|
784 | 784 | } |
785 | 785 | |
786 | 786 | /** |
@@ -792,66 +792,66 @@ discard block |
||
792 | 792 | * @return array Shipping options data. |
793 | 793 | * phpcs:ignore Squiz.Commenting.FunctionCommentThrowTag |
794 | 794 | */ |
795 | - public function get_shipping_options( $shipping_address, $itemized_display_items = false ) { |
|
795 | + public function get_shipping_options($shipping_address, $itemized_display_items = false) { |
|
796 | 796 | try { |
797 | 797 | // Set the shipping options. |
798 | 798 | $data = array(); |
799 | 799 | |
800 | 800 | // Remember current shipping method before resetting. |
801 | - $chosen_shipping_methods = WC()->session->get( 'chosen_shipping_methods' ); |
|
802 | - $this->calculate_shipping( apply_filters( 'wc_stripe_payment_request_shipping_posted_values', $shipping_address ) ); |
|
801 | + $chosen_shipping_methods = WC()->session->get('chosen_shipping_methods'); |
|
802 | + $this->calculate_shipping(apply_filters('wc_stripe_payment_request_shipping_posted_values', $shipping_address)); |
|
803 | 803 | |
804 | 804 | $packages = WC()->shipping->get_packages(); |
805 | 805 | |
806 | - if ( ! empty( $packages ) && WC()->customer->has_calculated_shipping() ) { |
|
807 | - foreach ( $packages as $package_key => $package ) { |
|
808 | - if ( empty( $package['rates'] ) ) { |
|
809 | - throw new Exception( __( 'Unable to find shipping method for address.', 'woocommerce-gateway-stripe' ) ); |
|
806 | + if ( ! empty($packages) && WC()->customer->has_calculated_shipping()) { |
|
807 | + foreach ($packages as $package_key => $package) { |
|
808 | + if (empty($package['rates'])) { |
|
809 | + throw new Exception(__('Unable to find shipping method for address.', 'woocommerce-gateway-stripe')); |
|
810 | 810 | } |
811 | 811 | |
812 | - foreach ( $package['rates'] as $key => $rate ) { |
|
812 | + foreach ($package['rates'] as $key => $rate) { |
|
813 | 813 | $data['shipping_options'][] = array( |
814 | 814 | 'id' => $rate->id, |
815 | 815 | 'label' => $rate->label, |
816 | 816 | 'detail' => '', |
817 | - 'amount' => WC_Stripe_Helper::get_stripe_amount( $rate->cost ), |
|
817 | + 'amount' => WC_Stripe_Helper::get_stripe_amount($rate->cost), |
|
818 | 818 | ); |
819 | 819 | } |
820 | 820 | } |
821 | 821 | } else { |
822 | - throw new Exception( __( 'Unable to find shipping method for address.', 'woocommerce-gateway-stripe' ) ); |
|
822 | + throw new Exception(__('Unable to find shipping method for address.', 'woocommerce-gateway-stripe')); |
|
823 | 823 | } |
824 | 824 | |
825 | 825 | // The first shipping option is automatically applied on the client. |
826 | 826 | // Keep chosen shipping method by sorting shipping options if the method still available for new address. |
827 | 827 | // Fallback to the first available shipping method. |
828 | - if ( isset( $data['shipping_options'][0] ) ) { |
|
829 | - if ( isset( $chosen_shipping_methods[0] ) ) { |
|
828 | + if (isset($data['shipping_options'][0])) { |
|
829 | + if (isset($chosen_shipping_methods[0])) { |
|
830 | 830 | $chosen_method_id = $chosen_shipping_methods[0]; |
831 | - $compare_shipping_options = function ( $a, $b ) use ( $chosen_method_id ) { |
|
832 | - if ( $a['id'] === $chosen_method_id ) { |
|
831 | + $compare_shipping_options = function($a, $b) use ($chosen_method_id) { |
|
832 | + if ($a['id'] === $chosen_method_id) { |
|
833 | 833 | return -1; |
834 | 834 | } |
835 | 835 | |
836 | - if ( $b['id'] === $chosen_method_id ) { |
|
836 | + if ($b['id'] === $chosen_method_id) { |
|
837 | 837 | return 1; |
838 | 838 | } |
839 | 839 | |
840 | 840 | return 0; |
841 | 841 | }; |
842 | - usort( $data['shipping_options'], $compare_shipping_options ); |
|
842 | + usort($data['shipping_options'], $compare_shipping_options); |
|
843 | 843 | } |
844 | 844 | |
845 | 845 | $first_shipping_method_id = $data['shipping_options'][0]['id']; |
846 | - $this->update_shipping_method( [ $first_shipping_method_id ] ); |
|
846 | + $this->update_shipping_method([$first_shipping_method_id]); |
|
847 | 847 | } |
848 | 848 | |
849 | 849 | WC()->cart->calculate_totals(); |
850 | 850 | |
851 | - $data += $this->build_display_items( $itemized_display_items ); |
|
851 | + $data += $this->build_display_items($itemized_display_items); |
|
852 | 852 | $data['result'] = 'success'; |
853 | - } catch ( Exception $e ) { |
|
854 | - $data += $this->build_display_items( $itemized_display_items ); |
|
853 | + } catch (Exception $e) { |
|
854 | + $data += $this->build_display_items($itemized_display_items); |
|
855 | 855 | $data['result'] = 'invalid_shipping_address'; |
856 | 856 | } |
857 | 857 | |
@@ -862,25 +862,25 @@ discard block |
||
862 | 862 | * Update shipping method. |
863 | 863 | */ |
864 | 864 | public function ajax_update_shipping_method() { |
865 | - check_ajax_referer( 'wc-stripe-update-shipping-method', 'security' ); |
|
865 | + check_ajax_referer('wc-stripe-update-shipping-method', 'security'); |
|
866 | 866 | |
867 | - if ( ! defined( 'WOOCOMMERCE_CART' ) ) { |
|
868 | - define( 'WOOCOMMERCE_CART', true ); |
|
867 | + if ( ! defined('WOOCOMMERCE_CART')) { |
|
868 | + define('WOOCOMMERCE_CART', true); |
|
869 | 869 | } |
870 | 870 | |
871 | - $shipping_methods = filter_input( INPUT_POST, 'shipping_method', FILTER_DEFAULT, FILTER_REQUIRE_ARRAY ); |
|
872 | - $this->update_shipping_method( $shipping_methods ); |
|
871 | + $shipping_methods = filter_input(INPUT_POST, 'shipping_method', FILTER_DEFAULT, FILTER_REQUIRE_ARRAY); |
|
872 | + $this->update_shipping_method($shipping_methods); |
|
873 | 873 | |
874 | 874 | WC()->cart->calculate_totals(); |
875 | 875 | |
876 | - $product_view_options = filter_input_array( INPUT_POST, [ 'is_product_page' => FILTER_SANITIZE_STRING ] ); |
|
877 | - $should_show_itemized_view = ! isset( $product_view_options['is_product_page'] ) ?: filter_var( $product_view_options['is_product_page'], FILTER_VALIDATE_BOOLEAN ); |
|
876 | + $product_view_options = filter_input_array(INPUT_POST, ['is_product_page' => FILTER_SANITIZE_STRING]); |
|
877 | + $should_show_itemized_view = ! isset($product_view_options['is_product_page']) ?: filter_var($product_view_options['is_product_page'], FILTER_VALIDATE_BOOLEAN); |
|
878 | 878 | |
879 | 879 | $data = array(); |
880 | - $data += $this->build_display_items( $should_show_itemized_view ); |
|
880 | + $data += $this->build_display_items($should_show_itemized_view); |
|
881 | 881 | $data['result'] = 'success'; |
882 | 882 | |
883 | - wp_send_json( $data ); |
|
883 | + wp_send_json($data); |
|
884 | 884 | } |
885 | 885 | |
886 | 886 | /** |
@@ -888,16 +888,16 @@ discard block |
||
888 | 888 | * |
889 | 889 | * @param array $shipping_methods Array of selected shipping methods ids. |
890 | 890 | */ |
891 | - public function update_shipping_method( $shipping_methods ) { |
|
892 | - $chosen_shipping_methods = WC()->session->get( 'chosen_shipping_methods' ); |
|
891 | + public function update_shipping_method($shipping_methods) { |
|
892 | + $chosen_shipping_methods = WC()->session->get('chosen_shipping_methods'); |
|
893 | 893 | |
894 | - if ( is_array( $shipping_methods ) ) { |
|
895 | - foreach ( $shipping_methods as $i => $value ) { |
|
896 | - $chosen_shipping_methods[ $i ] = wc_clean( $value ); |
|
894 | + if (is_array($shipping_methods)) { |
|
895 | + foreach ($shipping_methods as $i => $value) { |
|
896 | + $chosen_shipping_methods[$i] = wc_clean($value); |
|
897 | 897 | } |
898 | 898 | } |
899 | 899 | |
900 | - WC()->session->set( 'chosen_shipping_methods', $chosen_shipping_methods ); |
|
900 | + WC()->session->set('chosen_shipping_methods', $chosen_shipping_methods); |
|
901 | 901 | } |
902 | 902 | |
903 | 903 | /** |
@@ -908,38 +908,38 @@ discard block |
||
908 | 908 | * @return array $data |
909 | 909 | */ |
910 | 910 | public function ajax_get_selected_product_data() { |
911 | - check_ajax_referer( 'wc-stripe-get-selected-product-data', 'security' ); |
|
911 | + check_ajax_referer('wc-stripe-get-selected-product-data', 'security'); |
|
912 | 912 | |
913 | 913 | try { |
914 | - $product_id = absint( $_POST['product_id'] ); |
|
915 | - $qty = ! isset( $_POST['qty'] ) ? 1 : apply_filters( 'woocommerce_add_to_cart_quantity', absint( $_POST['qty'] ), $product_id ); |
|
916 | - $addon_value = isset( $_POST['addon_value'] ) ? max( floatval( $_POST['addon_value'] ), 0 ) : 0; |
|
917 | - $product = wc_get_product( $product_id ); |
|
914 | + $product_id = absint($_POST['product_id']); |
|
915 | + $qty = ! isset($_POST['qty']) ? 1 : apply_filters('woocommerce_add_to_cart_quantity', absint($_POST['qty']), $product_id); |
|
916 | + $addon_value = isset($_POST['addon_value']) ? max(floatval($_POST['addon_value']), 0) : 0; |
|
917 | + $product = wc_get_product($product_id); |
|
918 | 918 | $variation_id = null; |
919 | 919 | |
920 | - if ( ! is_a( $product, 'WC_Product' ) ) { |
|
921 | - throw new Exception( sprintf( __( 'Product with the ID (%d) cannot be found.', 'woocommerce-gateway-stripe' ), $product_id ) ); |
|
920 | + if ( ! is_a($product, 'WC_Product')) { |
|
921 | + throw new Exception(sprintf(__('Product with the ID (%d) cannot be found.', 'woocommerce-gateway-stripe'), $product_id)); |
|
922 | 922 | } |
923 | 923 | |
924 | - if ( 'variable' === $product->get_type() && isset( $_POST['attributes'] ) ) { |
|
925 | - $attributes = wc_clean( wp_unslash( $_POST['attributes'] ) ); |
|
924 | + if ('variable' === $product->get_type() && isset($_POST['attributes'])) { |
|
925 | + $attributes = wc_clean(wp_unslash($_POST['attributes'])); |
|
926 | 926 | |
927 | - $data_store = WC_Data_Store::load( 'product' ); |
|
928 | - $variation_id = $data_store->find_matching_product_variation( $product, $attributes ); |
|
927 | + $data_store = WC_Data_Store::load('product'); |
|
928 | + $variation_id = $data_store->find_matching_product_variation($product, $attributes); |
|
929 | 929 | |
930 | - if ( ! empty( $variation_id ) ) { |
|
931 | - $product = wc_get_product( $variation_id ); |
|
930 | + if ( ! empty($variation_id)) { |
|
931 | + $product = wc_get_product($variation_id); |
|
932 | 932 | } |
933 | 933 | } |
934 | 934 | |
935 | 935 | // Force quantity to 1 if sold individually and check for existing item in cart. |
936 | - if ( $product->is_sold_individually() ) { |
|
937 | - $qty = apply_filters( 'wc_stripe_payment_request_add_to_cart_sold_individually_quantity', 1, $qty, $product_id, $variation_id ); |
|
936 | + if ($product->is_sold_individually()) { |
|
937 | + $qty = apply_filters('wc_stripe_payment_request_add_to_cart_sold_individually_quantity', 1, $qty, $product_id, $variation_id); |
|
938 | 938 | } |
939 | 939 | |
940 | - if ( ! $product->has_enough_stock( $qty ) ) { |
|
940 | + if ( ! $product->has_enough_stock($qty)) { |
|
941 | 941 | /* translators: 1: product name 2: quantity in stock */ |
942 | - throw new Exception( sprintf( __( 'You cannot add that amount of "%1$s"; to the cart because there is not enough stock (%2$s remaining).', 'woocommerce-gateway-stripe' ), $product->get_name(), wc_format_stock_quantity_for_display( $product->get_stock_quantity(), $product ) ) ); |
|
942 | + throw new Exception(sprintf(__('You cannot add that amount of "%1$s"; to the cart because there is not enough stock (%2$s remaining).', 'woocommerce-gateway-stripe'), $product->get_name(), wc_format_stock_quantity_for_display($product->get_stock_quantity(), $product))); |
|
943 | 943 | } |
944 | 944 | |
945 | 945 | $total = $qty * $product->get_price() + $addon_value; |
@@ -951,27 +951,27 @@ discard block |
||
951 | 951 | |
952 | 952 | $items[] = array( |
953 | 953 | 'label' => $product->get_name() . $quantity_label, |
954 | - 'amount' => WC_Stripe_Helper::get_stripe_amount( $total ), |
|
954 | + 'amount' => WC_Stripe_Helper::get_stripe_amount($total), |
|
955 | 955 | ); |
956 | 956 | |
957 | - if ( wc_tax_enabled() ) { |
|
957 | + if (wc_tax_enabled()) { |
|
958 | 958 | $items[] = array( |
959 | - 'label' => __( 'Tax', 'woocommerce-gateway-stripe' ), |
|
959 | + 'label' => __('Tax', 'woocommerce-gateway-stripe'), |
|
960 | 960 | 'amount' => 0, |
961 | 961 | 'pending' => true, |
962 | 962 | ); |
963 | 963 | } |
964 | 964 | |
965 | - if ( wc_shipping_enabled() && $product->needs_shipping() ) { |
|
965 | + if (wc_shipping_enabled() && $product->needs_shipping()) { |
|
966 | 966 | $items[] = array( |
967 | - 'label' => __( 'Shipping', 'woocommerce-gateway-stripe' ), |
|
967 | + 'label' => __('Shipping', 'woocommerce-gateway-stripe'), |
|
968 | 968 | 'amount' => 0, |
969 | 969 | 'pending' => true, |
970 | 970 | ); |
971 | 971 | |
972 | 972 | $data['shippingOptions'] = array( |
973 | 973 | 'id' => 'pending', |
974 | - 'label' => __( 'Pending', 'woocommerce-gateway-stripe' ), |
|
974 | + 'label' => __('Pending', 'woocommerce-gateway-stripe'), |
|
975 | 975 | 'detail' => '', |
976 | 976 | 'amount' => 0, |
977 | 977 | ); |
@@ -980,17 +980,17 @@ discard block |
||
980 | 980 | $data['displayItems'] = $items; |
981 | 981 | $data['total'] = array( |
982 | 982 | 'label' => $this->total_label, |
983 | - 'amount' => WC_Stripe_Helper::get_stripe_amount( $total ), |
|
983 | + 'amount' => WC_Stripe_Helper::get_stripe_amount($total), |
|
984 | 984 | 'pending' => true, |
985 | 985 | ); |
986 | 986 | |
987 | - $data['requestShipping'] = ( wc_shipping_enabled() && $product->needs_shipping() ); |
|
988 | - $data['currency'] = strtolower( get_woocommerce_currency() ); |
|
989 | - $data['country_code'] = substr( get_option( 'woocommerce_default_country' ), 0, 2 ); |
|
987 | + $data['requestShipping'] = (wc_shipping_enabled() && $product->needs_shipping()); |
|
988 | + $data['currency'] = strtolower(get_woocommerce_currency()); |
|
989 | + $data['country_code'] = substr(get_option('woocommerce_default_country'), 0, 2); |
|
990 | 990 | |
991 | - wp_send_json( $data ); |
|
992 | - } catch ( Exception $e ) { |
|
993 | - wp_send_json( array( 'error' => wp_strip_all_tags( $e->getMessage() ) ) ); |
|
991 | + wp_send_json($data); |
|
992 | + } catch (Exception $e) { |
|
993 | + wp_send_json(array('error' => wp_strip_all_tags($e->getMessage()))); |
|
994 | 994 | } |
995 | 995 | } |
996 | 996 | |
@@ -1002,33 +1002,33 @@ discard block |
||
1002 | 1002 | * @return array $data |
1003 | 1003 | */ |
1004 | 1004 | public function ajax_add_to_cart() { |
1005 | - check_ajax_referer( 'wc-stripe-add-to-cart', 'security' ); |
|
1005 | + check_ajax_referer('wc-stripe-add-to-cart', 'security'); |
|
1006 | 1006 | |
1007 | - if ( ! defined( 'WOOCOMMERCE_CART' ) ) { |
|
1008 | - define( 'WOOCOMMERCE_CART', true ); |
|
1007 | + if ( ! defined('WOOCOMMERCE_CART')) { |
|
1008 | + define('WOOCOMMERCE_CART', true); |
|
1009 | 1009 | } |
1010 | 1010 | |
1011 | 1011 | WC()->shipping->reset_shipping(); |
1012 | 1012 | |
1013 | - $product_id = absint( $_POST['product_id'] ); |
|
1014 | - $qty = ! isset( $_POST['qty'] ) ? 1 : absint( $_POST['qty'] ); |
|
1015 | - $product = wc_get_product( $product_id ); |
|
1013 | + $product_id = absint($_POST['product_id']); |
|
1014 | + $qty = ! isset($_POST['qty']) ? 1 : absint($_POST['qty']); |
|
1015 | + $product = wc_get_product($product_id); |
|
1016 | 1016 | $product_type = $product->get_type(); |
1017 | 1017 | |
1018 | 1018 | // First empty the cart to prevent wrong calculation. |
1019 | 1019 | WC()->cart->empty_cart(); |
1020 | 1020 | |
1021 | - if ( ( 'variable' === $product_type || 'variable-subscription' === $product_type ) && isset( $_POST['attributes'] ) ) { |
|
1022 | - $attributes = wc_clean( wp_unslash( $_POST['attributes'] ) ); |
|
1021 | + if (('variable' === $product_type || 'variable-subscription' === $product_type) && isset($_POST['attributes'])) { |
|
1022 | + $attributes = wc_clean(wp_unslash($_POST['attributes'])); |
|
1023 | 1023 | |
1024 | - $data_store = WC_Data_Store::load( 'product' ); |
|
1025 | - $variation_id = $data_store->find_matching_product_variation( $product, $attributes ); |
|
1024 | + $data_store = WC_Data_Store::load('product'); |
|
1025 | + $variation_id = $data_store->find_matching_product_variation($product, $attributes); |
|
1026 | 1026 | |
1027 | - WC()->cart->add_to_cart( $product->get_id(), $qty, $variation_id, $attributes ); |
|
1027 | + WC()->cart->add_to_cart($product->get_id(), $qty, $variation_id, $attributes); |
|
1028 | 1028 | } |
1029 | 1029 | |
1030 | - if ( 'simple' === $product_type || 'subscription' === $product_type ) { |
|
1031 | - WC()->cart->add_to_cart( $product->get_id(), $qty ); |
|
1030 | + if ('simple' === $product_type || 'subscription' === $product_type) { |
|
1031 | + WC()->cart->add_to_cart($product->get_id(), $qty); |
|
1032 | 1032 | } |
1033 | 1033 | |
1034 | 1034 | WC()->cart->calculate_totals(); |
@@ -1037,7 +1037,7 @@ discard block |
||
1037 | 1037 | $data += $this->build_display_items(); |
1038 | 1038 | $data['result'] = 'success'; |
1039 | 1039 | |
1040 | - wp_send_json( $data ); |
|
1040 | + wp_send_json($data); |
|
1041 | 1041 | } |
1042 | 1042 | |
1043 | 1043 | /** |
@@ -1050,31 +1050,31 @@ discard block |
||
1050 | 1050 | * @version 4.0.0 |
1051 | 1051 | */ |
1052 | 1052 | public function normalize_state() { |
1053 | - $billing_country = ! empty( $_POST['billing_country'] ) ? wc_clean( $_POST['billing_country'] ) : ''; |
|
1054 | - $shipping_country = ! empty( $_POST['shipping_country'] ) ? wc_clean( $_POST['shipping_country'] ) : ''; |
|
1055 | - $billing_state = ! empty( $_POST['billing_state'] ) ? wc_clean( $_POST['billing_state'] ) : ''; |
|
1056 | - $shipping_state = ! empty( $_POST['shipping_state'] ) ? wc_clean( $_POST['shipping_state'] ) : ''; |
|
1053 | + $billing_country = ! empty($_POST['billing_country']) ? wc_clean($_POST['billing_country']) : ''; |
|
1054 | + $shipping_country = ! empty($_POST['shipping_country']) ? wc_clean($_POST['shipping_country']) : ''; |
|
1055 | + $billing_state = ! empty($_POST['billing_state']) ? wc_clean($_POST['billing_state']) : ''; |
|
1056 | + $shipping_state = ! empty($_POST['shipping_state']) ? wc_clean($_POST['shipping_state']) : ''; |
|
1057 | 1057 | |
1058 | - if ( $billing_state && $billing_country ) { |
|
1059 | - $valid_states = WC()->countries->get_states( $billing_country ); |
|
1058 | + if ($billing_state && $billing_country) { |
|
1059 | + $valid_states = WC()->countries->get_states($billing_country); |
|
1060 | 1060 | |
1061 | 1061 | // Valid states found for country. |
1062 | - if ( ! empty( $valid_states ) && is_array( $valid_states ) && sizeof( $valid_states ) > 0 ) { |
|
1063 | - foreach ( $valid_states as $state_abbr => $state ) { |
|
1064 | - if ( preg_match( '/' . preg_quote( $state ) . '/i', $billing_state ) ) { |
|
1062 | + if ( ! empty($valid_states) && is_array($valid_states) && sizeof($valid_states) > 0) { |
|
1063 | + foreach ($valid_states as $state_abbr => $state) { |
|
1064 | + if (preg_match('/' . preg_quote($state) . '/i', $billing_state)) { |
|
1065 | 1065 | $_POST['billing_state'] = $state_abbr; |
1066 | 1066 | } |
1067 | 1067 | } |
1068 | 1068 | } |
1069 | 1069 | } |
1070 | 1070 | |
1071 | - if ( $shipping_state && $shipping_country ) { |
|
1072 | - $valid_states = WC()->countries->get_states( $shipping_country ); |
|
1071 | + if ($shipping_state && $shipping_country) { |
|
1072 | + $valid_states = WC()->countries->get_states($shipping_country); |
|
1073 | 1073 | |
1074 | 1074 | // Valid states found for country. |
1075 | - if ( ! empty( $valid_states ) && is_array( $valid_states ) && sizeof( $valid_states ) > 0 ) { |
|
1076 | - foreach ( $valid_states as $state_abbr => $state ) { |
|
1077 | - if ( preg_match( '/' . preg_quote( $state ) . '/i', $shipping_state ) ) { |
|
1075 | + if ( ! empty($valid_states) && is_array($valid_states) && sizeof($valid_states) > 0) { |
|
1076 | + foreach ($valid_states as $state_abbr => $state) { |
|
1077 | + if (preg_match('/' . preg_quote($state) . '/i', $shipping_state)) { |
|
1078 | 1078 | $_POST['shipping_state'] = $state_abbr; |
1079 | 1079 | } |
1080 | 1080 | } |
@@ -1089,19 +1089,19 @@ discard block |
||
1089 | 1089 | * @version 4.0.0 |
1090 | 1090 | */ |
1091 | 1091 | public function ajax_create_order() { |
1092 | - if ( WC()->cart->is_empty() ) { |
|
1093 | - wp_send_json_error( __( 'Empty cart', 'woocommerce-gateway-stripe' ) ); |
|
1092 | + if (WC()->cart->is_empty()) { |
|
1093 | + wp_send_json_error(__('Empty cart', 'woocommerce-gateway-stripe')); |
|
1094 | 1094 | } |
1095 | 1095 | |
1096 | - if ( ! defined( 'WOOCOMMERCE_CHECKOUT' ) ) { |
|
1097 | - define( 'WOOCOMMERCE_CHECKOUT', true ); |
|
1096 | + if ( ! defined('WOOCOMMERCE_CHECKOUT')) { |
|
1097 | + define('WOOCOMMERCE_CHECKOUT', true); |
|
1098 | 1098 | } |
1099 | 1099 | |
1100 | 1100 | $this->normalize_state(); |
1101 | 1101 | |
1102 | 1102 | WC()->checkout()->process_checkout(); |
1103 | 1103 | |
1104 | - die( 0 ); |
|
1104 | + die(0); |
|
1105 | 1105 | } |
1106 | 1106 | |
1107 | 1107 | /** |
@@ -1112,38 +1112,38 @@ discard block |
||
1112 | 1112 | * @since 3.1.0 |
1113 | 1113 | * @version 4.0.0 |
1114 | 1114 | */ |
1115 | - protected function calculate_shipping( $address = array() ) { |
|
1115 | + protected function calculate_shipping($address = array()) { |
|
1116 | 1116 | $country = $address['country']; |
1117 | 1117 | $state = $address['state']; |
1118 | 1118 | $postcode = $address['postcode']; |
1119 | 1119 | $city = $address['city']; |
1120 | 1120 | $address_1 = $address['address']; |
1121 | 1121 | $address_2 = $address['address_2']; |
1122 | - $wc_states = WC()->countries->get_states( $country ); |
|
1122 | + $wc_states = WC()->countries->get_states($country); |
|
1123 | 1123 | |
1124 | 1124 | /** |
1125 | 1125 | * In some versions of Chrome, state can be a full name. So we need |
1126 | 1126 | * to convert that to abbreviation as WC is expecting that. |
1127 | 1127 | */ |
1128 | - if ( 2 < strlen( $state ) && ! empty( $wc_states ) && ! isset( $wc_states[ $state ] ) ) { |
|
1129 | - $state = array_search( ucwords( strtolower( $state ) ), $wc_states, true ); |
|
1128 | + if (2 < strlen($state) && ! empty($wc_states) && ! isset($wc_states[$state])) { |
|
1129 | + $state = array_search(ucwords(strtolower($state)), $wc_states, true); |
|
1130 | 1130 | } |
1131 | 1131 | |
1132 | 1132 | WC()->shipping->reset_shipping(); |
1133 | 1133 | |
1134 | - if ( $postcode && WC_Validation::is_postcode( $postcode, $country ) ) { |
|
1135 | - $postcode = wc_format_postcode( $postcode, $country ); |
|
1134 | + if ($postcode && WC_Validation::is_postcode($postcode, $country)) { |
|
1135 | + $postcode = wc_format_postcode($postcode, $country); |
|
1136 | 1136 | } |
1137 | 1137 | |
1138 | - if ( $country ) { |
|
1139 | - WC()->customer->set_location( $country, $state, $postcode, $city ); |
|
1140 | - WC()->customer->set_shipping_location( $country, $state, $postcode, $city ); |
|
1138 | + if ($country) { |
|
1139 | + WC()->customer->set_location($country, $state, $postcode, $city); |
|
1140 | + WC()->customer->set_shipping_location($country, $state, $postcode, $city); |
|
1141 | 1141 | } else { |
1142 | 1142 | WC()->customer->set_billing_address_to_base(); |
1143 | 1143 | WC()->customer->set_shipping_address_to_base(); |
1144 | 1144 | } |
1145 | 1145 | |
1146 | - WC()->customer->set_calculated_shipping( true ); |
|
1146 | + WC()->customer->set_calculated_shipping(true); |
|
1147 | 1147 | WC()->customer->save(); |
1148 | 1148 | |
1149 | 1149 | $packages = array(); |
@@ -1159,17 +1159,17 @@ discard block |
||
1159 | 1159 | $packages[0]['destination']['address'] = $address_1; |
1160 | 1160 | $packages[0]['destination']['address_2'] = $address_2; |
1161 | 1161 | |
1162 | - foreach ( WC()->cart->get_cart() as $item ) { |
|
1163 | - if ( $item['data']->needs_shipping() ) { |
|
1164 | - if ( isset( $item['line_total'] ) ) { |
|
1162 | + foreach (WC()->cart->get_cart() as $item) { |
|
1163 | + if ($item['data']->needs_shipping()) { |
|
1164 | + if (isset($item['line_total'])) { |
|
1165 | 1165 | $packages[0]['contents_cost'] += $item['line_total']; |
1166 | 1166 | } |
1167 | 1167 | } |
1168 | 1168 | } |
1169 | 1169 | |
1170 | - $packages = apply_filters( 'woocommerce_cart_shipping_packages', $packages ); |
|
1170 | + $packages = apply_filters('woocommerce_cart_shipping_packages', $packages); |
|
1171 | 1171 | |
1172 | - WC()->shipping->calculate_shipping( $packages ); |
|
1172 | + WC()->shipping->calculate_shipping($packages); |
|
1173 | 1173 | } |
1174 | 1174 | |
1175 | 1175 | /** |
@@ -1178,19 +1178,19 @@ discard block |
||
1178 | 1178 | * @since 3.1.0 |
1179 | 1179 | * @version 4.0.0 |
1180 | 1180 | */ |
1181 | - protected function build_shipping_methods( $shipping_methods ) { |
|
1182 | - if ( empty( $shipping_methods ) ) { |
|
1181 | + protected function build_shipping_methods($shipping_methods) { |
|
1182 | + if (empty($shipping_methods)) { |
|
1183 | 1183 | return array(); |
1184 | 1184 | } |
1185 | 1185 | |
1186 | 1186 | $shipping = array(); |
1187 | 1187 | |
1188 | - foreach ( $shipping_methods as $method ) { |
|
1188 | + foreach ($shipping_methods as $method) { |
|
1189 | 1189 | $shipping[] = array( |
1190 | 1190 | 'id' => $method['id'], |
1191 | 1191 | 'label' => $method['label'], |
1192 | 1192 | 'detail' => '', |
1193 | - 'amount' => WC_Stripe_Helper::get_stripe_amount( $method['amount']['value'] ), |
|
1193 | + 'amount' => WC_Stripe_Helper::get_stripe_amount($method['amount']['value']), |
|
1194 | 1194 | ); |
1195 | 1195 | } |
1196 | 1196 | |
@@ -1203,9 +1203,9 @@ discard block |
||
1203 | 1203 | * @since 3.1.0 |
1204 | 1204 | * @version 4.0.0 |
1205 | 1205 | */ |
1206 | - protected function build_display_items( $itemized_display_items = false ) { |
|
1207 | - if ( ! defined( 'WOOCOMMERCE_CART' ) ) { |
|
1208 | - define( 'WOOCOMMERCE_CART', true ); |
|
1206 | + protected function build_display_items($itemized_display_items = false) { |
|
1207 | + if ( ! defined('WOOCOMMERCE_CART')) { |
|
1208 | + define('WOOCOMMERCE_CART', true); |
|
1209 | 1209 | } |
1210 | 1210 | |
1211 | 1211 | $items = array(); |
@@ -1213,8 +1213,8 @@ discard block |
||
1213 | 1213 | $discounts = 0; |
1214 | 1214 | |
1215 | 1215 | // Default show only subtotal instead of itemization. |
1216 | - if ( ! apply_filters( 'wc_stripe_payment_request_hide_itemization', true ) || $itemized_display_items ) { |
|
1217 | - foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) { |
|
1216 | + if ( ! apply_filters('wc_stripe_payment_request_hide_itemization', true) || $itemized_display_items) { |
|
1217 | + foreach (WC()->cart->get_cart() as $cart_item_key => $cart_item) { |
|
1218 | 1218 | $amount = $cart_item['line_subtotal']; |
1219 | 1219 | $subtotal += $cart_item['line_subtotal']; |
1220 | 1220 | $quantity_label = 1 < $cart_item['quantity'] ? ' (x' . $cart_item['quantity'] . ')' : ''; |
@@ -1223,61 +1223,61 @@ discard block |
||
1223 | 1223 | |
1224 | 1224 | $item = array( |
1225 | 1225 | 'label' => $product_name . $quantity_label, |
1226 | - 'amount' => WC_Stripe_Helper::get_stripe_amount( $amount ), |
|
1226 | + 'amount' => WC_Stripe_Helper::get_stripe_amount($amount), |
|
1227 | 1227 | ); |
1228 | 1228 | |
1229 | 1229 | $items[] = $item; |
1230 | 1230 | } |
1231 | 1231 | } |
1232 | 1232 | |
1233 | - if ( version_compare( WC_VERSION, '3.2', '<' ) ) { |
|
1234 | - $discounts = wc_format_decimal( WC()->cart->get_cart_discount_total(), WC()->cart->dp ); |
|
1233 | + if (version_compare(WC_VERSION, '3.2', '<')) { |
|
1234 | + $discounts = wc_format_decimal(WC()->cart->get_cart_discount_total(), WC()->cart->dp); |
|
1235 | 1235 | } else { |
1236 | - $applied_coupons = array_values( WC()->cart->get_coupon_discount_totals() ); |
|
1236 | + $applied_coupons = array_values(WC()->cart->get_coupon_discount_totals()); |
|
1237 | 1237 | |
1238 | - foreach ( $applied_coupons as $amount ) { |
|
1238 | + foreach ($applied_coupons as $amount) { |
|
1239 | 1239 | $discounts += (float) $amount; |
1240 | 1240 | } |
1241 | 1241 | } |
1242 | 1242 | |
1243 | - $discounts = wc_format_decimal( $discounts, WC()->cart->dp ); |
|
1244 | - $tax = wc_format_decimal( WC()->cart->tax_total + WC()->cart->shipping_tax_total, WC()->cart->dp ); |
|
1245 | - $shipping = wc_format_decimal( WC()->cart->shipping_total, WC()->cart->dp ); |
|
1246 | - $items_total = wc_format_decimal( WC()->cart->cart_contents_total, WC()->cart->dp ) + $discounts; |
|
1247 | - $order_total = version_compare( WC_VERSION, '3.2', '<' ) ? wc_format_decimal( $items_total + $tax + $shipping - $discounts, WC()->cart->dp ) : WC()->cart->get_total( false ); |
|
1243 | + $discounts = wc_format_decimal($discounts, WC()->cart->dp); |
|
1244 | + $tax = wc_format_decimal(WC()->cart->tax_total + WC()->cart->shipping_tax_total, WC()->cart->dp); |
|
1245 | + $shipping = wc_format_decimal(WC()->cart->shipping_total, WC()->cart->dp); |
|
1246 | + $items_total = wc_format_decimal(WC()->cart->cart_contents_total, WC()->cart->dp) + $discounts; |
|
1247 | + $order_total = version_compare(WC_VERSION, '3.2', '<') ? wc_format_decimal($items_total + $tax + $shipping - $discounts, WC()->cart->dp) : WC()->cart->get_total(false); |
|
1248 | 1248 | |
1249 | - if ( wc_tax_enabled() ) { |
|
1249 | + if (wc_tax_enabled()) { |
|
1250 | 1250 | $items[] = array( |
1251 | - 'label' => esc_html( __( 'Tax', 'woocommerce-gateway-stripe' ) ), |
|
1252 | - 'amount' => WC_Stripe_Helper::get_stripe_amount( $tax ), |
|
1251 | + 'label' => esc_html(__('Tax', 'woocommerce-gateway-stripe')), |
|
1252 | + 'amount' => WC_Stripe_Helper::get_stripe_amount($tax), |
|
1253 | 1253 | ); |
1254 | 1254 | } |
1255 | 1255 | |
1256 | - if ( WC()->cart->needs_shipping() ) { |
|
1256 | + if (WC()->cart->needs_shipping()) { |
|
1257 | 1257 | $items[] = array( |
1258 | - 'label' => esc_html( __( 'Shipping', 'woocommerce-gateway-stripe' ) ), |
|
1259 | - 'amount' => WC_Stripe_Helper::get_stripe_amount( $shipping ), |
|
1258 | + 'label' => esc_html(__('Shipping', 'woocommerce-gateway-stripe')), |
|
1259 | + 'amount' => WC_Stripe_Helper::get_stripe_amount($shipping), |
|
1260 | 1260 | ); |
1261 | 1261 | } |
1262 | 1262 | |
1263 | - if ( WC()->cart->has_discount() ) { |
|
1263 | + if (WC()->cart->has_discount()) { |
|
1264 | 1264 | $items[] = array( |
1265 | - 'label' => esc_html( __( 'Discount', 'woocommerce-gateway-stripe' ) ), |
|
1266 | - 'amount' => WC_Stripe_Helper::get_stripe_amount( $discounts ), |
|
1265 | + 'label' => esc_html(__('Discount', 'woocommerce-gateway-stripe')), |
|
1266 | + 'amount' => WC_Stripe_Helper::get_stripe_amount($discounts), |
|
1267 | 1267 | ); |
1268 | 1268 | } |
1269 | 1269 | |
1270 | - if ( version_compare( WC_VERSION, '3.2', '<' ) ) { |
|
1270 | + if (version_compare(WC_VERSION, '3.2', '<')) { |
|
1271 | 1271 | $cart_fees = WC()->cart->fees; |
1272 | 1272 | } else { |
1273 | 1273 | $cart_fees = WC()->cart->get_fees(); |
1274 | 1274 | } |
1275 | 1275 | |
1276 | 1276 | // Include fees and taxes as display items. |
1277 | - foreach ( $cart_fees as $key => $fee ) { |
|
1277 | + foreach ($cart_fees as $key => $fee) { |
|
1278 | 1278 | $items[] = array( |
1279 | 1279 | 'label' => $fee->name, |
1280 | - 'amount' => WC_Stripe_Helper::get_stripe_amount( $fee->amount ), |
|
1280 | + 'amount' => WC_Stripe_Helper::get_stripe_amount($fee->amount), |
|
1281 | 1281 | ); |
1282 | 1282 | } |
1283 | 1283 | |
@@ -1285,7 +1285,7 @@ discard block |
||
1285 | 1285 | 'displayItems' => $items, |
1286 | 1286 | 'total' => array( |
1287 | 1287 | 'label' => $this->total_label, |
1288 | - 'amount' => max( 0, apply_filters( 'woocommerce_stripe_calculated_total', WC_Stripe_Helper::get_stripe_amount( $order_total ), $order_total, WC()->cart ) ), |
|
1288 | + 'amount' => max(0, apply_filters('woocommerce_stripe_calculated_total', WC_Stripe_Helper::get_stripe_amount($order_total), $order_total, WC()->cart)), |
|
1289 | 1289 | 'pending' => false, |
1290 | 1290 | ), |
1291 | 1291 | ); |
@@ -1,5 +1,5 @@ discard block |
||
1 | 1 | <?php |
2 | -if ( ! defined( 'ABSPATH' ) ) { |
|
2 | +if ( ! defined('ABSPATH')) { |
|
3 | 3 | exit; |
4 | 4 | } |
5 | 5 | |
@@ -21,9 +21,9 @@ discard block |
||
21 | 21 | * @since 4.1.0 |
22 | 22 | */ |
23 | 23 | public function __construct() { |
24 | - add_action( 'admin_notices', array( $this, 'admin_notices' ) ); |
|
25 | - add_action( 'wp_loaded', array( $this, 'hide_notices' ) ); |
|
26 | - add_action( 'woocommerce_stripe_updated', array( $this, 'stripe_updated' ) ); |
|
24 | + add_action('admin_notices', array($this, 'admin_notices')); |
|
25 | + add_action('wp_loaded', array($this, 'hide_notices')); |
|
26 | + add_action('woocommerce_stripe_updated', array($this, 'stripe_updated')); |
|
27 | 27 | } |
28 | 28 | |
29 | 29 | /** |
@@ -32,8 +32,8 @@ discard block |
||
32 | 32 | * @since 1.0.0 |
33 | 33 | * @version 4.0.0 |
34 | 34 | */ |
35 | - public function add_admin_notice( $slug, $class, $message, $dismissible = false ) { |
|
36 | - $this->notices[ $slug ] = array( |
|
35 | + public function add_admin_notice($slug, $class, $message, $dismissible = false) { |
|
36 | + $this->notices[$slug] = array( |
|
37 | 37 | 'class' => $class, |
38 | 38 | 'message' => $message, |
39 | 39 | 'dismissible' => $dismissible, |
@@ -47,7 +47,7 @@ discard block |
||
47 | 47 | * @version 4.0.0 |
48 | 48 | */ |
49 | 49 | public function admin_notices() { |
50 | - if ( ! current_user_can( 'manage_woocommerce' ) ) { |
|
50 | + if ( ! current_user_can('manage_woocommerce')) { |
|
51 | 51 | return; |
52 | 52 | } |
53 | 53 | |
@@ -57,17 +57,17 @@ discard block |
||
57 | 57 | // All other payment methods. |
58 | 58 | $this->payment_methods_check_environment(); |
59 | 59 | |
60 | - foreach ( (array) $this->notices as $notice_key => $notice ) { |
|
61 | - echo '<div class="' . esc_attr( $notice['class'] ) . '" style="position:relative;">'; |
|
60 | + foreach ((array) $this->notices as $notice_key => $notice) { |
|
61 | + echo '<div class="' . esc_attr($notice['class']) . '" style="position:relative;">'; |
|
62 | 62 | |
63 | - if ( $notice['dismissible'] ) { |
|
63 | + if ($notice['dismissible']) { |
|
64 | 64 | ?> |
65 | - <a href="<?php echo esc_url( wp_nonce_url( add_query_arg( 'wc-stripe-hide-notice', $notice_key ), 'wc_stripe_hide_notices_nonce', '_wc_stripe_notice_nonce' ) ); ?>" class="woocommerce-message-close notice-dismiss" style="position:relative;float:right;padding:9px 0px 9px 9px 9px;text-decoration:none;"></a> |
|
65 | + <a href="<?php echo esc_url(wp_nonce_url(add_query_arg('wc-stripe-hide-notice', $notice_key), 'wc_stripe_hide_notices_nonce', '_wc_stripe_notice_nonce')); ?>" class="woocommerce-message-close notice-dismiss" style="position:relative;float:right;padding:9px 0px 9px 9px 9px;text-decoration:none;"></a> |
|
66 | 66 | <?php |
67 | 67 | } |
68 | 68 | |
69 | 69 | echo '<p>'; |
70 | - echo wp_kses( $notice['message'], array( 'a' => array( 'href' => array(), 'target' => array() ) ) ); |
|
70 | + echo wp_kses($notice['message'], array('a' => array('href' => array(), 'target' => array()))); |
|
71 | 71 | echo '</p></div>'; |
72 | 72 | } |
73 | 73 | } |
@@ -100,111 +100,111 @@ discard block |
||
100 | 100 | * @version 4.0.0 |
101 | 101 | */ |
102 | 102 | public function stripe_check_environment() { |
103 | - $show_style_notice = get_option( 'wc_stripe_show_style_notice' ); |
|
104 | - $show_ssl_notice = get_option( 'wc_stripe_show_ssl_notice' ); |
|
105 | - $show_keys_notice = get_option( 'wc_stripe_show_keys_notice' ); |
|
106 | - $show_3ds_notice = get_option( 'wc_stripe_show_3ds_notice' ); |
|
107 | - $show_phpver_notice = get_option( 'wc_stripe_show_phpver_notice' ); |
|
108 | - $show_wcver_notice = get_option( 'wc_stripe_show_wcver_notice' ); |
|
109 | - $show_curl_notice = get_option( 'wc_stripe_show_curl_notice' ); |
|
110 | - $show_sca_notice = get_option( 'wc_stripe_show_sca_notice' ); |
|
111 | - $changed_keys_notice = get_option( 'wc_stripe_show_changed_keys_notice' ); |
|
112 | - $options = get_option( 'woocommerce_stripe_settings' ); |
|
113 | - $testmode = ( isset( $options['testmode'] ) && 'yes' === $options['testmode'] ) ? true : false; |
|
114 | - $test_pub_key = isset( $options['test_publishable_key'] ) ? $options['test_publishable_key'] : ''; |
|
115 | - $test_secret_key = isset( $options['test_secret_key'] ) ? $options['test_secret_key'] : ''; |
|
116 | - $live_pub_key = isset( $options['publishable_key'] ) ? $options['publishable_key'] : ''; |
|
117 | - $live_secret_key = isset( $options['secret_key'] ) ? $options['secret_key'] : ''; |
|
118 | - $three_d_secure = isset( $options['three_d_secure'] ) && 'yes' === $options['three_d_secure']; |
|
119 | - |
|
120 | - if ( isset( $options['enabled'] ) && 'yes' === $options['enabled'] ) { |
|
121 | - if ( empty( $show_3ds_notice ) && $three_d_secure ) { |
|
103 | + $show_style_notice = get_option('wc_stripe_show_style_notice'); |
|
104 | + $show_ssl_notice = get_option('wc_stripe_show_ssl_notice'); |
|
105 | + $show_keys_notice = get_option('wc_stripe_show_keys_notice'); |
|
106 | + $show_3ds_notice = get_option('wc_stripe_show_3ds_notice'); |
|
107 | + $show_phpver_notice = get_option('wc_stripe_show_phpver_notice'); |
|
108 | + $show_wcver_notice = get_option('wc_stripe_show_wcver_notice'); |
|
109 | + $show_curl_notice = get_option('wc_stripe_show_curl_notice'); |
|
110 | + $show_sca_notice = get_option('wc_stripe_show_sca_notice'); |
|
111 | + $changed_keys_notice = get_option('wc_stripe_show_changed_keys_notice'); |
|
112 | + $options = get_option('woocommerce_stripe_settings'); |
|
113 | + $testmode = (isset($options['testmode']) && 'yes' === $options['testmode']) ? true : false; |
|
114 | + $test_pub_key = isset($options['test_publishable_key']) ? $options['test_publishable_key'] : ''; |
|
115 | + $test_secret_key = isset($options['test_secret_key']) ? $options['test_secret_key'] : ''; |
|
116 | + $live_pub_key = isset($options['publishable_key']) ? $options['publishable_key'] : ''; |
|
117 | + $live_secret_key = isset($options['secret_key']) ? $options['secret_key'] : ''; |
|
118 | + $three_d_secure = isset($options['three_d_secure']) && 'yes' === $options['three_d_secure']; |
|
119 | + |
|
120 | + if (isset($options['enabled']) && 'yes' === $options['enabled']) { |
|
121 | + if (empty($show_3ds_notice) && $three_d_secure) { |
|
122 | 122 | $url = 'https://stripe.com/docs/payments/3d-secure#three-ds-radar'; |
123 | 123 | |
124 | 124 | /* translators: 1) A URL that explains Stripe Radar. */ |
125 | - $message = __( 'WooCommerce Stripe - We see that you had the "Require 3D secure when applicable" setting turned on. This setting is not available here anymore, because it is now replaced by Stripe Radar. You can learn more about it <a href="%s" target="_blank">here</a>.', 'woocommerce-gateway-stripe' ); |
|
125 | + $message = __('WooCommerce Stripe - We see that you had the "Require 3D secure when applicable" setting turned on. This setting is not available here anymore, because it is now replaced by Stripe Radar. You can learn more about it <a href="%s" target="_blank">here</a>.', 'woocommerce-gateway-stripe'); |
|
126 | 126 | |
127 | - $this->add_admin_notice( '3ds', 'notice notice-warning', sprintf( $message, $url ), true ); |
|
127 | + $this->add_admin_notice('3ds', 'notice notice-warning', sprintf($message, $url), true); |
|
128 | 128 | } |
129 | 129 | |
130 | - if ( empty( $show_style_notice ) ) { |
|
130 | + if (empty($show_style_notice)) { |
|
131 | 131 | /* translators: 1) int version 2) int version */ |
132 | - $message = __( 'WooCommerce Stripe - We recently made changes to Stripe that may impact the appearance of your checkout. If your checkout has changed unexpectedly, please follow these <a href="https://docs.woocommerce.com/document/stripe/#styling" target="_blank">instructions</a> to fix.', 'woocommerce-gateway-stripe' ); |
|
132 | + $message = __('WooCommerce Stripe - We recently made changes to Stripe that may impact the appearance of your checkout. If your checkout has changed unexpectedly, please follow these <a href="https://docs.woocommerce.com/document/stripe/#styling" target="_blank">instructions</a> to fix.', 'woocommerce-gateway-stripe'); |
|
133 | 133 | |
134 | - $this->add_admin_notice( 'style', 'notice notice-warning', $message, true ); |
|
134 | + $this->add_admin_notice('style', 'notice notice-warning', $message, true); |
|
135 | 135 | |
136 | 136 | return; |
137 | 137 | } |
138 | 138 | |
139 | - if ( empty( $show_phpver_notice ) ) { |
|
140 | - if ( version_compare( phpversion(), WC_STRIPE_MIN_PHP_VER, '<' ) ) { |
|
139 | + if (empty($show_phpver_notice)) { |
|
140 | + if (version_compare(phpversion(), WC_STRIPE_MIN_PHP_VER, '<')) { |
|
141 | 141 | /* translators: 1) int version 2) int version */ |
142 | - $message = __( 'WooCommerce Stripe - The minimum PHP version required for this plugin is %1$s. You are running %2$s.', 'woocommerce-gateway-stripe' ); |
|
142 | + $message = __('WooCommerce Stripe - The minimum PHP version required for this plugin is %1$s. You are running %2$s.', 'woocommerce-gateway-stripe'); |
|
143 | 143 | |
144 | - $this->add_admin_notice( 'phpver', 'error', sprintf( $message, WC_STRIPE_MIN_PHP_VER, phpversion() ), true ); |
|
144 | + $this->add_admin_notice('phpver', 'error', sprintf($message, WC_STRIPE_MIN_PHP_VER, phpversion()), true); |
|
145 | 145 | |
146 | 146 | return; |
147 | 147 | } |
148 | 148 | } |
149 | 149 | |
150 | - if ( empty( $show_wcver_notice ) ) { |
|
151 | - if ( WC_Stripe_Helper::is_wc_lt( WC_STRIPE_FUTURE_MIN_WC_VER ) ) { |
|
150 | + if (empty($show_wcver_notice)) { |
|
151 | + if (WC_Stripe_Helper::is_wc_lt(WC_STRIPE_FUTURE_MIN_WC_VER)) { |
|
152 | 152 | /* translators: 1) int version 2) int version */ |
153 | - $message = __( 'WooCommerce Stripe - This is the last version of the plugin compatible with WooCommerce %1$s. All furture versions of the plugin will require WooCommerce %2$s or greater.', 'woocommerce-gateway-stripe' ); |
|
154 | - $this->add_admin_notice( 'wcver', 'notice notice-warning', sprintf( $message, WC_VERSION, WC_STRIPE_FUTURE_MIN_WC_VER ), true ); |
|
153 | + $message = __('WooCommerce Stripe - This is the last version of the plugin compatible with WooCommerce %1$s. All furture versions of the plugin will require WooCommerce %2$s or greater.', 'woocommerce-gateway-stripe'); |
|
154 | + $this->add_admin_notice('wcver', 'notice notice-warning', sprintf($message, WC_VERSION, WC_STRIPE_FUTURE_MIN_WC_VER), true); |
|
155 | 155 | } |
156 | 156 | } |
157 | 157 | |
158 | - if ( empty( $show_curl_notice ) ) { |
|
159 | - if ( ! function_exists( 'curl_init' ) ) { |
|
160 | - $this->add_admin_notice( 'curl', 'notice notice-warning', __( 'WooCommerce Stripe - cURL is not installed.', 'woocommerce-gateway-stripe' ), true ); |
|
158 | + if (empty($show_curl_notice)) { |
|
159 | + if ( ! function_exists('curl_init')) { |
|
160 | + $this->add_admin_notice('curl', 'notice notice-warning', __('WooCommerce Stripe - cURL is not installed.', 'woocommerce-gateway-stripe'), true); |
|
161 | 161 | } |
162 | 162 | } |
163 | 163 | |
164 | - if ( empty( $show_keys_notice ) ) { |
|
164 | + if (empty($show_keys_notice)) { |
|
165 | 165 | $secret = WC_Stripe_API::get_secret_key(); |
166 | 166 | |
167 | - if ( empty( $secret ) && ! ( isset( $_GET['page'], $_GET['section'] ) && 'wc-settings' === $_GET['page'] && 'stripe' === $_GET['section'] ) ) { |
|
167 | + if (empty($secret) && ! (isset($_GET['page'], $_GET['section']) && 'wc-settings' === $_GET['page'] && 'stripe' === $_GET['section'])) { |
|
168 | 168 | $setting_link = $this->get_setting_link(); |
169 | 169 | /* translators: 1) link */ |
170 | - $this->add_admin_notice( 'keys', 'notice notice-warning', sprintf( __( 'Stripe is almost ready. To get started, <a href="%s">set your Stripe account keys</a>.', 'woocommerce-gateway-stripe' ), $setting_link ), true ); |
|
170 | + $this->add_admin_notice('keys', 'notice notice-warning', sprintf(__('Stripe is almost ready. To get started, <a href="%s">set your Stripe account keys</a>.', 'woocommerce-gateway-stripe'), $setting_link), true); |
|
171 | 171 | } |
172 | 172 | |
173 | 173 | // Check if keys are entered properly per live/test mode. |
174 | - if ( $testmode ) { |
|
174 | + if ($testmode) { |
|
175 | 175 | if ( |
176 | - ! empty( $test_pub_key ) && ! preg_match( '/^pk_test_/', $test_pub_key ) |
|
177 | - || ! empty( $test_secret_key ) && ! preg_match( '/^[rs]k_test_/', $test_secret_key ) ) { |
|
176 | + ! empty($test_pub_key) && ! preg_match('/^pk_test_/', $test_pub_key) |
|
177 | + || ! empty($test_secret_key) && ! preg_match('/^[rs]k_test_/', $test_secret_key) ) { |
|
178 | 178 | $setting_link = $this->get_setting_link(); |
179 | 179 | /* translators: 1) link */ |
180 | - $this->add_admin_notice( 'keys', 'notice notice-error', sprintf( __( 'Stripe is in test mode however your test keys may not be valid. Test keys start with pk_test and sk_test or rk_test. Please go to your settings and, <a href="%s">set your Stripe account keys</a>.', 'woocommerce-gateway-stripe' ), $setting_link ), true ); |
|
180 | + $this->add_admin_notice('keys', 'notice notice-error', sprintf(__('Stripe is in test mode however your test keys may not be valid. Test keys start with pk_test and sk_test or rk_test. Please go to your settings and, <a href="%s">set your Stripe account keys</a>.', 'woocommerce-gateway-stripe'), $setting_link), true); |
|
181 | 181 | } |
182 | 182 | } else { |
183 | 183 | if ( |
184 | - ! empty( $live_pub_key ) && ! preg_match( '/^pk_live_/', $live_pub_key ) |
|
185 | - || ! empty( $live_secret_key ) && ! preg_match( '/^[rs]k_live_/', $live_secret_key ) ) { |
|
184 | + ! empty($live_pub_key) && ! preg_match('/^pk_live_/', $live_pub_key) |
|
185 | + || ! empty($live_secret_key) && ! preg_match('/^[rs]k_live_/', $live_secret_key) ) { |
|
186 | 186 | $setting_link = $this->get_setting_link(); |
187 | 187 | /* translators: 1) link */ |
188 | - $this->add_admin_notice( 'keys', 'notice notice-error', sprintf( __( 'Stripe is in live mode however your live keys may not be valid. Live keys start with pk_live and sk_live or rk_live. Please go to your settings and, <a href="%s">set your Stripe account keys</a>.', 'woocommerce-gateway-stripe' ), $setting_link ), true ); |
|
188 | + $this->add_admin_notice('keys', 'notice notice-error', sprintf(__('Stripe is in live mode however your live keys may not be valid. Live keys start with pk_live and sk_live or rk_live. Please go to your settings and, <a href="%s">set your Stripe account keys</a>.', 'woocommerce-gateway-stripe'), $setting_link), true); |
|
189 | 189 | } |
190 | 190 | } |
191 | 191 | } |
192 | 192 | |
193 | - if ( empty( $show_ssl_notice ) ) { |
|
193 | + if (empty($show_ssl_notice)) { |
|
194 | 194 | // Show message if enabled and FORCE SSL is disabled and WordpressHTTPS plugin is not detected. |
195 | - if ( ! wc_checkout_is_https() ) { |
|
195 | + if ( ! wc_checkout_is_https()) { |
|
196 | 196 | /* translators: 1) link */ |
197 | - $this->add_admin_notice( 'ssl', 'notice notice-warning', sprintf( __( 'Stripe is enabled, but a SSL certificate is not detected. Your checkout may not be secure! Please ensure your server has a valid <a href="%1$s" target="_blank">SSL certificate</a>', 'woocommerce-gateway-stripe' ), 'https://en.wikipedia.org/wiki/Transport_Layer_Security' ), true ); |
|
197 | + $this->add_admin_notice('ssl', 'notice notice-warning', sprintf(__('Stripe is enabled, but a SSL certificate is not detected. Your checkout may not be secure! Please ensure your server has a valid <a href="%1$s" target="_blank">SSL certificate</a>', 'woocommerce-gateway-stripe'), 'https://en.wikipedia.org/wiki/Transport_Layer_Security'), true); |
|
198 | 198 | } |
199 | 199 | } |
200 | 200 | |
201 | - if ( empty( $show_sca_notice ) ) { |
|
202 | - $this->add_admin_notice( 'sca', 'notice notice-success', sprintf( __( 'Stripe is now ready for Strong Customer Authentication (SCA) and 3D Secure 2! <a href="%1$s" target="_blank">Read about SCA</a>', 'woocommerce-gateway-stripe' ), 'https://woocommerce.com/posts/introducing-strong-customer-authentication-sca/' ), true ); |
|
201 | + if (empty($show_sca_notice)) { |
|
202 | + $this->add_admin_notice('sca', 'notice notice-success', sprintf(__('Stripe is now ready for Strong Customer Authentication (SCA) and 3D Secure 2! <a href="%1$s" target="_blank">Read about SCA</a>', 'woocommerce-gateway-stripe'), 'https://woocommerce.com/posts/introducing-strong-customer-authentication-sca/'), true); |
|
203 | 203 | } |
204 | 204 | |
205 | - if ( 'yes' === $changed_keys_notice ) { |
|
205 | + if ('yes' === $changed_keys_notice) { |
|
206 | 206 | // translators: %s is a the URL for the link. |
207 | - $this->add_admin_notice( 'changed_keys', 'notice notice-warning', sprintf( __( 'The public and/or secret keys for the Stripe gateway have been changed. This might cause errors for existing customers and saved payment methods. <a href="%s" target="_blank">Click here to learn more</a>.', 'woocommerce-gateway-stripe' ), 'https://docs.woocommerce.com/document/stripe-fixing-customer-errors/' ), true ); |
|
207 | + $this->add_admin_notice('changed_keys', 'notice notice-warning', sprintf(__('The public and/or secret keys for the Stripe gateway have been changed. This might cause errors for existing customers and saved payment methods. <a href="%s" target="_blank">Click here to learn more</a>.', 'woocommerce-gateway-stripe'), 'https://docs.woocommerce.com/document/stripe-fixing-customer-errors/'), true); |
|
208 | 208 | } |
209 | 209 | } |
210 | 210 | } |
@@ -217,17 +217,17 @@ discard block |
||
217 | 217 | public function payment_methods_check_environment() { |
218 | 218 | $payment_methods = $this->get_payment_methods(); |
219 | 219 | |
220 | - foreach ( $payment_methods as $method => $class ) { |
|
221 | - $show_notice = get_option( 'wc_stripe_show_' . strtolower( $method ) . '_notice' ); |
|
220 | + foreach ($payment_methods as $method => $class) { |
|
221 | + $show_notice = get_option('wc_stripe_show_' . strtolower($method) . '_notice'); |
|
222 | 222 | $gateway = new $class(); |
223 | 223 | |
224 | - if ( 'yes' !== $gateway->enabled || 'no' === $show_notice ) { |
|
224 | + if ('yes' !== $gateway->enabled || 'no' === $show_notice) { |
|
225 | 225 | continue; |
226 | 226 | } |
227 | 227 | |
228 | - if ( ! in_array( get_woocommerce_currency(), $gateway->get_supported_currency() ) ) { |
|
228 | + if ( ! in_array(get_woocommerce_currency(), $gateway->get_supported_currency())) { |
|
229 | 229 | /* translators: %1$s Payment method, %2$s List of supported currencies */ |
230 | - $this->add_admin_notice( $method, 'notice notice-error', sprintf( __( '%1$s is enabled - it requires store currency to be set to %2$s', 'woocommerce-gateway-stripe' ), $method, implode( ', ', $gateway->get_supported_currency() ) ), true ); |
|
230 | + $this->add_admin_notice($method, 'notice notice-error', sprintf(__('%1$s is enabled - it requires store currency to be set to %2$s', 'woocommerce-gateway-stripe'), $method, implode(', ', $gateway->get_supported_currency())), true); |
|
231 | 231 | } |
232 | 232 | } |
233 | 233 | } |
@@ -239,71 +239,71 @@ discard block |
||
239 | 239 | * @version 4.0.0 |
240 | 240 | */ |
241 | 241 | public function hide_notices() { |
242 | - if ( isset( $_GET['wc-stripe-hide-notice'] ) && isset( $_GET['_wc_stripe_notice_nonce'] ) ) { |
|
243 | - if ( ! wp_verify_nonce( $_GET['_wc_stripe_notice_nonce'], 'wc_stripe_hide_notices_nonce' ) ) { |
|
244 | - wp_die( __( 'Action failed. Please refresh the page and retry.', 'woocommerce-gateway-stripe' ) ); |
|
242 | + if (isset($_GET['wc-stripe-hide-notice']) && isset($_GET['_wc_stripe_notice_nonce'])) { |
|
243 | + if ( ! wp_verify_nonce($_GET['_wc_stripe_notice_nonce'], 'wc_stripe_hide_notices_nonce')) { |
|
244 | + wp_die(__('Action failed. Please refresh the page and retry.', 'woocommerce-gateway-stripe')); |
|
245 | 245 | } |
246 | 246 | |
247 | - if ( ! current_user_can( 'manage_woocommerce' ) ) { |
|
248 | - wp_die( __( 'Cheatin’ huh?', 'woocommerce-gateway-stripe' ) ); |
|
247 | + if ( ! current_user_can('manage_woocommerce')) { |
|
248 | + wp_die(__('Cheatin’ huh?', 'woocommerce-gateway-stripe')); |
|
249 | 249 | } |
250 | 250 | |
251 | - $notice = wc_clean( $_GET['wc-stripe-hide-notice'] ); |
|
251 | + $notice = wc_clean($_GET['wc-stripe-hide-notice']); |
|
252 | 252 | |
253 | - switch ( $notice ) { |
|
253 | + switch ($notice) { |
|
254 | 254 | case 'style': |
255 | - update_option( 'wc_stripe_show_style_notice', 'no' ); |
|
255 | + update_option('wc_stripe_show_style_notice', 'no'); |
|
256 | 256 | break; |
257 | 257 | case 'phpver': |
258 | - update_option( 'wc_stripe_show_phpver_notice', 'no' ); |
|
258 | + update_option('wc_stripe_show_phpver_notice', 'no'); |
|
259 | 259 | break; |
260 | 260 | case 'wcver': |
261 | - update_option( 'wc_stripe_show_wcver_notice', 'no' ); |
|
261 | + update_option('wc_stripe_show_wcver_notice', 'no'); |
|
262 | 262 | break; |
263 | 263 | case 'curl': |
264 | - update_option( 'wc_stripe_show_curl_notice', 'no' ); |
|
264 | + update_option('wc_stripe_show_curl_notice', 'no'); |
|
265 | 265 | break; |
266 | 266 | case 'ssl': |
267 | - update_option( 'wc_stripe_show_ssl_notice', 'no' ); |
|
267 | + update_option('wc_stripe_show_ssl_notice', 'no'); |
|
268 | 268 | break; |
269 | 269 | case 'keys': |
270 | - update_option( 'wc_stripe_show_keys_notice', 'no' ); |
|
270 | + update_option('wc_stripe_show_keys_notice', 'no'); |
|
271 | 271 | break; |
272 | 272 | case '3ds': |
273 | - update_option( 'wc_stripe_show_3ds_notice', 'no' ); |
|
273 | + update_option('wc_stripe_show_3ds_notice', 'no'); |
|
274 | 274 | break; |
275 | 275 | case 'Alipay': |
276 | - update_option( 'wc_stripe_show_alipay_notice', 'no' ); |
|
276 | + update_option('wc_stripe_show_alipay_notice', 'no'); |
|
277 | 277 | break; |
278 | 278 | case 'Bancontact': |
279 | - update_option( 'wc_stripe_show_bancontact_notice', 'no' ); |
|
279 | + update_option('wc_stripe_show_bancontact_notice', 'no'); |
|
280 | 280 | break; |
281 | 281 | case 'EPS': |
282 | - update_option( 'wc_stripe_show_eps_notice', 'no' ); |
|
282 | + update_option('wc_stripe_show_eps_notice', 'no'); |
|
283 | 283 | break; |
284 | 284 | case 'Giropay': |
285 | - update_option( 'wc_stripe_show_giropay_notice', 'no' ); |
|
285 | + update_option('wc_stripe_show_giropay_notice', 'no'); |
|
286 | 286 | break; |
287 | 287 | case 'iDeal': |
288 | - update_option( 'wc_stripe_show_ideal_notice', 'no' ); |
|
288 | + update_option('wc_stripe_show_ideal_notice', 'no'); |
|
289 | 289 | break; |
290 | 290 | case 'Multibanco': |
291 | - update_option( 'wc_stripe_show_multibanco_notice', 'no' ); |
|
291 | + update_option('wc_stripe_show_multibanco_notice', 'no'); |
|
292 | 292 | break; |
293 | 293 | case 'P24': |
294 | - update_option( 'wc_stripe_show_p24_notice', 'no' ); |
|
294 | + update_option('wc_stripe_show_p24_notice', 'no'); |
|
295 | 295 | break; |
296 | 296 | case 'SEPA': |
297 | - update_option( 'wc_stripe_show_sepa_notice', 'no' ); |
|
297 | + update_option('wc_stripe_show_sepa_notice', 'no'); |
|
298 | 298 | break; |
299 | 299 | case 'SOFORT': |
300 | - update_option( 'wc_stripe_show_sofort_notice', 'no' ); |
|
300 | + update_option('wc_stripe_show_sofort_notice', 'no'); |
|
301 | 301 | break; |
302 | 302 | case 'sca': |
303 | - update_option( 'wc_stripe_show_sca_notice', 'no' ); |
|
303 | + update_option('wc_stripe_show_sca_notice', 'no'); |
|
304 | 304 | break; |
305 | 305 | case 'changed_keys': |
306 | - update_option( 'wc_stripe_show_changed_keys_notice', 'no' ); |
|
306 | + update_option('wc_stripe_show_changed_keys_notice', 'no'); |
|
307 | 307 | } |
308 | 308 | } |
309 | 309 | } |
@@ -316,7 +316,7 @@ discard block |
||
316 | 316 | * @return string Setting link |
317 | 317 | */ |
318 | 318 | public function get_setting_link() { |
319 | - return admin_url( 'admin.php?page=wc-settings&tab=checkout§ion=stripe' ); |
|
319 | + return admin_url('admin.php?page=wc-settings&tab=checkout§ion=stripe'); |
|
320 | 320 | } |
321 | 321 | |
322 | 322 | /** |
@@ -325,16 +325,16 @@ discard block |
||
325 | 325 | * @since 4.3.0 |
326 | 326 | */ |
327 | 327 | public function stripe_updated() { |
328 | - $previous_version = get_option( 'wc_stripe_version' ); |
|
328 | + $previous_version = get_option('wc_stripe_version'); |
|
329 | 329 | |
330 | 330 | // Only show the style notice if the plugin was installed and older than 4.1.4. |
331 | - if ( empty( $previous_version ) || version_compare( $previous_version, '4.1.4', 'ge' ) ) { |
|
332 | - update_option( 'wc_stripe_show_style_notice', 'no' ); |
|
331 | + if (empty($previous_version) || version_compare($previous_version, '4.1.4', 'ge')) { |
|
332 | + update_option('wc_stripe_show_style_notice', 'no'); |
|
333 | 333 | } |
334 | 334 | |
335 | 335 | // Only show the SCA notice on pre-4.3.0 installs. |
336 | - if ( empty( $previous_version ) || version_compare( $previous_version, '4.3.0', 'ge' ) ) { |
|
337 | - update_option( 'wc_stripe_show_sca_notice', 'no' ); |
|
336 | + if (empty($previous_version) || version_compare($previous_version, '4.3.0', 'ge')) { |
|
337 | + update_option('wc_stripe_show_sca_notice', 'no'); |
|
338 | 338 | } |
339 | 339 | } |
340 | 340 | } |
@@ -63,21 +63,21 @@ discard block |
||
63 | 63 | $this->simple_product = WC_Helper_Product::create_simple_product(); |
64 | 64 | |
65 | 65 | $zone = new WC_Shipping_Zone(); |
66 | - $zone->set_zone_name( 'Worldwide' ); |
|
67 | - $zone->set_zone_order( 1 ); |
|
66 | + $zone->set_zone_name('Worldwide'); |
|
67 | + $zone->set_zone_order(1); |
|
68 | 68 | $zone->save(); |
69 | 69 | |
70 | - $this->flat_rate_id = $zone->add_shipping_method( 'flat_rate' ); |
|
71 | - self::set_shipping_method_cost( $this->flat_rate_id, '5' ); |
|
70 | + $this->flat_rate_id = $zone->add_shipping_method('flat_rate'); |
|
71 | + self::set_shipping_method_cost($this->flat_rate_id, '5'); |
|
72 | 72 | |
73 | - $this->local_pickup_id = $zone->add_shipping_method( 'local_pickup' ); |
|
74 | - self::set_shipping_method_cost( $this->local_pickup_id, '1' ); |
|
73 | + $this->local_pickup_id = $zone->add_shipping_method('local_pickup'); |
|
74 | + self::set_shipping_method_cost($this->local_pickup_id, '1'); |
|
75 | 75 | |
76 | 76 | $this->zone = $zone; |
77 | 77 | |
78 | 78 | WC()->session->init(); |
79 | - WC()->cart->add_to_cart( $this->simple_product->get_id(), 1 ); |
|
80 | - $this->pr->update_shipping_method( [ self::get_shipping_option_rate_id( $this->flat_rate_id ) ] ); |
|
79 | + WC()->cart->add_to_cart($this->simple_product->get_id(), 1); |
|
80 | + $this->pr->update_shipping_method([self::get_shipping_option_rate_id($this->flat_rate_id)]); |
|
81 | 81 | WC()->cart->calculate_totals(); |
82 | 82 | } |
83 | 83 | |
@@ -94,12 +94,12 @@ discard block |
||
94 | 94 | * @param string $instance_id Shipping method instance id |
95 | 95 | * @param string $cost Shipping method cost in USD |
96 | 96 | */ |
97 | - private static function set_shipping_method_cost( $instance_id, $cost ) { |
|
98 | - $method = WC_Shipping_Zones::get_shipping_method( $instance_id ); |
|
97 | + private static function set_shipping_method_cost($instance_id, $cost) { |
|
98 | + $method = WC_Shipping_Zones::get_shipping_method($instance_id); |
|
99 | 99 | $option_key = $method->get_instance_option_key(); |
100 | - $options = get_option( $option_key ); |
|
100 | + $options = get_option($option_key); |
|
101 | 101 | $options['cost'] = $cost; |
102 | - update_option( $option_key, $options ); |
|
102 | + update_option($option_key, $options); |
|
103 | 103 | } |
104 | 104 | |
105 | 105 | /** |
@@ -109,13 +109,13 @@ discard block |
||
109 | 109 | * |
110 | 110 | * @return array Shipping option. |
111 | 111 | */ |
112 | - private static function get_shipping_option( $instance_id ) { |
|
113 | - $method = WC_Shipping_Zones::get_shipping_method( $instance_id ); |
|
112 | + private static function get_shipping_option($instance_id) { |
|
113 | + $method = WC_Shipping_Zones::get_shipping_method($instance_id); |
|
114 | 114 | return [ |
115 | 115 | 'id' => $method->get_rate_id(), |
116 | 116 | 'label' => $method->title, |
117 | 117 | 'detail' => '', |
118 | - 'amount' => WC_Stripe_Helper::get_stripe_amount( $method->get_instance_option( 'cost' ) ), |
|
118 | + 'amount' => WC_Stripe_Helper::get_stripe_amount($method->get_instance_option('cost')), |
|
119 | 119 | ]; |
120 | 120 | } |
121 | 121 | |
@@ -126,28 +126,28 @@ discard block |
||
126 | 126 | * |
127 | 127 | * @return string Shipping option instance rate id. |
128 | 128 | */ |
129 | - private static function get_shipping_option_rate_id( $instance_id ) { |
|
130 | - $method = WC_Shipping_Zones::get_shipping_method( $instance_id ); |
|
129 | + private static function get_shipping_option_rate_id($instance_id) { |
|
130 | + $method = WC_Shipping_Zones::get_shipping_method($instance_id); |
|
131 | 131 | return $method->get_rate_id(); |
132 | 132 | } |
133 | 133 | |
134 | 134 | |
135 | 135 | public function test_get_shipping_options_returns_shipping_options() { |
136 | - $data = $this->pr->get_shipping_options( self::SHIPPING_ADDRESS ); |
|
136 | + $data = $this->pr->get_shipping_options(self::SHIPPING_ADDRESS); |
|
137 | 137 | |
138 | 138 | $expected_shipping_options = array_map( |
139 | 139 | 'self::get_shipping_option', |
140 | - [ $this->flat_rate_id, $this->local_pickup_id ] |
|
140 | + [$this->flat_rate_id, $this->local_pickup_id] |
|
141 | 141 | ); |
142 | 142 | |
143 | - $this->assertEquals( 'success', $data['result'] ); |
|
144 | - $this->assertEquals( $expected_shipping_options, $data['shipping_options'], 'Shipping options mismatch' ); |
|
143 | + $this->assertEquals('success', $data['result']); |
|
144 | + $this->assertEquals($expected_shipping_options, $data['shipping_options'], 'Shipping options mismatch'); |
|
145 | 145 | } |
146 | 146 | |
147 | 147 | public function test_get_shipping_options_returns_chosen_option() { |
148 | - $data = $this->pr->get_shipping_options( self::SHIPPING_ADDRESS ); |
|
148 | + $data = $this->pr->get_shipping_options(self::SHIPPING_ADDRESS); |
|
149 | 149 | |
150 | - $flat_rate = $this->get_shipping_option( $this->flat_rate_id ); |
|
150 | + $flat_rate = $this->get_shipping_option($this->flat_rate_id); |
|
151 | 151 | $expected_display_items = [ |
152 | 152 | [ |
153 | 153 | 'label' => 'Shipping', |
@@ -155,22 +155,22 @@ discard block |
||
155 | 155 | ], |
156 | 156 | ]; |
157 | 157 | |
158 | - $this->assertEquals( 1500, $data['total']['amount'], 'Total amount mismatch' ); |
|
159 | - $this->assertEquals( $expected_display_items, $data['displayItems'], 'Display items mismatch' ); |
|
158 | + $this->assertEquals(1500, $data['total']['amount'], 'Total amount mismatch'); |
|
159 | + $this->assertEquals($expected_display_items, $data['displayItems'], 'Display items mismatch'); |
|
160 | 160 | } |
161 | 161 | |
162 | 162 | public function test_get_shipping_options_keeps_chosen_option() { |
163 | - $method_id = self::get_shipping_option_rate_id( $this->local_pickup_id ); |
|
164 | - $this->pr->update_shipping_method( [ $method_id ] ); |
|
163 | + $method_id = self::get_shipping_option_rate_id($this->local_pickup_id); |
|
164 | + $this->pr->update_shipping_method([$method_id]); |
|
165 | 165 | |
166 | - $data = $this->pr->get_shipping_options( self::SHIPPING_ADDRESS ); |
|
166 | + $data = $this->pr->get_shipping_options(self::SHIPPING_ADDRESS); |
|
167 | 167 | |
168 | 168 | $expected_shipping_options = array_map( |
169 | 169 | 'self::get_shipping_option', |
170 | - [ $this->local_pickup_id, $this->flat_rate_id ] |
|
170 | + [$this->local_pickup_id, $this->flat_rate_id] |
|
171 | 171 | ); |
172 | 172 | |
173 | - $this->assertEquals( 'success', $data['result'] ); |
|
174 | - $this->assertEquals( $expected_shipping_options, $data['shipping_options'], 'Shipping options mismatch' ); |
|
173 | + $this->assertEquals('success', $data['result']); |
|
174 | + $this->assertEquals($expected_shipping_options, $data['shipping_options'], 'Shipping options mismatch'); |
|
175 | 175 | } |
176 | 176 | } |
@@ -1,5 +1,5 @@ discard block |
||
1 | 1 | <?php |
2 | -if ( ! defined( 'ABSPATH' ) ) { |
|
2 | +if ( ! defined('ABSPATH')) { |
|
3 | 3 | exit; |
4 | 4 | } |
5 | 5 | |
@@ -23,12 +23,12 @@ discard block |
||
23 | 23 | |
24 | 24 | $this->retry_interval = 1; |
25 | 25 | |
26 | - add_action( 'wp', array( $this, 'maybe_process_redirect_order' ) ); |
|
27 | - add_action( 'woocommerce_order_status_processing', array( $this, 'capture_payment' ) ); |
|
28 | - add_action( 'woocommerce_order_status_completed', array( $this, 'capture_payment' ) ); |
|
29 | - add_action( 'woocommerce_order_status_cancelled', array( $this, 'cancel_payment' ) ); |
|
30 | - add_action( 'woocommerce_order_status_refunded', array( $this, 'cancel_payment' ) ); |
|
31 | - add_filter( 'woocommerce_tracks_event_properties', array( $this, 'woocommerce_tracks_event_properties' ), 10, 2 ); |
|
26 | + add_action('wp', array($this, 'maybe_process_redirect_order')); |
|
27 | + add_action('woocommerce_order_status_processing', array($this, 'capture_payment')); |
|
28 | + add_action('woocommerce_order_status_completed', array($this, 'capture_payment')); |
|
29 | + add_action('woocommerce_order_status_cancelled', array($this, 'cancel_payment')); |
|
30 | + add_action('woocommerce_order_status_refunded', array($this, 'cancel_payment')); |
|
31 | + add_filter('woocommerce_tracks_event_properties', array($this, 'woocommerce_tracks_event_properties'), 10, 2); |
|
32 | 32 | } |
33 | 33 | |
34 | 34 | /** |
@@ -52,25 +52,25 @@ discard block |
||
52 | 52 | * @param bool $retry |
53 | 53 | * @param mix $previous_error Any error message from previous request. |
54 | 54 | */ |
55 | - public function process_redirect_payment( $order_id, $retry = true, $previous_error = false ) { |
|
55 | + public function process_redirect_payment($order_id, $retry = true, $previous_error = false) { |
|
56 | 56 | try { |
57 | - $source = wc_clean( $_GET['source'] ); |
|
57 | + $source = wc_clean($_GET['source']); |
|
58 | 58 | |
59 | - if ( empty( $source ) ) { |
|
59 | + if (empty($source)) { |
|
60 | 60 | return; |
61 | 61 | } |
62 | 62 | |
63 | - if ( empty( $order_id ) ) { |
|
63 | + if (empty($order_id)) { |
|
64 | 64 | return; |
65 | 65 | } |
66 | 66 | |
67 | - $order = wc_get_order( $order_id ); |
|
67 | + $order = wc_get_order($order_id); |
|
68 | 68 | |
69 | - if ( ! is_object( $order ) ) { |
|
69 | + if ( ! is_object($order)) { |
|
70 | 70 | return; |
71 | 71 | } |
72 | 72 | |
73 | - if ( $order->has_status( array( 'processing', 'completed', 'on-hold' ) ) ) { |
|
73 | + if ($order->has_status(array('processing', 'completed', 'on-hold'))) { |
|
74 | 74 | return; |
75 | 75 | } |
76 | 76 | |
@@ -78,119 +78,119 @@ discard block |
||
78 | 78 | $response = null; |
79 | 79 | |
80 | 80 | // This will throw exception if not valid. |
81 | - $this->validate_minimum_order_amount( $order ); |
|
81 | + $this->validate_minimum_order_amount($order); |
|
82 | 82 | |
83 | - WC_Stripe_Logger::log( "Info: (Redirect) Begin processing payment for order $order_id for the amount of {$order->get_total()}" ); |
|
83 | + WC_Stripe_Logger::log("Info: (Redirect) Begin processing payment for order $order_id for the amount of {$order->get_total()}"); |
|
84 | 84 | |
85 | 85 | /** |
86 | 86 | * First check if the source is chargeable at this time. If not, |
87 | 87 | * webhook will take care of it later. |
88 | 88 | */ |
89 | - $source_info = WC_Stripe_API::retrieve( 'sources/' . $source ); |
|
89 | + $source_info = WC_Stripe_API::retrieve('sources/' . $source); |
|
90 | 90 | |
91 | - if ( ! empty( $source_info->error ) ) { |
|
92 | - throw new WC_Stripe_Exception( print_r( $source_info, true ), $source_info->error->message ); |
|
91 | + if ( ! empty($source_info->error)) { |
|
92 | + throw new WC_Stripe_Exception(print_r($source_info, true), $source_info->error->message); |
|
93 | 93 | } |
94 | 94 | |
95 | - if ( 'failed' === $source_info->status || 'canceled' === $source_info->status ) { |
|
96 | - throw new WC_Stripe_Exception( print_r( $source_info, true ), __( 'Unable to process this payment, please try again or use alternative method.', 'woocommerce-gateway-stripe' ) ); |
|
95 | + if ('failed' === $source_info->status || 'canceled' === $source_info->status) { |
|
96 | + throw new WC_Stripe_Exception(print_r($source_info, true), __('Unable to process this payment, please try again or use alternative method.', 'woocommerce-gateway-stripe')); |
|
97 | 97 | } |
98 | 98 | |
99 | 99 | // If already consumed, then ignore request. |
100 | - if ( 'consumed' === $source_info->status ) { |
|
100 | + if ('consumed' === $source_info->status) { |
|
101 | 101 | return; |
102 | 102 | } |
103 | 103 | |
104 | 104 | // If not chargeable, then ignore request. |
105 | - if ( 'chargeable' !== $source_info->status ) { |
|
105 | + if ('chargeable' !== $source_info->status) { |
|
106 | 106 | return; |
107 | 107 | } |
108 | 108 | |
109 | 109 | // Prep source object. |
110 | 110 | $source_object = new stdClass(); |
111 | 111 | $source_object->token_id = ''; |
112 | - $source_object->customer = $this->get_stripe_customer_id( $order ); |
|
112 | + $source_object->customer = $this->get_stripe_customer_id($order); |
|
113 | 113 | $source_object->source = $source_info->id; |
114 | 114 | $source_object->status = 'chargeable'; |
115 | 115 | |
116 | 116 | /* If we're doing a retry and source is chargeable, we need to pass |
117 | 117 | * a different idempotency key and retry for success. |
118 | 118 | */ |
119 | - if ( $this->need_update_idempotency_key( $source_object, $previous_error ) ) { |
|
120 | - add_filter( 'wc_stripe_idempotency_key', array( $this, 'change_idempotency_key' ), 10, 2 ); |
|
119 | + if ($this->need_update_idempotency_key($source_object, $previous_error)) { |
|
120 | + add_filter('wc_stripe_idempotency_key', array($this, 'change_idempotency_key'), 10, 2); |
|
121 | 121 | } |
122 | 122 | |
123 | 123 | // Make the request. |
124 | - $response = WC_Stripe_API::request( $this->generate_payment_request( $order, $source_object ), 'charges', 'POST', true ); |
|
124 | + $response = WC_Stripe_API::request($this->generate_payment_request($order, $source_object), 'charges', 'POST', true); |
|
125 | 125 | $headers = $response['headers']; |
126 | 126 | $response = $response['body']; |
127 | 127 | |
128 | - if ( ! empty( $response->error ) ) { |
|
128 | + if ( ! empty($response->error)) { |
|
129 | 129 | // Customer param wrong? The user may have been deleted on stripe's end. Remove customer_id. Can be retried without. |
130 | - if ( $this->is_no_such_customer_error( $response->error ) ) { |
|
131 | - delete_user_option( $order->get_customer_id(), '_stripe_customer_id' ); |
|
132 | - $order->delete_meta_data( '_stripe_customer_id' ); |
|
130 | + if ($this->is_no_such_customer_error($response->error)) { |
|
131 | + delete_user_option($order->get_customer_id(), '_stripe_customer_id'); |
|
132 | + $order->delete_meta_data('_stripe_customer_id'); |
|
133 | 133 | $order->save(); |
134 | 134 | } |
135 | 135 | |
136 | - if ( $this->is_no_such_token_error( $response->error ) && $prepared_source->token_id ) { |
|
136 | + if ($this->is_no_such_token_error($response->error) && $prepared_source->token_id) { |
|
137 | 137 | // Source param wrong? The CARD may have been deleted on stripe's end. Remove token and show message. |
138 | - $wc_token = WC_Payment_Tokens::get( $prepared_source->token_id ); |
|
138 | + $wc_token = WC_Payment_Tokens::get($prepared_source->token_id); |
|
139 | 139 | $wc_token->delete(); |
140 | - $localized_message = __( 'This card is no longer available and has been removed.', 'woocommerce-gateway-stripe' ); |
|
141 | - $order->add_order_note( $localized_message ); |
|
142 | - throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message ); |
|
140 | + $localized_message = __('This card is no longer available and has been removed.', 'woocommerce-gateway-stripe'); |
|
141 | + $order->add_order_note($localized_message); |
|
142 | + throw new WC_Stripe_Exception(print_r($response, true), $localized_message); |
|
143 | 143 | } |
144 | 144 | |
145 | 145 | // We want to retry. |
146 | - if ( $this->is_retryable_error( $response->error ) ) { |
|
147 | - if ( $retry ) { |
|
146 | + if ($this->is_retryable_error($response->error)) { |
|
147 | + if ($retry) { |
|
148 | 148 | // Don't do anymore retries after this. |
149 | - if ( 5 <= $this->retry_interval ) { |
|
150 | - return $this->process_redirect_payment( $order_id, false, $response->error ); |
|
149 | + if (5 <= $this->retry_interval) { |
|
150 | + return $this->process_redirect_payment($order_id, false, $response->error); |
|
151 | 151 | } |
152 | 152 | |
153 | - sleep( $this->retry_interval ); |
|
153 | + sleep($this->retry_interval); |
|
154 | 154 | |
155 | 155 | $this->retry_interval++; |
156 | - return $this->process_redirect_payment( $order_id, true, $response->error ); |
|
156 | + return $this->process_redirect_payment($order_id, true, $response->error); |
|
157 | 157 | } else { |
158 | - $localized_message = __( 'Sorry, we are unable to process your payment at this time. Please retry later.', 'woocommerce-gateway-stripe' ); |
|
159 | - $order->add_order_note( $localized_message ); |
|
160 | - throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message ); |
|
158 | + $localized_message = __('Sorry, we are unable to process your payment at this time. Please retry later.', 'woocommerce-gateway-stripe'); |
|
159 | + $order->add_order_note($localized_message); |
|
160 | + throw new WC_Stripe_Exception(print_r($response, true), $localized_message); |
|
161 | 161 | } |
162 | 162 | } |
163 | 163 | |
164 | 164 | $localized_messages = WC_Stripe_Helper::get_localized_messages(); |
165 | 165 | |
166 | - if ( 'card_error' === $response->error->type ) { |
|
167 | - $message = isset( $localized_messages[ $response->error->code ] ) ? $localized_messages[ $response->error->code ] : $response->error->message; |
|
166 | + if ('card_error' === $response->error->type) { |
|
167 | + $message = isset($localized_messages[$response->error->code]) ? $localized_messages[$response->error->code] : $response->error->message; |
|
168 | 168 | } else { |
169 | - $message = isset( $localized_messages[ $response->error->type ] ) ? $localized_messages[ $response->error->type ] : $response->error->message; |
|
169 | + $message = isset($localized_messages[$response->error->type]) ? $localized_messages[$response->error->type] : $response->error->message; |
|
170 | 170 | } |
171 | 171 | |
172 | - throw new WC_Stripe_Exception( print_r( $response, true ), $message ); |
|
172 | + throw new WC_Stripe_Exception(print_r($response, true), $message); |
|
173 | 173 | } |
174 | 174 | |
175 | 175 | // To prevent double processing the order on WC side. |
176 | - if ( ! $this->is_original_request( $headers ) ) { |
|
176 | + if ( ! $this->is_original_request($headers)) { |
|
177 | 177 | return; |
178 | 178 | } |
179 | 179 | |
180 | - do_action( 'wc_gateway_stripe_process_redirect_payment', $response, $order ); |
|
180 | + do_action('wc_gateway_stripe_process_redirect_payment', $response, $order); |
|
181 | 181 | |
182 | - $this->process_response( $response, $order ); |
|
182 | + $this->process_response($response, $order); |
|
183 | 183 | |
184 | - } catch ( WC_Stripe_Exception $e ) { |
|
185 | - WC_Stripe_Logger::log( 'Error: ' . $e->getMessage() ); |
|
184 | + } catch (WC_Stripe_Exception $e) { |
|
185 | + WC_Stripe_Logger::log('Error: ' . $e->getMessage()); |
|
186 | 186 | |
187 | - do_action( 'wc_gateway_stripe_process_redirect_payment_error', $e, $order ); |
|
187 | + do_action('wc_gateway_stripe_process_redirect_payment_error', $e, $order); |
|
188 | 188 | |
189 | 189 | /* translators: error message */ |
190 | - $order->update_status( 'failed', sprintf( __( 'Stripe payment failed: %s', 'woocommerce-gateway-stripe' ), $e->getLocalizedMessage() ) ); |
|
190 | + $order->update_status('failed', sprintf(__('Stripe payment failed: %s', 'woocommerce-gateway-stripe'), $e->getLocalizedMessage())); |
|
191 | 191 | |
192 | - wc_add_notice( $e->getLocalizedMessage(), 'error' ); |
|
193 | - wp_safe_redirect( wc_get_checkout_url() ); |
|
192 | + wc_add_notice($e->getLocalizedMessage(), 'error'); |
|
193 | + wp_safe_redirect(wc_get_checkout_url()); |
|
194 | 194 | exit; |
195 | 195 | } |
196 | 196 | } |
@@ -202,13 +202,13 @@ discard block |
||
202 | 202 | * @version 4.0.0 |
203 | 203 | */ |
204 | 204 | public function maybe_process_redirect_order() { |
205 | - if ( ! is_order_received_page() || empty( $_GET['client_secret'] ) || empty( $_GET['source'] ) ) { |
|
205 | + if ( ! is_order_received_page() || empty($_GET['client_secret']) || empty($_GET['source'])) { |
|
206 | 206 | return; |
207 | 207 | } |
208 | 208 | |
209 | - $order_id = wc_clean( $_GET['order_id'] ); |
|
209 | + $order_id = wc_clean($_GET['order_id']); |
|
210 | 210 | |
211 | - $this->process_redirect_payment( $order_id ); |
|
211 | + $this->process_redirect_payment($order_id); |
|
212 | 212 | } |
213 | 213 | |
214 | 214 | /** |
@@ -218,32 +218,32 @@ discard block |
||
218 | 218 | * @version 4.0.0 |
219 | 219 | * @param int $order_id |
220 | 220 | */ |
221 | - public function capture_payment( $order_id ) { |
|
222 | - $order = wc_get_order( $order_id ); |
|
221 | + public function capture_payment($order_id) { |
|
222 | + $order = wc_get_order($order_id); |
|
223 | 223 | |
224 | - if ( 'stripe' === $order->get_payment_method() ) { |
|
224 | + if ('stripe' === $order->get_payment_method()) { |
|
225 | 225 | $charge = $order->get_transaction_id(); |
226 | - $captured = $order->get_meta( '_stripe_charge_captured', true ); |
|
226 | + $captured = $order->get_meta('_stripe_charge_captured', true); |
|
227 | 227 | $is_stripe_captured = false; |
228 | 228 | |
229 | - if ( $charge && 'no' === $captured ) { |
|
229 | + if ($charge && 'no' === $captured) { |
|
230 | 230 | $order_total = $order->get_total(); |
231 | 231 | |
232 | - if ( 0 < $order->get_total_refunded() ) { |
|
232 | + if (0 < $order->get_total_refunded()) { |
|
233 | 233 | $order_total = $order_total - $order->get_total_refunded(); |
234 | 234 | } |
235 | 235 | |
236 | - $intent = $this->get_intent_from_order( $order ); |
|
237 | - if ( $intent ) { |
|
236 | + $intent = $this->get_intent_from_order($order); |
|
237 | + if ($intent) { |
|
238 | 238 | // If the order has a Payment Intent, then the Intent itself must be captured, not the Charge |
239 | - if ( ! empty( $intent->error ) ) { |
|
239 | + if ( ! empty($intent->error)) { |
|
240 | 240 | /* translators: error message */ |
241 | - $order->add_order_note( sprintf( __( 'Unable to capture charge! %s', 'woocommerce-gateway-stripe' ), $intent->error->message ) ); |
|
242 | - } elseif ( 'requires_capture' === $intent->status ) { |
|
243 | - $level3_data = $this->get_level3_data_from_order( $order ); |
|
241 | + $order->add_order_note(sprintf(__('Unable to capture charge! %s', 'woocommerce-gateway-stripe'), $intent->error->message)); |
|
242 | + } elseif ('requires_capture' === $intent->status) { |
|
243 | + $level3_data = $this->get_level3_data_from_order($order); |
|
244 | 244 | $result = WC_Stripe_API::request_with_level3_data( |
245 | 245 | array( |
246 | - 'amount' => WC_Stripe_Helper::get_stripe_amount( $order_total ), |
|
246 | + 'amount' => WC_Stripe_Helper::get_stripe_amount($order_total), |
|
247 | 247 | 'expand[]' => 'charges.data.balance_transaction', |
248 | 248 | ), |
249 | 249 | 'payment_intents/' . $intent->id . '/capture', |
@@ -251,30 +251,30 @@ discard block |
||
251 | 251 | $order |
252 | 252 | ); |
253 | 253 | |
254 | - if ( ! empty( $result->error ) ) { |
|
254 | + if ( ! empty($result->error)) { |
|
255 | 255 | /* translators: error message */ |
256 | - $order->update_status( 'failed', sprintf( __( 'Unable to capture charge! %s', 'woocommerce-gateway-stripe' ), $result->error->message ) ); |
|
256 | + $order->update_status('failed', sprintf(__('Unable to capture charge! %s', 'woocommerce-gateway-stripe'), $result->error->message)); |
|
257 | 257 | } else { |
258 | 258 | $is_stripe_captured = true; |
259 | - $result = end( $result->charges->data ); |
|
259 | + $result = end($result->charges->data); |
|
260 | 260 | } |
261 | - } elseif ( 'succeeded' === $intent->status ) { |
|
261 | + } elseif ('succeeded' === $intent->status) { |
|
262 | 262 | $is_stripe_captured = true; |
263 | 263 | } |
264 | 264 | } else { |
265 | 265 | // The order doesn't have a Payment Intent, fall back to capturing the Charge directly |
266 | 266 | |
267 | 267 | // First retrieve charge to see if it has been captured. |
268 | - $result = WC_Stripe_API::retrieve( 'charges/' . $charge ); |
|
268 | + $result = WC_Stripe_API::retrieve('charges/' . $charge); |
|
269 | 269 | |
270 | - if ( ! empty( $result->error ) ) { |
|
270 | + if ( ! empty($result->error)) { |
|
271 | 271 | /* translators: error message */ |
272 | - $order->add_order_note( sprintf( __( 'Unable to capture charge! %s', 'woocommerce-gateway-stripe' ), $result->error->message ) ); |
|
273 | - } elseif ( false === $result->captured ) { |
|
274 | - $level3_data = $this->get_level3_data_from_order( $order ); |
|
272 | + $order->add_order_note(sprintf(__('Unable to capture charge! %s', 'woocommerce-gateway-stripe'), $result->error->message)); |
|
273 | + } elseif (false === $result->captured) { |
|
274 | + $level3_data = $this->get_level3_data_from_order($order); |
|
275 | 275 | $result = WC_Stripe_API::request_with_level3_data( |
276 | 276 | array( |
277 | - 'amount' => WC_Stripe_Helper::get_stripe_amount( $order_total ), |
|
277 | + 'amount' => WC_Stripe_Helper::get_stripe_amount($order_total), |
|
278 | 278 | 'expand[]' => 'balance_transaction', |
279 | 279 | ), |
280 | 280 | 'charges/' . $charge . '/capture', |
@@ -282,34 +282,34 @@ discard block |
||
282 | 282 | $order |
283 | 283 | ); |
284 | 284 | |
285 | - if ( ! empty( $result->error ) ) { |
|
285 | + if ( ! empty($result->error)) { |
|
286 | 286 | /* translators: error message */ |
287 | - $order->update_status( 'failed', sprintf( __( 'Unable to capture charge! %s', 'woocommerce-gateway-stripe' ), $result->error->message ) ); |
|
287 | + $order->update_status('failed', sprintf(__('Unable to capture charge! %s', 'woocommerce-gateway-stripe'), $result->error->message)); |
|
288 | 288 | } else { |
289 | 289 | $is_stripe_captured = true; |
290 | 290 | } |
291 | - } elseif ( true === $result->captured ) { |
|
291 | + } elseif (true === $result->captured) { |
|
292 | 292 | $is_stripe_captured = true; |
293 | 293 | } |
294 | 294 | } |
295 | 295 | |
296 | - if ( $is_stripe_captured ) { |
|
296 | + if ($is_stripe_captured) { |
|
297 | 297 | /* translators: transaction id */ |
298 | - $order->add_order_note( sprintf( __( 'Stripe charge complete (Charge ID: %s)', 'woocommerce-gateway-stripe' ), $result->id ) ); |
|
299 | - $order->update_meta_data( '_stripe_charge_captured', 'yes' ); |
|
298 | + $order->add_order_note(sprintf(__('Stripe charge complete (Charge ID: %s)', 'woocommerce-gateway-stripe'), $result->id)); |
|
299 | + $order->update_meta_data('_stripe_charge_captured', 'yes'); |
|
300 | 300 | |
301 | 301 | // Store other data such as fees |
302 | - $order->set_transaction_id( $result->id ); |
|
302 | + $order->set_transaction_id($result->id); |
|
303 | 303 | |
304 | - if ( is_callable( array( $order, 'save' ) ) ) { |
|
304 | + if (is_callable(array($order, 'save'))) { |
|
305 | 305 | $order->save(); |
306 | 306 | } |
307 | 307 | |
308 | - $this->update_fees( $order, $result->balance_transaction->id ); |
|
308 | + $this->update_fees($order, $result->balance_transaction->id); |
|
309 | 309 | } |
310 | 310 | |
311 | 311 | // This hook fires when admin manually changes order status to processing or completed. |
312 | - do_action( 'woocommerce_stripe_process_manual_capture', $order, $result ); |
|
312 | + do_action('woocommerce_stripe_process_manual_capture', $order, $result); |
|
313 | 313 | } |
314 | 314 | } |
315 | 315 | } |
@@ -321,17 +321,17 @@ discard block |
||
321 | 321 | * @version 4.2.2 |
322 | 322 | * @param int $order_id |
323 | 323 | */ |
324 | - public function cancel_payment( $order_id ) { |
|
325 | - $order = wc_get_order( $order_id ); |
|
324 | + public function cancel_payment($order_id) { |
|
325 | + $order = wc_get_order($order_id); |
|
326 | 326 | |
327 | - if ( 'stripe' === $order->get_payment_method() ) { |
|
328 | - $captured = $order->get_meta( '_stripe_charge_captured', true ); |
|
329 | - if ( 'no' === $captured ) { |
|
330 | - $this->process_refund( $order_id ); |
|
327 | + if ('stripe' === $order->get_payment_method()) { |
|
328 | + $captured = $order->get_meta('_stripe_charge_captured', true); |
|
329 | + if ('no' === $captured) { |
|
330 | + $this->process_refund($order_id); |
|
331 | 331 | } |
332 | 332 | |
333 | 333 | // This hook fires when admin manually changes order status to cancel. |
334 | - do_action( 'woocommerce_stripe_process_manual_cancel', $order ); |
|
334 | + do_action('woocommerce_stripe_process_manual_cancel', $order); |
|
335 | 335 | } |
336 | 336 | } |
337 | 337 | |
@@ -343,38 +343,38 @@ discard block |
||
343 | 343 | * @param array Properties to be appended to. |
344 | 344 | * @param string Event name, e.g. orders_edit_status_change. |
345 | 345 | */ |
346 | - public function woocommerce_tracks_event_properties( $properties, $prefixed_event_name ) { |
|
346 | + public function woocommerce_tracks_event_properties($properties, $prefixed_event_name) { |
|
347 | 347 | // Not the desired event? Bail. |
348 | - if ( 'wcadmin_orders_edit_status_change' != $prefixed_event_name ) { |
|
348 | + if ('wcadmin_orders_edit_status_change' != $prefixed_event_name) { |
|
349 | 349 | return $properties; |
350 | 350 | } |
351 | 351 | |
352 | 352 | // Properties not an array? Bail. |
353 | - if ( ! is_array( $properties ) ) { |
|
353 | + if ( ! is_array($properties)) { |
|
354 | 354 | return $properties; |
355 | 355 | } |
356 | 356 | |
357 | 357 | // No payment_method in properties? Bail. |
358 | - if ( ! array_key_exists( 'payment_method', $properties ) ) { |
|
358 | + if ( ! array_key_exists('payment_method', $properties)) { |
|
359 | 359 | return $properties; |
360 | 360 | } |
361 | 361 | |
362 | 362 | // Not stripe? Bail. |
363 | - if ( 'stripe' != $properties[ 'payment_method' ] ) { |
|
363 | + if ('stripe' != $properties['payment_method']) { |
|
364 | 364 | return $properties; |
365 | 365 | } |
366 | 366 | |
367 | 367 | // Due diligence done. Collect the metadata. |
368 | 368 | $is_live = true; |
369 | - $stripe_settings = get_option( 'woocommerce_stripe_settings', array() ); |
|
370 | - if ( array_key_exists( 'testmode', $stripe_settings ) ) { |
|
371 | - $is_live = 'no' === $stripe_settings[ 'testmode' ]; |
|
369 | + $stripe_settings = get_option('woocommerce_stripe_settings', array()); |
|
370 | + if (array_key_exists('testmode', $stripe_settings)) { |
|
371 | + $is_live = 'no' === $stripe_settings['testmode']; |
|
372 | 372 | } |
373 | 373 | |
374 | - $properties[ 'admin_email' ] = get_option( 'admin_email' ); |
|
375 | - $properties[ 'is_live' ] = $is_live; |
|
376 | - $properties[ 'woocommerce_gateway_stripe_version' ] = WC_STRIPE_VERSION; |
|
377 | - $properties[ 'woocommerce_default_country' ] = get_option( 'woocommerce_default_country' ); |
|
374 | + $properties['admin_email'] = get_option('admin_email'); |
|
375 | + $properties['is_live'] = $is_live; |
|
376 | + $properties['woocommerce_gateway_stripe_version'] = WC_STRIPE_VERSION; |
|
377 | + $properties['woocommerce_default_country'] = get_option('woocommerce_default_country'); |
|
378 | 378 | |
379 | 379 | return $properties; |
380 | 380 | } |
@@ -1,10 +1,10 @@ discard block |
||
1 | 1 | <?php |
2 | 2 | |
3 | -if ( ! defined( 'ABSPATH' ) ) { |
|
3 | +if ( ! defined('ABSPATH')) { |
|
4 | 4 | exit; |
5 | 5 | } |
6 | 6 | |
7 | -if ( ! class_exists( 'WC_Stripe_Connect_REST_Oauth_Connect_Controller' ) ) { |
|
7 | +if ( ! class_exists('WC_Stripe_Connect_REST_Oauth_Connect_Controller')) { |
|
8 | 8 | /** |
9 | 9 | * Stripe Connect Oauth Connect controller class. |
10 | 10 | */ |
@@ -30,9 +30,9 @@ discard block |
||
30 | 30 | * @param WC_Stripe_Connect $connect stripe connect. |
31 | 31 | * @param WC_Stripe_Connect_API $api stripe connect api. |
32 | 32 | */ |
33 | - public function __construct( WC_Stripe_Connect $connect, WC_Stripe_Connect_API $api ) { |
|
33 | + public function __construct(WC_Stripe_Connect $connect, WC_Stripe_Connect_API $api) { |
|
34 | 34 | |
35 | - parent::__construct( $api ); |
|
35 | + parent::__construct($api); |
|
36 | 36 | |
37 | 37 | $this->connect = $connect; |
38 | 38 | } |
@@ -44,19 +44,19 @@ discard block |
||
44 | 44 | * |
45 | 45 | * @return array|WP_Error |
46 | 46 | */ |
47 | - public function post( $request ) { |
|
47 | + public function post($request) { |
|
48 | 48 | |
49 | 49 | $data = $request->get_json_params(); |
50 | - $response = $this->connect->connect_oauth( $data['state'], $data['code'] ); |
|
50 | + $response = $this->connect->connect_oauth($data['state'], $data['code']); |
|
51 | 51 | |
52 | - if ( is_wp_error( $response ) ) { |
|
52 | + if (is_wp_error($response)) { |
|
53 | 53 | |
54 | - WC_Stripe_Logger::log( $response, __CLASS__ ); |
|
54 | + WC_Stripe_Logger::log($response, __CLASS__); |
|
55 | 55 | |
56 | 56 | return new WP_Error( |
57 | 57 | $response->get_error_code(), |
58 | 58 | $response->get_error_message(), |
59 | - array( 'status' => 400 ) |
|
59 | + array('status' => 400) |
|
60 | 60 | ); |
61 | 61 | } |
62 | 62 |