@@ -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,7 +21,7 @@ discard block |
||
21 | 21 | */ |
22 | 22 | public function display_admin_settings_webhook_description() { |
23 | 23 | /* translators: 1) webhook url */ |
24 | - return sprintf( __( 'You must add the following webhook endpoint <strong style="background-color:#ddd;"> %s </strong> to your <a href="https://dashboard.stripe.com/account/webhooks" target="_blank">Stripe account settings</a>. This will enable you to receive notifications on the charge statuses.', 'woocommerce-gateway-stripe' ), WC_Stripe_Helper::get_webhook_url() ); |
|
24 | + return sprintf(__('You must add the following webhook endpoint <strong style="background-color:#ddd;"> %s </strong> to your <a href="https://dashboard.stripe.com/account/webhooks" target="_blank">Stripe account settings</a>. This will enable you to receive notifications on the charge statuses.', 'woocommerce-gateway-stripe'), WC_Stripe_Helper::get_webhook_url()); |
|
25 | 25 | } |
26 | 26 | |
27 | 27 | /** |
@@ -35,8 +35,8 @@ discard block |
||
35 | 35 | <input id="wc-%1$s-new-payment-method" name="wc-%1$s-new-payment-method" type="checkbox" value="true" style="width:auto;" /> |
36 | 36 | <label for="wc-%1$s-new-payment-method" style="display:inline;">%2$s</label> |
37 | 37 | </p>', |
38 | - esc_attr( $this->id ), |
|
39 | - esc_html( apply_filters( 'wc_stripe_save_to_account_text', __( 'Save payment information to my account for future purchases.', 'woocommerce-gateway-stripe' ) ) ) |
|
38 | + esc_attr($this->id), |
|
39 | + esc_html(apply_filters('wc_stripe_save_to_account_text', __('Save payment information to my account for future purchases.', 'woocommerce-gateway-stripe'))) |
|
40 | 40 | ); |
41 | 41 | } |
42 | 42 | |
@@ -47,7 +47,7 @@ discard block |
||
47 | 47 | * @since 4.0.5 |
48 | 48 | * @param array $error |
49 | 49 | */ |
50 | - public function is_retryable_error( $error ) { |
|
50 | + public function is_retryable_error($error) { |
|
51 | 51 | return ( |
52 | 52 | 'invalid_request_error' === $error->type || |
53 | 53 | 'idempotency_error' === $error->type || |
@@ -64,11 +64,11 @@ discard block |
||
64 | 64 | * @since 4.1.0 |
65 | 65 | * @param array $error |
66 | 66 | */ |
67 | - public function is_same_idempotency_error( $error ) { |
|
67 | + public function is_same_idempotency_error($error) { |
|
68 | 68 | return ( |
69 | 69 | $error && |
70 | 70 | 'idempotency_error' === $error->type && |
71 | - preg_match( '/Keys for idempotent requests can only be used with the same parameters they were first used with./i', $error->message ) |
|
71 | + preg_match('/Keys for idempotent requests can only be used with the same parameters they were first used with./i', $error->message) |
|
72 | 72 | ); |
73 | 73 | } |
74 | 74 | |
@@ -79,11 +79,11 @@ discard block |
||
79 | 79 | * @since 4.1.0 |
80 | 80 | * @param array $error |
81 | 81 | */ |
82 | - public function is_no_such_customer_error( $error ) { |
|
82 | + public function is_no_such_customer_error($error) { |
|
83 | 83 | return ( |
84 | 84 | $error && |
85 | 85 | 'invalid_request_error' === $error->type && |
86 | - preg_match( '/No such customer/i', $error->message ) |
|
86 | + preg_match('/No such customer/i', $error->message) |
|
87 | 87 | ); |
88 | 88 | } |
89 | 89 | |
@@ -94,11 +94,11 @@ discard block |
||
94 | 94 | * @since 4.1.0 |
95 | 95 | * @param array $error |
96 | 96 | */ |
97 | - public function is_no_such_token_error( $error ) { |
|
97 | + public function is_no_such_token_error($error) { |
|
98 | 98 | return ( |
99 | 99 | $error && |
100 | 100 | 'invalid_request_error' === $error->type && |
101 | - preg_match( '/No such token/i', $error->message ) |
|
101 | + preg_match('/No such token/i', $error->message) |
|
102 | 102 | ); |
103 | 103 | } |
104 | 104 | |
@@ -109,11 +109,11 @@ discard block |
||
109 | 109 | * @since 4.1.0 |
110 | 110 | * @param array $error |
111 | 111 | */ |
112 | - public function is_no_such_source_error( $error ) { |
|
112 | + public function is_no_such_source_error($error) { |
|
113 | 113 | return ( |
114 | 114 | $error && |
115 | 115 | 'invalid_request_error' === $error->type && |
116 | - preg_match( '/No such source/i', $error->message ) |
|
116 | + preg_match('/No such source/i', $error->message) |
|
117 | 117 | ); |
118 | 118 | } |
119 | 119 | |
@@ -124,11 +124,11 @@ discard block |
||
124 | 124 | * @since 4.1.0 |
125 | 125 | * @param array $error |
126 | 126 | */ |
127 | - public function is_no_linked_source_error( $error ) { |
|
127 | + public function is_no_linked_source_error($error) { |
|
128 | 128 | return ( |
129 | 129 | $error && |
130 | 130 | 'invalid_request_error' === $error->type && |
131 | - preg_match( '/does not have a linked source with ID/i', $error->message ) |
|
131 | + preg_match('/does not have a linked source with ID/i', $error->message) |
|
132 | 132 | ); |
133 | 133 | } |
134 | 134 | |
@@ -141,13 +141,13 @@ discard block |
||
141 | 141 | * @param object $error |
142 | 142 | * @return bool |
143 | 143 | */ |
144 | - public function need_update_idempotency_key( $source_object, $error ) { |
|
144 | + public function need_update_idempotency_key($source_object, $error) { |
|
145 | 145 | return ( |
146 | 146 | $error && |
147 | 147 | 1 < $this->retry_interval && |
148 | - ! empty( $source_object ) && |
|
148 | + ! empty($source_object) && |
|
149 | 149 | 'chargeable' === $source_object->status && |
150 | - self::is_same_idempotency_error( $error ) |
|
150 | + self::is_same_idempotency_error($error) |
|
151 | 151 | ); |
152 | 152 | } |
153 | 153 | |
@@ -161,12 +161,12 @@ discard block |
||
161 | 161 | // NOTE: updates to this function should be added to are_keys_set() |
162 | 162 | // in includes/payment-methods/class-wc-stripe-payment-request.php |
163 | 163 | |
164 | - if ( $this->testmode ) { |
|
165 | - return preg_match( '/^pk_test_/', $this->publishable_key ) |
|
166 | - && preg_match( '/^[rs]k_test_/', $this->secret_key ); |
|
164 | + if ($this->testmode) { |
|
165 | + return preg_match('/^pk_test_/', $this->publishable_key) |
|
166 | + && preg_match('/^[rs]k_test_/', $this->secret_key); |
|
167 | 167 | } else { |
168 | - return preg_match( '/^pk_live_/', $this->publishable_key ) |
|
169 | - && preg_match( '/^[rs]k_live_/', $this->secret_key ); |
|
168 | + return preg_match('/^pk_live_/', $this->publishable_key) |
|
169 | + && preg_match('/^[rs]k_live_/', $this->secret_key); |
|
170 | 170 | } |
171 | 171 | } |
172 | 172 | |
@@ -176,7 +176,7 @@ discard block |
||
176 | 176 | * @since 4.1.3 |
177 | 177 | */ |
178 | 178 | public function is_available() { |
179 | - if ( 'yes' === $this->enabled ) { |
|
179 | + if ('yes' === $this->enabled) { |
|
180 | 180 | return $this->are_keys_set(); |
181 | 181 | } |
182 | 182 | |
@@ -191,12 +191,12 @@ discard block |
||
191 | 191 | * @param int $order_id |
192 | 192 | * @return bool |
193 | 193 | */ |
194 | - public function maybe_process_pre_orders( $order_id ) { |
|
194 | + public function maybe_process_pre_orders($order_id) { |
|
195 | 195 | return ( |
196 | 196 | WC_Stripe_Helper::is_pre_orders_exists() && |
197 | - $this->pre_orders->is_pre_order( $order_id ) && |
|
198 | - WC_Pre_Orders_Order::order_requires_payment_tokenization( $order_id ) && |
|
199 | - ! is_wc_endpoint_url( 'order-pay' ) |
|
197 | + $this->pre_orders->is_pre_order($order_id) && |
|
198 | + WC_Pre_Orders_Order::order_requires_payment_tokenization($order_id) && |
|
199 | + ! is_wc_endpoint_url('order-pay') |
|
200 | 200 | ); |
201 | 201 | } |
202 | 202 | |
@@ -240,10 +240,10 @@ discard block |
||
240 | 240 | * @version 4.0.0 |
241 | 241 | * @param object $order |
242 | 242 | */ |
243 | - public function validate_minimum_order_amount( $order ) { |
|
244 | - if ( $order->get_total() * 100 < WC_Stripe_Helper::get_minimum_amount() ) { |
|
243 | + public function validate_minimum_order_amount($order) { |
|
244 | + if ($order->get_total() * 100 < WC_Stripe_Helper::get_minimum_amount()) { |
|
245 | 245 | /* translators: 1) dollar amount */ |
246 | - throw new WC_Stripe_Exception( 'Did not meet minimum amount', sprintf( __( 'Sorry, the minimum allowed order total is %1$s to use this payment method.', 'woocommerce-gateway-stripe' ), wc_price( WC_Stripe_Helper::get_minimum_amount() / 100 ) ) ); |
|
246 | + throw new WC_Stripe_Exception('Did not meet minimum amount', sprintf(__('Sorry, the minimum allowed order total is %1$s to use this payment method.', 'woocommerce-gateway-stripe'), wc_price(WC_Stripe_Helper::get_minimum_amount() / 100))); |
|
247 | 247 | } |
248 | 248 | } |
249 | 249 | |
@@ -253,14 +253,14 @@ discard block |
||
253 | 253 | * @since 4.0.0 |
254 | 254 | * @version 4.0.0 |
255 | 255 | */ |
256 | - public function get_transaction_url( $order ) { |
|
257 | - if ( $this->testmode ) { |
|
256 | + public function get_transaction_url($order) { |
|
257 | + if ($this->testmode) { |
|
258 | 258 | $this->view_transaction_url = 'https://dashboard.stripe.com/test/payments/%s'; |
259 | 259 | } else { |
260 | 260 | $this->view_transaction_url = 'https://dashboard.stripe.com/payments/%s'; |
261 | 261 | } |
262 | 262 | |
263 | - return parent::get_transaction_url( $order ); |
|
263 | + return parent::get_transaction_url($order); |
|
264 | 264 | } |
265 | 265 | |
266 | 266 | /** |
@@ -269,12 +269,12 @@ discard block |
||
269 | 269 | * @since 4.0.0 |
270 | 270 | * @version 4.0.0 |
271 | 271 | */ |
272 | - public function get_stripe_customer_id( $order ) { |
|
273 | - $customer = get_user_option( '_stripe_customer_id', $order->get_customer_id() ); |
|
272 | + public function get_stripe_customer_id($order) { |
|
273 | + $customer = get_user_option('_stripe_customer_id', $order->get_customer_id()); |
|
274 | 274 | |
275 | - if ( empty( $customer ) ) { |
|
275 | + if (empty($customer)) { |
|
276 | 276 | // Try to get it via the order. |
277 | - return $order->get_meta( '_stripe_customer_id', true ); |
|
277 | + return $order->get_meta('_stripe_customer_id', true); |
|
278 | 278 | } else { |
279 | 279 | return $customer; |
280 | 280 | } |
@@ -290,9 +290,9 @@ discard block |
||
290 | 290 | * @param object $order |
291 | 291 | * @param int $id Stripe session id. |
292 | 292 | */ |
293 | - public function get_stripe_return_url( $order = null, $id = null ) { |
|
294 | - if ( is_object( $order ) ) { |
|
295 | - if ( empty( $id ) ) { |
|
293 | + public function get_stripe_return_url($order = null, $id = null) { |
|
294 | + if (is_object($order)) { |
|
295 | + if (empty($id)) { |
|
296 | 296 | $id = uniqid(); |
297 | 297 | } |
298 | 298 | |
@@ -303,10 +303,10 @@ discard block |
||
303 | 303 | 'order_id' => $order_id, |
304 | 304 | ); |
305 | 305 | |
306 | - return wp_sanitize_redirect( esc_url_raw( add_query_arg( $args, $this->get_return_url( $order ) ) ) ); |
|
306 | + return wp_sanitize_redirect(esc_url_raw(add_query_arg($args, $this->get_return_url($order)))); |
|
307 | 307 | } |
308 | 308 | |
309 | - return wp_sanitize_redirect( esc_url_raw( add_query_arg( array( 'utm_nooverride' => '1' ), $this->get_return_url() ) ) ); |
|
309 | + return wp_sanitize_redirect(esc_url_raw(add_query_arg(array('utm_nooverride' => '1'), $this->get_return_url()))); |
|
310 | 310 | } |
311 | 311 | |
312 | 312 | /** |
@@ -314,8 +314,8 @@ discard block |
||
314 | 314 | * @param int $order_id |
315 | 315 | * @return boolean |
316 | 316 | */ |
317 | - public function has_subscription( $order_id ) { |
|
318 | - return ( function_exists( 'wcs_order_contains_subscription' ) && ( wcs_order_contains_subscription( $order_id ) || wcs_is_subscription( $order_id ) || wcs_order_contains_renewal( $order_id ) ) ); |
|
317 | + public function has_subscription($order_id) { |
|
318 | + return (function_exists('wcs_order_contains_subscription') && (wcs_order_contains_subscription($order_id) || wcs_is_subscription($order_id) || wcs_order_contains_renewal($order_id))); |
|
319 | 319 | } |
320 | 320 | |
321 | 321 | /** |
@@ -327,41 +327,41 @@ discard block |
||
327 | 327 | * @param object $prepared_source |
328 | 328 | * @return array() |
329 | 329 | */ |
330 | - public function generate_payment_request( $order, $prepared_source ) { |
|
331 | - $settings = get_option( 'woocommerce_stripe_settings', array() ); |
|
332 | - $statement_descriptor = ! empty( $settings['statement_descriptor'] ) ? str_replace( "'", '', $settings['statement_descriptor'] ) : ''; |
|
333 | - $capture = ! empty( $settings['capture'] ) && 'yes' === $settings['capture'] ? true : false; |
|
330 | + public function generate_payment_request($order, $prepared_source) { |
|
331 | + $settings = get_option('woocommerce_stripe_settings', array()); |
|
332 | + $statement_descriptor = ! empty($settings['statement_descriptor']) ? str_replace("'", '', $settings['statement_descriptor']) : ''; |
|
333 | + $capture = ! empty($settings['capture']) && 'yes' === $settings['capture'] ? true : false; |
|
334 | 334 | $post_data = array(); |
335 | - $post_data['currency'] = strtolower( $order->get_currency() ); |
|
336 | - $post_data['amount'] = WC_Stripe_Helper::get_stripe_amount( $order->get_total(), $post_data['currency'] ); |
|
335 | + $post_data['currency'] = strtolower($order->get_currency()); |
|
336 | + $post_data['amount'] = WC_Stripe_Helper::get_stripe_amount($order->get_total(), $post_data['currency']); |
|
337 | 337 | /* translators: 1) blog name 2) order number */ |
338 | - $post_data['description'] = sprintf( __( '%1$s - Order %2$s', 'woocommerce-gateway-stripe' ), wp_specialchars_decode( get_bloginfo( 'name' ), ENT_QUOTES ), $order->get_order_number() ); |
|
338 | + $post_data['description'] = sprintf(__('%1$s - Order %2$s', 'woocommerce-gateway-stripe'), wp_specialchars_decode(get_bloginfo('name'), ENT_QUOTES), $order->get_order_number()); |
|
339 | 339 | $billing_email = $order->get_billing_email(); |
340 | 340 | $billing_first_name = $order->get_billing_first_name(); |
341 | 341 | $billing_last_name = $order->get_billing_last_name(); |
342 | 342 | |
343 | - if ( ! empty( $billing_email ) && apply_filters( 'wc_stripe_send_stripe_receipt', false ) ) { |
|
343 | + if ( ! empty($billing_email) && apply_filters('wc_stripe_send_stripe_receipt', false)) { |
|
344 | 344 | $post_data['receipt_email'] = $billing_email; |
345 | 345 | } |
346 | 346 | |
347 | - switch ( $order->get_payment_method() ) { |
|
347 | + switch ($order->get_payment_method()) { |
|
348 | 348 | case 'stripe': |
349 | - if ( ! empty( $statement_descriptor ) ) { |
|
350 | - $post_data['statement_descriptor'] = WC_Stripe_Helper::clean_statement_descriptor( $statement_descriptor ); |
|
349 | + if ( ! empty($statement_descriptor)) { |
|
350 | + $post_data['statement_descriptor'] = WC_Stripe_Helper::clean_statement_descriptor($statement_descriptor); |
|
351 | 351 | } |
352 | 352 | |
353 | 353 | $post_data['capture'] = $capture ? 'true' : 'false'; |
354 | 354 | break; |
355 | 355 | case 'stripe_sepa': |
356 | - if ( ! empty( $statement_descriptor ) ) { |
|
357 | - $post_data['statement_descriptor'] = WC_Stripe_Helper::clean_statement_descriptor( $statement_descriptor ); |
|
356 | + if ( ! empty($statement_descriptor)) { |
|
357 | + $post_data['statement_descriptor'] = WC_Stripe_Helper::clean_statement_descriptor($statement_descriptor); |
|
358 | 358 | } |
359 | 359 | break; |
360 | 360 | } |
361 | 361 | |
362 | - if ( method_exists( $order, 'get_shipping_postcode' ) && ! empty( $order->get_shipping_postcode() ) ) { |
|
362 | + if (method_exists($order, 'get_shipping_postcode') && ! empty($order->get_shipping_postcode())) { |
|
363 | 363 | $post_data['shipping'] = array( |
364 | - 'name' => trim( $order->get_shipping_first_name() . ' ' . $order->get_shipping_last_name() ), |
|
364 | + 'name' => trim($order->get_shipping_first_name() . ' ' . $order->get_shipping_last_name()), |
|
365 | 365 | 'address' => array( |
366 | 366 | 'line1' => $order->get_shipping_address_1(), |
367 | 367 | 'line2' => $order->get_shipping_address_2(), |
@@ -376,25 +376,25 @@ discard block |
||
376 | 376 | $post_data['expand[]'] = 'balance_transaction'; |
377 | 377 | |
378 | 378 | $metadata = array( |
379 | - __( 'customer_name', 'woocommerce-gateway-stripe' ) => sanitize_text_field( $billing_first_name ) . ' ' . sanitize_text_field( $billing_last_name ), |
|
380 | - __( 'customer_email', 'woocommerce-gateway-stripe' ) => sanitize_email( $billing_email ), |
|
379 | + __('customer_name', 'woocommerce-gateway-stripe') => sanitize_text_field($billing_first_name) . ' ' . sanitize_text_field($billing_last_name), |
|
380 | + __('customer_email', 'woocommerce-gateway-stripe') => sanitize_email($billing_email), |
|
381 | 381 | 'order_id' => $order->get_order_number(), |
382 | - 'site_url' => esc_url( get_site_url() ), |
|
382 | + 'site_url' => esc_url(get_site_url()), |
|
383 | 383 | ); |
384 | 384 | |
385 | - if ( $this->has_subscription( $order->get_id() ) ) { |
|
385 | + if ($this->has_subscription($order->get_id())) { |
|
386 | 386 | $metadata += array( |
387 | 387 | 'payment_type' => 'recurring', |
388 | 388 | ); |
389 | 389 | } |
390 | 390 | |
391 | - $post_data['metadata'] = apply_filters( 'wc_stripe_payment_metadata', $metadata, $order, $prepared_source ); |
|
391 | + $post_data['metadata'] = apply_filters('wc_stripe_payment_metadata', $metadata, $order, $prepared_source); |
|
392 | 392 | |
393 | - if ( $prepared_source->customer ) { |
|
393 | + if ($prepared_source->customer) { |
|
394 | 394 | $post_data['customer'] = $prepared_source->customer; |
395 | 395 | } |
396 | 396 | |
397 | - if ( $prepared_source->source ) { |
|
397 | + if ($prepared_source->source) { |
|
398 | 398 | $post_data['source'] = $prepared_source->source; |
399 | 399 | } |
400 | 400 | |
@@ -406,72 +406,72 @@ discard block |
||
406 | 406 | * @param WC_Order $order |
407 | 407 | * @param object $source |
408 | 408 | */ |
409 | - return apply_filters( 'wc_stripe_generate_payment_request', $post_data, $order, $prepared_source ); |
|
409 | + return apply_filters('wc_stripe_generate_payment_request', $post_data, $order, $prepared_source); |
|
410 | 410 | } |
411 | 411 | |
412 | 412 | /** |
413 | 413 | * Store extra meta data for an order from a Stripe Response. |
414 | 414 | */ |
415 | - public function process_response( $response, $order ) { |
|
416 | - WC_Stripe_Logger::log( 'Processing response: ' . print_r( $response, true ) ); |
|
415 | + public function process_response($response, $order) { |
|
416 | + WC_Stripe_Logger::log('Processing response: ' . print_r($response, true)); |
|
417 | 417 | |
418 | 418 | $order_id = $order->get_id(); |
419 | - $captured = ( isset( $response->captured ) && $response->captured ) ? 'yes' : 'no'; |
|
419 | + $captured = (isset($response->captured) && $response->captured) ? 'yes' : 'no'; |
|
420 | 420 | |
421 | 421 | // Store charge data. |
422 | - $order->update_meta_data( '_stripe_charge_captured', $captured ); |
|
422 | + $order->update_meta_data('_stripe_charge_captured', $captured); |
|
423 | 423 | |
424 | - if ( isset( $response->balance_transaction ) ) { |
|
425 | - $this->update_fees( $order, is_string( $response->balance_transaction ) ? $response->balance_transaction : $response->balance_transaction->id ); |
|
424 | + if (isset($response->balance_transaction)) { |
|
425 | + $this->update_fees($order, is_string($response->balance_transaction) ? $response->balance_transaction : $response->balance_transaction->id); |
|
426 | 426 | } |
427 | 427 | |
428 | - if ( 'yes' === $captured ) { |
|
428 | + if ('yes' === $captured) { |
|
429 | 429 | /** |
430 | 430 | * Charge can be captured but in a pending state. Payment methods |
431 | 431 | * that are asynchronous may take couple days to clear. Webhook will |
432 | 432 | * take care of the status changes. |
433 | 433 | */ |
434 | - if ( 'pending' === $response->status ) { |
|
435 | - $order_stock_reduced = $order->get_meta( '_order_stock_reduced', true ); |
|
434 | + if ('pending' === $response->status) { |
|
435 | + $order_stock_reduced = $order->get_meta('_order_stock_reduced', true); |
|
436 | 436 | |
437 | - if ( ! $order_stock_reduced ) { |
|
438 | - wc_reduce_stock_levels( $order_id ); |
|
437 | + if ( ! $order_stock_reduced) { |
|
438 | + wc_reduce_stock_levels($order_id); |
|
439 | 439 | } |
440 | 440 | |
441 | - $order->set_transaction_id( $response->id ); |
|
441 | + $order->set_transaction_id($response->id); |
|
442 | 442 | /* translators: transaction id */ |
443 | - $order->update_status( 'on-hold', sprintf( __( 'Stripe charge awaiting payment: %s.', 'woocommerce-gateway-stripe' ), $response->id ) ); |
|
443 | + $order->update_status('on-hold', sprintf(__('Stripe charge awaiting payment: %s.', 'woocommerce-gateway-stripe'), $response->id)); |
|
444 | 444 | } |
445 | 445 | |
446 | - if ( 'succeeded' === $response->status ) { |
|
447 | - $order->payment_complete( $response->id ); |
|
446 | + if ('succeeded' === $response->status) { |
|
447 | + $order->payment_complete($response->id); |
|
448 | 448 | |
449 | 449 | /* translators: transaction id */ |
450 | - $message = sprintf( __( 'Stripe charge complete (Charge ID: %s)', 'woocommerce-gateway-stripe' ), $response->id ); |
|
451 | - $order->add_order_note( $message ); |
|
450 | + $message = sprintf(__('Stripe charge complete (Charge ID: %s)', 'woocommerce-gateway-stripe'), $response->id); |
|
451 | + $order->add_order_note($message); |
|
452 | 452 | } |
453 | 453 | |
454 | - if ( 'failed' === $response->status ) { |
|
455 | - $localized_message = __( 'Payment processing failed. Please retry.', 'woocommerce-gateway-stripe' ); |
|
456 | - $order->add_order_note( $localized_message ); |
|
457 | - throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message ); |
|
454 | + if ('failed' === $response->status) { |
|
455 | + $localized_message = __('Payment processing failed. Please retry.', 'woocommerce-gateway-stripe'); |
|
456 | + $order->add_order_note($localized_message); |
|
457 | + throw new WC_Stripe_Exception(print_r($response, true), $localized_message); |
|
458 | 458 | } |
459 | 459 | } else { |
460 | - $order->set_transaction_id( $response->id ); |
|
460 | + $order->set_transaction_id($response->id); |
|
461 | 461 | |
462 | - if ( $order->has_status( array( 'pending', 'failed' ) ) ) { |
|
463 | - wc_reduce_stock_levels( $order_id ); |
|
462 | + if ($order->has_status(array('pending', 'failed'))) { |
|
463 | + wc_reduce_stock_levels($order_id); |
|
464 | 464 | } |
465 | 465 | |
466 | 466 | /* translators: transaction id */ |
467 | - $order->update_status( 'on-hold', sprintf( __( 'Stripe charge authorized (Charge ID: %s). Process order to take payment, or cancel to remove the pre-authorization.', 'woocommerce-gateway-stripe' ), $response->id ) ); |
|
467 | + $order->update_status('on-hold', sprintf(__('Stripe charge authorized (Charge ID: %s). Process order to take payment, or cancel to remove the pre-authorization.', 'woocommerce-gateway-stripe'), $response->id)); |
|
468 | 468 | } |
469 | 469 | |
470 | - if ( is_callable( array( $order, 'save' ) ) ) { |
|
470 | + if (is_callable(array($order, 'save'))) { |
|
471 | 471 | $order->save(); |
472 | 472 | } |
473 | 473 | |
474 | - do_action( 'wc_gateway_stripe_process_response', $response, $order ); |
|
474 | + do_action('wc_gateway_stripe_process_response', $response, $order); |
|
475 | 475 | |
476 | 476 | return $response; |
477 | 477 | } |
@@ -484,10 +484,10 @@ discard block |
||
484 | 484 | * @param int $order_id |
485 | 485 | * @return null |
486 | 486 | */ |
487 | - public function send_failed_order_email( $order_id ) { |
|
487 | + public function send_failed_order_email($order_id) { |
|
488 | 488 | $emails = WC()->mailer()->get_emails(); |
489 | - if ( ! empty( $emails ) && ! empty( $order_id ) ) { |
|
490 | - $emails['WC_Email_Failed_Order']->trigger( $order_id ); |
|
489 | + if ( ! empty($emails) && ! empty($order_id)) { |
|
490 | + $emails['WC_Email_Failed_Order']->trigger($order_id); |
|
491 | 491 | } |
492 | 492 | } |
493 | 493 | |
@@ -499,7 +499,7 @@ discard block |
||
499 | 499 | * @param object $order |
500 | 500 | * @return object $details |
501 | 501 | */ |
502 | - public function get_owner_details( $order ) { |
|
502 | + public function get_owner_details($order) { |
|
503 | 503 | $billing_first_name = $order->get_billing_first_name(); |
504 | 504 | $billing_last_name = $order->get_billing_last_name(); |
505 | 505 | |
@@ -509,15 +509,15 @@ discard block |
||
509 | 509 | $email = $order->get_billing_email(); |
510 | 510 | $phone = $order->get_billing_phone(); |
511 | 511 | |
512 | - if ( ! empty( $phone ) ) { |
|
512 | + if ( ! empty($phone)) { |
|
513 | 513 | $details['phone'] = $phone; |
514 | 514 | } |
515 | 515 | |
516 | - if ( ! empty( $name ) ) { |
|
516 | + if ( ! empty($name)) { |
|
517 | 517 | $details['name'] = $name; |
518 | 518 | } |
519 | 519 | |
520 | - if ( ! empty( $email ) ) { |
|
520 | + if ( ! empty($email)) { |
|
521 | 521 | $details['email'] = $email; |
522 | 522 | } |
523 | 523 | |
@@ -528,7 +528,7 @@ discard block |
||
528 | 528 | $details['address']['postal_code'] = $order->get_billing_postcode(); |
529 | 529 | $details['address']['country'] = $order->get_billing_country(); |
530 | 530 | |
531 | - return (object) apply_filters( 'wc_stripe_owner_details', $details, $order ); |
|
531 | + return (object) apply_filters('wc_stripe_owner_details', $details, $order); |
|
532 | 532 | } |
533 | 533 | |
534 | 534 | /** |
@@ -537,15 +537,15 @@ discard block |
||
537 | 537 | * @since 4.0.3 |
538 | 538 | * @param string $source_id The source ID to get source object for. |
539 | 539 | */ |
540 | - public function get_source_object( $source_id = '' ) { |
|
541 | - if ( empty( $source_id ) ) { |
|
540 | + public function get_source_object($source_id = '') { |
|
541 | + if (empty($source_id)) { |
|
542 | 542 | return ''; |
543 | 543 | } |
544 | 544 | |
545 | - $source_object = WC_Stripe_API::retrieve( 'sources/' . $source_id ); |
|
545 | + $source_object = WC_Stripe_API::retrieve('sources/' . $source_id); |
|
546 | 546 | |
547 | - if ( ! empty( $source_object->error ) ) { |
|
548 | - throw new WC_Stripe_Exception( print_r( $source_object, true ), $source_object->error->message ); |
|
547 | + if ( ! empty($source_object->error)) { |
|
548 | + throw new WC_Stripe_Exception(print_r($source_object, true), $source_object->error->message); |
|
549 | 549 | } |
550 | 550 | |
551 | 551 | return $source_object; |
@@ -558,10 +558,10 @@ discard block |
||
558 | 558 | * @param object $source_object |
559 | 559 | * @return bool |
560 | 560 | */ |
561 | - public function is_prepaid_card( $source_object ) { |
|
561 | + public function is_prepaid_card($source_object) { |
|
562 | 562 | return ( |
563 | 563 | $source_object |
564 | - && ( 'token' === $source_object->object || 'source' === $source_object->object ) |
|
564 | + && ('token' === $source_object->object || 'source' === $source_object->object) |
|
565 | 565 | && 'prepaid' === $source_object->card->funding |
566 | 566 | ); |
567 | 567 | } |
@@ -573,8 +573,8 @@ discard block |
||
573 | 573 | * @param string $source_id |
574 | 574 | * @return bool |
575 | 575 | */ |
576 | - public function is_type_legacy_card( $source_id ) { |
|
577 | - return ( preg_match( '/^card_/', $source_id ) ); |
|
576 | + public function is_type_legacy_card($source_id) { |
|
577 | + return (preg_match('/^card_/', $source_id)); |
|
578 | 578 | } |
579 | 579 | |
580 | 580 | /** |
@@ -584,9 +584,9 @@ discard block |
||
584 | 584 | * @return bool |
585 | 585 | */ |
586 | 586 | public function is_using_saved_payment_method() { |
587 | - $payment_method = isset( $_POST['payment_method'] ) ? wc_clean( $_POST['payment_method'] ) : 'stripe'; |
|
587 | + $payment_method = isset($_POST['payment_method']) ? wc_clean($_POST['payment_method']) : 'stripe'; |
|
588 | 588 | |
589 | - return ( isset( $_POST[ 'wc-' . $payment_method . '-payment-token' ] ) && 'new' !== $_POST[ 'wc-' . $payment_method . '-payment-token' ] ); |
|
589 | + return (isset($_POST['wc-' . $payment_method . '-payment-token']) && 'new' !== $_POST['wc-' . $payment_method . '-payment-token']); |
|
590 | 590 | } |
591 | 591 | |
592 | 592 | /** |
@@ -602,64 +602,64 @@ discard block |
||
602 | 602 | * @throws Exception When card was not added or for and invalid card. |
603 | 603 | * @return object |
604 | 604 | */ |
605 | - public function prepare_source( $user_id, $force_save_source = false, $existing_customer_id = null ) { |
|
606 | - $customer = new WC_Stripe_Customer( $user_id ); |
|
607 | - if ( ! empty( $existing_customer_id ) ) { |
|
608 | - $customer->set_id( $existing_customer_id ); |
|
605 | + public function prepare_source($user_id, $force_save_source = false, $existing_customer_id = null) { |
|
606 | + $customer = new WC_Stripe_Customer($user_id); |
|
607 | + if ( ! empty($existing_customer_id)) { |
|
608 | + $customer->set_id($existing_customer_id); |
|
609 | 609 | } |
610 | 610 | |
611 | - $force_save_source = apply_filters( 'wc_stripe_force_save_source', $force_save_source, $customer ); |
|
611 | + $force_save_source = apply_filters('wc_stripe_force_save_source', $force_save_source, $customer); |
|
612 | 612 | $source_object = ''; |
613 | 613 | $source_id = ''; |
614 | 614 | $wc_token_id = false; |
615 | - $payment_method = isset( $_POST['payment_method'] ) ? wc_clean( $_POST['payment_method'] ) : 'stripe'; |
|
615 | + $payment_method = isset($_POST['payment_method']) ? wc_clean($_POST['payment_method']) : 'stripe'; |
|
616 | 616 | $is_token = false; |
617 | 617 | |
618 | 618 | // New CC info was entered and we have a new source to process. |
619 | - if ( ! empty( $_POST['stripe_source'] ) ) { |
|
620 | - $source_object = self::get_source_object( wc_clean( $_POST['stripe_source'] ) ); |
|
619 | + if ( ! empty($_POST['stripe_source'])) { |
|
620 | + $source_object = self::get_source_object(wc_clean($_POST['stripe_source'])); |
|
621 | 621 | $source_id = $source_object->id; |
622 | 622 | |
623 | 623 | // This checks to see if customer opted to save the payment method to file. |
624 | - $maybe_saved_card = isset( $_POST[ 'wc-' . $payment_method . '-new-payment-method' ] ) && ! empty( $_POST[ 'wc-' . $payment_method . '-new-payment-method' ] ); |
|
624 | + $maybe_saved_card = isset($_POST['wc-' . $payment_method . '-new-payment-method']) && ! empty($_POST['wc-' . $payment_method . '-new-payment-method']); |
|
625 | 625 | |
626 | 626 | /** |
627 | 627 | * This is true if the user wants to store the card to their account. |
628 | 628 | * Criteria to save to file is they are logged in, they opted to save or product requirements and the source is |
629 | 629 | * actually reusable. Either that or force_save_source is true. |
630 | 630 | */ |
631 | - if ( ( $user_id && $this->saved_cards && $maybe_saved_card && 'reusable' === $source_object->usage ) || $force_save_source ) { |
|
632 | - $response = $customer->add_source( $source_object->id ); |
|
631 | + if (($user_id && $this->saved_cards && $maybe_saved_card && 'reusable' === $source_object->usage) || $force_save_source) { |
|
632 | + $response = $customer->add_source($source_object->id); |
|
633 | 633 | |
634 | - if ( ! empty( $response->error ) ) { |
|
635 | - throw new WC_Stripe_Exception( print_r( $response, true ), $this->get_localized_error_message_from_response( $response ) ); |
|
634 | + if ( ! empty($response->error)) { |
|
635 | + throw new WC_Stripe_Exception(print_r($response, true), $this->get_localized_error_message_from_response($response)); |
|
636 | 636 | } |
637 | 637 | } |
638 | - } elseif ( $this->is_using_saved_payment_method() ) { |
|
638 | + } elseif ($this->is_using_saved_payment_method()) { |
|
639 | 639 | // Use an existing token, and then process the payment. |
640 | - $wc_token_id = wc_clean( $_POST[ 'wc-' . $payment_method . '-payment-token' ] ); |
|
641 | - $wc_token = WC_Payment_Tokens::get( $wc_token_id ); |
|
640 | + $wc_token_id = wc_clean($_POST['wc-' . $payment_method . '-payment-token']); |
|
641 | + $wc_token = WC_Payment_Tokens::get($wc_token_id); |
|
642 | 642 | |
643 | - if ( ! $wc_token || $wc_token->get_user_id() !== get_current_user_id() ) { |
|
644 | - WC()->session->set( 'refresh_totals', true ); |
|
645 | - throw new WC_Stripe_Exception( 'Invalid payment method', __( 'Invalid payment method. Please input a new card number.', 'woocommerce-gateway-stripe' ) ); |
|
643 | + if ( ! $wc_token || $wc_token->get_user_id() !== get_current_user_id()) { |
|
644 | + WC()->session->set('refresh_totals', true); |
|
645 | + throw new WC_Stripe_Exception('Invalid payment method', __('Invalid payment method. Please input a new card number.', 'woocommerce-gateway-stripe')); |
|
646 | 646 | } |
647 | 647 | |
648 | 648 | $source_id = $wc_token->get_token(); |
649 | 649 | |
650 | - if ( $this->is_type_legacy_card( $source_id ) ) { |
|
650 | + if ($this->is_type_legacy_card($source_id)) { |
|
651 | 651 | $is_token = true; |
652 | 652 | } |
653 | - } elseif ( isset( $_POST['stripe_token'] ) && 'new' !== $_POST['stripe_token'] ) { |
|
654 | - $stripe_token = wc_clean( $_POST['stripe_token'] ); |
|
655 | - $maybe_saved_card = isset( $_POST[ 'wc-' . $payment_method . '-new-payment-method' ] ) && ! empty( $_POST[ 'wc-' . $payment_method . '-new-payment-method' ] ); |
|
653 | + } elseif (isset($_POST['stripe_token']) && 'new' !== $_POST['stripe_token']) { |
|
654 | + $stripe_token = wc_clean($_POST['stripe_token']); |
|
655 | + $maybe_saved_card = isset($_POST['wc-' . $payment_method . '-new-payment-method']) && ! empty($_POST['wc-' . $payment_method . '-new-payment-method']); |
|
656 | 656 | |
657 | 657 | // This is true if the user wants to store the card to their account. |
658 | - if ( ( $user_id && $this->saved_cards && $maybe_saved_card ) || $force_save_source ) { |
|
659 | - $response = $customer->add_source( $stripe_token ); |
|
658 | + if (($user_id && $this->saved_cards && $maybe_saved_card) || $force_save_source) { |
|
659 | + $response = $customer->add_source($stripe_token); |
|
660 | 660 | |
661 | - if ( ! empty( $response->error ) ) { |
|
662 | - throw new WC_Stripe_Exception( print_r( $response, true ), $response->error->message ); |
|
661 | + if ( ! empty($response->error)) { |
|
662 | + throw new WC_Stripe_Exception(print_r($response, true), $response->error->message); |
|
663 | 663 | } |
664 | 664 | $source_id = $response; |
665 | 665 | } else { |
@@ -669,15 +669,15 @@ discard block |
||
669 | 669 | } |
670 | 670 | |
671 | 671 | $customer_id = $customer->get_id(); |
672 | - if ( ! $customer_id ) { |
|
673 | - $customer->set_id( $customer->create_customer() ); |
|
672 | + if ( ! $customer_id) { |
|
673 | + $customer->set_id($customer->create_customer()); |
|
674 | 674 | $customer_id = $customer->get_id(); |
675 | 675 | } else { |
676 | 676 | $customer_id = $customer->update_customer(); |
677 | 677 | } |
678 | 678 | |
679 | - if ( empty( $source_object ) && ! $is_token ) { |
|
680 | - $source_object = self::get_source_object( $source_id ); |
|
679 | + if (empty($source_object) && ! $is_token) { |
|
680 | + $source_object = self::get_source_object($source_id); |
|
681 | 681 | } |
682 | 682 | |
683 | 683 | return (object) array( |
@@ -701,39 +701,39 @@ discard block |
||
701 | 701 | * @param object $order |
702 | 702 | * @return object |
703 | 703 | */ |
704 | - public function prepare_order_source( $order = null ) { |
|
704 | + public function prepare_order_source($order = null) { |
|
705 | 705 | $stripe_customer = new WC_Stripe_Customer(); |
706 | 706 | $stripe_source = false; |
707 | 707 | $token_id = false; |
708 | 708 | $source_object = false; |
709 | 709 | |
710 | - if ( $order ) { |
|
710 | + if ($order) { |
|
711 | 711 | $order_id = $order->get_id(); |
712 | 712 | |
713 | - $stripe_customer_id = get_post_meta( $order_id, '_stripe_customer_id', true ); |
|
713 | + $stripe_customer_id = get_post_meta($order_id, '_stripe_customer_id', true); |
|
714 | 714 | |
715 | - if ( $stripe_customer_id ) { |
|
716 | - $stripe_customer->set_id( $stripe_customer_id ); |
|
715 | + if ($stripe_customer_id) { |
|
716 | + $stripe_customer->set_id($stripe_customer_id); |
|
717 | 717 | } |
718 | 718 | |
719 | - $source_id = $order->get_meta( '_stripe_source_id', true ); |
|
719 | + $source_id = $order->get_meta('_stripe_source_id', true); |
|
720 | 720 | |
721 | 721 | // Since 4.0.0, we changed card to source so we need to account for that. |
722 | - if ( empty( $source_id ) ) { |
|
723 | - $source_id = $order->get_meta( '_stripe_card_id', true ); |
|
722 | + if (empty($source_id)) { |
|
723 | + $source_id = $order->get_meta('_stripe_card_id', true); |
|
724 | 724 | |
725 | 725 | // Take this opportunity to update the key name. |
726 | - $order->update_meta_data( '_stripe_source_id', $source_id ); |
|
726 | + $order->update_meta_data('_stripe_source_id', $source_id); |
|
727 | 727 | |
728 | - if ( is_callable( array( $order, 'save' ) ) ) { |
|
728 | + if (is_callable(array($order, 'save'))) { |
|
729 | 729 | $order->save(); |
730 | 730 | } |
731 | 731 | } |
732 | 732 | |
733 | - if ( $source_id ) { |
|
733 | + if ($source_id) { |
|
734 | 734 | $stripe_source = $source_id; |
735 | - $source_object = WC_Stripe_API::retrieve( 'sources/' . $source_id ); |
|
736 | - } elseif ( apply_filters( 'wc_stripe_use_default_customer_source', true ) ) { |
|
735 | + $source_object = WC_Stripe_API::retrieve('sources/' . $source_id); |
|
736 | + } elseif (apply_filters('wc_stripe_use_default_customer_source', true)) { |
|
737 | 737 | /* |
738 | 738 | * We can attempt to charge the customer's default source |
739 | 739 | * by sending empty source id. |
@@ -758,17 +758,17 @@ discard block |
||
758 | 758 | * @param WC_Order $order For to which the source applies. |
759 | 759 | * @param stdClass $source Source information. |
760 | 760 | */ |
761 | - public function save_source_to_order( $order, $source ) { |
|
761 | + public function save_source_to_order($order, $source) { |
|
762 | 762 | // Store source in the order. |
763 | - if ( $source->customer ) { |
|
764 | - $order->update_meta_data( '_stripe_customer_id', $source->customer ); |
|
763 | + if ($source->customer) { |
|
764 | + $order->update_meta_data('_stripe_customer_id', $source->customer); |
|
765 | 765 | } |
766 | 766 | |
767 | - if ( $source->source ) { |
|
768 | - $order->update_meta_data( '_stripe_source_id', $source->source ); |
|
767 | + if ($source->source) { |
|
768 | + $order->update_meta_data('_stripe_source_id', $source->source); |
|
769 | 769 | } |
770 | 770 | |
771 | - if ( is_callable( array( $order, 'save' ) ) ) { |
|
771 | + if (is_callable(array($order, 'save'))) { |
|
772 | 772 | $order->save(); |
773 | 773 | } |
774 | 774 | } |
@@ -782,36 +782,36 @@ discard block |
||
782 | 782 | * @param object $order The order object |
783 | 783 | * @param int $balance_transaction_id |
784 | 784 | */ |
785 | - public function update_fees( $order, $balance_transaction_id ) { |
|
786 | - $balance_transaction = WC_Stripe_API::retrieve( 'balance/history/' . $balance_transaction_id ); |
|
785 | + public function update_fees($order, $balance_transaction_id) { |
|
786 | + $balance_transaction = WC_Stripe_API::retrieve('balance/history/' . $balance_transaction_id); |
|
787 | 787 | |
788 | - if ( empty( $balance_transaction->error ) ) { |
|
789 | - if ( isset( $balance_transaction ) && isset( $balance_transaction->fee ) ) { |
|
788 | + if (empty($balance_transaction->error)) { |
|
789 | + if (isset($balance_transaction) && isset($balance_transaction->fee)) { |
|
790 | 790 | // Fees and Net needs to both come from Stripe to be accurate as the returned |
791 | 791 | // values are in the local currency of the Stripe account, not from WC. |
792 | - $fee_refund = ! empty( $balance_transaction->fee ) ? WC_Stripe_Helper::format_balance_fee( $balance_transaction, 'fee' ) : 0; |
|
793 | - $net_refund = ! empty( $balance_transaction->net ) ? WC_Stripe_Helper::format_balance_fee( $balance_transaction, 'net' ) : 0; |
|
792 | + $fee_refund = ! empty($balance_transaction->fee) ? WC_Stripe_Helper::format_balance_fee($balance_transaction, 'fee') : 0; |
|
793 | + $net_refund = ! empty($balance_transaction->net) ? WC_Stripe_Helper::format_balance_fee($balance_transaction, 'net') : 0; |
|
794 | 794 | |
795 | 795 | // Current data fee & net. |
796 | - $fee_current = WC_Stripe_Helper::get_stripe_fee( $order ); |
|
797 | - $net_current = WC_Stripe_Helper::get_stripe_net( $order ); |
|
796 | + $fee_current = WC_Stripe_Helper::get_stripe_fee($order); |
|
797 | + $net_current = WC_Stripe_Helper::get_stripe_net($order); |
|
798 | 798 | |
799 | 799 | // Calculation. |
800 | 800 | $fee = (float) $fee_current + (float) $fee_refund; |
801 | 801 | $net = (float) $net_current + (float) $net_refund; |
802 | 802 | |
803 | - WC_Stripe_Helper::update_stripe_fee( $order, $fee ); |
|
804 | - WC_Stripe_Helper::update_stripe_net( $order, $net ); |
|
803 | + WC_Stripe_Helper::update_stripe_fee($order, $fee); |
|
804 | + WC_Stripe_Helper::update_stripe_net($order, $net); |
|
805 | 805 | |
806 | - $currency = ! empty( $balance_transaction->currency ) ? strtoupper( $balance_transaction->currency ) : null; |
|
807 | - WC_Stripe_Helper::update_stripe_currency( $order, $currency ); |
|
806 | + $currency = ! empty($balance_transaction->currency) ? strtoupper($balance_transaction->currency) : null; |
|
807 | + WC_Stripe_Helper::update_stripe_currency($order, $currency); |
|
808 | 808 | |
809 | - if ( is_callable( array( $order, 'save' ) ) ) { |
|
809 | + if (is_callable(array($order, 'save'))) { |
|
810 | 810 | $order->save(); |
811 | 811 | } |
812 | 812 | } |
813 | 813 | } else { |
814 | - WC_Stripe_Logger::log( 'Unable to update fees/net meta for order: ' . $order->get_id() ); |
|
814 | + WC_Stripe_Logger::log('Unable to update fees/net meta for order: ' . $order->get_id()); |
|
815 | 815 | } |
816 | 816 | } |
817 | 817 | |
@@ -824,93 +824,93 @@ discard block |
||
824 | 824 | * @param float $amount |
825 | 825 | * @return bool |
826 | 826 | */ |
827 | - public function process_refund( $order_id, $amount = null, $reason = '' ) { |
|
828 | - $order = wc_get_order( $order_id ); |
|
827 | + public function process_refund($order_id, $amount = null, $reason = '') { |
|
828 | + $order = wc_get_order($order_id); |
|
829 | 829 | |
830 | - if ( ! $order ) { |
|
830 | + if ( ! $order) { |
|
831 | 831 | return false; |
832 | 832 | } |
833 | 833 | |
834 | 834 | $request = array(); |
835 | 835 | |
836 | 836 | $order_currency = $order->get_currency(); |
837 | - $captured = $order->get_meta( '_stripe_charge_captured', true ); |
|
837 | + $captured = $order->get_meta('_stripe_charge_captured', true); |
|
838 | 838 | $charge_id = $order->get_transaction_id(); |
839 | 839 | |
840 | - if ( ! $charge_id ) { |
|
840 | + if ( ! $charge_id) { |
|
841 | 841 | return false; |
842 | 842 | } |
843 | 843 | |
844 | - if ( ! is_null( $amount ) ) { |
|
845 | - $request['amount'] = WC_Stripe_Helper::get_stripe_amount( $amount, $order_currency ); |
|
844 | + if ( ! is_null($amount)) { |
|
845 | + $request['amount'] = WC_Stripe_Helper::get_stripe_amount($amount, $order_currency); |
|
846 | 846 | } |
847 | 847 | |
848 | 848 | // If order is only authorized, don't pass amount. |
849 | - if ( 'yes' !== $captured ) { |
|
850 | - unset( $request['amount'] ); |
|
849 | + if ('yes' !== $captured) { |
|
850 | + unset($request['amount']); |
|
851 | 851 | } |
852 | 852 | |
853 | - if ( $reason ) { |
|
853 | + if ($reason) { |
|
854 | 854 | $request['metadata'] = array( |
855 | 855 | 'reason' => $reason, |
856 | 856 | ); |
857 | 857 | } |
858 | 858 | |
859 | 859 | $request['charge'] = $charge_id; |
860 | - WC_Stripe_Logger::log( "Info: Beginning refund for order {$charge_id} for the amount of {$amount}" ); |
|
860 | + WC_Stripe_Logger::log("Info: Beginning refund for order {$charge_id} for the amount of {$amount}"); |
|
861 | 861 | |
862 | - $request = apply_filters( 'wc_stripe_refund_request', $request, $order ); |
|
862 | + $request = apply_filters('wc_stripe_refund_request', $request, $order); |
|
863 | 863 | |
864 | - $intent = $this->get_intent_from_order( $order ); |
|
864 | + $intent = $this->get_intent_from_order($order); |
|
865 | 865 | $intent_cancelled = false; |
866 | - if ( $intent ) { |
|
866 | + if ($intent) { |
|
867 | 867 | // If the order has a Payment Intent pending capture, then the Intent itself must be refunded (cancelled), not the Charge |
868 | - if ( ! empty( $intent->error ) ) { |
|
868 | + if ( ! empty($intent->error)) { |
|
869 | 869 | $response = $intent; |
870 | 870 | $intent_cancelled = true; |
871 | - } elseif ( 'requires_capture' === $intent->status ) { |
|
871 | + } elseif ('requires_capture' === $intent->status) { |
|
872 | 872 | $result = WC_Stripe_API::request( |
873 | 873 | array(), |
874 | 874 | 'payment_intents/' . $intent->id . '/cancel' |
875 | 875 | ); |
876 | 876 | $intent_cancelled = true; |
877 | 877 | |
878 | - if ( ! empty( $result->error ) ) { |
|
878 | + if ( ! empty($result->error)) { |
|
879 | 879 | $response = $result; |
880 | 880 | } else { |
881 | - $charge = end( $result->charges->data ); |
|
882 | - $response = end( $charge->refunds->data ); |
|
881 | + $charge = end($result->charges->data); |
|
882 | + $response = end($charge->refunds->data); |
|
883 | 883 | } |
884 | 884 | } |
885 | 885 | } |
886 | 886 | |
887 | - if ( ! $intent_cancelled ) { |
|
888 | - $response = WC_Stripe_API::request( $request, 'refunds' ); |
|
887 | + if ( ! $intent_cancelled) { |
|
888 | + $response = WC_Stripe_API::request($request, 'refunds'); |
|
889 | 889 | } |
890 | 890 | |
891 | - if ( ! empty( $response->error ) ) { |
|
892 | - WC_Stripe_Logger::log( 'Error: ' . $response->error->message ); |
|
891 | + if ( ! empty($response->error)) { |
|
892 | + WC_Stripe_Logger::log('Error: ' . $response->error->message); |
|
893 | 893 | |
894 | 894 | return $response; |
895 | 895 | |
896 | - } elseif ( ! empty( $response->id ) ) { |
|
897 | - $order->update_meta_data( '_stripe_refund_id', $response->id ); |
|
896 | + } elseif ( ! empty($response->id)) { |
|
897 | + $order->update_meta_data('_stripe_refund_id', $response->id); |
|
898 | 898 | |
899 | - $amount = wc_price( $response->amount / 100 ); |
|
899 | + $amount = wc_price($response->amount / 100); |
|
900 | 900 | |
901 | - if ( in_array( strtolower( $order->get_currency() ), WC_Stripe_Helper::no_decimal_currencies() ) ) { |
|
902 | - $amount = wc_price( $response->amount ); |
|
901 | + if (in_array(strtolower($order->get_currency()), WC_Stripe_Helper::no_decimal_currencies())) { |
|
902 | + $amount = wc_price($response->amount); |
|
903 | 903 | } |
904 | 904 | |
905 | - if ( isset( $response->balance_transaction ) ) { |
|
906 | - $this->update_fees( $order, $response->balance_transaction ); |
|
905 | + if (isset($response->balance_transaction)) { |
|
906 | + $this->update_fees($order, $response->balance_transaction); |
|
907 | 907 | } |
908 | 908 | |
909 | 909 | /* translators: 1) dollar amount 2) transaction id 3) refund message */ |
910 | - $refund_message = ( isset( $captured ) && 'yes' === $captured ) ? sprintf( __( 'Refunded %1$s - Refund ID: %2$s - Reason: %3$s', 'woocommerce-gateway-stripe' ), $amount, $response->id, $reason ) : __( 'Pre-Authorization Released', 'woocommerce-gateway-stripe' ); |
|
910 | + $refund_message = (isset($captured) && 'yes' === $captured) ? sprintf(__('Refunded %1$s - Refund ID: %2$s - Reason: %3$s', 'woocommerce-gateway-stripe'), $amount, $response->id, $reason) : __('Pre-Authorization Released', 'woocommerce-gateway-stripe'); |
|
911 | 911 | |
912 | - $order->add_order_note( $refund_message ); |
|
913 | - WC_Stripe_Logger::log( 'Success: ' . html_entity_decode( wp_strip_all_tags( $refund_message ) ) ); |
|
912 | + $order->add_order_note($refund_message); |
|
913 | + WC_Stripe_Logger::log('Success: ' . html_entity_decode(wp_strip_all_tags($refund_message))); |
|
914 | 914 | |
915 | 915 | return true; |
916 | 916 | } |
@@ -925,46 +925,46 @@ discard block |
||
925 | 925 | */ |
926 | 926 | public function add_payment_method() { |
927 | 927 | $error = false; |
928 | - $error_msg = __( 'There was a problem adding the payment method.', 'woocommerce-gateway-stripe' ); |
|
928 | + $error_msg = __('There was a problem adding the payment method.', 'woocommerce-gateway-stripe'); |
|
929 | 929 | $source_id = ''; |
930 | 930 | |
931 | - if ( empty( $_POST['stripe_source'] ) && empty( $_POST['stripe_token'] ) || ! is_user_logged_in() ) { |
|
931 | + if (empty($_POST['stripe_source']) && empty($_POST['stripe_token']) || ! is_user_logged_in()) { |
|
932 | 932 | $error = true; |
933 | 933 | } |
934 | 934 | |
935 | - $stripe_customer = new WC_Stripe_Customer( get_current_user_id() ); |
|
935 | + $stripe_customer = new WC_Stripe_Customer(get_current_user_id()); |
|
936 | 936 | |
937 | - $source = ! empty( $_POST['stripe_source'] ) ? wc_clean( $_POST['stripe_source'] ) : ''; |
|
937 | + $source = ! empty($_POST['stripe_source']) ? wc_clean($_POST['stripe_source']) : ''; |
|
938 | 938 | |
939 | - $source_object = WC_Stripe_API::retrieve( 'sources/' . $source ); |
|
939 | + $source_object = WC_Stripe_API::retrieve('sources/' . $source); |
|
940 | 940 | |
941 | - if ( isset( $source_object ) ) { |
|
942 | - if ( ! empty( $source_object->error ) ) { |
|
941 | + if (isset($source_object)) { |
|
942 | + if ( ! empty($source_object->error)) { |
|
943 | 943 | $error = true; |
944 | 944 | } |
945 | 945 | |
946 | 946 | $source_id = $source_object->id; |
947 | - } elseif ( isset( $_POST['stripe_token'] ) ) { |
|
948 | - $source_id = wc_clean( $_POST['stripe_token'] ); |
|
947 | + } elseif (isset($_POST['stripe_token'])) { |
|
948 | + $source_id = wc_clean($_POST['stripe_token']); |
|
949 | 949 | } |
950 | 950 | |
951 | - $response = $stripe_customer->add_source( $source_id ); |
|
951 | + $response = $stripe_customer->add_source($source_id); |
|
952 | 952 | |
953 | - if ( ! $response || is_wp_error( $response ) || ! empty( $response->error ) ) { |
|
953 | + if ( ! $response || is_wp_error($response) || ! empty($response->error)) { |
|
954 | 954 | $error = true; |
955 | 955 | } |
956 | 956 | |
957 | - if ( $error ) { |
|
958 | - wc_add_notice( $error_msg, 'error' ); |
|
959 | - WC_Stripe_Logger::log( 'Add payment method Error: ' . $error_msg ); |
|
957 | + if ($error) { |
|
958 | + wc_add_notice($error_msg, 'error'); |
|
959 | + WC_Stripe_Logger::log('Add payment method Error: ' . $error_msg); |
|
960 | 960 | return; |
961 | 961 | } |
962 | 962 | |
963 | - do_action( 'wc_stripe_add_payment_method_' . $_POST['payment_method'] . '_success', $source_id, $source_object ); |
|
963 | + do_action('wc_stripe_add_payment_method_' . $_POST['payment_method'] . '_success', $source_id, $source_object); |
|
964 | 964 | |
965 | 965 | return array( |
966 | 966 | 'result' => 'success', |
967 | - 'redirect' => wc_get_endpoint_url( 'payment-methods' ), |
|
967 | + 'redirect' => wc_get_endpoint_url('payment-methods'), |
|
968 | 968 | ); |
969 | 969 | } |
970 | 970 | |
@@ -981,10 +981,10 @@ discard block |
||
981 | 981 | * Stripe expects Norwegian to only be passed NO. |
982 | 982 | * But WP has different dialects. |
983 | 983 | */ |
984 | - if ( 'NO' === substr( $locale, 3, 2 ) ) { |
|
984 | + if ('NO' === substr($locale, 3, 2)) { |
|
985 | 985 | $locale = 'no'; |
986 | 986 | } else { |
987 | - $locale = substr( get_locale(), 0, 2 ); |
|
987 | + $locale = substr(get_locale(), 0, 2); |
|
988 | 988 | } |
989 | 989 | |
990 | 990 | return $locale; |
@@ -998,9 +998,9 @@ discard block |
||
998 | 998 | * @param string $idempotency_key |
999 | 999 | * @param array $request |
1000 | 1000 | */ |
1001 | - public function change_idempotency_key( $idempotency_key, $request ) { |
|
1002 | - $customer = ! empty( $request['customer'] ) ? $request['customer'] : ''; |
|
1003 | - $source = ! empty( $request['source'] ) ? $request['source'] : $customer; |
|
1001 | + public function change_idempotency_key($idempotency_key, $request) { |
|
1002 | + $customer = ! empty($request['customer']) ? $request['customer'] : ''; |
|
1003 | + $source = ! empty($request['source']) ? $request['source'] : $customer; |
|
1004 | 1004 | $count = $this->retry_interval; |
1005 | 1005 | |
1006 | 1006 | return $request['metadata']['order_id'] . '-' . $count . '-' . $source; |
@@ -1014,8 +1014,8 @@ discard block |
||
1014 | 1014 | * @since 4.0.6 |
1015 | 1015 | * @param array $headers |
1016 | 1016 | */ |
1017 | - public function is_original_request( $headers ) { |
|
1018 | - if ( $headers['original-request'] === $headers['request-id'] ) { |
|
1017 | + public function is_original_request($headers) { |
|
1018 | + if ($headers['original-request'] === $headers['request-id']) { |
|
1019 | 1019 | return true; |
1020 | 1020 | } |
1021 | 1021 | |
@@ -1029,31 +1029,31 @@ discard block |
||
1029 | 1029 | * @param object $prepared_source The source that is used for the payment. |
1030 | 1030 | * @return array The arguments for the request. |
1031 | 1031 | */ |
1032 | - public function generate_create_intent_request( $order, $prepared_source ) { |
|
1032 | + public function generate_create_intent_request($order, $prepared_source) { |
|
1033 | 1033 | // The request for a charge contains metadata for the intent. |
1034 | - $full_request = $this->generate_payment_request( $order, $prepared_source ); |
|
1034 | + $full_request = $this->generate_payment_request($order, $prepared_source); |
|
1035 | 1035 | |
1036 | 1036 | $request = array( |
1037 | 1037 | 'source' => $prepared_source->source, |
1038 | - 'amount' => WC_Stripe_Helper::get_stripe_amount( $order->get_total() ), |
|
1039 | - 'currency' => strtolower( $order->get_currency() ), |
|
1038 | + 'amount' => WC_Stripe_Helper::get_stripe_amount($order->get_total()), |
|
1039 | + 'currency' => strtolower($order->get_currency()), |
|
1040 | 1040 | 'description' => $full_request['description'], |
1041 | 1041 | 'metadata' => $full_request['metadata'], |
1042 | - 'capture_method' => ( 'true' === $full_request['capture'] ) ? 'automatic' : 'manual', |
|
1042 | + 'capture_method' => ('true' === $full_request['capture']) ? 'automatic' : 'manual', |
|
1043 | 1043 | 'payment_method_types' => array( |
1044 | 1044 | 'card', |
1045 | 1045 | ), |
1046 | 1046 | ); |
1047 | 1047 | |
1048 | - if ( $prepared_source->customer ) { |
|
1048 | + if ($prepared_source->customer) { |
|
1049 | 1049 | $request['customer'] = $prepared_source->customer; |
1050 | 1050 | } |
1051 | 1051 | |
1052 | - if ( isset( $full_request['statement_descriptor'] ) ) { |
|
1052 | + if (isset($full_request['statement_descriptor'])) { |
|
1053 | 1053 | $request['statement_descriptor'] = $full_request['statement_descriptor']; |
1054 | 1054 | } |
1055 | 1055 | |
1056 | - if ( isset( $full_request['shipping'] ) ) { |
|
1056 | + if (isset($full_request['shipping'])) { |
|
1057 | 1057 | $request['shipping'] = $full_request['shipping']; |
1058 | 1058 | } |
1059 | 1059 | |
@@ -1065,7 +1065,7 @@ discard block |
||
1065 | 1065 | * @param WC_Order $order |
1066 | 1066 | * @param object $source |
1067 | 1067 | */ |
1068 | - return apply_filters( 'wc_stripe_generate_create_intent_request', $request, $order, $prepared_source ); |
|
1068 | + return apply_filters('wc_stripe_generate_create_intent_request', $request, $order, $prepared_source); |
|
1069 | 1069 | } |
1070 | 1070 | |
1071 | 1071 | /** |
@@ -1074,21 +1074,21 @@ discard block |
||
1074 | 1074 | * @param WC_Order $order The order that is being paid for. |
1075 | 1075 | * @return array The level 3 data to send to Stripe. |
1076 | 1076 | */ |
1077 | - public function get_level3_data_from_order( $order ) { |
|
1077 | + public function get_level3_data_from_order($order) { |
|
1078 | 1078 | // Get the order items. Don't need their keys, only their values. |
1079 | 1079 | // Order item IDs are used as keys in the original order items array. |
1080 | - $order_items = array_values( $order->get_items() ); |
|
1080 | + $order_items = array_values($order->get_items()); |
|
1081 | 1081 | $currency = $order->get_currency(); |
1082 | 1082 | |
1083 | - $stripe_line_items = array_map(function( $item ) use ( $currency ) { |
|
1083 | + $stripe_line_items = array_map(function($item) use ($currency) { |
|
1084 | 1084 | $product_id = $item->get_variation_id() |
1085 | 1085 | ? $item->get_variation_id() |
1086 | 1086 | : $item->get_product_id(); |
1087 | - $product_description = substr( $item->get_name(), 0, 26 ); |
|
1087 | + $product_description = substr($item->get_name(), 0, 26); |
|
1088 | 1088 | $quantity = $item->get_quantity(); |
1089 | - $unit_cost = WC_Stripe_Helper::get_stripe_amount( ( $item->get_subtotal() / $quantity ), $currency ); |
|
1090 | - $tax_amount = WC_Stripe_Helper::get_stripe_amount( $item->get_total_tax(), $currency ); |
|
1091 | - $discount_amount = WC_Stripe_Helper::get_stripe_amount( $item->get_subtotal() - $item->get_total(), $currency ); |
|
1089 | + $unit_cost = WC_Stripe_Helper::get_stripe_amount(($item->get_subtotal() / $quantity), $currency); |
|
1090 | + $tax_amount = WC_Stripe_Helper::get_stripe_amount($item->get_total_tax(), $currency); |
|
1091 | + $discount_amount = WC_Stripe_Helper::get_stripe_amount($item->get_subtotal() - $item->get_total(), $currency); |
|
1092 | 1092 | |
1093 | 1093 | return (object) array( |
1094 | 1094 | 'product_code' => (string) $product_id, // Up to 12 characters that uniquely identify the product. |
@@ -1102,19 +1102,19 @@ discard block |
||
1102 | 1102 | |
1103 | 1103 | $level3_data = array( |
1104 | 1104 | 'merchant_reference' => $order->get_id(), // An alphanumeric string of up to characters in length. This unique value is assigned by the merchant to identify the order. Also known as an “Order ID”. |
1105 | - 'shipping_amount' => WC_Stripe_Helper::get_stripe_amount( (float) $order->get_shipping_total() + (float) $order->get_shipping_tax(), $currency), // The shipping cost, in cents, as a non-negative integer. |
|
1105 | + 'shipping_amount' => WC_Stripe_Helper::get_stripe_amount((float) $order->get_shipping_total() + (float) $order->get_shipping_tax(), $currency), // The shipping cost, in cents, as a non-negative integer. |
|
1106 | 1106 | 'line_items' => $stripe_line_items, |
1107 | 1107 | ); |
1108 | 1108 | |
1109 | 1109 | // The customer’s U.S. shipping ZIP code. |
1110 | 1110 | $shipping_address_zip = $order->get_shipping_postcode(); |
1111 | - if ( $this->is_valid_us_zip_code( $shipping_address_zip ) ) { |
|
1111 | + if ($this->is_valid_us_zip_code($shipping_address_zip)) { |
|
1112 | 1112 | $level3_data['shipping_address_zip'] = $shipping_address_zip; |
1113 | 1113 | } |
1114 | 1114 | |
1115 | 1115 | // The merchant’s U.S. shipping ZIP code. |
1116 | - $store_postcode = get_option( 'woocommerce_store_postcode' ); |
|
1117 | - if ( $this->is_valid_us_zip_code( $store_postcode ) ) { |
|
1116 | + $store_postcode = get_option('woocommerce_store_postcode'); |
|
1117 | + if ($this->is_valid_us_zip_code($store_postcode)) { |
|
1118 | 1118 | $level3_data['shipping_from_zip'] = $store_postcode; |
1119 | 1119 | } |
1120 | 1120 | |
@@ -1128,20 +1128,20 @@ discard block |
||
1128 | 1128 | * @param object $prepared_source The source that is used for the payment. |
1129 | 1129 | * @return object An intent or an error. |
1130 | 1130 | */ |
1131 | - public function create_intent( $order, $prepared_source ) { |
|
1132 | - $request = $this->generate_create_intent_request( $order, $prepared_source ); |
|
1131 | + public function create_intent($order, $prepared_source) { |
|
1132 | + $request = $this->generate_create_intent_request($order, $prepared_source); |
|
1133 | 1133 | |
1134 | 1134 | // Create an intent that awaits an action. |
1135 | - $intent = WC_Stripe_API::request( $request, 'payment_intents' ); |
|
1136 | - if ( ! empty( $intent->error ) ) { |
|
1135 | + $intent = WC_Stripe_API::request($request, 'payment_intents'); |
|
1136 | + if ( ! empty($intent->error)) { |
|
1137 | 1137 | return $intent; |
1138 | 1138 | } |
1139 | 1139 | |
1140 | 1140 | $order_id = $order->get_id(); |
1141 | - WC_Stripe_Logger::log( "Stripe PaymentIntent $intent->id initiated for order $order_id" ); |
|
1141 | + WC_Stripe_Logger::log("Stripe PaymentIntent $intent->id initiated for order $order_id"); |
|
1142 | 1142 | |
1143 | 1143 | // Save the intent ID to the order. |
1144 | - $this->save_intent_to_order( $order, $intent ); |
|
1144 | + $this->save_intent_to_order($order, $intent); |
|
1145 | 1145 | |
1146 | 1146 | return $intent; |
1147 | 1147 | } |
@@ -1154,33 +1154,33 @@ discard block |
||
1154 | 1154 | * @param object $prepared_source Currently selected source. |
1155 | 1155 | * @return object An updated intent. |
1156 | 1156 | */ |
1157 | - public function update_existing_intent( $intent, $order, $prepared_source ) { |
|
1157 | + public function update_existing_intent($intent, $order, $prepared_source) { |
|
1158 | 1158 | $request = array(); |
1159 | 1159 | |
1160 | - if ( $prepared_source->source !== $intent->source ) { |
|
1160 | + if ($prepared_source->source !== $intent->source) { |
|
1161 | 1161 | $request['source'] = $prepared_source->source; |
1162 | 1162 | } |
1163 | 1163 | |
1164 | - $new_amount = WC_Stripe_Helper::get_stripe_amount( $order->get_total() ); |
|
1165 | - if ( $intent->amount !== $new_amount ) { |
|
1164 | + $new_amount = WC_Stripe_Helper::get_stripe_amount($order->get_total()); |
|
1165 | + if ($intent->amount !== $new_amount) { |
|
1166 | 1166 | $request['amount'] = $new_amount; |
1167 | 1167 | } |
1168 | 1168 | |
1169 | - if ( $prepared_source->customer && $intent->customer !== $prepared_source->customer ) { |
|
1169 | + if ($prepared_source->customer && $intent->customer !== $prepared_source->customer) { |
|
1170 | 1170 | $request['customer'] = $prepared_source->customer; |
1171 | 1171 | } |
1172 | 1172 | |
1173 | - if ( $this->has_subscription( $order ) ) { |
|
1173 | + if ($this->has_subscription($order)) { |
|
1174 | 1174 | // If this is a failed subscription order payment, the intent should be |
1175 | 1175 | // prepared for future usage. |
1176 | 1176 | $request['setup_future_usage'] = 'off_session'; |
1177 | 1177 | } |
1178 | 1178 | |
1179 | - if ( empty( $request ) ) { |
|
1179 | + if (empty($request)) { |
|
1180 | 1180 | return $intent; |
1181 | 1181 | } |
1182 | 1182 | |
1183 | - $level3_data = $this->get_level3_data_from_order( $order ); |
|
1183 | + $level3_data = $this->get_level3_data_from_order($order); |
|
1184 | 1184 | return WC_Stripe_API::request_with_level3_data( |
1185 | 1185 | $request, |
1186 | 1186 | "payment_intents/$intent->id", |
@@ -1198,8 +1198,8 @@ discard block |
||
1198 | 1198 | * @param object $prepared_source The source that is being charged. |
1199 | 1199 | * @return object Either an error or the updated intent. |
1200 | 1200 | */ |
1201 | - public function confirm_intent( $intent, $order, $prepared_source ) { |
|
1202 | - if ( 'requires_confirmation' !== $intent->status ) { |
|
1201 | + public function confirm_intent($intent, $order, $prepared_source) { |
|
1202 | + if ('requires_confirmation' !== $intent->status) { |
|
1203 | 1203 | return $intent; |
1204 | 1204 | } |
1205 | 1205 | |
@@ -1208,7 +1208,7 @@ discard block |
||
1208 | 1208 | 'source' => $prepared_source->source, |
1209 | 1209 | ); |
1210 | 1210 | |
1211 | - $level3_data = $this->get_level3_data_from_order( $order ); |
|
1211 | + $level3_data = $this->get_level3_data_from_order($order); |
|
1212 | 1212 | $confirmed_intent = WC_Stripe_API::request_with_level3_data( |
1213 | 1213 | $confirm_request, |
1214 | 1214 | "payment_intents/$intent->id/confirm", |
@@ -1216,16 +1216,16 @@ discard block |
||
1216 | 1216 | $order |
1217 | 1217 | ); |
1218 | 1218 | |
1219 | - if ( ! empty( $confirmed_intent->error ) ) { |
|
1219 | + if ( ! empty($confirmed_intent->error)) { |
|
1220 | 1220 | return $confirmed_intent; |
1221 | 1221 | } |
1222 | 1222 | |
1223 | 1223 | // Save a note about the status of the intent. |
1224 | 1224 | $order_id = $order->get_id(); |
1225 | - if ( 'succeeded' === $confirmed_intent->status ) { |
|
1226 | - WC_Stripe_Logger::log( "Stripe PaymentIntent $intent->id succeeded for order $order_id" ); |
|
1227 | - } elseif ( 'requires_action' === $confirmed_intent->status ) { |
|
1228 | - WC_Stripe_Logger::log( "Stripe PaymentIntent $intent->id requires authentication for order $order_id" ); |
|
1225 | + if ('succeeded' === $confirmed_intent->status) { |
|
1226 | + WC_Stripe_Logger::log("Stripe PaymentIntent $intent->id succeeded for order $order_id"); |
|
1227 | + } elseif ('requires_action' === $confirmed_intent->status) { |
|
1228 | + WC_Stripe_Logger::log("Stripe PaymentIntent $intent->id requires authentication for order $order_id"); |
|
1229 | 1229 | } |
1230 | 1230 | |
1231 | 1231 | return $confirmed_intent; |
@@ -1238,10 +1238,10 @@ discard block |
||
1238 | 1238 | * @param WC_Order $order For to which the source applies. |
1239 | 1239 | * @param stdClass $intent Payment intent information. |
1240 | 1240 | */ |
1241 | - public function save_intent_to_order( $order, $intent ) { |
|
1242 | - $order->update_meta_data( '_stripe_intent_id', $intent->id ); |
|
1241 | + public function save_intent_to_order($order, $intent) { |
|
1242 | + $order->update_meta_data('_stripe_intent_id', $intent->id); |
|
1243 | 1243 | |
1244 | - if ( is_callable( array( $order, 'save' ) ) ) { |
|
1244 | + if (is_callable(array($order, 'save'))) { |
|
1245 | 1245 | $order->save(); |
1246 | 1246 | } |
1247 | 1247 | } |
@@ -1253,18 +1253,18 @@ discard block |
||
1253 | 1253 | * @param WC_Order $order The order to retrieve an intent for. |
1254 | 1254 | * @return obect|bool Either the intent object or `false`. |
1255 | 1255 | */ |
1256 | - public function get_intent_from_order( $order ) { |
|
1257 | - $intent_id = $order->get_meta( '_stripe_intent_id' ); |
|
1256 | + public function get_intent_from_order($order) { |
|
1257 | + $intent_id = $order->get_meta('_stripe_intent_id'); |
|
1258 | 1258 | |
1259 | - if ( $intent_id ) { |
|
1260 | - return $this->get_intent( 'payment_intents', $intent_id ); |
|
1259 | + if ($intent_id) { |
|
1260 | + return $this->get_intent('payment_intents', $intent_id); |
|
1261 | 1261 | } |
1262 | 1262 | |
1263 | 1263 | // The order doesn't have a payment intent, but it may have a setup intent. |
1264 | - $intent_id = $order->get_meta( '_stripe_setup_intent' ); |
|
1264 | + $intent_id = $order->get_meta('_stripe_setup_intent'); |
|
1265 | 1265 | |
1266 | - if ( $intent_id ) { |
|
1267 | - return $this->get_intent( 'setup_intents', $intent_id ); |
|
1266 | + if ($intent_id) { |
|
1267 | + return $this->get_intent('setup_intents', $intent_id); |
|
1268 | 1268 | } |
1269 | 1269 | |
1270 | 1270 | return false; |
@@ -1278,15 +1278,15 @@ discard block |
||
1278 | 1278 | * @return object|bool Either the intent object or `false`. |
1279 | 1279 | * @throws Exception Throws exception for unknown $intent_type. |
1280 | 1280 | */ |
1281 | - private function get_intent( $intent_type, $intent_id ) { |
|
1282 | - if ( ! in_array( $intent_type, [ 'payment_intents', 'setup_intents' ] ) ) { |
|
1283 | - throw new Exception( "Failed to get intent of type $intent_type. Type is not allowed" ); |
|
1281 | + private function get_intent($intent_type, $intent_id) { |
|
1282 | + if ( ! in_array($intent_type, ['payment_intents', 'setup_intents'])) { |
|
1283 | + throw new Exception("Failed to get intent of type $intent_type. Type is not allowed"); |
|
1284 | 1284 | } |
1285 | 1285 | |
1286 | - $response = WC_Stripe_API::request( array(), "$intent_type/$intent_id", 'GET' ); |
|
1286 | + $response = WC_Stripe_API::request(array(), "$intent_type/$intent_id", 'GET'); |
|
1287 | 1287 | |
1288 | - if ( $response && isset( $response->{ 'error' } ) ) { |
|
1289 | - $error_response_message = print_r( $response, true ); |
|
1288 | + if ($response && isset($response->{ 'error' } )) { |
|
1289 | + $error_response_message = print_r($response, true); |
|
1290 | 1290 | WC_Stripe_Logger::log("Failed to get Stripe intent $intent_type/$intent_id."); |
1291 | 1291 | WC_Stripe_Logger::log("Response: $error_response_message"); |
1292 | 1292 | return false; |
@@ -1303,18 +1303,18 @@ discard block |
||
1303 | 1303 | * @param stdClass $intent The intent that is being processed. |
1304 | 1304 | * @return bool A flag that indicates whether the order is already locked. |
1305 | 1305 | */ |
1306 | - public function lock_order_payment( $order, $intent = null ) { |
|
1306 | + public function lock_order_payment($order, $intent = null) { |
|
1307 | 1307 | $order_id = $order->get_id(); |
1308 | 1308 | $transient_name = 'wc_stripe_processing_intent_' . $order_id; |
1309 | - $processing = get_transient( $transient_name ); |
|
1309 | + $processing = get_transient($transient_name); |
|
1310 | 1310 | |
1311 | 1311 | // Block the process if the same intent is already being handled. |
1312 | - if ( "-1" === $processing || ( isset( $intent->id ) && $processing === $intent->id ) ) { |
|
1312 | + if ("-1" === $processing || (isset($intent->id) && $processing === $intent->id)) { |
|
1313 | 1313 | return true; |
1314 | 1314 | } |
1315 | 1315 | |
1316 | 1316 | // Save the new intent as a transient, eventually overwriting another one. |
1317 | - set_transient( $transient_name, empty( $intent ) ? '-1' : $intent->id, 5 * MINUTE_IN_SECONDS ); |
|
1317 | + set_transient($transient_name, empty($intent) ? '-1' : $intent->id, 5 * MINUTE_IN_SECONDS); |
|
1318 | 1318 | |
1319 | 1319 | return false; |
1320 | 1320 | } |
@@ -1325,9 +1325,9 @@ discard block |
||
1325 | 1325 | * @since 4.2 |
1326 | 1326 | * @param WC_Order $order The order that is being unlocked. |
1327 | 1327 | */ |
1328 | - public function unlock_order_payment( $order ) { |
|
1328 | + public function unlock_order_payment($order) { |
|
1329 | 1329 | $order_id = $order->get_id(); |
1330 | - delete_transient( 'wc_stripe_processing_intent_' . $order_id ); |
|
1330 | + delete_transient('wc_stripe_processing_intent_' . $order_id); |
|
1331 | 1331 | } |
1332 | 1332 | |
1333 | 1333 | /** |
@@ -1337,9 +1337,9 @@ discard block |
||
1337 | 1337 | * @param object $response The response from Stripe. |
1338 | 1338 | * @return boolean Whether or not it's a 'authentication_required' error |
1339 | 1339 | */ |
1340 | - public function is_authentication_required_for_payment( $response ) { |
|
1341 | - return ( ! empty( $response->error ) && 'authentication_required' === $response->error->code ) |
|
1342 | - || ( ! empty( $response->last_payment_error ) && 'authentication_required' === $response->last_payment_error->code ); |
|
1340 | + public function is_authentication_required_for_payment($response) { |
|
1341 | + return ( ! empty($response->error) && 'authentication_required' === $response->error->code) |
|
1342 | + || ( ! empty($response->last_payment_error) && 'authentication_required' === $response->last_payment_error->code); |
|
1343 | 1343 | } |
1344 | 1344 | |
1345 | 1345 | /** |
@@ -1349,18 +1349,18 @@ discard block |
||
1349 | 1349 | * @param object $prepared_source The source, entered/chosen by the customer. |
1350 | 1350 | * @return string The client secret of the intent, used for confirmation in JS. |
1351 | 1351 | */ |
1352 | - public function setup_intent( $order, $prepared_source ) { |
|
1352 | + public function setup_intent($order, $prepared_source) { |
|
1353 | 1353 | $order_id = $order->get_id(); |
1354 | - $setup_intent = WC_Stripe_API::request( array( |
|
1354 | + $setup_intent = WC_Stripe_API::request(array( |
|
1355 | 1355 | 'payment_method' => $prepared_source->source, |
1356 | 1356 | 'customer' => $prepared_source->customer, |
1357 | 1357 | 'confirm' => 'true', |
1358 | - ), 'setup_intents' ); |
|
1358 | + ), 'setup_intents'); |
|
1359 | 1359 | |
1360 | - if ( is_wp_error( $setup_intent ) ) { |
|
1361 | - WC_Stripe_Logger::log( "Unable to create SetupIntent for Order #$order_id: " . print_r( $setup_intent, true ) ); |
|
1362 | - } elseif ( 'requires_action' === $setup_intent->status ) { |
|
1363 | - $order->update_meta_data( '_stripe_setup_intent', $setup_intent->id ); |
|
1360 | + if (is_wp_error($setup_intent)) { |
|
1361 | + WC_Stripe_Logger::log("Unable to create SetupIntent for Order #$order_id: " . print_r($setup_intent, true)); |
|
1362 | + } elseif ('requires_action' === $setup_intent->status) { |
|
1363 | + $order->update_meta_data('_stripe_setup_intent', $setup_intent->id); |
|
1364 | 1364 | $order->save(); |
1365 | 1365 | |
1366 | 1366 | return $setup_intent->client_secret; |
@@ -1375,12 +1375,12 @@ discard block |
||
1375 | 1375 | * @param float $amount The amount to charge. If not specified, it will be read from the order. |
1376 | 1376 | * @return object An intent or an error. |
1377 | 1377 | */ |
1378 | - public function create_and_confirm_intent_for_off_session( $order, $prepared_source, $amount = NULL ) { |
|
1378 | + public function create_and_confirm_intent_for_off_session($order, $prepared_source, $amount = NULL) { |
|
1379 | 1379 | // The request for a charge contains metadata for the intent. |
1380 | - $full_request = $this->generate_payment_request( $order, $prepared_source ); |
|
1380 | + $full_request = $this->generate_payment_request($order, $prepared_source); |
|
1381 | 1381 | |
1382 | 1382 | $request = array( |
1383 | - 'amount' => $amount ? WC_Stripe_Helper::get_stripe_amount( $amount, $full_request['currency'] ) : $full_request['amount'], |
|
1383 | + 'amount' => $amount ? WC_Stripe_Helper::get_stripe_amount($amount, $full_request['currency']) : $full_request['amount'], |
|
1384 | 1384 | 'currency' => $full_request['currency'], |
1385 | 1385 | 'description' => $full_request['description'], |
1386 | 1386 | 'metadata' => $full_request['metadata'], |
@@ -1392,17 +1392,17 @@ discard block |
||
1392 | 1392 | 'confirmation_method' => 'automatic', |
1393 | 1393 | ); |
1394 | 1394 | |
1395 | - if ( isset( $full_request['statement_descriptor'] ) ) { |
|
1395 | + if (isset($full_request['statement_descriptor'])) { |
|
1396 | 1396 | $request['statement_descriptor'] = $full_request['statement_descriptor']; |
1397 | 1397 | } |
1398 | 1398 | |
1399 | - if ( isset( $full_request['customer'] ) ) { |
|
1399 | + if (isset($full_request['customer'])) { |
|
1400 | 1400 | $request['customer'] = $full_request['customer']; |
1401 | 1401 | } |
1402 | 1402 | |
1403 | - if ( isset( $full_request['source'] ) ) { |
|
1404 | - $is_source = 'src_' === substr( $full_request['source'], 0, 4 ); |
|
1405 | - $request[ $is_source ? 'source' : 'payment_method' ] = $full_request['source']; |
|
1403 | + if (isset($full_request['source'])) { |
|
1404 | + $is_source = 'src_' === substr($full_request['source'], 0, 4); |
|
1405 | + $request[$is_source ? 'source' : 'payment_method'] = $full_request['source']; |
|
1406 | 1406 | } |
1407 | 1407 | |
1408 | 1408 | /** |
@@ -1413,38 +1413,38 @@ discard block |
||
1413 | 1413 | * @param WC_Order $order |
1414 | 1414 | * @param object $source |
1415 | 1415 | */ |
1416 | - $request = apply_filters('wc_stripe_generate_create_intent_request', $request, $order, $prepared_source ); |
|
1416 | + $request = apply_filters('wc_stripe_generate_create_intent_request', $request, $order, $prepared_source); |
|
1417 | 1417 | |
1418 | - if ( isset( $full_request['shipping'] ) ) { |
|
1418 | + if (isset($full_request['shipping'])) { |
|
1419 | 1419 | $request['shipping'] = $full_request['shipping']; |
1420 | 1420 | } |
1421 | 1421 | |
1422 | - $level3_data = $this->get_level3_data_from_order( $order ); |
|
1422 | + $level3_data = $this->get_level3_data_from_order($order); |
|
1423 | 1423 | $intent = WC_Stripe_API::request_with_level3_data( |
1424 | 1424 | $request, |
1425 | 1425 | 'payment_intents', |
1426 | 1426 | $level3_data, |
1427 | 1427 | $order |
1428 | 1428 | ); |
1429 | - $is_authentication_required = $this->is_authentication_required_for_payment( $intent ); |
|
1429 | + $is_authentication_required = $this->is_authentication_required_for_payment($intent); |
|
1430 | 1430 | |
1431 | - if ( ! empty( $intent->error ) && ! $is_authentication_required ) { |
|
1431 | + if ( ! empty($intent->error) && ! $is_authentication_required) { |
|
1432 | 1432 | return $intent; |
1433 | 1433 | } |
1434 | 1434 | |
1435 | - $intent_id = ( ! empty( $intent->error ) |
|
1435 | + $intent_id = ( ! empty($intent->error) |
|
1436 | 1436 | ? $intent->error->payment_intent->id |
1437 | 1437 | : $intent->id |
1438 | 1438 | ); |
1439 | - $payment_intent = ( ! empty( $intent->error ) |
|
1439 | + $payment_intent = ( ! empty($intent->error) |
|
1440 | 1440 | ? $intent->error->payment_intent |
1441 | 1441 | : $intent |
1442 | 1442 | ); |
1443 | - $order_id = $order->get_id(); |
|
1444 | - WC_Stripe_Logger::log( "Stripe PaymentIntent $intent_id initiated for order $order_id" ); |
|
1443 | + $order_id = $order->get_id(); |
|
1444 | + WC_Stripe_Logger::log("Stripe PaymentIntent $intent_id initiated for order $order_id"); |
|
1445 | 1445 | |
1446 | 1446 | // Save the intent ID to the order. |
1447 | - $this->save_intent_to_order( $order, $payment_intent ); |
|
1447 | + $this->save_intent_to_order($order, $payment_intent); |
|
1448 | 1448 | |
1449 | 1449 | return $intent; |
1450 | 1450 | } |
@@ -1455,13 +1455,13 @@ discard block |
||
1455 | 1455 | * Fix renewal for existing subscriptions affected by https://github.com/woocommerce/woocommerce-gateway-stripe/issues/1072. |
1456 | 1456 | * @param int $order_id subscription renewal order id. |
1457 | 1457 | */ |
1458 | - public function ensure_subscription_has_customer_id( $order_id ) { |
|
1459 | - $subscriptions_ids = wcs_get_subscriptions_for_order( $order_id, array( 'order_type' => 'any' ) ); |
|
1460 | - foreach( $subscriptions_ids as $subscription_id => $subscription ) { |
|
1461 | - if ( ! metadata_exists( 'post', $subscription_id, '_stripe_customer_id' ) ) { |
|
1462 | - $stripe_customer = new WC_Stripe_Customer( $subscription->get_user_id() ); |
|
1463 | - update_post_meta( $subscription_id, '_stripe_customer_id', $stripe_customer->get_id() ); |
|
1464 | - update_post_meta( $order_id, '_stripe_customer_id', $stripe_customer->get_id() ); |
|
1458 | + public function ensure_subscription_has_customer_id($order_id) { |
|
1459 | + $subscriptions_ids = wcs_get_subscriptions_for_order($order_id, array('order_type' => 'any')); |
|
1460 | + foreach ($subscriptions_ids as $subscription_id => $subscription) { |
|
1461 | + if ( ! metadata_exists('post', $subscription_id, '_stripe_customer_id')) { |
|
1462 | + $stripe_customer = new WC_Stripe_Customer($subscription->get_user_id()); |
|
1463 | + update_post_meta($subscription_id, '_stripe_customer_id', $stripe_customer->get_id()); |
|
1464 | + update_post_meta($order_id, '_stripe_customer_id', $stripe_customer->get_id()); |
|
1465 | 1465 | } |
1466 | 1466 | } |
1467 | 1467 | } |
@@ -1471,7 +1471,7 @@ discard block |
||
1471 | 1471 | * @param string $zip The ZIP code to verify. |
1472 | 1472 | * @return boolean |
1473 | 1473 | */ |
1474 | - public function is_valid_us_zip_code( $zip ) { |
|
1475 | - return ! empty( $zip ) && preg_match( '/^\d{5,5}(-\d{4,4})?$/', $zip ); |
|
1474 | + public function is_valid_us_zip_code($zip) { |
|
1475 | + return ! empty($zip) && preg_match('/^\d{5,5}(-\d{4,4})?$/', $zip); |
|
1476 | 1476 | } |
1477 | 1477 | } |
@@ -1,5 +1,5 @@ discard block |
||
1 | 1 | <?php |
2 | -if ( ! defined( 'ABSPATH' ) ) { |
|
2 | +if ( ! defined('ABSPATH')) { |
|
3 | 3 | exit; |
4 | 4 | } |
5 | 5 | |
@@ -19,64 +19,64 @@ discard block |
||
19 | 19 | const CAMPAIGN_2020_CLEANUP_ACTION = 'wc_stripe_apple_pay_2020_cleanup'; |
20 | 20 | |
21 | 21 | public function __construct() { |
22 | - add_action( self::POST_SETUP_SUCCESS_ACTION, array( self::class, 'create_marketing_note' ) ); |
|
23 | - add_action( self::CAMPAIGN_2020_CLEANUP_ACTION, array( self::class, 'cleanup_campaign_2020' ) ); |
|
22 | + add_action(self::POST_SETUP_SUCCESS_ACTION, array(self::class, 'create_marketing_note')); |
|
23 | + add_action(self::CAMPAIGN_2020_CLEANUP_ACTION, array(self::class, 'cleanup_campaign_2020')); |
|
24 | 24 | |
25 | 25 | // Schedule a 2020 holiday campaign cleanup action if needed. |
26 | 26 | // First, check to see if we are still before the cutoff. |
27 | 27 | // We don't need to (re)schedule this after the cutoff. |
28 | - if ( current_time( 'timestamp', true ) < self::get_campaign_2020_cutoff() ) { |
|
28 | + if (current_time('timestamp', true) < self::get_campaign_2020_cutoff()) { |
|
29 | 29 | // If we don't have the clean up action scheduled, add it. |
30 | - if ( ! wp_next_scheduled( self::CAMPAIGN_2020_CLEANUP_ACTION ) ) { |
|
31 | - wp_schedule_single_event( self::get_campaign_2020_cutoff(), self::CAMPAIGN_2020_CLEANUP_ACTION ); |
|
30 | + if ( ! wp_next_scheduled(self::CAMPAIGN_2020_CLEANUP_ACTION)) { |
|
31 | + wp_schedule_single_event(self::get_campaign_2020_cutoff(), self::CAMPAIGN_2020_CLEANUP_ACTION); |
|
32 | 32 | } |
33 | 33 | } |
34 | 34 | } |
35 | 35 | |
36 | 36 | public static function get_campaign_2020_cutoff() { |
37 | - return strtotime( '22 December 2020' ); |
|
37 | + return strtotime('22 December 2020'); |
|
38 | 38 | } |
39 | 39 | |
40 | 40 | public static function get_success_title() { |
41 | - if ( current_time( 'timestamp', true ) < self::get_campaign_2020_cutoff() ) { |
|
42 | - return __( 'Boost sales this holiday season with Apple Pay!', 'woocommerce-gateway-stripe' ); |
|
41 | + if (current_time('timestamp', true) < self::get_campaign_2020_cutoff()) { |
|
42 | + return __('Boost sales this holiday season with Apple Pay!', 'woocommerce-gateway-stripe'); |
|
43 | 43 | } |
44 | 44 | |
45 | - return__( 'Boost sales with Apple Pay!', 'woocommerce-gateway-stripe' ); |
|
45 | + return__('Boost sales with Apple Pay!', 'woocommerce-gateway-stripe'); |
|
46 | 46 | } |
47 | 47 | |
48 | 48 | /** |
49 | 49 | * Manage notes to show after Apple Pay domain verification. |
50 | 50 | */ |
51 | - public static function notify_on_apple_pay_domain_verification( $verification_complete ) { |
|
52 | - if ( ! class_exists( 'Automattic\WooCommerce\Admin\Notes\WC_Admin_Notes' ) ) { |
|
51 | + public static function notify_on_apple_pay_domain_verification($verification_complete) { |
|
52 | + if ( ! class_exists('Automattic\WooCommerce\Admin\Notes\WC_Admin_Notes')) { |
|
53 | 53 | return; |
54 | 54 | } |
55 | 55 | |
56 | - if ( ! class_exists( 'WC_Data_Store' ) ) { |
|
56 | + if ( ! class_exists('WC_Data_Store')) { |
|
57 | 57 | return; |
58 | 58 | } |
59 | 59 | |
60 | - if ( $verification_complete ) { |
|
61 | - if ( self::should_show_marketing_note() && ! wp_next_scheduled( self::POST_SETUP_SUCCESS_ACTION ) ) { |
|
62 | - wp_schedule_single_event( time() + DAY_IN_SECONDS, self::POST_SETUP_SUCCESS_ACTION ); |
|
60 | + if ($verification_complete) { |
|
61 | + if (self::should_show_marketing_note() && ! wp_next_scheduled(self::POST_SETUP_SUCCESS_ACTION)) { |
|
62 | + wp_schedule_single_event(time() + DAY_IN_SECONDS, self::POST_SETUP_SUCCESS_ACTION); |
|
63 | 63 | } |
64 | 64 | |
65 | 65 | // If the domain verification completed after failure note was created, make sure it's marked as actioned. |
66 | 66 | try { |
67 | - $data_store = WC_Data_Store::load( 'admin-note' ); |
|
68 | - $failure_note_ids = $data_store->get_notes_with_name( self::FAILURE_NOTE_NAME ); |
|
69 | - if ( ! empty( $failure_note_ids ) ) { |
|
70 | - $note_id = array_pop( $failure_note_ids ); |
|
71 | - $note = WC_Admin_Notes::get_note( $note_id ); |
|
72 | - if ( false !== $note && WC_Admin_Note::E_WC_ADMIN_NOTE_ACTIONED !== $note->get_status() ) { |
|
73 | - $note->set_status( WC_Admin_Note::E_WC_ADMIN_NOTE_ACTIONED ); |
|
67 | + $data_store = WC_Data_Store::load('admin-note'); |
|
68 | + $failure_note_ids = $data_store->get_notes_with_name(self::FAILURE_NOTE_NAME); |
|
69 | + if ( ! empty($failure_note_ids)) { |
|
70 | + $note_id = array_pop($failure_note_ids); |
|
71 | + $note = WC_Admin_Notes::get_note($note_id); |
|
72 | + if (false !== $note && WC_Admin_Note::E_WC_ADMIN_NOTE_ACTIONED !== $note->get_status()) { |
|
73 | + $note->set_status(WC_Admin_Note::E_WC_ADMIN_NOTE_ACTIONED); |
|
74 | 74 | $note->save(); |
75 | 75 | } |
76 | 76 | } |
77 | - } catch ( Exception $e ) {} // @codingStandardsIgnoreLine. |
|
77 | + } catch (Exception $e) {} // @codingStandardsIgnoreLine. |
|
78 | 78 | } else { |
79 | - if ( empty( $failure_note_ids ) ) { |
|
79 | + if (empty($failure_note_ids)) { |
|
80 | 80 | self::create_failure_note(); |
81 | 81 | } |
82 | 82 | } |
@@ -88,27 +88,27 @@ discard block |
||
88 | 88 | public static function should_show_marketing_note() { |
89 | 89 | // Display to US merchants only. |
90 | 90 | $base_location = wc_get_base_location(); |
91 | - if ( ! $base_location || 'US' !== $base_location['country'] ) { |
|
91 | + if ( ! $base_location || 'US' !== $base_location['country']) { |
|
92 | 92 | return false; |
93 | 93 | } |
94 | 94 | |
95 | 95 | // Make sure Apple Pay is enabled and setup is successful. |
96 | - $stripe_settings = get_option( 'woocommerce_stripe_settings', array() ); |
|
97 | - $stripe_enabled = isset( $stripe_settings['enabled'] ) && 'yes' === $stripe_settings['enabled']; |
|
98 | - $button_enabled = isset( $stripe_settings['payment_request'] ) && 'yes' === $stripe_settings['payment_request']; |
|
99 | - $verification_complete = isset( $stripe_settings['apple_pay_domain_set'] ) && 'yes' === $stripe_settings['apple_pay_domain_set']; |
|
100 | - if ( ! $stripe_enabled || ! $button_enabled || ! $verification_complete ) { |
|
96 | + $stripe_settings = get_option('woocommerce_stripe_settings', array()); |
|
97 | + $stripe_enabled = isset($stripe_settings['enabled']) && 'yes' === $stripe_settings['enabled']; |
|
98 | + $button_enabled = isset($stripe_settings['payment_request']) && 'yes' === $stripe_settings['payment_request']; |
|
99 | + $verification_complete = isset($stripe_settings['apple_pay_domain_set']) && 'yes' === $stripe_settings['apple_pay_domain_set']; |
|
100 | + if ( ! $stripe_enabled || ! $button_enabled || ! $verification_complete) { |
|
101 | 101 | return false; |
102 | 102 | } |
103 | 103 | |
104 | 104 | // Make sure note doesn't already exist. |
105 | 105 | try { |
106 | - $data_store = WC_Data_Store::load( 'admin-note' ); |
|
107 | - $success_note_ids = $data_store->get_notes_with_name( self::SUCCESS_NOTE_NAME ); |
|
108 | - if ( ! empty( $success_note_ids ) ) { |
|
106 | + $data_store = WC_Data_Store::load('admin-note'); |
|
107 | + $success_note_ids = $data_store->get_notes_with_name(self::SUCCESS_NOTE_NAME); |
|
108 | + if ( ! empty($success_note_ids)) { |
|
109 | 109 | return false; |
110 | 110 | } |
111 | - } catch ( Exception $e ) { |
|
111 | + } catch (Exception $e) { |
|
112 | 112 | return false; // If unable to check, assume it shouldn't show note. |
113 | 113 | } |
114 | 114 | |
@@ -120,24 +120,24 @@ discard block |
||
120 | 120 | */ |
121 | 121 | public static function create_marketing_note() { |
122 | 122 | // Make sure conditions for this note still hold. |
123 | - if ( ! self::should_show_marketing_note() ) { |
|
123 | + if ( ! self::should_show_marketing_note()) { |
|
124 | 124 | return; |
125 | 125 | } |
126 | 126 | |
127 | 127 | try { |
128 | 128 | $note = new WC_Admin_Note(); |
129 | - $note->set_title( self::get_success_title() ); |
|
130 | - $note->set_content( __( 'Now that you accept Apple Pay® with Stripe, you can increase conversion rates by letting your customers know that Apple Pay is available. Here’s a marketing guide to help you get started.', 'woocommerce-gateway-stripe' ) ); |
|
131 | - $note->set_type( WC_Admin_Note::E_WC_ADMIN_NOTE_MARKETING ); |
|
132 | - $note->set_name( self::SUCCESS_NOTE_NAME ); |
|
133 | - $note->set_source( 'woocommerce-gateway-stripe' ); |
|
129 | + $note->set_title(self::get_success_title()); |
|
130 | + $note->set_content(__('Now that you accept Apple Pay® with Stripe, you can increase conversion rates by letting your customers know that Apple Pay is available. Here’s a marketing guide to help you get started.', 'woocommerce-gateway-stripe')); |
|
131 | + $note->set_type(WC_Admin_Note::E_WC_ADMIN_NOTE_MARKETING); |
|
132 | + $note->set_name(self::SUCCESS_NOTE_NAME); |
|
133 | + $note->set_source('woocommerce-gateway-stripe'); |
|
134 | 134 | $note->add_action( |
135 | 135 | 'marketing-guide', |
136 | - __( 'See marketing guide', 'woocommerce-gateway-stripe' ), |
|
136 | + __('See marketing guide', 'woocommerce-gateway-stripe'), |
|
137 | 137 | 'https://developer.apple.com/apple-pay/marketing/' |
138 | 138 | ); |
139 | 139 | $note->save(); |
140 | - } catch ( Exception $e ) {} // @codingStandardsIgnoreLine. |
|
140 | + } catch (Exception $e) {} // @codingStandardsIgnoreLine. |
|
141 | 141 | } |
142 | 142 | |
143 | 143 | /** |
@@ -146,18 +146,18 @@ discard block |
||
146 | 146 | public static function create_failure_note() { |
147 | 147 | try { |
148 | 148 | $note = new WC_Admin_Note(); |
149 | - $note->set_title( __( 'Apple Pay domain verification needed', 'woocommerce-gateway-stripe' ) ); |
|
150 | - $note->set_content( __( 'The WooCommerce Stripe Gateway extension attempted to perform domain verification on behalf of your store, but was unable to do so. This must be resolved before Apple Pay can be offered to your customers.', 'woocommerce-gateway-stripe' ) ); |
|
151 | - $note->set_type( WC_Admin_Note::E_WC_ADMIN_NOTE_INFORMATIONAL ); |
|
152 | - $note->set_name( self::FAILURE_NOTE_NAME ); |
|
153 | - $note->set_source( 'woocommerce-gateway-stripe' ); |
|
149 | + $note->set_title(__('Apple Pay domain verification needed', 'woocommerce-gateway-stripe')); |
|
150 | + $note->set_content(__('The WooCommerce Stripe Gateway extension attempted to perform domain verification on behalf of your store, but was unable to do so. This must be resolved before Apple Pay can be offered to your customers.', 'woocommerce-gateway-stripe')); |
|
151 | + $note->set_type(WC_Admin_Note::E_WC_ADMIN_NOTE_INFORMATIONAL); |
|
152 | + $note->set_name(self::FAILURE_NOTE_NAME); |
|
153 | + $note->set_source('woocommerce-gateway-stripe'); |
|
154 | 154 | $note->add_action( |
155 | 155 | 'learn-more', |
156 | - __( 'Learn more', 'woocommerce-gateway-stripe' ), |
|
156 | + __('Learn more', 'woocommerce-gateway-stripe'), |
|
157 | 157 | 'https://docs.woocommerce.com/document/stripe/#apple-pay' |
158 | 158 | ); |
159 | 159 | $note->save(); |
160 | - } catch ( Exception $e ) {} // @codingStandardsIgnoreLine. |
|
160 | + } catch (Exception $e) {} // @codingStandardsIgnoreLine. |
|
161 | 161 | } |
162 | 162 | |
163 | 163 | /** |
@@ -166,40 +166,40 @@ discard block |
||
166 | 166 | * on/about 2020 Dec 22. |
167 | 167 | */ |
168 | 168 | public static function cleanup_campaign_2020() { |
169 | - if ( ! class_exists( 'Automattic\WooCommerce\Admin\Notes\WC_Admin_Notes') ) { |
|
169 | + if ( ! class_exists('Automattic\WooCommerce\Admin\Notes\WC_Admin_Notes')) { |
|
170 | 170 | return; |
171 | 171 | } |
172 | 172 | |
173 | - if ( ! class_exists( 'WC_Data_Store' ) ) { |
|
173 | + if ( ! class_exists('WC_Data_Store')) { |
|
174 | 174 | return; |
175 | 175 | } |
176 | 176 | |
177 | 177 | $note_ids = array(); |
178 | 178 | |
179 | 179 | try { |
180 | - $data_store = WC_Data_Store::load( 'admin-note' ); |
|
181 | - $note_ids = $data_store->get_notes_with_name( self::SUCCESS_NOTE_NAME ); |
|
182 | - if ( empty( $note_ids ) ) { |
|
180 | + $data_store = WC_Data_Store::load('admin-note'); |
|
181 | + $note_ids = $data_store->get_notes_with_name(self::SUCCESS_NOTE_NAME); |
|
182 | + if (empty($note_ids)) { |
|
183 | 183 | return; |
184 | 184 | } |
185 | - } catch ( Exception $e ) { |
|
185 | + } catch (Exception $e) { |
|
186 | 186 | return; |
187 | 187 | } |
188 | 188 | |
189 | 189 | $deleted_an_unactioned_note = false; |
190 | 190 | |
191 | - foreach ( (array) $note_ids as $note_id ) { |
|
191 | + foreach ((array) $note_ids as $note_id) { |
|
192 | 192 | try { |
193 | - $note = new WC_Admin_Note( $note_id ); |
|
194 | - if ( WC_Admin_Note::E_WC_ADMIN_NOTE_UNACTIONED == $note->get_status() ) { |
|
193 | + $note = new WC_Admin_Note($note_id); |
|
194 | + if (WC_Admin_Note::E_WC_ADMIN_NOTE_UNACTIONED == $note->get_status()) { |
|
195 | 195 | $note->delete(); |
196 | 196 | $deleted_an_unactioned_note = true; |
197 | 197 | } |
198 | - unset( $note ); |
|
199 | - } catch ( Exception $e ) {} // @codingStandardsIgnoreLine. |
|
198 | + unset($note); |
|
199 | + } catch (Exception $e) {} // @codingStandardsIgnoreLine. |
|
200 | 200 | } |
201 | 201 | |
202 | - if ( $deleted_an_unactioned_note ) { |
|
202 | + if ($deleted_an_unactioned_note) { |
|
203 | 203 | self::create_marketing_note(); |
204 | 204 | } |
205 | 205 | } |
@@ -15,20 +15,20 @@ discard block |
||
15 | 15 | * |
16 | 16 | */ |
17 | 17 | |
18 | -if ( ! defined( 'ABSPATH' ) ) { |
|
18 | +if ( ! defined('ABSPATH')) { |
|
19 | 19 | exit; |
20 | 20 | } |
21 | 21 | |
22 | 22 | /** |
23 | 23 | * Required minimums and constants |
24 | 24 | */ |
25 | -define( 'WC_STRIPE_VERSION', '4.6.0' ); // WRCS: DEFINED_VERSION. |
|
26 | -define( 'WC_STRIPE_MIN_PHP_VER', '5.6.0' ); |
|
27 | -define( 'WC_STRIPE_MIN_WC_VER', '3.0' ); |
|
28 | -define( 'WC_STRIPE_FUTURE_MIN_WC_VER', '3.0' ); |
|
29 | -define( 'WC_STRIPE_MAIN_FILE', __FILE__ ); |
|
30 | -define( 'WC_STRIPE_PLUGIN_URL', untrailingslashit( plugins_url( basename( plugin_dir_path( __FILE__ ) ), basename( __FILE__ ) ) ) ); |
|
31 | -define( 'WC_STRIPE_PLUGIN_PATH', untrailingslashit( plugin_dir_path( __FILE__ ) ) ); |
|
25 | +define('WC_STRIPE_VERSION', '4.6.0'); // WRCS: DEFINED_VERSION. |
|
26 | +define('WC_STRIPE_MIN_PHP_VER', '5.6.0'); |
|
27 | +define('WC_STRIPE_MIN_WC_VER', '3.0'); |
|
28 | +define('WC_STRIPE_FUTURE_MIN_WC_VER', '3.0'); |
|
29 | +define('WC_STRIPE_MAIN_FILE', __FILE__); |
|
30 | +define('WC_STRIPE_PLUGIN_URL', untrailingslashit(plugins_url(basename(plugin_dir_path(__FILE__)), basename(__FILE__)))); |
|
31 | +define('WC_STRIPE_PLUGIN_PATH', untrailingslashit(plugin_dir_path(__FILE__))); |
|
32 | 32 | |
33 | 33 | // phpcs:disable WordPress.Files.FileName |
34 | 34 | |
@@ -40,7 +40,7 @@ discard block |
||
40 | 40 | */ |
41 | 41 | function woocommerce_stripe_missing_wc_notice() { |
42 | 42 | /* translators: 1. URL link. */ |
43 | - echo '<div class="error"><p><strong>' . sprintf( esc_html__( 'Stripe requires WooCommerce to be installed and active. You can download %s here.', 'woocommerce-gateway-stripe' ), '<a href="https://woocommerce.com/" target="_blank">WooCommerce</a>' ) . '</strong></p></div>'; |
|
43 | + echo '<div class="error"><p><strong>' . sprintf(esc_html__('Stripe requires WooCommerce to be installed and active. You can download %s here.', 'woocommerce-gateway-stripe'), '<a href="https://woocommerce.com/" target="_blank">WooCommerce</a>') . '</strong></p></div>'; |
|
44 | 44 | } |
45 | 45 | |
46 | 46 | /** |
@@ -51,14 +51,14 @@ discard block |
||
51 | 51 | */ |
52 | 52 | function woocommerce_stripe_wc_not_supported() { |
53 | 53 | /* translators: $1. Minimum WooCommerce version. $2. Current WooCommerce version. */ |
54 | - echo '<div class="error"><p><strong>' . sprintf( esc_html__( 'Stripe requires WooCommerce %1$s or greater to be installed and active. WooCommerce %2$s is no longer supported.', 'woocommerce-gateway-stripe' ), WC_STRIPE_MIN_WC_VER, WC_VERSION ) . '</strong></p></div>'; |
|
54 | + echo '<div class="error"><p><strong>' . sprintf(esc_html__('Stripe requires WooCommerce %1$s or greater to be installed and active. WooCommerce %2$s is no longer supported.', 'woocommerce-gateway-stripe'), WC_STRIPE_MIN_WC_VER, WC_VERSION) . '</strong></p></div>'; |
|
55 | 55 | } |
56 | 56 | |
57 | 57 | function woocommerce_gateway_stripe() { |
58 | 58 | |
59 | 59 | static $plugin; |
60 | 60 | |
61 | - if ( ! isset( $plugin ) ) { |
|
61 | + if ( ! isset($plugin)) { |
|
62 | 62 | |
63 | 63 | class WC_Stripe { |
64 | 64 | |
@@ -73,7 +73,7 @@ discard block |
||
73 | 73 | * @return Singleton The *Singleton* instance. |
74 | 74 | */ |
75 | 75 | public static function get_instance() { |
76 | - if ( null === self::$instance ) { |
|
76 | + if (null === self::$instance) { |
|
77 | 77 | self::$instance = new self(); |
78 | 78 | } |
79 | 79 | return self::$instance; |
@@ -114,14 +114,14 @@ discard block |
||
114 | 114 | * *Singleton* via the `new` operator from outside of this class. |
115 | 115 | */ |
116 | 116 | public function __construct() { |
117 | - add_action( 'admin_init', array( $this, 'install' ) ); |
|
117 | + add_action('admin_init', array($this, 'install')); |
|
118 | 118 | |
119 | 119 | $this->init(); |
120 | 120 | |
121 | 121 | $this->api = new WC_Stripe_Connect_API(); |
122 | - $this->connect = new WC_Stripe_Connect( $this->api ); |
|
122 | + $this->connect = new WC_Stripe_Connect($this->api); |
|
123 | 123 | |
124 | - add_action( 'rest_api_init', array( $this, 'register_connect_routes' ) ); |
|
124 | + add_action('rest_api_init', array($this, 'register_connect_routes')); |
|
125 | 125 | } |
126 | 126 | |
127 | 127 | /** |
@@ -131,57 +131,57 @@ discard block |
||
131 | 131 | * @version 4.0.0 |
132 | 132 | */ |
133 | 133 | public function init() { |
134 | - if ( is_admin() ) { |
|
135 | - require_once dirname( __FILE__ ) . '/includes/admin/class-wc-stripe-privacy.php'; |
|
134 | + if (is_admin()) { |
|
135 | + require_once dirname(__FILE__) . '/includes/admin/class-wc-stripe-privacy.php'; |
|
136 | 136 | } |
137 | 137 | |
138 | - require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-exception.php'; |
|
139 | - require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-logger.php'; |
|
140 | - require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-helper.php'; |
|
141 | - include_once dirname( __FILE__ ) . '/includes/class-wc-stripe-api.php'; |
|
142 | - require_once dirname( __FILE__ ) . '/includes/abstracts/abstract-wc-stripe-payment-gateway.php'; |
|
143 | - require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-webhook-handler.php'; |
|
144 | - require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-sepa-payment-token.php'; |
|
145 | - require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-apple-pay-registration.php'; |
|
146 | - require_once dirname( __FILE__ ) . '/includes/compat/class-wc-stripe-pre-orders-compat.php'; |
|
147 | - require_once dirname( __FILE__ ) . '/includes/class-wc-gateway-stripe.php'; |
|
148 | - require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-gateway-stripe-bancontact.php'; |
|
149 | - require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-gateway-stripe-sofort.php'; |
|
150 | - require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-gateway-stripe-giropay.php'; |
|
151 | - require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-gateway-stripe-eps.php'; |
|
152 | - require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-gateway-stripe-ideal.php'; |
|
153 | - require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-gateway-stripe-p24.php'; |
|
154 | - require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-gateway-stripe-alipay.php'; |
|
155 | - require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-gateway-stripe-sepa.php'; |
|
156 | - require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-gateway-stripe-multibanco.php'; |
|
157 | - require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-stripe-payment-request.php'; |
|
158 | - require_once dirname( __FILE__ ) . '/includes/compat/class-wc-stripe-subs-compat.php'; |
|
159 | - require_once dirname( __FILE__ ) . '/includes/compat/class-wc-stripe-sepa-subs-compat.php'; |
|
160 | - require_once dirname( __FILE__ ) . '/includes/connect/class-wc-stripe-connect.php'; |
|
161 | - require_once dirname( __FILE__ ) . '/includes/connect/class-wc-stripe-connect-api.php'; |
|
162 | - require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-order-handler.php'; |
|
163 | - require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-payment-tokens.php'; |
|
164 | - require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-customer.php'; |
|
165 | - require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-intent-controller.php'; |
|
166 | - require_once dirname( __FILE__ ) . '/includes/admin/class-wc-stripe-inbox-notes.php'; |
|
167 | - |
|
168 | - if ( is_admin() ) { |
|
169 | - require_once dirname( __FILE__ ) . '/includes/admin/class-wc-stripe-admin-notices.php'; |
|
138 | + require_once dirname(__FILE__) . '/includes/class-wc-stripe-exception.php'; |
|
139 | + require_once dirname(__FILE__) . '/includes/class-wc-stripe-logger.php'; |
|
140 | + require_once dirname(__FILE__) . '/includes/class-wc-stripe-helper.php'; |
|
141 | + include_once dirname(__FILE__) . '/includes/class-wc-stripe-api.php'; |
|
142 | + require_once dirname(__FILE__) . '/includes/abstracts/abstract-wc-stripe-payment-gateway.php'; |
|
143 | + require_once dirname(__FILE__) . '/includes/class-wc-stripe-webhook-handler.php'; |
|
144 | + require_once dirname(__FILE__) . '/includes/class-wc-stripe-sepa-payment-token.php'; |
|
145 | + require_once dirname(__FILE__) . '/includes/class-wc-stripe-apple-pay-registration.php'; |
|
146 | + require_once dirname(__FILE__) . '/includes/compat/class-wc-stripe-pre-orders-compat.php'; |
|
147 | + require_once dirname(__FILE__) . '/includes/class-wc-gateway-stripe.php'; |
|
148 | + require_once dirname(__FILE__) . '/includes/payment-methods/class-wc-gateway-stripe-bancontact.php'; |
|
149 | + require_once dirname(__FILE__) . '/includes/payment-methods/class-wc-gateway-stripe-sofort.php'; |
|
150 | + require_once dirname(__FILE__) . '/includes/payment-methods/class-wc-gateway-stripe-giropay.php'; |
|
151 | + require_once dirname(__FILE__) . '/includes/payment-methods/class-wc-gateway-stripe-eps.php'; |
|
152 | + require_once dirname(__FILE__) . '/includes/payment-methods/class-wc-gateway-stripe-ideal.php'; |
|
153 | + require_once dirname(__FILE__) . '/includes/payment-methods/class-wc-gateway-stripe-p24.php'; |
|
154 | + require_once dirname(__FILE__) . '/includes/payment-methods/class-wc-gateway-stripe-alipay.php'; |
|
155 | + require_once dirname(__FILE__) . '/includes/payment-methods/class-wc-gateway-stripe-sepa.php'; |
|
156 | + require_once dirname(__FILE__) . '/includes/payment-methods/class-wc-gateway-stripe-multibanco.php'; |
|
157 | + require_once dirname(__FILE__) . '/includes/payment-methods/class-wc-stripe-payment-request.php'; |
|
158 | + require_once dirname(__FILE__) . '/includes/compat/class-wc-stripe-subs-compat.php'; |
|
159 | + require_once dirname(__FILE__) . '/includes/compat/class-wc-stripe-sepa-subs-compat.php'; |
|
160 | + require_once dirname(__FILE__) . '/includes/connect/class-wc-stripe-connect.php'; |
|
161 | + require_once dirname(__FILE__) . '/includes/connect/class-wc-stripe-connect-api.php'; |
|
162 | + require_once dirname(__FILE__) . '/includes/class-wc-stripe-order-handler.php'; |
|
163 | + require_once dirname(__FILE__) . '/includes/class-wc-stripe-payment-tokens.php'; |
|
164 | + require_once dirname(__FILE__) . '/includes/class-wc-stripe-customer.php'; |
|
165 | + require_once dirname(__FILE__) . '/includes/class-wc-stripe-intent-controller.php'; |
|
166 | + require_once dirname(__FILE__) . '/includes/admin/class-wc-stripe-inbox-notes.php'; |
|
167 | + |
|
168 | + if (is_admin()) { |
|
169 | + require_once dirname(__FILE__) . '/includes/admin/class-wc-stripe-admin-notices.php'; |
|
170 | 170 | } |
171 | 171 | |
172 | 172 | // REMOVE IN THE FUTURE. |
173 | - require_once dirname( __FILE__ ) . '/includes/deprecated/class-wc-stripe-apple-pay.php'; |
|
173 | + require_once dirname(__FILE__) . '/includes/deprecated/class-wc-stripe-apple-pay.php'; |
|
174 | 174 | |
175 | - add_filter( 'woocommerce_payment_gateways', array( $this, 'add_gateways' ) ); |
|
176 | - add_filter( 'pre_update_option_woocommerce_stripe_settings', array( $this, 'gateway_settings_update' ), 10, 2 ); |
|
177 | - add_filter( 'plugin_action_links_' . plugin_basename( __FILE__ ), array( $this, 'plugin_action_links' ) ); |
|
178 | - add_filter( 'plugin_row_meta', array( $this, 'plugin_row_meta' ), 10, 2 ); |
|
175 | + add_filter('woocommerce_payment_gateways', array($this, 'add_gateways')); |
|
176 | + add_filter('pre_update_option_woocommerce_stripe_settings', array($this, 'gateway_settings_update'), 10, 2); |
|
177 | + add_filter('plugin_action_links_' . plugin_basename(__FILE__), array($this, 'plugin_action_links')); |
|
178 | + add_filter('plugin_row_meta', array($this, 'plugin_row_meta'), 10, 2); |
|
179 | 179 | |
180 | 180 | // Modify emails emails. |
181 | - add_filter( 'woocommerce_email_classes', array( $this, 'add_emails' ), 20 ); |
|
181 | + add_filter('woocommerce_email_classes', array($this, 'add_emails'), 20); |
|
182 | 182 | |
183 | - if ( version_compare( WC_VERSION, '3.4', '<' ) ) { |
|
184 | - add_filter( 'woocommerce_get_sections_checkout', array( $this, 'filter_gateway_order_admin' ) ); |
|
183 | + if (version_compare(WC_VERSION, '3.4', '<')) { |
|
184 | + add_filter('woocommerce_get_sections_checkout', array($this, 'filter_gateway_order_admin')); |
|
185 | 185 | } |
186 | 186 | } |
187 | 187 | |
@@ -192,8 +192,8 @@ discard block |
||
192 | 192 | * @version 4.0.0 |
193 | 193 | */ |
194 | 194 | public function update_plugin_version() { |
195 | - delete_option( 'wc_stripe_version' ); |
|
196 | - update_option( 'wc_stripe_version', WC_STRIPE_VERSION ); |
|
195 | + delete_option('wc_stripe_version'); |
|
196 | + update_option('wc_stripe_version', WC_STRIPE_VERSION); |
|
197 | 197 | } |
198 | 198 | |
199 | 199 | /** |
@@ -203,15 +203,15 @@ discard block |
||
203 | 203 | * @version 3.1.0 |
204 | 204 | */ |
205 | 205 | public function install() { |
206 | - if ( ! is_plugin_active( plugin_basename( __FILE__ ) ) ) { |
|
206 | + if ( ! is_plugin_active(plugin_basename(__FILE__))) { |
|
207 | 207 | return; |
208 | 208 | } |
209 | 209 | |
210 | - if ( ! defined( 'IFRAME_REQUEST' ) && ( WC_STRIPE_VERSION !== get_option( 'wc_stripe_version' ) ) ) { |
|
211 | - do_action( 'woocommerce_stripe_updated' ); |
|
210 | + if ( ! defined('IFRAME_REQUEST') && (WC_STRIPE_VERSION !== get_option('wc_stripe_version'))) { |
|
211 | + do_action('woocommerce_stripe_updated'); |
|
212 | 212 | |
213 | - if ( ! defined( 'WC_STRIPE_INSTALLING' ) ) { |
|
214 | - define( 'WC_STRIPE_INSTALLING', true ); |
|
213 | + if ( ! defined('WC_STRIPE_INSTALLING')) { |
|
214 | + define('WC_STRIPE_INSTALLING', true); |
|
215 | 215 | } |
216 | 216 | |
217 | 217 | $this->update_plugin_version(); |
@@ -224,11 +224,11 @@ discard block |
||
224 | 224 | * @since 1.0.0 |
225 | 225 | * @version 4.0.0 |
226 | 226 | */ |
227 | - public function plugin_action_links( $links ) { |
|
227 | + public function plugin_action_links($links) { |
|
228 | 228 | $plugin_links = array( |
229 | - '<a href="admin.php?page=wc-settings&tab=checkout§ion=stripe">' . esc_html__( 'Settings', 'woocommerce-gateway-stripe' ) . '</a>', |
|
229 | + '<a href="admin.php?page=wc-settings&tab=checkout§ion=stripe">' . esc_html__('Settings', 'woocommerce-gateway-stripe') . '</a>', |
|
230 | 230 | ); |
231 | - return array_merge( $plugin_links, $links ); |
|
231 | + return array_merge($plugin_links, $links); |
|
232 | 232 | } |
233 | 233 | |
234 | 234 | /** |
@@ -239,13 +239,13 @@ discard block |
||
239 | 239 | * @param string $file Name of current file. |
240 | 240 | * @return array $links Update list of plugin links. |
241 | 241 | */ |
242 | - public function plugin_row_meta( $links, $file ) { |
|
243 | - if ( plugin_basename( __FILE__ ) === $file ) { |
|
242 | + public function plugin_row_meta($links, $file) { |
|
243 | + if (plugin_basename(__FILE__) === $file) { |
|
244 | 244 | $row_meta = array( |
245 | - 'docs' => '<a href="' . esc_url( apply_filters( 'woocommerce_gateway_stripe_docs_url', 'https://docs.woocommerce.com/document/stripe/' ) ) . '" title="' . esc_attr( __( 'View Documentation', 'woocommerce-gateway-stripe' ) ) . '">' . __( 'Docs', 'woocommerce-gateway-stripe' ) . '</a>', |
|
246 | - 'support' => '<a href="' . esc_url( apply_filters( 'woocommerce_gateway_stripe_support_url', 'https://woocommerce.com/my-account/create-a-ticket?select=18627' ) ) . '" title="' . esc_attr( __( 'Open a support request at WooCommerce.com', 'woocommerce-gateway-stripe' ) ) . '">' . __( 'Support', 'woocommerce-gateway-stripe' ) . '</a>', |
|
245 | + 'docs' => '<a href="' . esc_url(apply_filters('woocommerce_gateway_stripe_docs_url', 'https://docs.woocommerce.com/document/stripe/')) . '" title="' . esc_attr(__('View Documentation', 'woocommerce-gateway-stripe')) . '">' . __('Docs', 'woocommerce-gateway-stripe') . '</a>', |
|
246 | + 'support' => '<a href="' . esc_url(apply_filters('woocommerce_gateway_stripe_support_url', 'https://woocommerce.com/my-account/create-a-ticket?select=18627')) . '" title="' . esc_attr(__('Open a support request at WooCommerce.com', 'woocommerce-gateway-stripe')) . '">' . __('Support', 'woocommerce-gateway-stripe') . '</a>', |
|
247 | 247 | ); |
248 | - return array_merge( $links, $row_meta ); |
|
248 | + return array_merge($links, $row_meta); |
|
249 | 249 | } |
250 | 250 | return (array) $links; |
251 | 251 | } |
@@ -256,8 +256,8 @@ discard block |
||
256 | 256 | * @since 1.0.0 |
257 | 257 | * @version 4.0.0 |
258 | 258 | */ |
259 | - public function add_gateways( $methods ) { |
|
260 | - if ( class_exists( 'WC_Subscriptions_Order' ) && function_exists( 'wcs_create_renewal_order' ) ) { |
|
259 | + public function add_gateways($methods) { |
|
260 | + if (class_exists('WC_Subscriptions_Order') && function_exists('wcs_create_renewal_order')) { |
|
261 | 261 | $methods[] = 'WC_Stripe_Subs_Compat'; |
262 | 262 | $methods[] = 'WC_Stripe_Sepa_Subs_Compat'; |
263 | 263 | } else { |
@@ -283,28 +283,28 @@ discard block |
||
283 | 283 | * @since 4.0.0 |
284 | 284 | * @version 4.0.0 |
285 | 285 | */ |
286 | - public function filter_gateway_order_admin( $sections ) { |
|
287 | - unset( $sections['stripe'] ); |
|
288 | - unset( $sections['stripe_bancontact'] ); |
|
289 | - unset( $sections['stripe_sofort'] ); |
|
290 | - unset( $sections['stripe_giropay'] ); |
|
291 | - unset( $sections['stripe_eps'] ); |
|
292 | - unset( $sections['stripe_ideal'] ); |
|
293 | - unset( $sections['stripe_p24'] ); |
|
294 | - unset( $sections['stripe_alipay'] ); |
|
295 | - unset( $sections['stripe_sepa'] ); |
|
296 | - unset( $sections['stripe_multibanco'] ); |
|
286 | + public function filter_gateway_order_admin($sections) { |
|
287 | + unset($sections['stripe']); |
|
288 | + unset($sections['stripe_bancontact']); |
|
289 | + unset($sections['stripe_sofort']); |
|
290 | + unset($sections['stripe_giropay']); |
|
291 | + unset($sections['stripe_eps']); |
|
292 | + unset($sections['stripe_ideal']); |
|
293 | + unset($sections['stripe_p24']); |
|
294 | + unset($sections['stripe_alipay']); |
|
295 | + unset($sections['stripe_sepa']); |
|
296 | + unset($sections['stripe_multibanco']); |
|
297 | 297 | |
298 | 298 | $sections['stripe'] = 'Stripe'; |
299 | - $sections['stripe_bancontact'] = __( 'Stripe Bancontact', 'woocommerce-gateway-stripe' ); |
|
300 | - $sections['stripe_sofort'] = __( 'Stripe SOFORT', 'woocommerce-gateway-stripe' ); |
|
301 | - $sections['stripe_giropay'] = __( 'Stripe Giropay', 'woocommerce-gateway-stripe' ); |
|
302 | - $sections['stripe_eps'] = __( 'Stripe EPS', 'woocommerce-gateway-stripe' ); |
|
303 | - $sections['stripe_ideal'] = __( 'Stripe iDeal', 'woocommerce-gateway-stripe' ); |
|
304 | - $sections['stripe_p24'] = __( 'Stripe P24', 'woocommerce-gateway-stripe' ); |
|
305 | - $sections['stripe_alipay'] = __( 'Stripe Alipay', 'woocommerce-gateway-stripe' ); |
|
306 | - $sections['stripe_sepa'] = __( 'Stripe SEPA Direct Debit', 'woocommerce-gateway-stripe' ); |
|
307 | - $sections['stripe_multibanco'] = __( 'Stripe Multibanco', 'woocommerce-gateway-stripe' ); |
|
299 | + $sections['stripe_bancontact'] = __('Stripe Bancontact', 'woocommerce-gateway-stripe'); |
|
300 | + $sections['stripe_sofort'] = __('Stripe SOFORT', 'woocommerce-gateway-stripe'); |
|
301 | + $sections['stripe_giropay'] = __('Stripe Giropay', 'woocommerce-gateway-stripe'); |
|
302 | + $sections['stripe_eps'] = __('Stripe EPS', 'woocommerce-gateway-stripe'); |
|
303 | + $sections['stripe_ideal'] = __('Stripe iDeal', 'woocommerce-gateway-stripe'); |
|
304 | + $sections['stripe_p24'] = __('Stripe P24', 'woocommerce-gateway-stripe'); |
|
305 | + $sections['stripe_alipay'] = __('Stripe Alipay', 'woocommerce-gateway-stripe'); |
|
306 | + $sections['stripe_sepa'] = __('Stripe SEPA Direct Debit', 'woocommerce-gateway-stripe'); |
|
307 | + $sections['stripe_multibanco'] = __('Stripe Multibanco', 'woocommerce-gateway-stripe'); |
|
308 | 308 | |
309 | 309 | return $sections; |
310 | 310 | } |
@@ -319,12 +319,12 @@ discard block |
||
319 | 319 | * @param array|bool $old_settings Existing settings, if any. |
320 | 320 | * @return array New value but with defaults initially filled in for missing settings. |
321 | 321 | */ |
322 | - public function gateway_settings_update( $settings, $old_settings ) { |
|
323 | - if ( false === $old_settings ) { |
|
322 | + public function gateway_settings_update($settings, $old_settings) { |
|
323 | + if (false === $old_settings) { |
|
324 | 324 | $gateway = new WC_Gateway_Stripe(); |
325 | 325 | $fields = $gateway->get_form_fields(); |
326 | - $defaults = array_merge( array_fill_keys( array_keys( $fields ), '' ), wp_list_pluck( $fields, 'default' ) ); |
|
327 | - return array_merge( $defaults, $settings ); |
|
326 | + $defaults = array_merge(array_fill_keys(array_keys($fields), ''), wp_list_pluck($fields, 'default')); |
|
327 | + return array_merge($defaults, $settings); |
|
328 | 328 | } |
329 | 329 | return $settings; |
330 | 330 | } |
@@ -335,16 +335,16 @@ discard block |
||
335 | 335 | * @param WC_Email[] $email_classes All existing emails. |
336 | 336 | * @return WC_Email[] |
337 | 337 | */ |
338 | - public function add_emails( $email_classes ) { |
|
338 | + public function add_emails($email_classes) { |
|
339 | 339 | require_once WC_STRIPE_PLUGIN_PATH . '/includes/compat/class-wc-stripe-email-failed-authentication.php'; |
340 | 340 | require_once WC_STRIPE_PLUGIN_PATH . '/includes/compat/class-wc-stripe-email-failed-renewal-authentication.php'; |
341 | 341 | require_once WC_STRIPE_PLUGIN_PATH . '/includes/compat/class-wc-stripe-email-failed-preorder-authentication.php'; |
342 | 342 | require_once WC_STRIPE_PLUGIN_PATH . '/includes/compat/class-wc-stripe-email-failed-authentication-retry.php'; |
343 | 343 | |
344 | 344 | // Add all emails, generated by the gateway. |
345 | - $email_classes['WC_Stripe_Email_Failed_Renewal_Authentication'] = new WC_Stripe_Email_Failed_Renewal_Authentication( $email_classes ); |
|
346 | - $email_classes['WC_Stripe_Email_Failed_Preorder_Authentication'] = new WC_Stripe_Email_Failed_Preorder_Authentication( $email_classes ); |
|
347 | - $email_classes['WC_Stripe_Email_Failed_Authentication_Retry'] = new WC_Stripe_Email_Failed_Authentication_Retry( $email_classes ); |
|
345 | + $email_classes['WC_Stripe_Email_Failed_Renewal_Authentication'] = new WC_Stripe_Email_Failed_Renewal_Authentication($email_classes); |
|
346 | + $email_classes['WC_Stripe_Email_Failed_Preorder_Authentication'] = new WC_Stripe_Email_Failed_Preorder_Authentication($email_classes); |
|
347 | + $email_classes['WC_Stripe_Email_Failed_Authentication_Retry'] = new WC_Stripe_Email_Failed_Authentication_Retry($email_classes); |
|
348 | 348 | |
349 | 349 | return $email_classes; |
350 | 350 | } |
@@ -358,8 +358,8 @@ discard block |
||
358 | 358 | require_once WC_STRIPE_PLUGIN_PATH . '/includes/connect/class-wc-stripe-connect-rest-oauth-init-controller.php'; |
359 | 359 | require_once WC_STRIPE_PLUGIN_PATH . '/includes/connect/class-wc-stripe-connect-rest-oauth-connect-controller.php'; |
360 | 360 | |
361 | - $oauth_init = new WC_Stripe_Connect_REST_Oauth_Init_Controller( $this->connect, $this->api ); |
|
362 | - $oauth_connect = new WC_Stripe_Connect_REST_Oauth_Connect_Controller( $this->connect, $this->api ); |
|
361 | + $oauth_init = new WC_Stripe_Connect_REST_Oauth_Init_Controller($this->connect, $this->api); |
|
362 | + $oauth_connect = new WC_Stripe_Connect_REST_Oauth_Connect_Controller($this->connect, $this->api); |
|
363 | 363 | |
364 | 364 | $oauth_init->register_routes(); |
365 | 365 | $oauth_connect->register_routes(); |
@@ -373,18 +373,18 @@ discard block |
||
373 | 373 | return $plugin; |
374 | 374 | } |
375 | 375 | |
376 | -add_action( 'plugins_loaded', 'woocommerce_gateway_stripe_init' ); |
|
376 | +add_action('plugins_loaded', 'woocommerce_gateway_stripe_init'); |
|
377 | 377 | |
378 | 378 | function woocommerce_gateway_stripe_init() { |
379 | - load_plugin_textdomain( 'woocommerce-gateway-stripe', false, plugin_basename( dirname( __FILE__ ) ) . '/languages' ); |
|
379 | + load_plugin_textdomain('woocommerce-gateway-stripe', false, plugin_basename(dirname(__FILE__)) . '/languages'); |
|
380 | 380 | |
381 | - if ( ! class_exists( 'WooCommerce' ) ) { |
|
382 | - add_action( 'admin_notices', 'woocommerce_stripe_missing_wc_notice' ); |
|
381 | + if ( ! class_exists('WooCommerce')) { |
|
382 | + add_action('admin_notices', 'woocommerce_stripe_missing_wc_notice'); |
|
383 | 383 | return; |
384 | 384 | } |
385 | 385 | |
386 | - if ( version_compare( WC_VERSION, WC_STRIPE_MIN_WC_VER, '<' ) ) { |
|
387 | - add_action( 'admin_notices', 'woocommerce_stripe_wc_not_supported' ); |
|
386 | + if (version_compare(WC_VERSION, WC_STRIPE_MIN_WC_VER, '<')) { |
|
387 | + add_action('admin_notices', 'woocommerce_stripe_wc_not_supported'); |
|
388 | 388 | return; |
389 | 389 | } |
390 | 390 |
@@ -1,5 +1,5 @@ discard block |
||
1 | 1 | <?php |
2 | -if ( ! defined( 'ABSPATH' ) ) { |
|
2 | +if ( ! defined('ABSPATH')) { |
|
3 | 3 | exit; |
4 | 4 | } |
5 | 5 | |
@@ -15,21 +15,21 @@ discard block |
||
15 | 15 | public function __construct() { |
16 | 16 | parent::__construct(); |
17 | 17 | |
18 | - if ( class_exists( 'WC_Subscriptions_Order' ) ) { |
|
19 | - add_action( 'woocommerce_scheduled_subscription_payment_' . $this->id, array( $this, 'scheduled_subscription_payment' ), 10, 2 ); |
|
20 | - add_action( 'wcs_resubscribe_order_created', array( $this, 'delete_resubscribe_meta' ), 10 ); |
|
21 | - add_action( 'wcs_renewal_order_created', array( $this, 'delete_renewal_meta' ), 10 ); |
|
22 | - add_action( 'woocommerce_subscription_failing_payment_method_updated_stripe', array( $this, 'update_failing_payment_method' ), 10, 2 ); |
|
23 | - add_action( 'wc_stripe_cards_payment_fields', array( $this, 'display_update_subs_payment_checkout' ) ); |
|
24 | - add_action( 'wc_stripe_add_payment_method_' . $this->id . '_success', array( $this, 'handle_add_payment_method_success' ), 10, 2 ); |
|
18 | + if (class_exists('WC_Subscriptions_Order')) { |
|
19 | + add_action('woocommerce_scheduled_subscription_payment_' . $this->id, array($this, 'scheduled_subscription_payment'), 10, 2); |
|
20 | + add_action('wcs_resubscribe_order_created', array($this, 'delete_resubscribe_meta'), 10); |
|
21 | + add_action('wcs_renewal_order_created', array($this, 'delete_renewal_meta'), 10); |
|
22 | + add_action('woocommerce_subscription_failing_payment_method_updated_stripe', array($this, 'update_failing_payment_method'), 10, 2); |
|
23 | + add_action('wc_stripe_cards_payment_fields', array($this, 'display_update_subs_payment_checkout')); |
|
24 | + add_action('wc_stripe_add_payment_method_' . $this->id . '_success', array($this, 'handle_add_payment_method_success'), 10, 2); |
|
25 | 25 | |
26 | 26 | // display the credit card used for a subscription in the "My Subscriptions" table |
27 | - add_filter( 'woocommerce_my_subscriptions_payment_method', array( $this, 'maybe_render_subscription_payment_method' ), 10, 2 ); |
|
27 | + add_filter('woocommerce_my_subscriptions_payment_method', array($this, 'maybe_render_subscription_payment_method'), 10, 2); |
|
28 | 28 | |
29 | 29 | // allow store managers to manually set Stripe as the payment method on a subscription |
30 | - add_filter( 'woocommerce_subscription_payment_meta', array( $this, 'add_subscription_payment_meta' ), 10, 2 ); |
|
31 | - add_filter( 'woocommerce_subscription_validate_payment_meta', array( $this, 'validate_subscription_payment_meta' ), 10, 2 ); |
|
32 | - add_filter( 'wc_stripe_display_save_payment_method_checkbox', array( $this, 'maybe_hide_save_checkbox' ) ); |
|
30 | + add_filter('woocommerce_subscription_payment_meta', array($this, 'add_subscription_payment_meta'), 10, 2); |
|
31 | + add_filter('woocommerce_subscription_validate_payment_meta', array($this, 'validate_subscription_payment_meta'), 10, 2); |
|
32 | + add_filter('wc_stripe_display_save_payment_method_checkbox', array($this, 'maybe_hide_save_checkbox')); |
|
33 | 33 | |
34 | 34 | /* |
35 | 35 | * WC subscriptions hooks into the "template_redirect" hook with priority 100. |
@@ -37,8 +37,8 @@ discard block |
||
37 | 37 | * See: https://github.com/woocommerce/woocommerce-subscriptions/blob/99a75687e109b64cbc07af6e5518458a6305f366/includes/class-wcs-cart-renewal.php#L165 |
38 | 38 | * If we are in the "You just need to authorize SCA" flow, we don't want that redirection to happen. |
39 | 39 | */ |
40 | - add_action( 'template_redirect', array( $this, 'remove_order_pay_var' ), 99 ); |
|
41 | - add_action( 'template_redirect', array( $this, 'restore_order_pay_var' ), 101 ); |
|
40 | + add_action('template_redirect', array($this, 'remove_order_pay_var'), 99); |
|
41 | + add_action('template_redirect', array($this, 'restore_order_pay_var'), 101); |
|
42 | 42 | } |
43 | 43 | } |
44 | 44 | |
@@ -49,8 +49,8 @@ discard block |
||
49 | 49 | * @since 4.0.0 |
50 | 50 | * @version 4.0.0 |
51 | 51 | */ |
52 | - public function maybe_hide_save_checkbox( $display_tokenization ) { |
|
53 | - if ( WC_Subscriptions_Cart::cart_contains_subscription() ) { |
|
52 | + public function maybe_hide_save_checkbox($display_tokenization) { |
|
53 | + if (WC_Subscriptions_Cart::cart_contains_subscription()) { |
|
54 | 54 | return false; |
55 | 55 | } |
56 | 56 | |
@@ -62,8 +62,8 @@ discard block |
||
62 | 62 | * @param int $order_id |
63 | 63 | * @return boolean |
64 | 64 | */ |
65 | - public function has_subscription( $order_id ) { |
|
66 | - return ( function_exists( 'wcs_order_contains_subscription' ) && ( wcs_order_contains_subscription( $order_id ) || wcs_is_subscription( $order_id ) || wcs_order_contains_renewal( $order_id ) ) ); |
|
65 | + public function has_subscription($order_id) { |
|
66 | + return (function_exists('wcs_order_contains_subscription') && (wcs_order_contains_subscription($order_id) || wcs_is_subscription($order_id) || wcs_order_contains_renewal($order_id))); |
|
67 | 67 | } |
68 | 68 | |
69 | 69 | /** |
@@ -73,7 +73,7 @@ discard block |
||
73 | 73 | * @return bool |
74 | 74 | */ |
75 | 75 | public function is_subs_change_payment() { |
76 | - return ( isset( $_GET['pay_for_order'] ) && isset( $_GET['change_payment_method'] ) ); |
|
76 | + return (isset($_GET['pay_for_order']) && isset($_GET['change_payment_method'])); |
|
77 | 77 | } |
78 | 78 | |
79 | 79 | /** |
@@ -83,20 +83,20 @@ discard block |
||
83 | 83 | * @since 4.1.11 |
84 | 84 | */ |
85 | 85 | public function display_update_subs_payment_checkout() { |
86 | - $subs_statuses = apply_filters( 'wc_stripe_update_subs_payment_method_card_statuses', array( 'active' ) ); |
|
86 | + $subs_statuses = apply_filters('wc_stripe_update_subs_payment_method_card_statuses', array('active')); |
|
87 | 87 | if ( |
88 | - apply_filters( 'wc_stripe_display_update_subs_payment_method_card_checkbox', true ) && |
|
89 | - wcs_user_has_subscription( get_current_user_id(), '', $subs_statuses ) && |
|
88 | + apply_filters('wc_stripe_display_update_subs_payment_method_card_checkbox', true) && |
|
89 | + wcs_user_has_subscription(get_current_user_id(), '', $subs_statuses) && |
|
90 | 90 | is_add_payment_method_page() |
91 | 91 | ) { |
92 | - $label = esc_html( apply_filters( 'wc_stripe_save_to_subs_text', __( 'Update the Payment Method used for all of my active subscriptions.', 'woocommerce-gateway-stripe' ) ) ); |
|
93 | - $id = sprintf( 'wc-%1$s-update-subs-payment-method-card', $this->id ); |
|
92 | + $label = esc_html(apply_filters('wc_stripe_save_to_subs_text', __('Update the Payment Method used for all of my active subscriptions.', 'woocommerce-gateway-stripe'))); |
|
93 | + $id = sprintf('wc-%1$s-update-subs-payment-method-card', $this->id); |
|
94 | 94 | woocommerce_form_field( |
95 | 95 | $id, |
96 | 96 | array( |
97 | 97 | 'type' => 'checkbox', |
98 | 98 | 'label' => $label, |
99 | - 'default' => apply_filters( 'wc_stripe_save_to_subs_checked', false ), |
|
99 | + 'default' => apply_filters('wc_stripe_save_to_subs_checked', false), |
|
100 | 100 | ) |
101 | 101 | ); |
102 | 102 | } |
@@ -109,22 +109,22 @@ discard block |
||
109 | 109 | * @param string $source_id |
110 | 110 | * @param object $source_object |
111 | 111 | */ |
112 | - public function handle_add_payment_method_success( $source_id, $source_object ) { |
|
113 | - if ( isset( $_POST[ 'wc-' . $this->id . '-update-subs-payment-method-card' ] ) ) { |
|
112 | + public function handle_add_payment_method_success($source_id, $source_object) { |
|
113 | + if (isset($_POST['wc-' . $this->id . '-update-subs-payment-method-card'])) { |
|
114 | 114 | $all_subs = wcs_get_users_subscriptions(); |
115 | - $subs_statuses = apply_filters( 'wc_stripe_update_subs_payment_method_card_statuses', array( 'active' ) ); |
|
116 | - $stripe_customer = new WC_Stripe_Customer( get_current_user_id() ); |
|
115 | + $subs_statuses = apply_filters('wc_stripe_update_subs_payment_method_card_statuses', array('active')); |
|
116 | + $stripe_customer = new WC_Stripe_Customer(get_current_user_id()); |
|
117 | 117 | |
118 | - if ( ! empty( $all_subs ) ) { |
|
119 | - foreach ( $all_subs as $sub ) { |
|
120 | - if ( $sub->has_status( $subs_statuses ) ) { |
|
118 | + if ( ! empty($all_subs)) { |
|
119 | + foreach ($all_subs as $sub) { |
|
120 | + if ($sub->has_status($subs_statuses)) { |
|
121 | 121 | WC_Subscriptions_Change_Payment_Gateway::update_payment_method( |
122 | 122 | $sub, |
123 | 123 | $this->id, |
124 | 124 | array( |
125 | 125 | 'post_meta' => array( |
126 | - '_stripe_source_id' => array( 'value' => $source_id ), |
|
127 | - '_stripe_customer_id' => array( 'value' => $stripe_customer->get_id() ), |
|
126 | + '_stripe_source_id' => array('value' => $source_id), |
|
127 | + '_stripe_customer_id' => array('value' => $stripe_customer->get_id()), |
|
128 | 128 | ), |
129 | 129 | ) |
130 | 130 | ); |
@@ -141,24 +141,24 @@ discard block |
||
141 | 141 | * @since 4.1.11 Remove 3DS check as it is not needed. |
142 | 142 | * @param int $order_id |
143 | 143 | */ |
144 | - public function change_subs_payment_method( $order_id ) { |
|
144 | + public function change_subs_payment_method($order_id) { |
|
145 | 145 | try { |
146 | - $subscription = wc_get_order( $order_id ); |
|
147 | - $prepared_source = $this->prepare_source( get_current_user_id(), true ); |
|
146 | + $subscription = wc_get_order($order_id); |
|
147 | + $prepared_source = $this->prepare_source(get_current_user_id(), true); |
|
148 | 148 | |
149 | - $this->maybe_disallow_prepaid_card( $prepared_source ); |
|
150 | - $this->check_source( $prepared_source ); |
|
151 | - $this->save_source_to_order( $subscription, $prepared_source ); |
|
149 | + $this->maybe_disallow_prepaid_card($prepared_source); |
|
150 | + $this->check_source($prepared_source); |
|
151 | + $this->save_source_to_order($subscription, $prepared_source); |
|
152 | 152 | |
153 | - do_action( 'wc_stripe_change_subs_payment_method_success', $prepared_source->source, $prepared_source ); |
|
153 | + do_action('wc_stripe_change_subs_payment_method_success', $prepared_source->source, $prepared_source); |
|
154 | 154 | |
155 | 155 | return array( |
156 | 156 | 'result' => 'success', |
157 | - 'redirect' => $this->get_return_url( $subscription ), |
|
157 | + 'redirect' => $this->get_return_url($subscription), |
|
158 | 158 | ); |
159 | - } catch ( WC_Stripe_Exception $e ) { |
|
160 | - wc_add_notice( $e->getLocalizedMessage(), 'error' ); |
|
161 | - WC_Stripe_Logger::log( 'Error: ' . $e->getMessage() ); |
|
159 | + } catch (WC_Stripe_Exception $e) { |
|
160 | + wc_add_notice($e->getLocalizedMessage(), 'error'); |
|
161 | + WC_Stripe_Logger::log('Error: ' . $e->getMessage()); |
|
162 | 162 | } |
163 | 163 | } |
164 | 164 | |
@@ -167,16 +167,16 @@ discard block |
||
167 | 167 | * @param int $order_id |
168 | 168 | * @return array |
169 | 169 | */ |
170 | - public function process_payment( $order_id, $retry = true, $force_save_source = false, $previous_error = false, $use_order_source = false ) { |
|
171 | - if ( $this->has_subscription( $order_id ) ) { |
|
172 | - if ( $this->is_subs_change_payment() ) { |
|
173 | - return $this->change_subs_payment_method( $order_id ); |
|
170 | + public function process_payment($order_id, $retry = true, $force_save_source = false, $previous_error = false, $use_order_source = false) { |
|
171 | + if ($this->has_subscription($order_id)) { |
|
172 | + if ($this->is_subs_change_payment()) { |
|
173 | + return $this->change_subs_payment_method($order_id); |
|
174 | 174 | } |
175 | 175 | |
176 | 176 | // Regular payment with force customer enabled |
177 | - return parent::process_payment( $order_id, $retry, true, $previous_error, $use_order_source ); |
|
177 | + return parent::process_payment($order_id, $retry, true, $previous_error, $use_order_source); |
|
178 | 178 | } else { |
179 | - return parent::process_payment( $order_id, $retry, $force_save_source, $previous_error, $use_order_source ); |
|
179 | + return parent::process_payment($order_id, $retry, $force_save_source, $previous_error, $use_order_source); |
|
180 | 180 | } |
181 | 181 | } |
182 | 182 | |
@@ -188,11 +188,11 @@ discard block |
||
188 | 188 | * @param object $prepared_source The source that is used for the payment. |
189 | 189 | * @return array The arguments for the request. |
190 | 190 | */ |
191 | - public function generate_create_intent_request( $order, $prepared_source ) { |
|
192 | - $request = parent::generate_create_intent_request( $order, $prepared_source ); |
|
191 | + public function generate_create_intent_request($order, $prepared_source) { |
|
192 | + $request = parent::generate_create_intent_request($order, $prepared_source); |
|
193 | 193 | |
194 | 194 | // Non-subscription orders do not need any additional parameters. |
195 | - if ( ! $this->has_subscription( $order ) ) { |
|
195 | + if ( ! $this->has_subscription($order)) { |
|
196 | 196 | return $request; |
197 | 197 | } |
198 | 198 | |
@@ -208,8 +208,8 @@ discard block |
||
208 | 208 | * @param $amount_to_charge float The amount to charge. |
209 | 209 | * @param $renewal_order WC_Order A WC_Order object created to record the renewal payment. |
210 | 210 | */ |
211 | - public function scheduled_subscription_payment( $amount_to_charge, $renewal_order ) { |
|
212 | - $this->process_subscription_payment( $amount_to_charge, $renewal_order, true, false ); |
|
211 | + public function scheduled_subscription_payment($amount_to_charge, $renewal_order) { |
|
212 | + $this->process_subscription_payment($amount_to_charge, $renewal_order, true, false); |
|
213 | 213 | } |
214 | 214 | |
215 | 215 | /** |
@@ -223,11 +223,11 @@ discard block |
||
223 | 223 | * @param bool $retry Should we retry the process? |
224 | 224 | * @param object $previous_error |
225 | 225 | */ |
226 | - public function process_subscription_payment( $amount, $renewal_order, $retry = true, $previous_error = false ) { |
|
226 | + public function process_subscription_payment($amount, $renewal_order, $retry = true, $previous_error = false) { |
|
227 | 227 | try { |
228 | - if ( $amount * 100 < WC_Stripe_Helper::get_minimum_amount() ) { |
|
228 | + if ($amount * 100 < WC_Stripe_Helper::get_minimum_amount()) { |
|
229 | 229 | /* translators: minimum amount */ |
230 | - $message = sprintf( __( 'Sorry, the minimum allowed order total is %1$s to use this payment method.', 'woocommerce-gateway-stripe' ), wc_price( WC_Stripe_Helper::get_minimum_amount() / 100 ) ); |
|
230 | + $message = sprintf(__('Sorry, the minimum allowed order total is %1$s to use this payment method.', 'woocommerce-gateway-stripe'), wc_price(WC_Stripe_Helper::get_minimum_amount() / 100)); |
|
231 | 231 | throw new WC_Stripe_Exception( |
232 | 232 | 'Error while processing renewal order ' . $renewal_order->get_id() . ' : ' . $message, |
233 | 233 | $message |
@@ -236,141 +236,141 @@ discard block |
||
236 | 236 | |
237 | 237 | $order_id = $renewal_order->get_id(); |
238 | 238 | |
239 | - $this->ensure_subscription_has_customer_id( $order_id ); |
|
239 | + $this->ensure_subscription_has_customer_id($order_id); |
|
240 | 240 | |
241 | 241 | // Unlike regular off-session subscription payments, early renewals are treated as on-session payments, involving the customer. |
242 | - if ( isset( $_REQUEST['process_early_renewal'] ) ) { // wpcs: csrf ok. |
|
243 | - $response = parent::process_payment( $order_id, true, false, $previous_error, true ); |
|
242 | + if (isset($_REQUEST['process_early_renewal'])) { // wpcs: csrf ok. |
|
243 | + $response = parent::process_payment($order_id, true, false, $previous_error, true); |
|
244 | 244 | |
245 | - if( 'success' === $response['result'] && isset( $response['payment_intent_secret'] ) ) { |
|
245 | + if ('success' === $response['result'] && isset($response['payment_intent_secret'])) { |
|
246 | 246 | $verification_url = add_query_arg( |
247 | 247 | array( |
248 | 248 | 'order' => $order_id, |
249 | - 'nonce' => wp_create_nonce( 'wc_stripe_confirm_pi' ), |
|
250 | - 'redirect_to' => remove_query_arg( array( 'process_early_renewal', 'subscription_id', 'wcs_nonce' ) ), |
|
249 | + 'nonce' => wp_create_nonce('wc_stripe_confirm_pi'), |
|
250 | + 'redirect_to' => remove_query_arg(array('process_early_renewal', 'subscription_id', 'wcs_nonce')), |
|
251 | 251 | 'early_renewal' => true, |
252 | 252 | ), |
253 | - WC_AJAX::get_endpoint( 'wc_stripe_verify_intent' ) |
|
253 | + WC_AJAX::get_endpoint('wc_stripe_verify_intent') |
|
254 | 254 | ); |
255 | 255 | |
256 | - echo wp_json_encode( array( |
|
256 | + echo wp_json_encode(array( |
|
257 | 257 | 'stripe_sca_required' => true, |
258 | 258 | 'intent_secret' => $response['payment_intent_secret'], |
259 | 259 | 'redirect_url' => $verification_url, |
260 | - ) ); |
|
260 | + )); |
|
261 | 261 | |
262 | 262 | exit; |
263 | 263 | } |
264 | 264 | |
265 | 265 | // Hijack all other redirects in order to do the redirection in JavaScript. |
266 | - add_action( 'wp_redirect', array( $this, 'redirect_after_early_renewal' ), 100 ); |
|
266 | + add_action('wp_redirect', array($this, 'redirect_after_early_renewal'), 100); |
|
267 | 267 | |
268 | 268 | return; |
269 | 269 | } |
270 | 270 | |
271 | 271 | // Check for an existing intent, which is associated with the order. |
272 | - if ( $this->has_authentication_already_failed( $renewal_order ) ) { |
|
272 | + if ($this->has_authentication_already_failed($renewal_order)) { |
|
273 | 273 | return; |
274 | 274 | } |
275 | 275 | |
276 | 276 | // Get source from order |
277 | - $prepared_source = $this->prepare_order_source( $renewal_order ); |
|
277 | + $prepared_source = $this->prepare_order_source($renewal_order); |
|
278 | 278 | $source_object = $prepared_source->source_object; |
279 | 279 | |
280 | - if ( ! $prepared_source->customer ) { |
|
280 | + if ( ! $prepared_source->customer) { |
|
281 | 281 | throw new WC_Stripe_Exception( |
282 | 282 | 'Failed to process renewal for order ' . $renewal_order->get_id() . '. Stripe customer id is missing in the order', |
283 | - __( 'Customer not found', 'woocommerce-gateway-stripe' ) |
|
283 | + __('Customer not found', 'woocommerce-gateway-stripe') |
|
284 | 284 | ); |
285 | 285 | } |
286 | 286 | |
287 | - WC_Stripe_Logger::log( "Info: Begin processing subscription payment for order {$order_id} for the amount of {$amount}" ); |
|
287 | + WC_Stripe_Logger::log("Info: Begin processing subscription payment for order {$order_id} for the amount of {$amount}"); |
|
288 | 288 | |
289 | 289 | /* If we're doing a retry and source is chargeable, we need to pass |
290 | 290 | * a different idempotency key and retry for success. |
291 | 291 | */ |
292 | - if ( is_object( $source_object ) && empty( $source_object->error ) && $this->need_update_idempotency_key( $source_object, $previous_error ) ) { |
|
293 | - add_filter( 'wc_stripe_idempotency_key', array( $this, 'change_idempotency_key' ), 10, 2 ); |
|
292 | + if (is_object($source_object) && empty($source_object->error) && $this->need_update_idempotency_key($source_object, $previous_error)) { |
|
293 | + add_filter('wc_stripe_idempotency_key', array($this, 'change_idempotency_key'), 10, 2); |
|
294 | 294 | } |
295 | 295 | |
296 | - if ( ( $this->is_no_such_source_error( $previous_error ) || $this->is_no_linked_source_error( $previous_error ) ) && apply_filters( 'wc_stripe_use_default_customer_source', true ) ) { |
|
296 | + if (($this->is_no_such_source_error($previous_error) || $this->is_no_linked_source_error($previous_error)) && apply_filters('wc_stripe_use_default_customer_source', true)) { |
|
297 | 297 | // Passing empty source will charge customer default. |
298 | 298 | $prepared_source->source = ''; |
299 | 299 | } |
300 | 300 | |
301 | - $this->lock_order_payment( $renewal_order ); |
|
301 | + $this->lock_order_payment($renewal_order); |
|
302 | 302 | |
303 | - $response = $this->create_and_confirm_intent_for_off_session( $renewal_order, $prepared_source, $amount ); |
|
304 | - $is_authentication_required = $this->is_authentication_required_for_payment( $response ); |
|
303 | + $response = $this->create_and_confirm_intent_for_off_session($renewal_order, $prepared_source, $amount); |
|
304 | + $is_authentication_required = $this->is_authentication_required_for_payment($response); |
|
305 | 305 | |
306 | 306 | // It's only a failed payment if it's an error and it's not of the type 'authentication_required'. |
307 | 307 | // If it's 'authentication_required', then we should email the user and ask them to authenticate. |
308 | - if ( ! empty( $response->error ) && ! $is_authentication_required ) { |
|
308 | + if ( ! empty($response->error) && ! $is_authentication_required) { |
|
309 | 309 | // We want to retry. |
310 | - if ( $this->is_retryable_error( $response->error ) ) { |
|
311 | - if ( $retry ) { |
|
310 | + if ($this->is_retryable_error($response->error)) { |
|
311 | + if ($retry) { |
|
312 | 312 | // Don't do anymore retries after this. |
313 | - if ( 5 <= $this->retry_interval ) { |
|
314 | - return $this->process_subscription_payment( $amount, $renewal_order, false, $response->error ); |
|
313 | + if (5 <= $this->retry_interval) { |
|
314 | + return $this->process_subscription_payment($amount, $renewal_order, false, $response->error); |
|
315 | 315 | } |
316 | 316 | |
317 | - sleep( $this->retry_interval ); |
|
317 | + sleep($this->retry_interval); |
|
318 | 318 | |
319 | 319 | $this->retry_interval++; |
320 | 320 | |
321 | - return $this->process_subscription_payment( $amount, $renewal_order, true, $response->error ); |
|
321 | + return $this->process_subscription_payment($amount, $renewal_order, true, $response->error); |
|
322 | 322 | } else { |
323 | - $localized_message = __( 'Sorry, we are unable to process your payment at this time. Please retry later.', 'woocommerce-gateway-stripe' ); |
|
324 | - $renewal_order->add_order_note( $localized_message ); |
|
325 | - throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message ); |
|
323 | + $localized_message = __('Sorry, we are unable to process your payment at this time. Please retry later.', 'woocommerce-gateway-stripe'); |
|
324 | + $renewal_order->add_order_note($localized_message); |
|
325 | + throw new WC_Stripe_Exception(print_r($response, true), $localized_message); |
|
326 | 326 | } |
327 | 327 | } |
328 | 328 | |
329 | 329 | $localized_messages = WC_Stripe_Helper::get_localized_messages(); |
330 | 330 | |
331 | - if ( 'card_error' === $response->error->type ) { |
|
332 | - $localized_message = isset( $localized_messages[ $response->error->code ] ) ? $localized_messages[ $response->error->code ] : $response->error->message; |
|
331 | + if ('card_error' === $response->error->type) { |
|
332 | + $localized_message = isset($localized_messages[$response->error->code]) ? $localized_messages[$response->error->code] : $response->error->message; |
|
333 | 333 | } else { |
334 | - $localized_message = isset( $localized_messages[ $response->error->type ] ) ? $localized_messages[ $response->error->type ] : $response->error->message; |
|
334 | + $localized_message = isset($localized_messages[$response->error->type]) ? $localized_messages[$response->error->type] : $response->error->message; |
|
335 | 335 | } |
336 | 336 | |
337 | - $renewal_order->add_order_note( $localized_message ); |
|
337 | + $renewal_order->add_order_note($localized_message); |
|
338 | 338 | |
339 | - throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message ); |
|
339 | + throw new WC_Stripe_Exception(print_r($response, true), $localized_message); |
|
340 | 340 | } |
341 | 341 | |
342 | 342 | // Either the charge was successfully captured, or it requires further authentication. |
343 | 343 | |
344 | - if ( $is_authentication_required ) { |
|
345 | - do_action( 'wc_gateway_stripe_process_payment_authentication_required', $renewal_order, $response ); |
|
344 | + if ($is_authentication_required) { |
|
345 | + do_action('wc_gateway_stripe_process_payment_authentication_required', $renewal_order, $response); |
|
346 | 346 | |
347 | - $error_message = __( 'This transaction requires authentication.', 'woocommerce-gateway-stripe' ); |
|
348 | - $renewal_order->add_order_note( $error_message ); |
|
347 | + $error_message = __('This transaction requires authentication.', 'woocommerce-gateway-stripe'); |
|
348 | + $renewal_order->add_order_note($error_message); |
|
349 | 349 | |
350 | - $charge = end( $response->error->payment_intent->charges->data ); |
|
350 | + $charge = end($response->error->payment_intent->charges->data); |
|
351 | 351 | $id = $charge->id; |
352 | 352 | $order_id = $renewal_order->get_id(); |
353 | 353 | |
354 | - $renewal_order->set_transaction_id( $id ); |
|
355 | - $renewal_order->update_status( 'failed', sprintf( __( 'Stripe charge awaiting authentication by user: %s.', 'woocommerce-gateway-stripe' ), $id ) ); |
|
356 | - if ( is_callable( array( $renewal_order, 'save' ) ) ) { |
|
354 | + $renewal_order->set_transaction_id($id); |
|
355 | + $renewal_order->update_status('failed', sprintf(__('Stripe charge awaiting authentication by user: %s.', 'woocommerce-gateway-stripe'), $id)); |
|
356 | + if (is_callable(array($renewal_order, 'save'))) { |
|
357 | 357 | $renewal_order->save(); |
358 | 358 | } |
359 | 359 | } else { |
360 | 360 | // The charge was successfully captured |
361 | - do_action( 'wc_gateway_stripe_process_payment', $response, $renewal_order ); |
|
361 | + do_action('wc_gateway_stripe_process_payment', $response, $renewal_order); |
|
362 | 362 | |
363 | - $this->process_response( end( $response->charges->data ), $renewal_order ); |
|
363 | + $this->process_response(end($response->charges->data), $renewal_order); |
|
364 | 364 | } |
365 | 365 | |
366 | - $this->unlock_order_payment( $renewal_order ); |
|
367 | - } catch ( WC_Stripe_Exception $e ) { |
|
368 | - WC_Stripe_Logger::log( 'Error: ' . $e->getMessage() ); |
|
366 | + $this->unlock_order_payment($renewal_order); |
|
367 | + } catch (WC_Stripe_Exception $e) { |
|
368 | + WC_Stripe_Logger::log('Error: ' . $e->getMessage()); |
|
369 | 369 | |
370 | - do_action( 'wc_gateway_stripe_process_payment_error', $e, $renewal_order ); |
|
370 | + do_action('wc_gateway_stripe_process_payment_error', $e, $renewal_order); |
|
371 | 371 | |
372 | 372 | /* translators: error message */ |
373 | - $renewal_order->update_status( 'failed' ); |
|
373 | + $renewal_order->update_status('failed'); |
|
374 | 374 | } |
375 | 375 | } |
376 | 376 | |
@@ -380,24 +380,24 @@ discard block |
||
380 | 380 | * @since 3.1.0 |
381 | 381 | * @version 4.0.0 |
382 | 382 | */ |
383 | - public function save_source_to_order( $order, $source ) { |
|
384 | - parent::save_source_to_order( $order, $source ); |
|
383 | + public function save_source_to_order($order, $source) { |
|
384 | + parent::save_source_to_order($order, $source); |
|
385 | 385 | |
386 | 386 | $order_id = $order->get_id(); |
387 | 387 | |
388 | 388 | // Also store it on the subscriptions being purchased or paid for in the order |
389 | - if ( function_exists( 'wcs_order_contains_subscription' ) && wcs_order_contains_subscription( $order_id ) ) { |
|
390 | - $subscriptions = wcs_get_subscriptions_for_order( $order_id ); |
|
391 | - } elseif ( function_exists( 'wcs_order_contains_renewal' ) && wcs_order_contains_renewal( $order_id ) ) { |
|
392 | - $subscriptions = wcs_get_subscriptions_for_renewal_order( $order_id ); |
|
389 | + if (function_exists('wcs_order_contains_subscription') && wcs_order_contains_subscription($order_id)) { |
|
390 | + $subscriptions = wcs_get_subscriptions_for_order($order_id); |
|
391 | + } elseif (function_exists('wcs_order_contains_renewal') && wcs_order_contains_renewal($order_id)) { |
|
392 | + $subscriptions = wcs_get_subscriptions_for_renewal_order($order_id); |
|
393 | 393 | } else { |
394 | 394 | $subscriptions = array(); |
395 | 395 | } |
396 | 396 | |
397 | - foreach ( $subscriptions as $subscription ) { |
|
397 | + foreach ($subscriptions as $subscription) { |
|
398 | 398 | $subscription_id = $subscription->get_id(); |
399 | - update_post_meta( $subscription_id, '_stripe_customer_id', $source->customer ); |
|
400 | - update_post_meta( $subscription_id, '_stripe_source_id', $source->source ); |
|
399 | + update_post_meta($subscription_id, '_stripe_customer_id', $source->customer); |
|
400 | + update_post_meta($subscription_id, '_stripe_source_id', $source->source); |
|
401 | 401 | } |
402 | 402 | } |
403 | 403 | |
@@ -405,26 +405,26 @@ discard block |
||
405 | 405 | * Don't transfer Stripe customer/token meta to resubscribe orders. |
406 | 406 | * @param int $resubscribe_order The order created for the customer to resubscribe to the old expired/cancelled subscription |
407 | 407 | */ |
408 | - public function delete_resubscribe_meta( $resubscribe_order ) { |
|
409 | - delete_post_meta( $resubscribe_order->get_id(), '_stripe_customer_id' ); |
|
410 | - delete_post_meta( $resubscribe_order->get_id(), '_stripe_source_id' ); |
|
408 | + public function delete_resubscribe_meta($resubscribe_order) { |
|
409 | + delete_post_meta($resubscribe_order->get_id(), '_stripe_customer_id'); |
|
410 | + delete_post_meta($resubscribe_order->get_id(), '_stripe_source_id'); |
|
411 | 411 | // For BW compat will remove in future |
412 | - delete_post_meta( $resubscribe_order->get_id(), '_stripe_card_id' ); |
|
412 | + delete_post_meta($resubscribe_order->get_id(), '_stripe_card_id'); |
|
413 | 413 | // delete payment intent ID |
414 | - delete_post_meta( $resubscribe_order->get_id(), '_stripe_intent_id' ); |
|
415 | - $this->delete_renewal_meta( $resubscribe_order ); |
|
414 | + delete_post_meta($resubscribe_order->get_id(), '_stripe_intent_id'); |
|
415 | + $this->delete_renewal_meta($resubscribe_order); |
|
416 | 416 | } |
417 | 417 | |
418 | 418 | /** |
419 | 419 | * Don't transfer Stripe fee/ID meta to renewal orders. |
420 | 420 | * @param int $resubscribe_order The order created for the customer to resubscribe to the old expired/cancelled subscription |
421 | 421 | */ |
422 | - public function delete_renewal_meta( $renewal_order ) { |
|
423 | - WC_Stripe_Helper::delete_stripe_fee( $renewal_order ); |
|
424 | - WC_Stripe_Helper::delete_stripe_net( $renewal_order ); |
|
422 | + public function delete_renewal_meta($renewal_order) { |
|
423 | + WC_Stripe_Helper::delete_stripe_fee($renewal_order); |
|
424 | + WC_Stripe_Helper::delete_stripe_net($renewal_order); |
|
425 | 425 | |
426 | 426 | // delete payment intent ID |
427 | - delete_post_meta( $renewal_order->get_id(), '_stripe_intent_id' ); |
|
427 | + delete_post_meta($renewal_order->get_id(), '_stripe_intent_id'); |
|
428 | 428 | |
429 | 429 | return $renewal_order; |
430 | 430 | } |
@@ -438,9 +438,9 @@ discard block |
||
438 | 438 | * @param WC_Order $renewal_order The order which recorded the successful payment (to make up for the failed automatic payment). |
439 | 439 | * @return void |
440 | 440 | */ |
441 | - public function update_failing_payment_method( $subscription, $renewal_order ) { |
|
442 | - update_post_meta( $subscription->get_id(), '_stripe_customer_id', $renewal_order->get_meta( '_stripe_customer_id', true ) ); |
|
443 | - update_post_meta( $subscription->get_id(), '_stripe_source_id', $renewal_order->get_meta( '_stripe_source_id', true ) ); |
|
441 | + public function update_failing_payment_method($subscription, $renewal_order) { |
|
442 | + update_post_meta($subscription->get_id(), '_stripe_customer_id', $renewal_order->get_meta('_stripe_customer_id', true)); |
|
443 | + update_post_meta($subscription->get_id(), '_stripe_source_id', $renewal_order->get_meta('_stripe_source_id', true)); |
|
444 | 444 | } |
445 | 445 | |
446 | 446 | /** |
@@ -452,23 +452,23 @@ discard block |
||
452 | 452 | * @param WC_Subscription $subscription An instance of a subscription object |
453 | 453 | * @return array |
454 | 454 | */ |
455 | - public function add_subscription_payment_meta( $payment_meta, $subscription ) { |
|
455 | + public function add_subscription_payment_meta($payment_meta, $subscription) { |
|
456 | 456 | $subscription_id = $subscription->get_id(); |
457 | - $source_id = get_post_meta( $subscription_id, '_stripe_source_id', true ); |
|
457 | + $source_id = get_post_meta($subscription_id, '_stripe_source_id', true); |
|
458 | 458 | |
459 | 459 | // For BW compat will remove in future. |
460 | - if ( empty( $source_id ) ) { |
|
461 | - $source_id = get_post_meta( $subscription_id, '_stripe_card_id', true ); |
|
460 | + if (empty($source_id)) { |
|
461 | + $source_id = get_post_meta($subscription_id, '_stripe_card_id', true); |
|
462 | 462 | |
463 | 463 | // Take this opportunity to update the key name. |
464 | - update_post_meta( $subscription_id, '_stripe_source_id', $source_id ); |
|
465 | - delete_post_meta( $subscription_id, '_stripe_card_id', $source_id ); |
|
464 | + update_post_meta($subscription_id, '_stripe_source_id', $source_id); |
|
465 | + delete_post_meta($subscription_id, '_stripe_card_id', $source_id); |
|
466 | 466 | } |
467 | 467 | |
468 | - $payment_meta[ $this->id ] = array( |
|
468 | + $payment_meta[$this->id] = array( |
|
469 | 469 | 'post_meta' => array( |
470 | 470 | '_stripe_customer_id' => array( |
471 | - 'value' => get_post_meta( $subscription_id, '_stripe_customer_id', true ), |
|
471 | + 'value' => get_post_meta($subscription_id, '_stripe_customer_id', true), |
|
472 | 472 | 'label' => 'Stripe Customer ID', |
473 | 473 | ), |
474 | 474 | '_stripe_source_id' => array( |
@@ -491,27 +491,27 @@ discard block |
||
491 | 491 | * @param array $payment_meta associative array of meta data required for automatic payments |
492 | 492 | * @return array |
493 | 493 | */ |
494 | - public function validate_subscription_payment_meta( $payment_method_id, $payment_meta ) { |
|
495 | - if ( $this->id === $payment_method_id ) { |
|
494 | + public function validate_subscription_payment_meta($payment_method_id, $payment_meta) { |
|
495 | + if ($this->id === $payment_method_id) { |
|
496 | 496 | |
497 | - if ( ! isset( $payment_meta['post_meta']['_stripe_customer_id']['value'] ) || empty( $payment_meta['post_meta']['_stripe_customer_id']['value'] ) ) { |
|
497 | + if ( ! isset($payment_meta['post_meta']['_stripe_customer_id']['value']) || empty($payment_meta['post_meta']['_stripe_customer_id']['value'])) { |
|
498 | 498 | |
499 | 499 | // Allow empty stripe customer id during subscription renewal. It will be added when processing payment if required. |
500 | - if ( ! isset( $_POST['wc_order_action'] ) || 'wcs_process_renewal' !== $_POST['wc_order_action'] ) { |
|
501 | - throw new Exception( __( 'A "Stripe Customer ID" value is required.', 'woocommerce-gateway-stripe' ) ); |
|
500 | + if ( ! isset($_POST['wc_order_action']) || 'wcs_process_renewal' !== $_POST['wc_order_action']) { |
|
501 | + throw new Exception(__('A "Stripe Customer ID" value is required.', 'woocommerce-gateway-stripe')); |
|
502 | 502 | } |
503 | - } elseif ( 0 !== strpos( $payment_meta['post_meta']['_stripe_customer_id']['value'], 'cus_' ) ) { |
|
504 | - throw new Exception( __( 'Invalid customer ID. A valid "Stripe Customer ID" must begin with "cus_".', 'woocommerce-gateway-stripe' ) ); |
|
503 | + } elseif (0 !== strpos($payment_meta['post_meta']['_stripe_customer_id']['value'], 'cus_')) { |
|
504 | + throw new Exception(__('Invalid customer ID. A valid "Stripe Customer ID" must begin with "cus_".', 'woocommerce-gateway-stripe')); |
|
505 | 505 | } |
506 | 506 | |
507 | 507 | if ( |
508 | - ! empty( $payment_meta['post_meta']['_stripe_source_id']['value'] ) && ( |
|
509 | - 0 !== strpos( $payment_meta['post_meta']['_stripe_source_id']['value'], 'card_' ) |
|
510 | - && 0 !== strpos( $payment_meta['post_meta']['_stripe_source_id']['value'], 'src_' ) |
|
511 | - && 0 !== strpos( $payment_meta['post_meta']['_stripe_source_id']['value'], 'pm_' ) |
|
508 | + ! empty($payment_meta['post_meta']['_stripe_source_id']['value']) && ( |
|
509 | + 0 !== strpos($payment_meta['post_meta']['_stripe_source_id']['value'], 'card_') |
|
510 | + && 0 !== strpos($payment_meta['post_meta']['_stripe_source_id']['value'], 'src_') |
|
511 | + && 0 !== strpos($payment_meta['post_meta']['_stripe_source_id']['value'], 'pm_') |
|
512 | 512 | ) |
513 | 513 | ) { |
514 | - throw new Exception( __( 'Invalid source ID. A valid source "Stripe Source ID" must begin with "src_", "pm_", or "card_".', 'woocommerce-gateway-stripe' ) ); |
|
514 | + throw new Exception(__('Invalid source ID. A valid source "Stripe Source ID" must begin with "src_", "pm_", or "card_".', 'woocommerce-gateway-stripe')); |
|
515 | 515 | } |
516 | 516 | } |
517 | 517 | } |
@@ -524,75 +524,75 @@ discard block |
||
524 | 524 | * @param WC_Subscription $subscription the subscription details |
525 | 525 | * @return string the subscription payment method |
526 | 526 | */ |
527 | - public function maybe_render_subscription_payment_method( $payment_method_to_display, $subscription ) { |
|
527 | + public function maybe_render_subscription_payment_method($payment_method_to_display, $subscription) { |
|
528 | 528 | $customer_user = $subscription->get_customer_id(); |
529 | 529 | |
530 | 530 | // bail for other payment methods |
531 | - if ( $subscription->get_payment_method() !== $this->id || ! $customer_user ) { |
|
531 | + if ($subscription->get_payment_method() !== $this->id || ! $customer_user) { |
|
532 | 532 | return $payment_method_to_display; |
533 | 533 | } |
534 | 534 | |
535 | - $stripe_source_id = get_post_meta( $subscription->get_id(), '_stripe_source_id', true ); |
|
535 | + $stripe_source_id = get_post_meta($subscription->get_id(), '_stripe_source_id', true); |
|
536 | 536 | |
537 | 537 | // For BW compat will remove in future. |
538 | - if ( empty( $stripe_source_id ) ) { |
|
539 | - $stripe_source_id = get_post_meta( $subscription->get_id(), '_stripe_card_id', true ); |
|
538 | + if (empty($stripe_source_id)) { |
|
539 | + $stripe_source_id = get_post_meta($subscription->get_id(), '_stripe_card_id', true); |
|
540 | 540 | |
541 | 541 | // Take this opportunity to update the key name. |
542 | - update_post_meta( $subscription->get_id(), '_stripe_source_id', $stripe_source_id ); |
|
542 | + update_post_meta($subscription->get_id(), '_stripe_source_id', $stripe_source_id); |
|
543 | 543 | } |
544 | 544 | |
545 | 545 | $stripe_customer = new WC_Stripe_Customer(); |
546 | - $stripe_customer_id = get_post_meta( $subscription->get_id(), '_stripe_customer_id', true ); |
|
546 | + $stripe_customer_id = get_post_meta($subscription->get_id(), '_stripe_customer_id', true); |
|
547 | 547 | |
548 | 548 | // If we couldn't find a Stripe customer linked to the subscription, fallback to the user meta data. |
549 | - if ( ! $stripe_customer_id || ! is_string( $stripe_customer_id ) ) { |
|
549 | + if ( ! $stripe_customer_id || ! is_string($stripe_customer_id)) { |
|
550 | 550 | $user_id = $customer_user; |
551 | - $stripe_customer_id = get_user_option( '_stripe_customer_id', $user_id ); |
|
552 | - $stripe_source_id = get_user_option( '_stripe_source_id', $user_id ); |
|
551 | + $stripe_customer_id = get_user_option('_stripe_customer_id', $user_id); |
|
552 | + $stripe_source_id = get_user_option('_stripe_source_id', $user_id); |
|
553 | 553 | |
554 | 554 | // For BW compat will remove in future. |
555 | - if ( empty( $stripe_source_id ) ) { |
|
556 | - $stripe_source_id = get_user_option( '_stripe_card_id', $user_id ); |
|
555 | + if (empty($stripe_source_id)) { |
|
556 | + $stripe_source_id = get_user_option('_stripe_card_id', $user_id); |
|
557 | 557 | |
558 | 558 | // Take this opportunity to update the key name. |
559 | - update_user_option( $user_id, '_stripe_source_id', $stripe_source_id, false ); |
|
559 | + update_user_option($user_id, '_stripe_source_id', $stripe_source_id, false); |
|
560 | 560 | } |
561 | 561 | } |
562 | 562 | |
563 | 563 | // If we couldn't find a Stripe customer linked to the account, fallback to the order meta data. |
564 | - if ( ( ! $stripe_customer_id || ! is_string( $stripe_customer_id ) ) && false !== $subscription->order ) { |
|
565 | - $stripe_customer_id = get_post_meta( $subscription->get_parent_id(), '_stripe_customer_id', true ); |
|
566 | - $stripe_source_id = get_post_meta( $subscription->get_parent_id(), '_stripe_source_id', true ); |
|
564 | + if (( ! $stripe_customer_id || ! is_string($stripe_customer_id)) && false !== $subscription->order) { |
|
565 | + $stripe_customer_id = get_post_meta($subscription->get_parent_id(), '_stripe_customer_id', true); |
|
566 | + $stripe_source_id = get_post_meta($subscription->get_parent_id(), '_stripe_source_id', true); |
|
567 | 567 | |
568 | 568 | // For BW compat will remove in future. |
569 | - if ( empty( $stripe_source_id ) ) { |
|
570 | - $stripe_source_id = get_post_meta( $subscription->get_parent_id(), '_stripe_card_id', true ); |
|
569 | + if (empty($stripe_source_id)) { |
|
570 | + $stripe_source_id = get_post_meta($subscription->get_parent_id(), '_stripe_card_id', true); |
|
571 | 571 | |
572 | 572 | // Take this opportunity to update the key name. |
573 | - update_post_meta( $subscription->get_parent_id(), '_stripe_source_id', $stripe_source_id ); |
|
573 | + update_post_meta($subscription->get_parent_id(), '_stripe_source_id', $stripe_source_id); |
|
574 | 574 | } |
575 | 575 | } |
576 | 576 | |
577 | - $stripe_customer->set_id( $stripe_customer_id ); |
|
577 | + $stripe_customer->set_id($stripe_customer_id); |
|
578 | 578 | |
579 | 579 | $sources = $stripe_customer->get_sources(); |
580 | - $payment_method_to_display = __( 'N/A', 'woocommerce-gateway-stripe' ); |
|
580 | + $payment_method_to_display = __('N/A', 'woocommerce-gateway-stripe'); |
|
581 | 581 | |
582 | - if ( $sources ) { |
|
582 | + if ($sources) { |
|
583 | 583 | $card = false; |
584 | 584 | |
585 | - foreach ( $sources as $source ) { |
|
586 | - if ( isset( $source->type ) && 'card' === $source->type ) { |
|
585 | + foreach ($sources as $source) { |
|
586 | + if (isset($source->type) && 'card' === $source->type) { |
|
587 | 587 | $card = $source->card; |
588 | - } elseif ( isset( $source->object ) && 'card' === $source->object ) { |
|
588 | + } elseif (isset($source->object) && 'card' === $source->object) { |
|
589 | 589 | $card = $source; |
590 | 590 | } |
591 | 591 | |
592 | - if ( $source->id === $stripe_source_id ) { |
|
593 | - if ( $card ) { |
|
592 | + if ($source->id === $stripe_source_id) { |
|
593 | + if ($card) { |
|
594 | 594 | /* translators: 1) card brand 2) last 4 digits */ |
595 | - $payment_method_to_display = sprintf( __( 'Via %1$s card ending in %2$s', 'woocommerce-gateway-stripe' ), ( isset( $card->brand ) ? $card->brand : __( 'N/A', 'woocommerce-gateway-stripe' ) ), $card->last4 ); |
|
595 | + $payment_method_to_display = sprintf(__('Via %1$s card ending in %2$s', 'woocommerce-gateway-stripe'), (isset($card->brand) ? $card->brand : __('N/A', 'woocommerce-gateway-stripe')), $card->last4); |
|
596 | 596 | } |
597 | 597 | |
598 | 598 | break; |
@@ -609,7 +609,7 @@ discard block |
||
609 | 609 | */ |
610 | 610 | public function remove_order_pay_var() { |
611 | 611 | global $wp; |
612 | - if ( isset( $_GET['wc-stripe-confirmation'] ) ) { |
|
612 | + if (isset($_GET['wc-stripe-confirmation'])) { |
|
613 | 613 | $this->order_pay_var = $wp->query_vars['order-pay']; |
614 | 614 | $wp->query_vars['order-pay'] = null; |
615 | 615 | } |
@@ -620,7 +620,7 @@ discard block |
||
620 | 620 | */ |
621 | 621 | public function restore_order_pay_var() { |
622 | 622 | global $wp; |
623 | - if ( isset( $this->order_pay_var ) ) { |
|
623 | + if (isset($this->order_pay_var)) { |
|
624 | 624 | $wp->query_vars['order-pay'] = $this->order_pay_var; |
625 | 625 | } |
626 | 626 | } |
@@ -631,13 +631,13 @@ discard block |
||
631 | 631 | * @param WC_Order $renewal_order The renewal order. |
632 | 632 | * @return boolean |
633 | 633 | */ |
634 | - public function has_authentication_already_failed( $renewal_order ) { |
|
635 | - $existing_intent = $this->get_intent_from_order( $renewal_order ); |
|
634 | + public function has_authentication_already_failed($renewal_order) { |
|
635 | + $existing_intent = $this->get_intent_from_order($renewal_order); |
|
636 | 636 | |
637 | 637 | if ( |
638 | 638 | ! $existing_intent |
639 | 639 | || 'requires_payment_method' !== $existing_intent->status |
640 | - || empty( $existing_intent->last_payment_error ) |
|
640 | + || empty($existing_intent->last_payment_error) |
|
641 | 641 | || 'authentication_required' !== $existing_intent->last_payment_error->code |
642 | 642 | ) { |
643 | 643 | return false; |
@@ -651,12 +651,12 @@ discard block |
||
651 | 651 | * |
652 | 652 | * @param WC_Order $renewal_order The order that is being renewed. |
653 | 653 | */ |
654 | - do_action( 'wc_gateway_stripe_process_payment_authentication_required', $renewal_order ); |
|
654 | + do_action('wc_gateway_stripe_process_payment_authentication_required', $renewal_order); |
|
655 | 655 | |
656 | 656 | // Fail the payment attempt (order would be currently pending because of retry rules). |
657 | - $charge = end( $existing_intent->charges->data ); |
|
657 | + $charge = end($existing_intent->charges->data); |
|
658 | 658 | $charge_id = $charge->id; |
659 | - $renewal_order->update_status( 'failed', sprintf( __( 'Stripe charge awaiting authentication by user: %s.', 'woocommerce-gateway-stripe' ), $charge_id ) ); |
|
659 | + $renewal_order->update_status('failed', sprintf(__('Stripe charge awaiting authentication by user: %s.', 'woocommerce-gateway-stripe'), $charge_id)); |
|
660 | 660 | |
661 | 661 | return true; |
662 | 662 | } |
@@ -667,7 +667,7 @@ discard block |
||
667 | 667 | * @param string $url The URL that Subscriptions attempts a redirect to. |
668 | 668 | * @return void |
669 | 669 | */ |
670 | - public function redirect_after_early_renewal( $url ) { |
|
670 | + public function redirect_after_early_renewal($url) { |
|
671 | 671 | echo wp_json_encode( |
672 | 672 | array( |
673 | 673 | 'stripe_sca_required' => false, |
@@ -684,12 +684,12 @@ discard block |
||
684 | 684 | * @param WC_Order $order The renewal order. |
685 | 685 | * @param stdClass $intent The Payment Intent object. |
686 | 686 | */ |
687 | - protected function handle_intent_verification_success( $order, $intent ) { |
|
688 | - parent::handle_intent_verification_success( $order, $intent ); |
|
687 | + protected function handle_intent_verification_success($order, $intent) { |
|
688 | + parent::handle_intent_verification_success($order, $intent); |
|
689 | 689 | |
690 | - if ( isset( $_GET['early_renewal'] ) ) { // wpcs: csrf ok. |
|
691 | - wcs_update_dates_after_early_renewal( wcs_get_subscription( $order->get_meta( '_subscription_renewal' ) ), $order ); |
|
692 | - wc_add_notice( __( 'Your early renewal order was successful.', 'woocommerce-gateway-stripe' ), 'success' ); |
|
690 | + if (isset($_GET['early_renewal'])) { // wpcs: csrf ok. |
|
691 | + wcs_update_dates_after_early_renewal(wcs_get_subscription($order->get_meta('_subscription_renewal')), $order); |
|
692 | + wc_add_notice(__('Your early renewal order was successful.', 'woocommerce-gateway-stripe'), 'success'); |
|
693 | 693 | } |
694 | 694 | } |
695 | 695 | |
@@ -699,12 +699,12 @@ discard block |
||
699 | 699 | * @param WC_Order $order The renewal order. |
700 | 700 | * @param stdClass $intent The Payment Intent object (unused). |
701 | 701 | */ |
702 | - protected function handle_intent_verification_failure( $order, $intent ) { |
|
703 | - if ( isset( $_GET['early_renewal'] ) ) { |
|
704 | - $order->delete( true ); |
|
705 | - wc_add_notice( __( 'Payment authorization for the renewal order was unsuccessful, please try again.', 'woocommerce-gateway-stripe' ), 'error' ); |
|
706 | - $renewal_url = wcs_get_early_renewal_url( wcs_get_subscription( $order->get_meta( '_subscription_renewal' ) ) ); |
|
707 | - wp_redirect( $renewal_url ); exit; |
|
702 | + protected function handle_intent_verification_failure($order, $intent) { |
|
703 | + if (isset($_GET['early_renewal'])) { |
|
704 | + $order->delete(true); |
|
705 | + wc_add_notice(__('Payment authorization for the renewal order was unsuccessful, please try again.', 'woocommerce-gateway-stripe'), 'error'); |
|
706 | + $renewal_url = wcs_get_early_renewal_url(wcs_get_subscription($order->get_meta('_subscription_renewal'))); |
|
707 | + wp_redirect($renewal_url); exit; |
|
708 | 708 | } |
709 | 709 | } |
710 | 710 | } |
@@ -1,5 +1,5 @@ discard block |
||
1 | 1 | <?php |
2 | -if ( ! defined( 'ABSPATH' ) ) { |
|
2 | +if ( ! defined('ABSPATH')) { |
|
3 | 3 | exit; |
4 | 4 | } |
5 | 5 | |
@@ -15,21 +15,21 @@ discard block |
||
15 | 15 | public function __construct() { |
16 | 16 | parent::__construct(); |
17 | 17 | |
18 | - if ( class_exists( 'WC_Subscriptions_Order' ) ) { |
|
19 | - add_action( 'woocommerce_scheduled_subscription_payment_' . $this->id, array( $this, 'scheduled_subscription_payment' ), 10, 2 ); |
|
20 | - add_action( 'wcs_resubscribe_order_created', array( $this, 'delete_resubscribe_meta' ), 10 ); |
|
21 | - add_action( 'wcs_renewal_order_created', array( $this, 'delete_renewal_meta' ), 10 ); |
|
22 | - add_action( 'woocommerce_subscription_failing_payment_method_updated_stripe', array( $this, 'update_failing_payment_method' ), 10, 2 ); |
|
23 | - add_action( 'wc_stripe_sepa_payment_fields', array( $this, 'display_update_subs_payment_checkout' ) ); |
|
24 | - add_action( 'wc_stripe_add_payment_method_' . $this->id . '_success', array( $this, 'handle_add_payment_method_success' ), 10, 2 ); |
|
18 | + if (class_exists('WC_Subscriptions_Order')) { |
|
19 | + add_action('woocommerce_scheduled_subscription_payment_' . $this->id, array($this, 'scheduled_subscription_payment'), 10, 2); |
|
20 | + add_action('wcs_resubscribe_order_created', array($this, 'delete_resubscribe_meta'), 10); |
|
21 | + add_action('wcs_renewal_order_created', array($this, 'delete_renewal_meta'), 10); |
|
22 | + add_action('woocommerce_subscription_failing_payment_method_updated_stripe', array($this, 'update_failing_payment_method'), 10, 2); |
|
23 | + add_action('wc_stripe_sepa_payment_fields', array($this, 'display_update_subs_payment_checkout')); |
|
24 | + add_action('wc_stripe_add_payment_method_' . $this->id . '_success', array($this, 'handle_add_payment_method_success'), 10, 2); |
|
25 | 25 | |
26 | 26 | // Display the credit card used for a subscription in the "My Subscriptions" table. |
27 | - add_filter( 'woocommerce_my_subscriptions_payment_method', array( $this, 'maybe_render_subscription_payment_method' ), 10, 2 ); |
|
27 | + add_filter('woocommerce_my_subscriptions_payment_method', array($this, 'maybe_render_subscription_payment_method'), 10, 2); |
|
28 | 28 | |
29 | 29 | // Allow store managers to manually set Stripe as the payment method on a subscription. |
30 | - add_filter( 'woocommerce_subscription_payment_meta', array( $this, 'add_subscription_payment_meta' ), 10, 2 ); |
|
31 | - add_filter( 'woocommerce_subscription_validate_payment_meta', array( $this, 'validate_subscription_payment_meta' ), 10, 2 ); |
|
32 | - add_filter( 'wc_stripe_display_save_payment_method_checkbox', array( $this, 'maybe_hide_save_checkbox' ) ); |
|
30 | + add_filter('woocommerce_subscription_payment_meta', array($this, 'add_subscription_payment_meta'), 10, 2); |
|
31 | + add_filter('woocommerce_subscription_validate_payment_meta', array($this, 'validate_subscription_payment_meta'), 10, 2); |
|
32 | + add_filter('wc_stripe_display_save_payment_method_checkbox', array($this, 'maybe_hide_save_checkbox')); |
|
33 | 33 | } |
34 | 34 | } |
35 | 35 | |
@@ -40,8 +40,8 @@ discard block |
||
40 | 40 | * @since 4.0.0 |
41 | 41 | * @version 4.0.0 |
42 | 42 | */ |
43 | - public function maybe_hide_save_checkbox( $display_tokenization ) { |
|
44 | - if ( WC_Subscriptions_Cart::cart_contains_subscription() ) { |
|
43 | + public function maybe_hide_save_checkbox($display_tokenization) { |
|
44 | + if (WC_Subscriptions_Cart::cart_contains_subscription()) { |
|
45 | 45 | return false; |
46 | 46 | } |
47 | 47 | |
@@ -53,8 +53,8 @@ discard block |
||
53 | 53 | * @param int $order_id |
54 | 54 | * @return boolean |
55 | 55 | */ |
56 | - public function has_subscription( $order_id ) { |
|
57 | - return ( function_exists( 'wcs_order_contains_subscription' ) && ( wcs_order_contains_subscription( $order_id ) || wcs_is_subscription( $order_id ) || wcs_order_contains_renewal( $order_id ) ) ); |
|
56 | + public function has_subscription($order_id) { |
|
57 | + return (function_exists('wcs_order_contains_subscription') && (wcs_order_contains_subscription($order_id) || wcs_is_subscription($order_id) || wcs_order_contains_renewal($order_id))); |
|
58 | 58 | } |
59 | 59 | |
60 | 60 | /** |
@@ -64,7 +64,7 @@ discard block |
||
64 | 64 | * @return bool |
65 | 65 | */ |
66 | 66 | public function is_subs_change_payment() { |
67 | - return ( isset( $_GET['pay_for_order'] ) && isset( $_GET['change_payment_method'] ) ); |
|
67 | + return (isset($_GET['pay_for_order']) && isset($_GET['change_payment_method'])); |
|
68 | 68 | } |
69 | 69 | |
70 | 70 | /** |
@@ -74,20 +74,20 @@ discard block |
||
74 | 74 | * @since 4.1.11 |
75 | 75 | */ |
76 | 76 | public function display_update_subs_payment_checkout() { |
77 | - $subs_statuses = apply_filters( 'wc_stripe_update_subs_payment_method_card_statuses', array( 'active' ) ); |
|
77 | + $subs_statuses = apply_filters('wc_stripe_update_subs_payment_method_card_statuses', array('active')); |
|
78 | 78 | if ( |
79 | - apply_filters( 'wc_stripe_display_update_subs_payment_method_card_checkbox', true ) && |
|
80 | - wcs_user_has_subscription( get_current_user_id(), '', $subs_statuses ) && |
|
79 | + apply_filters('wc_stripe_display_update_subs_payment_method_card_checkbox', true) && |
|
80 | + wcs_user_has_subscription(get_current_user_id(), '', $subs_statuses) && |
|
81 | 81 | is_add_payment_method_page() |
82 | 82 | ) { |
83 | - $label = esc_html( apply_filters( 'wc_stripe_save_to_subs_text', __( 'Update the Payment Method used for all of my active subscriptions.', 'woocommerce-gateway-stripe' ) ) ); |
|
84 | - $id = sprintf( 'wc-%1$s-update-subs-payment-method-card', $this->id ); |
|
83 | + $label = esc_html(apply_filters('wc_stripe_save_to_subs_text', __('Update the Payment Method used for all of my active subscriptions.', 'woocommerce-gateway-stripe'))); |
|
84 | + $id = sprintf('wc-%1$s-update-subs-payment-method-card', $this->id); |
|
85 | 85 | woocommerce_form_field( |
86 | 86 | $id, |
87 | 87 | array( |
88 | 88 | 'type' => 'checkbox', |
89 | 89 | 'label' => $label, |
90 | - 'default' => apply_filters( 'wc_stripe_save_to_subs_checked', false ), |
|
90 | + 'default' => apply_filters('wc_stripe_save_to_subs_checked', false), |
|
91 | 91 | ) |
92 | 92 | ); |
93 | 93 | } |
@@ -100,22 +100,22 @@ discard block |
||
100 | 100 | * @param string $source_id |
101 | 101 | * @param object $source_object |
102 | 102 | */ |
103 | - public function handle_add_payment_method_success( $source_id, $source_object ) { |
|
104 | - if ( isset( $_POST[ 'wc-' . $this->id . '-update-subs-payment-method-card' ] ) ) { |
|
103 | + public function handle_add_payment_method_success($source_id, $source_object) { |
|
104 | + if (isset($_POST['wc-' . $this->id . '-update-subs-payment-method-card'])) { |
|
105 | 105 | $all_subs = wcs_get_users_subscriptions(); |
106 | - $subs_statuses = apply_filters( 'wc_stripe_update_subs_payment_method_card_statuses', array( 'active' ) ); |
|
107 | - $stripe_customer = new WC_Stripe_Customer( get_current_user_id() ); |
|
106 | + $subs_statuses = apply_filters('wc_stripe_update_subs_payment_method_card_statuses', array('active')); |
|
107 | + $stripe_customer = new WC_Stripe_Customer(get_current_user_id()); |
|
108 | 108 | |
109 | - if ( ! empty( $all_subs ) ) { |
|
110 | - foreach ( $all_subs as $sub ) { |
|
111 | - if ( $sub->has_status( $subs_statuses ) ) { |
|
109 | + if ( ! empty($all_subs)) { |
|
110 | + foreach ($all_subs as $sub) { |
|
111 | + if ($sub->has_status($subs_statuses)) { |
|
112 | 112 | WC_Subscriptions_Change_Payment_Gateway::update_payment_method( |
113 | 113 | $sub, |
114 | 114 | $this->id, |
115 | 115 | array( |
116 | 116 | 'post_meta' => array( |
117 | - '_stripe_source_id' => array( 'value' => $source_id ), |
|
118 | - '_stripe_customer_id' => array( 'value' => $stripe_customer->get_id() ), |
|
117 | + '_stripe_source_id' => array('value' => $source_id), |
|
118 | + '_stripe_customer_id' => array('value' => $stripe_customer->get_id()), |
|
119 | 119 | ), |
120 | 120 | ) |
121 | 121 | ); |
@@ -131,24 +131,24 @@ discard block |
||
131 | 131 | * @since 3.1.0 |
132 | 132 | * @version 4.0.0 |
133 | 133 | */ |
134 | - public function save_source_to_order( $order, $source ) { |
|
135 | - parent::save_source_to_order( $order, $source ); |
|
134 | + public function save_source_to_order($order, $source) { |
|
135 | + parent::save_source_to_order($order, $source); |
|
136 | 136 | |
137 | 137 | $order_id = $order->get_id(); |
138 | 138 | |
139 | 139 | // Also store it on the subscriptions being purchased or paid for in the order. |
140 | - if ( function_exists( 'wcs_order_contains_subscription' ) && wcs_order_contains_subscription( $order_id ) ) { |
|
141 | - $subscriptions = wcs_get_subscriptions_for_order( $order_id ); |
|
142 | - } elseif ( function_exists( 'wcs_order_contains_renewal' ) && wcs_order_contains_renewal( $order_id ) ) { |
|
143 | - $subscriptions = wcs_get_subscriptions_for_renewal_order( $order_id ); |
|
140 | + if (function_exists('wcs_order_contains_subscription') && wcs_order_contains_subscription($order_id)) { |
|
141 | + $subscriptions = wcs_get_subscriptions_for_order($order_id); |
|
142 | + } elseif (function_exists('wcs_order_contains_renewal') && wcs_order_contains_renewal($order_id)) { |
|
143 | + $subscriptions = wcs_get_subscriptions_for_renewal_order($order_id); |
|
144 | 144 | } else { |
145 | 145 | $subscriptions = array(); |
146 | 146 | } |
147 | 147 | |
148 | - foreach ( $subscriptions as $subscription ) { |
|
148 | + foreach ($subscriptions as $subscription) { |
|
149 | 149 | $subscription_id = $subscription->get_id(); |
150 | - update_post_meta( $subscription_id, '_stripe_customer_id', $source->customer ); |
|
151 | - update_post_meta( $subscription_id, '_stripe_source_id', $source->source ); |
|
150 | + update_post_meta($subscription_id, '_stripe_customer_id', $source->customer); |
|
151 | + update_post_meta($subscription_id, '_stripe_source_id', $source->source); |
|
152 | 152 | } |
153 | 153 | } |
154 | 154 | |
@@ -157,16 +157,16 @@ discard block |
||
157 | 157 | * @param int $order_id |
158 | 158 | * @return array |
159 | 159 | */ |
160 | - public function process_payment( $order_id, $retry = true, $force_save_source = false, $previous_error = false ) { |
|
161 | - if ( $this->has_subscription( $order_id ) ) { |
|
162 | - if ( $this->is_subs_change_payment() ) { |
|
163 | - return $this->change_subs_payment_method( $order_id ); |
|
160 | + public function process_payment($order_id, $retry = true, $force_save_source = false, $previous_error = false) { |
|
161 | + if ($this->has_subscription($order_id)) { |
|
162 | + if ($this->is_subs_change_payment()) { |
|
163 | + return $this->change_subs_payment_method($order_id); |
|
164 | 164 | } |
165 | 165 | |
166 | 166 | // Regular payment with force customer enabled |
167 | - return parent::process_payment( $order_id, $retry, true, $previous_error ); |
|
167 | + return parent::process_payment($order_id, $retry, true, $previous_error); |
|
168 | 168 | } else { |
169 | - return parent::process_payment( $order_id, $retry, $force_save_source, $previous_error ); |
|
169 | + return parent::process_payment($order_id, $retry, $force_save_source, $previous_error); |
|
170 | 170 | } |
171 | 171 | } |
172 | 172 | |
@@ -176,27 +176,27 @@ discard block |
||
176 | 176 | * @since 4.0.4 |
177 | 177 | * @param int $order_id |
178 | 178 | */ |
179 | - public function change_subs_payment_method( $order_id ) { |
|
179 | + public function change_subs_payment_method($order_id) { |
|
180 | 180 | try { |
181 | - $subscription = wc_get_order( $order_id ); |
|
182 | - $prepared_source = $this->prepare_source( get_current_user_id(), true ); |
|
181 | + $subscription = wc_get_order($order_id); |
|
182 | + $prepared_source = $this->prepare_source(get_current_user_id(), true); |
|
183 | 183 | |
184 | - if ( empty( $prepared_source->source ) ) { |
|
185 | - $localized_message = __( 'Payment processing failed. Please retry.', 'woocommerce-gateway-stripe' ); |
|
186 | - throw new WC_Stripe_Exception( print_r( $prepared_source, true ), $localized_message ); |
|
184 | + if (empty($prepared_source->source)) { |
|
185 | + $localized_message = __('Payment processing failed. Please retry.', 'woocommerce-gateway-stripe'); |
|
186 | + throw new WC_Stripe_Exception(print_r($prepared_source, true), $localized_message); |
|
187 | 187 | } |
188 | 188 | |
189 | - $this->save_source_to_order( $subscription, $prepared_source ); |
|
189 | + $this->save_source_to_order($subscription, $prepared_source); |
|
190 | 190 | |
191 | - do_action( 'wc_stripe_change_subs_payment_method_success', $prepared_source->source, $prepared_source ); |
|
191 | + do_action('wc_stripe_change_subs_payment_method_success', $prepared_source->source, $prepared_source); |
|
192 | 192 | |
193 | 193 | return array( |
194 | 194 | 'result' => 'success', |
195 | - 'redirect' => $this->get_return_url( $subscription ), |
|
195 | + 'redirect' => $this->get_return_url($subscription), |
|
196 | 196 | ); |
197 | - } catch ( WC_Stripe_Exception $e ) { |
|
198 | - wc_add_notice( $e->getLocalizedMessage(), 'error' ); |
|
199 | - WC_Stripe_Logger::log( 'Error: ' . $e->getMessage() ); |
|
197 | + } catch (WC_Stripe_Exception $e) { |
|
198 | + wc_add_notice($e->getLocalizedMessage(), 'error'); |
|
199 | + WC_Stripe_Logger::log('Error: ' . $e->getMessage()); |
|
200 | 200 | } |
201 | 201 | } |
202 | 202 | |
@@ -206,8 +206,8 @@ discard block |
||
206 | 206 | * @param $amount_to_charge float The amount to charge. |
207 | 207 | * @param $renewal_order WC_Order A WC_Order object created to record the renewal payment. |
208 | 208 | */ |
209 | - public function scheduled_subscription_payment( $amount_to_charge, $renewal_order ) { |
|
210 | - $this->process_subscription_payment( $amount_to_charge, $renewal_order, true, false ); |
|
209 | + public function scheduled_subscription_payment($amount_to_charge, $renewal_order) { |
|
210 | + $this->process_subscription_payment($amount_to_charge, $renewal_order, true, false); |
|
211 | 211 | } |
212 | 212 | |
213 | 213 | /** |
@@ -221,11 +221,11 @@ discard block |
||
221 | 221 | * @param bool $retry Should we retry the process? |
222 | 222 | * @param object $previous_error |
223 | 223 | */ |
224 | - public function process_subscription_payment( $amount, $renewal_order, $retry = true, $previous_error = false ) { |
|
224 | + public function process_subscription_payment($amount, $renewal_order, $retry = true, $previous_error = false) { |
|
225 | 225 | try { |
226 | - if ( $amount * 100 < WC_Stripe_Helper::get_minimum_amount() ) { |
|
226 | + if ($amount * 100 < WC_Stripe_Helper::get_minimum_amount()) { |
|
227 | 227 | /* translators: minimum amount */ |
228 | - $message = sprintf( __( 'Sorry, the minimum allowed order total is %1$s to use this payment method.', 'woocommerce-gateway-stripe' ), wc_price( WC_Stripe_Helper::get_minimum_amount() / 100 ) ); |
|
228 | + $message = sprintf(__('Sorry, the minimum allowed order total is %1$s to use this payment method.', 'woocommerce-gateway-stripe'), wc_price(WC_Stripe_Helper::get_minimum_amount() / 100)); |
|
229 | 229 | throw new WC_Stripe_Exception( |
230 | 230 | 'Error while processing renewal order ' . $renewal_order->get_id() . ' : ' . $message, |
231 | 231 | $message |
@@ -234,82 +234,82 @@ discard block |
||
234 | 234 | |
235 | 235 | $order_id = $renewal_order->get_id(); |
236 | 236 | |
237 | - $this->ensure_subscription_has_customer_id( $order_id ); |
|
237 | + $this->ensure_subscription_has_customer_id($order_id); |
|
238 | 238 | |
239 | 239 | // Get source from order |
240 | - $prepared_source = $this->prepare_order_source( $renewal_order ); |
|
240 | + $prepared_source = $this->prepare_order_source($renewal_order); |
|
241 | 241 | $source_object = $prepared_source->source_object; |
242 | 242 | |
243 | - if ( ! $prepared_source->customer ) { |
|
243 | + if ( ! $prepared_source->customer) { |
|
244 | 244 | throw new WC_Stripe_Exception( |
245 | 245 | 'Failed to process renewal for order ' . $renewal_order->get_id() . '. Stripe customer id is missing in the order', |
246 | - __( 'Customer not found', 'woocommerce-gateway-stripe' ) |
|
246 | + __('Customer not found', 'woocommerce-gateway-stripe') |
|
247 | 247 | ); |
248 | 248 | } |
249 | 249 | |
250 | - WC_Stripe_Logger::log( "Info: Begin processing subscription payment for order {$order_id} for the amount of {$amount}" ); |
|
250 | + WC_Stripe_Logger::log("Info: Begin processing subscription payment for order {$order_id} for the amount of {$amount}"); |
|
251 | 251 | |
252 | 252 | /* If we're doing a retry and source is chargeable, we need to pass |
253 | 253 | * a different idempotency key and retry for success. |
254 | 254 | */ |
255 | - if ( is_object( $source_object ) && empty( $source_object->error ) && $this->need_update_idempotency_key( $source_object, $previous_error ) ) { |
|
256 | - add_filter( 'wc_stripe_idempotency_key', array( $this, 'change_idempotency_key' ), 10, 2 ); |
|
255 | + if (is_object($source_object) && empty($source_object->error) && $this->need_update_idempotency_key($source_object, $previous_error)) { |
|
256 | + add_filter('wc_stripe_idempotency_key', array($this, 'change_idempotency_key'), 10, 2); |
|
257 | 257 | } |
258 | 258 | |
259 | - if ( ( $this->is_no_such_source_error( $previous_error ) || $this->is_no_linked_source_error( $previous_error ) ) && apply_filters( 'wc_stripe_use_default_customer_source', true ) ) { |
|
259 | + if (($this->is_no_such_source_error($previous_error) || $this->is_no_linked_source_error($previous_error)) && apply_filters('wc_stripe_use_default_customer_source', true)) { |
|
260 | 260 | // Passing empty source will charge customer default. |
261 | 261 | $prepared_source->source = ''; |
262 | 262 | } |
263 | 263 | |
264 | - $request = $this->generate_payment_request( $renewal_order, $prepared_source ); |
|
264 | + $request = $this->generate_payment_request($renewal_order, $prepared_source); |
|
265 | 265 | $request['capture'] = 'true'; |
266 | - $request['amount'] = WC_Stripe_Helper::get_stripe_amount( $amount, $request['currency'] ); |
|
267 | - $response = WC_Stripe_API::request( $request ); |
|
266 | + $request['amount'] = WC_Stripe_Helper::get_stripe_amount($amount, $request['currency']); |
|
267 | + $response = WC_Stripe_API::request($request); |
|
268 | 268 | |
269 | - if ( ! empty( $response->error ) ) { |
|
269 | + if ( ! empty($response->error)) { |
|
270 | 270 | // We want to retry. |
271 | - if ( $this->is_retryable_error( $response->error ) ) { |
|
272 | - if ( $retry ) { |
|
271 | + if ($this->is_retryable_error($response->error)) { |
|
272 | + if ($retry) { |
|
273 | 273 | // Don't do anymore retries after this. |
274 | - if ( 5 <= $this->retry_interval ) { |
|
275 | - return $this->process_subscription_payment( $amount, $renewal_order, false, $response->error ); |
|
274 | + if (5 <= $this->retry_interval) { |
|
275 | + return $this->process_subscription_payment($amount, $renewal_order, false, $response->error); |
|
276 | 276 | } |
277 | 277 | |
278 | - sleep( $this->retry_interval ); |
|
278 | + sleep($this->retry_interval); |
|
279 | 279 | |
280 | 280 | $this->retry_interval++; |
281 | 281 | |
282 | - return $this->process_subscription_payment( $amount, $renewal_order, true, $response->error ); |
|
282 | + return $this->process_subscription_payment($amount, $renewal_order, true, $response->error); |
|
283 | 283 | } else { |
284 | - $localized_message = __( 'Sorry, we are unable to process your payment at this time. Please retry later.', 'woocommerce-gateway-stripe' ); |
|
285 | - $renewal_order->add_order_note( $localized_message ); |
|
286 | - throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message ); |
|
284 | + $localized_message = __('Sorry, we are unable to process your payment at this time. Please retry later.', 'woocommerce-gateway-stripe'); |
|
285 | + $renewal_order->add_order_note($localized_message); |
|
286 | + throw new WC_Stripe_Exception(print_r($response, true), $localized_message); |
|
287 | 287 | } |
288 | 288 | } |
289 | 289 | |
290 | 290 | $localized_messages = WC_Stripe_Helper::get_localized_messages(); |
291 | 291 | |
292 | - if ( 'card_error' === $response->error->type ) { |
|
293 | - $localized_message = isset( $localized_messages[ $response->error->code ] ) ? $localized_messages[ $response->error->code ] : $response->error->message; |
|
292 | + if ('card_error' === $response->error->type) { |
|
293 | + $localized_message = isset($localized_messages[$response->error->code]) ? $localized_messages[$response->error->code] : $response->error->message; |
|
294 | 294 | } else { |
295 | - $localized_message = isset( $localized_messages[ $response->error->type ] ) ? $localized_messages[ $response->error->type ] : $response->error->message; |
|
295 | + $localized_message = isset($localized_messages[$response->error->type]) ? $localized_messages[$response->error->type] : $response->error->message; |
|
296 | 296 | } |
297 | 297 | |
298 | - $renewal_order->add_order_note( $localized_message ); |
|
298 | + $renewal_order->add_order_note($localized_message); |
|
299 | 299 | |
300 | - throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message ); |
|
300 | + throw new WC_Stripe_Exception(print_r($response, true), $localized_message); |
|
301 | 301 | } |
302 | 302 | |
303 | - do_action( 'wc_gateway_stripe_process_payment', $response, $renewal_order ); |
|
303 | + do_action('wc_gateway_stripe_process_payment', $response, $renewal_order); |
|
304 | 304 | |
305 | - $this->process_response( $response, $renewal_order ); |
|
306 | - } catch ( WC_Stripe_Exception $e ) { |
|
307 | - WC_Stripe_Logger::log( 'Error: ' . $e->getMessage() ); |
|
305 | + $this->process_response($response, $renewal_order); |
|
306 | + } catch (WC_Stripe_Exception $e) { |
|
307 | + WC_Stripe_Logger::log('Error: ' . $e->getMessage()); |
|
308 | 308 | |
309 | - do_action( 'wc_gateway_stripe_process_payment_error', $e, $renewal_order ); |
|
309 | + do_action('wc_gateway_stripe_process_payment_error', $e, $renewal_order); |
|
310 | 310 | |
311 | 311 | /* translators: error message */ |
312 | - $renewal_order->update_status( 'failed' ); |
|
312 | + $renewal_order->update_status('failed'); |
|
313 | 313 | } |
314 | 314 | } |
315 | 315 | |
@@ -317,21 +317,21 @@ discard block |
||
317 | 317 | * Don't transfer Stripe customer/token meta to resubscribe orders. |
318 | 318 | * @param int $resubscribe_order The order created for the customer to resubscribe to the old expired/cancelled subscription |
319 | 319 | */ |
320 | - public function delete_resubscribe_meta( $resubscribe_order ) { |
|
321 | - delete_post_meta( $resubscribe_order->get_id(), '_stripe_customer_id' ); |
|
322 | - delete_post_meta( $resubscribe_order->get_id(), '_stripe_source_id' ); |
|
320 | + public function delete_resubscribe_meta($resubscribe_order) { |
|
321 | + delete_post_meta($resubscribe_order->get_id(), '_stripe_customer_id'); |
|
322 | + delete_post_meta($resubscribe_order->get_id(), '_stripe_source_id'); |
|
323 | 323 | // For BW compat will remove in future |
324 | - delete_post_meta( $resubscribe_order->get_id(), '_stripe_card_id' ); |
|
325 | - $this->delete_renewal_meta( $resubscribe_order ); |
|
324 | + delete_post_meta($resubscribe_order->get_id(), '_stripe_card_id'); |
|
325 | + $this->delete_renewal_meta($resubscribe_order); |
|
326 | 326 | } |
327 | 327 | |
328 | 328 | /** |
329 | 329 | * Don't transfer Stripe fee/ID meta to renewal orders. |
330 | 330 | * @param int $resubscribe_order The order created for the customer to resubscribe to the old expired/cancelled subscription |
331 | 331 | */ |
332 | - public function delete_renewal_meta( $renewal_order ) { |
|
333 | - WC_Stripe_Helper::delete_stripe_fee( $renewal_order ); |
|
334 | - WC_Stripe_Helper::delete_stripe_net( $renewal_order ); |
|
332 | + public function delete_renewal_meta($renewal_order) { |
|
333 | + WC_Stripe_Helper::delete_stripe_fee($renewal_order); |
|
334 | + WC_Stripe_Helper::delete_stripe_net($renewal_order); |
|
335 | 335 | |
336 | 336 | return $renewal_order; |
337 | 337 | } |
@@ -345,9 +345,9 @@ discard block |
||
345 | 345 | * @param WC_Order $renewal_order The order which recorded the successful payment (to make up for the failed automatic payment). |
346 | 346 | * @return void |
347 | 347 | */ |
348 | - public function update_failing_payment_method( $subscription, $renewal_order ) { |
|
349 | - update_post_meta( $subscription->get_id(), '_stripe_customer_id', $renewal_order->get_meta( '_stripe_customer_id', true ) ); |
|
350 | - update_post_meta( $subscription->get_id(), '_stripe_source_id', $renewal_order->get_meta( '_stripe_source_id', true ) ); |
|
348 | + public function update_failing_payment_method($subscription, $renewal_order) { |
|
349 | + update_post_meta($subscription->get_id(), '_stripe_customer_id', $renewal_order->get_meta('_stripe_customer_id', true)); |
|
350 | + update_post_meta($subscription->get_id(), '_stripe_source_id', $renewal_order->get_meta('_stripe_source_id', true)); |
|
351 | 351 | } |
352 | 352 | |
353 | 353 | /** |
@@ -359,21 +359,21 @@ discard block |
||
359 | 359 | * @param WC_Subscription $subscription An instance of a subscription object |
360 | 360 | * @return array |
361 | 361 | */ |
362 | - public function add_subscription_payment_meta( $payment_meta, $subscription ) { |
|
363 | - $source_id = get_post_meta( $subscription->get_id(), '_stripe_source_id', true ); |
|
362 | + public function add_subscription_payment_meta($payment_meta, $subscription) { |
|
363 | + $source_id = get_post_meta($subscription->get_id(), '_stripe_source_id', true); |
|
364 | 364 | |
365 | 365 | // For BW compat will remove in future. |
366 | - if ( empty( $source_id ) ) { |
|
367 | - $source_id = get_post_meta( $subscription->get_id(), '_stripe_card_id', true ); |
|
366 | + if (empty($source_id)) { |
|
367 | + $source_id = get_post_meta($subscription->get_id(), '_stripe_card_id', true); |
|
368 | 368 | |
369 | 369 | // Take this opportunity to update the key name. |
370 | - update_post_meta( $subscription->get_id(), '_stripe_source_id', $source_id ); |
|
370 | + update_post_meta($subscription->get_id(), '_stripe_source_id', $source_id); |
|
371 | 371 | } |
372 | 372 | |
373 | - $payment_meta[ $this->id ] = array( |
|
373 | + $payment_meta[$this->id] = array( |
|
374 | 374 | 'post_meta' => array( |
375 | 375 | '_stripe_customer_id' => array( |
376 | - 'value' => get_post_meta( $subscription->get_id(), '_stripe_customer_id', true ), |
|
376 | + 'value' => get_post_meta($subscription->get_id(), '_stripe_customer_id', true), |
|
377 | 377 | 'label' => 'Stripe Customer ID', |
378 | 378 | ), |
379 | 379 | '_stripe_source_id' => array( |
@@ -394,26 +394,26 @@ discard block |
||
394 | 394 | * @param array $payment_meta associative array of meta data required for automatic payments |
395 | 395 | * @return array |
396 | 396 | */ |
397 | - public function validate_subscription_payment_meta( $payment_method_id, $payment_meta ) { |
|
398 | - if ( $this->id === $payment_method_id ) { |
|
397 | + public function validate_subscription_payment_meta($payment_method_id, $payment_meta) { |
|
398 | + if ($this->id === $payment_method_id) { |
|
399 | 399 | |
400 | - if ( ! isset( $payment_meta['post_meta']['_stripe_customer_id']['value'] ) || empty( $payment_meta['post_meta']['_stripe_customer_id']['value'] ) ) { |
|
400 | + if ( ! isset($payment_meta['post_meta']['_stripe_customer_id']['value']) || empty($payment_meta['post_meta']['_stripe_customer_id']['value'])) { |
|
401 | 401 | |
402 | 402 | // Allow empty stripe customer id during subscription renewal. It will be added when processing payment if required. |
403 | - if ( ! isset( $_POST['wc_order_action'] ) || 'wcs_process_renewal' !== $_POST['wc_order_action'] ) { |
|
404 | - throw new Exception( __( 'A "Stripe Customer ID" value is required.', 'woocommerce-gateway-stripe' ) ); |
|
403 | + if ( ! isset($_POST['wc_order_action']) || 'wcs_process_renewal' !== $_POST['wc_order_action']) { |
|
404 | + throw new Exception(__('A "Stripe Customer ID" value is required.', 'woocommerce-gateway-stripe')); |
|
405 | 405 | } |
406 | - } elseif ( 0 !== strpos( $payment_meta['post_meta']['_stripe_customer_id']['value'], 'cus_' ) ) { |
|
407 | - throw new Exception( __( 'Invalid customer ID. A valid "Stripe Customer ID" must begin with "cus_".', 'woocommerce-gateway-stripe' ) ); |
|
406 | + } elseif (0 !== strpos($payment_meta['post_meta']['_stripe_customer_id']['value'], 'cus_')) { |
|
407 | + throw new Exception(__('Invalid customer ID. A valid "Stripe Customer ID" must begin with "cus_".', 'woocommerce-gateway-stripe')); |
|
408 | 408 | } |
409 | 409 | |
410 | 410 | if ( |
411 | - ( ! empty( $payment_meta['post_meta']['_stripe_source_id']['value'] ) |
|
412 | - && 0 !== strpos( $payment_meta['post_meta']['_stripe_source_id']['value'], 'card_' ) ) |
|
413 | - && ( ! empty( $payment_meta['post_meta']['_stripe_source_id']['value'] ) |
|
414 | - && 0 !== strpos( $payment_meta['post_meta']['_stripe_source_id']['value'], 'src_' ) ) ) { |
|
411 | + ( ! empty($payment_meta['post_meta']['_stripe_source_id']['value']) |
|
412 | + && 0 !== strpos($payment_meta['post_meta']['_stripe_source_id']['value'], 'card_')) |
|
413 | + && ( ! empty($payment_meta['post_meta']['_stripe_source_id']['value']) |
|
414 | + && 0 !== strpos($payment_meta['post_meta']['_stripe_source_id']['value'], 'src_')) ) { |
|
415 | 415 | |
416 | - throw new Exception( __( 'Invalid source ID. A valid source "Stripe Source ID" must begin with "src_" or "card_".', 'woocommerce-gateway-stripe' ) ); |
|
416 | + throw new Exception(__('Invalid source ID. A valid source "Stripe Source ID" must begin with "src_" or "card_".', 'woocommerce-gateway-stripe')); |
|
417 | 417 | } |
418 | 418 | } |
419 | 419 | } |
@@ -426,67 +426,67 @@ discard block |
||
426 | 426 | * @param WC_Subscription $subscription the subscription details |
427 | 427 | * @return string the subscription payment method |
428 | 428 | */ |
429 | - public function maybe_render_subscription_payment_method( $payment_method_to_display, $subscription ) { |
|
429 | + public function maybe_render_subscription_payment_method($payment_method_to_display, $subscription) { |
|
430 | 430 | $customer_user = $subscription->get_customer_id(); |
431 | 431 | |
432 | 432 | // bail for other payment methods |
433 | - if ( $subscription->get_payment_method() !== $this->id || ! $customer_user ) { |
|
433 | + if ($subscription->get_payment_method() !== $this->id || ! $customer_user) { |
|
434 | 434 | return $payment_method_to_display; |
435 | 435 | } |
436 | 436 | |
437 | - $stripe_source_id = get_post_meta( $subscription->get_id(), '_stripe_source_id', true ); |
|
437 | + $stripe_source_id = get_post_meta($subscription->get_id(), '_stripe_source_id', true); |
|
438 | 438 | |
439 | 439 | // For BW compat will remove in future. |
440 | - if ( empty( $stripe_source_id ) ) { |
|
441 | - $stripe_source_id = get_post_meta( $subscription->get_id(), '_stripe_card_id', true ); |
|
440 | + if (empty($stripe_source_id)) { |
|
441 | + $stripe_source_id = get_post_meta($subscription->get_id(), '_stripe_card_id', true); |
|
442 | 442 | |
443 | 443 | // Take this opportunity to update the key name. |
444 | - update_post_meta( $subscription->get_id(), '_stripe_source_id', $stripe_source_id ); |
|
444 | + update_post_meta($subscription->get_id(), '_stripe_source_id', $stripe_source_id); |
|
445 | 445 | } |
446 | 446 | |
447 | 447 | $stripe_customer = new WC_Stripe_Customer(); |
448 | - $stripe_customer_id = get_post_meta( $subscription->get_id(), '_stripe_customer_id', true ); |
|
448 | + $stripe_customer_id = get_post_meta($subscription->get_id(), '_stripe_customer_id', true); |
|
449 | 449 | |
450 | 450 | // If we couldn't find a Stripe customer linked to the subscription, fallback to the user meta data. |
451 | - if ( ! $stripe_customer_id || ! is_string( $stripe_customer_id ) ) { |
|
451 | + if ( ! $stripe_customer_id || ! is_string($stripe_customer_id)) { |
|
452 | 452 | $user_id = $customer_user; |
453 | - $stripe_customer_id = get_user_option( '_stripe_customer_id', $user_id ); |
|
454 | - $stripe_source_id = get_user_option( '_stripe_source_id', $user_id ); |
|
453 | + $stripe_customer_id = get_user_option('_stripe_customer_id', $user_id); |
|
454 | + $stripe_source_id = get_user_option('_stripe_source_id', $user_id); |
|
455 | 455 | |
456 | 456 | // For BW compat will remove in future. |
457 | - if ( empty( $stripe_source_id ) ) { |
|
458 | - $stripe_source_id = get_user_option( '_stripe_card_id', $user_id ); |
|
457 | + if (empty($stripe_source_id)) { |
|
458 | + $stripe_source_id = get_user_option('_stripe_card_id', $user_id); |
|
459 | 459 | |
460 | 460 | // Take this opportunity to update the key name. |
461 | - update_user_option( $user_id, '_stripe_source_id', $stripe_source_id, false ); |
|
461 | + update_user_option($user_id, '_stripe_source_id', $stripe_source_id, false); |
|
462 | 462 | } |
463 | 463 | } |
464 | 464 | |
465 | 465 | // If we couldn't find a Stripe customer linked to the account, fallback to the order meta data. |
466 | - if ( ( ! $stripe_customer_id || ! is_string( $stripe_customer_id ) ) && false !== $subscription->order ) { |
|
467 | - $stripe_customer_id = get_post_meta( $subscription->get_parent_id(), '_stripe_customer_id', true ); |
|
468 | - $stripe_source_id = get_post_meta( $subscription->get_parent_id(), '_stripe_source_id', true ); |
|
466 | + if (( ! $stripe_customer_id || ! is_string($stripe_customer_id)) && false !== $subscription->order) { |
|
467 | + $stripe_customer_id = get_post_meta($subscription->get_parent_id(), '_stripe_customer_id', true); |
|
468 | + $stripe_source_id = get_post_meta($subscription->get_parent_id(), '_stripe_source_id', true); |
|
469 | 469 | |
470 | 470 | // For BW compat will remove in future. |
471 | - if ( empty( $stripe_source_id ) ) { |
|
472 | - $stripe_source_id = get_post_meta( $subscription->get_parent_id(), '_stripe_card_id', true ); |
|
471 | + if (empty($stripe_source_id)) { |
|
472 | + $stripe_source_id = get_post_meta($subscription->get_parent_id(), '_stripe_card_id', true); |
|
473 | 473 | |
474 | 474 | // Take this opportunity to update the key name. |
475 | - update_post_meta( $subscription->get_parent_id(), '_stripe_source_id', $stripe_source_id ); |
|
475 | + update_post_meta($subscription->get_parent_id(), '_stripe_source_id', $stripe_source_id); |
|
476 | 476 | } |
477 | 477 | } |
478 | 478 | |
479 | - $stripe_customer->set_id( $stripe_customer_id ); |
|
479 | + $stripe_customer->set_id($stripe_customer_id); |
|
480 | 480 | |
481 | 481 | $sources = $stripe_customer->get_sources(); |
482 | - $payment_method_to_display = __( 'N/A', 'woocommerce-gateway-stripe' ); |
|
482 | + $payment_method_to_display = __('N/A', 'woocommerce-gateway-stripe'); |
|
483 | 483 | |
484 | - if ( $sources ) { |
|
485 | - foreach ( $sources as $source ) { |
|
486 | - if ( $source->id === $stripe_source_id ) { |
|
487 | - if ( $source->sepa_debit ) { |
|
484 | + if ($sources) { |
|
485 | + foreach ($sources as $source) { |
|
486 | + if ($source->id === $stripe_source_id) { |
|
487 | + if ($source->sepa_debit) { |
|
488 | 488 | /* translators: 1) last 4 digits of SEPA Direct Debit */ |
489 | - $payment_method_to_display = sprintf( __( 'Via SEPA Direct Debit ending in %1$s', 'woocommerce-gateway-stripe' ), $source->sepa_debit->last4 ); |
|
489 | + $payment_method_to_display = sprintf(__('Via SEPA Direct Debit ending in %1$s', 'woocommerce-gateway-stripe'), $source->sepa_debit->last4); |
|
490 | 490 | } |
491 | 491 | |
492 | 492 | break; |