@@ -1,5 +1,5 @@ discard block |
||
1 | 1 | <?php |
2 | -if ( ! defined( 'ABSPATH' ) ) { |
|
2 | +if ( ! defined('ABSPATH')) { |
|
3 | 3 | exit; |
4 | 4 | } |
5 | 5 | |
@@ -32,10 +32,10 @@ discard block |
||
32 | 32 | * Constructor |
33 | 33 | * @param int $user_id The WP user ID |
34 | 34 | */ |
35 | - public function __construct( $user_id = 0 ) { |
|
36 | - if ( $user_id ) { |
|
37 | - $this->set_user_id( $user_id ); |
|
38 | - $this->set_id( $this->get_id_from_meta( $user_id ) ); |
|
35 | + public function __construct($user_id = 0) { |
|
36 | + if ($user_id) { |
|
37 | + $this->set_user_id($user_id); |
|
38 | + $this->set_id($this->get_id_from_meta($user_id)); |
|
39 | 39 | } |
40 | 40 | } |
41 | 41 | |
@@ -51,15 +51,15 @@ discard block |
||
51 | 51 | * Set Stripe customer ID. |
52 | 52 | * @param [type] $id [description] |
53 | 53 | */ |
54 | - public function set_id( $id ) { |
|
54 | + public function set_id($id) { |
|
55 | 55 | // Backwards compat for customer ID stored in array format. (Pre 3.0) |
56 | - if ( is_array( $id ) && isset( $id['customer_id'] ) ) { |
|
56 | + if (is_array($id) && isset($id['customer_id'])) { |
|
57 | 57 | $id = $id['customer_id']; |
58 | 58 | |
59 | - $this->update_id_in_meta( $id ); |
|
59 | + $this->update_id_in_meta($id); |
|
60 | 60 | } |
61 | 61 | |
62 | - $this->id = wc_clean( $id ); |
|
62 | + $this->id = wc_clean($id); |
|
63 | 63 | } |
64 | 64 | |
65 | 65 | /** |
@@ -67,15 +67,15 @@ discard block |
||
67 | 67 | * @return int |
68 | 68 | */ |
69 | 69 | public function get_user_id() { |
70 | - return absint( $this->user_id ); |
|
70 | + return absint($this->user_id); |
|
71 | 71 | } |
72 | 72 | |
73 | 73 | /** |
74 | 74 | * Set User ID used by WordPress. |
75 | 75 | * @param int $user_id |
76 | 76 | */ |
77 | - public function set_user_id( $user_id ) { |
|
78 | - $this->user_id = absint( $user_id ); |
|
77 | + public function set_user_id($user_id) { |
|
78 | + $this->user_id = absint($user_id); |
|
79 | 79 | } |
80 | 80 | |
81 | 81 | /** |
@@ -83,13 +83,13 @@ discard block |
||
83 | 83 | * @return WP_User |
84 | 84 | */ |
85 | 85 | protected function get_user() { |
86 | - return $this->get_user_id() ? get_user_by( 'id', $this->get_user_id() ) : false; |
|
86 | + return $this->get_user_id() ? get_user_by('id', $this->get_user_id()) : false; |
|
87 | 87 | } |
88 | 88 | |
89 | 89 | /** |
90 | 90 | * Store data from the Stripe API about this customer |
91 | 91 | */ |
92 | - public function set_customer_data( $data ) { |
|
92 | + public function set_customer_data($data) { |
|
93 | 93 | $this->customer_data = $data; |
94 | 94 | } |
95 | 95 | |
@@ -99,58 +99,58 @@ discard block |
||
99 | 99 | * @param array $args Additional arguments (optional). |
100 | 100 | * @return array |
101 | 101 | */ |
102 | - protected function generate_customer_request( $args = array() ) { |
|
103 | - $billing_email = isset( $_POST['billing_email'] ) ? filter_var( $_POST['billing_email'], FILTER_SANITIZE_EMAIL ) : ''; |
|
102 | + protected function generate_customer_request($args = array()) { |
|
103 | + $billing_email = isset($_POST['billing_email']) ? filter_var($_POST['billing_email'], FILTER_SANITIZE_EMAIL) : ''; |
|
104 | 104 | $user = $this->get_user(); |
105 | 105 | |
106 | - if ( $user ) { |
|
107 | - $billing_first_name = get_user_meta( $user->ID, 'billing_first_name', true ); |
|
108 | - $billing_last_name = get_user_meta( $user->ID, 'billing_last_name', true ); |
|
106 | + if ($user) { |
|
107 | + $billing_first_name = get_user_meta($user->ID, 'billing_first_name', true); |
|
108 | + $billing_last_name = get_user_meta($user->ID, 'billing_last_name', true); |
|
109 | 109 | |
110 | 110 | // If billing first name does not exists try the user first name. |
111 | - if ( empty( $billing_first_name ) ) { |
|
112 | - $billing_first_name = get_user_meta( $user->ID, 'first_name', true ); |
|
111 | + if (empty($billing_first_name)) { |
|
112 | + $billing_first_name = get_user_meta($user->ID, 'first_name', true); |
|
113 | 113 | } |
114 | 114 | |
115 | 115 | // If billing last name does not exists try the user last name. |
116 | - if ( empty( $billing_last_name ) ) { |
|
117 | - $billing_last_name = get_user_meta( $user->ID, 'last_name', true ); |
|
116 | + if (empty($billing_last_name)) { |
|
117 | + $billing_last_name = get_user_meta($user->ID, 'last_name', true); |
|
118 | 118 | } |
119 | 119 | |
120 | 120 | // translators: %1$s First name, %2$s Second name, %3$s Username. |
121 | - $description = sprintf( __( 'Name: %1$s %2$s, Username: %s', 'woocommerce-gateway-stripe' ), $billing_first_name, $billing_last_name, $user->user_login ); |
|
121 | + $description = sprintf(__('Name: %1$s %2$s, Username: %s', 'woocommerce-gateway-stripe'), $billing_first_name, $billing_last_name, $user->user_login); |
|
122 | 122 | |
123 | 123 | $defaults = array( |
124 | 124 | 'email' => $user->user_email, |
125 | 125 | 'description' => $description, |
126 | 126 | ); |
127 | 127 | |
128 | - $billing_full_name = trim( $billing_first_name . ' ' . $billing_last_name ); |
|
129 | - if ( ! empty( $billing_full_name ) ) { |
|
128 | + $billing_full_name = trim($billing_first_name . ' ' . $billing_last_name); |
|
129 | + if ( ! empty($billing_full_name)) { |
|
130 | 130 | $defaults['name'] = $billing_full_name; |
131 | 131 | } |
132 | 132 | } else { |
133 | - $billing_first_name = isset( $_POST['billing_first_name'] ) ? filter_var( wp_unslash( $_POST['billing_first_name'] ), FILTER_SANITIZE_STRING ) : ''; // phpcs:ignore WordPress.Security.NonceVerification |
|
134 | - $billing_last_name = isset( $_POST['billing_last_name'] ) ? filter_var( wp_unslash( $_POST['billing_last_name'] ), FILTER_SANITIZE_STRING ) : ''; // phpcs:ignore WordPress.Security.NonceVerification |
|
133 | + $billing_first_name = isset($_POST['billing_first_name']) ? filter_var(wp_unslash($_POST['billing_first_name']), FILTER_SANITIZE_STRING) : ''; // phpcs:ignore WordPress.Security.NonceVerification |
|
134 | + $billing_last_name = isset($_POST['billing_last_name']) ? filter_var(wp_unslash($_POST['billing_last_name']), FILTER_SANITIZE_STRING) : ''; // phpcs:ignore WordPress.Security.NonceVerification |
|
135 | 135 | |
136 | 136 | // translators: %1$s First name, %2$s Second name. |
137 | - $description = sprintf( __( 'Name: %1$s %2$s, Guest', 'woocommerce-gateway-stripe' ), $billing_first_name, $billing_last_name ); |
|
137 | + $description = sprintf(__('Name: %1$s %2$s, Guest', 'woocommerce-gateway-stripe'), $billing_first_name, $billing_last_name); |
|
138 | 138 | |
139 | 139 | $defaults = array( |
140 | 140 | 'email' => $billing_email, |
141 | 141 | 'description' => $description, |
142 | 142 | ); |
143 | 143 | |
144 | - $billing_full_name = trim( $billing_first_name . ' ' . $billing_last_name ); |
|
145 | - if ( ! empty( $billing_full_name ) ) { |
|
144 | + $billing_full_name = trim($billing_first_name . ' ' . $billing_last_name); |
|
145 | + if ( ! empty($billing_full_name)) { |
|
146 | 146 | $defaults['name'] = $billing_full_name; |
147 | 147 | } |
148 | 148 | } |
149 | 149 | |
150 | 150 | $metadata = array(); |
151 | - $defaults['metadata'] = apply_filters( 'wc_stripe_customer_metadata', $metadata, $user ); |
|
151 | + $defaults['metadata'] = apply_filters('wc_stripe_customer_metadata', $metadata, $user); |
|
152 | 152 | |
153 | - return wp_parse_args( $args, $defaults ); |
|
153 | + return wp_parse_args($args, $defaults); |
|
154 | 154 | } |
155 | 155 | |
156 | 156 | /** |
@@ -158,23 +158,23 @@ discard block |
||
158 | 158 | * @param array $args |
159 | 159 | * @return WP_Error|int |
160 | 160 | */ |
161 | - public function create_customer( $args = array() ) { |
|
162 | - $args = $this->generate_customer_request( $args ); |
|
163 | - $response = WC_Stripe_API::request( apply_filters( 'wc_stripe_create_customer_args', $args ), 'customers' ); |
|
161 | + public function create_customer($args = array()) { |
|
162 | + $args = $this->generate_customer_request($args); |
|
163 | + $response = WC_Stripe_API::request(apply_filters('wc_stripe_create_customer_args', $args), 'customers'); |
|
164 | 164 | |
165 | - if ( ! empty( $response->error ) ) { |
|
166 | - throw new WC_Stripe_Exception( print_r( $response, true ), $response->error->message ); |
|
165 | + if ( ! empty($response->error)) { |
|
166 | + throw new WC_Stripe_Exception(print_r($response, true), $response->error->message); |
|
167 | 167 | } |
168 | 168 | |
169 | - $this->set_id( $response->id ); |
|
169 | + $this->set_id($response->id); |
|
170 | 170 | $this->clear_cache(); |
171 | - $this->set_customer_data( $response ); |
|
171 | + $this->set_customer_data($response); |
|
172 | 172 | |
173 | - if ( $this->get_user_id() ) { |
|
174 | - $this->update_id_in_meta( $response->id ); |
|
173 | + if ($this->get_user_id()) { |
|
174 | + $this->update_id_in_meta($response->id); |
|
175 | 175 | } |
176 | 176 | |
177 | - do_action( 'woocommerce_stripe_add_customer', $args, $response ); |
|
177 | + do_action('woocommerce_stripe_add_customer', $args, $response); |
|
178 | 178 | |
179 | 179 | return $response->id; |
180 | 180 | } |
@@ -189,30 +189,30 @@ discard block |
||
189 | 189 | * |
190 | 190 | * @throws WC_Stripe_Exception |
191 | 191 | */ |
192 | - public function update_customer( $args = array(), $is_retry = false ) { |
|
193 | - if ( empty( $this->get_id() ) ) { |
|
194 | - throw new WC_Stripe_Exception( 'id_required_to_update_user', __( 'Attempting to update a Stripe customer without a customer ID.', 'woocommerce-gateway-stripe' ) ); |
|
192 | + public function update_customer($args = array(), $is_retry = false) { |
|
193 | + if (empty($this->get_id())) { |
|
194 | + throw new WC_Stripe_Exception('id_required_to_update_user', __('Attempting to update a Stripe customer without a customer ID.', 'woocommerce-gateway-stripe')); |
|
195 | 195 | } |
196 | 196 | |
197 | - $args = $this->generate_customer_request( $args ); |
|
198 | - $args = apply_filters( 'wc_stripe_update_customer_args', $args ); |
|
199 | - $response = WC_Stripe_API::request( $args, 'customers/' . $this->get_id() ); |
|
197 | + $args = $this->generate_customer_request($args); |
|
198 | + $args = apply_filters('wc_stripe_update_customer_args', $args); |
|
199 | + $response = WC_Stripe_API::request($args, 'customers/' . $this->get_id()); |
|
200 | 200 | |
201 | - if ( ! empty( $response->error ) ) { |
|
202 | - if ( $this->is_no_such_customer_error( $response->error ) && ! $is_retry ) { |
|
201 | + if ( ! empty($response->error)) { |
|
202 | + if ($this->is_no_such_customer_error($response->error) && ! $is_retry) { |
|
203 | 203 | // This can happen when switching the main Stripe account or importing users from another site. |
204 | 204 | // If not already retrying, recreate the customer and then try updating it again. |
205 | 205 | $this->recreate_customer(); |
206 | - return $this->update_customer( $args, true ); |
|
206 | + return $this->update_customer($args, true); |
|
207 | 207 | } |
208 | 208 | |
209 | - throw new WC_Stripe_Exception( print_r( $response, true ), $response->error->message ); |
|
209 | + throw new WC_Stripe_Exception(print_r($response, true), $response->error->message); |
|
210 | 210 | } |
211 | 211 | |
212 | 212 | $this->clear_cache(); |
213 | - $this->set_customer_data( $response ); |
|
213 | + $this->set_customer_data($response); |
|
214 | 214 | |
215 | - do_action( 'woocommerce_stripe_update_customer', $args, $response ); |
|
215 | + do_action('woocommerce_stripe_update_customer', $args, $response); |
|
216 | 216 | |
217 | 217 | return $this->get_id(); |
218 | 218 | } |
@@ -224,11 +224,11 @@ discard block |
||
224 | 224 | * @since 4.1.2 |
225 | 225 | * @param array $error |
226 | 226 | */ |
227 | - public function is_no_such_customer_error( $error ) { |
|
227 | + public function is_no_such_customer_error($error) { |
|
228 | 228 | return ( |
229 | 229 | $error && |
230 | 230 | 'invalid_request_error' === $error->type && |
231 | - preg_match( '/No such customer/i', $error->message ) |
|
231 | + preg_match('/No such customer/i', $error->message) |
|
232 | 232 | ); |
233 | 233 | } |
234 | 234 | |
@@ -240,11 +240,11 @@ discard block |
||
240 | 240 | * @param array $error |
241 | 241 | * @return bool |
242 | 242 | */ |
243 | - public function is_source_already_attached_error( $error ) { |
|
243 | + public function is_source_already_attached_error($error) { |
|
244 | 244 | return ( |
245 | 245 | $error && |
246 | 246 | 'invalid_request_error' === $error->type && |
247 | - preg_match( '/already been attached to a customer/i', $error->message ) |
|
247 | + preg_match('/already been attached to a customer/i', $error->message) |
|
248 | 248 | ); |
249 | 249 | } |
250 | 250 | |
@@ -253,56 +253,56 @@ discard block |
||
253 | 253 | * @param string $source_id |
254 | 254 | * @return WP_Error|int |
255 | 255 | */ |
256 | - public function add_source( $source_id ) { |
|
257 | - $response = $this->attach_source( $source_id ); |
|
258 | - if ( is_wp_error( $response ) ) { |
|
256 | + public function add_source($source_id) { |
|
257 | + $response = $this->attach_source($source_id); |
|
258 | + if (is_wp_error($response)) { |
|
259 | 259 | return $response; |
260 | 260 | } |
261 | 261 | |
262 | 262 | // Add token to WooCommerce. |
263 | 263 | $wc_token = false; |
264 | 264 | |
265 | - if ( $this->get_user_id() && class_exists( 'WC_Payment_Token_CC' ) ) { |
|
266 | - if ( ! empty( $response->type ) ) { |
|
267 | - switch ( $response->type ) { |
|
265 | + if ($this->get_user_id() && class_exists('WC_Payment_Token_CC')) { |
|
266 | + if ( ! empty($response->type)) { |
|
267 | + switch ($response->type) { |
|
268 | 268 | case 'alipay': |
269 | 269 | break; |
270 | 270 | case 'sepa_debit': |
271 | 271 | $wc_token = new WC_Payment_Token_SEPA(); |
272 | - $wc_token->set_token( $response->id ); |
|
273 | - $wc_token->set_gateway_id( 'stripe_sepa' ); |
|
274 | - $wc_token->set_last4( $response->sepa_debit->last4 ); |
|
272 | + $wc_token->set_token($response->id); |
|
273 | + $wc_token->set_gateway_id('stripe_sepa'); |
|
274 | + $wc_token->set_last4($response->sepa_debit->last4); |
|
275 | 275 | break; |
276 | 276 | default: |
277 | - if ( 'source' === $response->object && 'card' === $response->type ) { |
|
277 | + if ('source' === $response->object && 'card' === $response->type) { |
|
278 | 278 | $wc_token = new WC_Payment_Token_CC(); |
279 | - $wc_token->set_token( $response->id ); |
|
280 | - $wc_token->set_gateway_id( 'stripe' ); |
|
281 | - $wc_token->set_card_type( strtolower( $response->card->brand ) ); |
|
282 | - $wc_token->set_last4( $response->card->last4 ); |
|
283 | - $wc_token->set_expiry_month( $response->card->exp_month ); |
|
284 | - $wc_token->set_expiry_year( $response->card->exp_year ); |
|
279 | + $wc_token->set_token($response->id); |
|
280 | + $wc_token->set_gateway_id('stripe'); |
|
281 | + $wc_token->set_card_type(strtolower($response->card->brand)); |
|
282 | + $wc_token->set_last4($response->card->last4); |
|
283 | + $wc_token->set_expiry_month($response->card->exp_month); |
|
284 | + $wc_token->set_expiry_year($response->card->exp_year); |
|
285 | 285 | } |
286 | 286 | break; |
287 | 287 | } |
288 | 288 | } else { |
289 | 289 | // Legacy. |
290 | 290 | $wc_token = new WC_Payment_Token_CC(); |
291 | - $wc_token->set_token( $response->id ); |
|
292 | - $wc_token->set_gateway_id( 'stripe' ); |
|
293 | - $wc_token->set_card_type( strtolower( $response->brand ) ); |
|
294 | - $wc_token->set_last4( $response->last4 ); |
|
295 | - $wc_token->set_expiry_month( $response->exp_month ); |
|
296 | - $wc_token->set_expiry_year( $response->exp_year ); |
|
291 | + $wc_token->set_token($response->id); |
|
292 | + $wc_token->set_gateway_id('stripe'); |
|
293 | + $wc_token->set_card_type(strtolower($response->brand)); |
|
294 | + $wc_token->set_last4($response->last4); |
|
295 | + $wc_token->set_expiry_month($response->exp_month); |
|
296 | + $wc_token->set_expiry_year($response->exp_year); |
|
297 | 297 | } |
298 | 298 | |
299 | - $wc_token->set_user_id( $this->get_user_id() ); |
|
299 | + $wc_token->set_user_id($this->get_user_id()); |
|
300 | 300 | $wc_token->save(); |
301 | 301 | } |
302 | 302 | |
303 | 303 | $this->clear_cache(); |
304 | 304 | |
305 | - do_action( 'woocommerce_stripe_add_source', $this->get_id(), $wc_token, $response, $source_id ); |
|
305 | + do_action('woocommerce_stripe_add_source', $this->get_id(), $wc_token, $response, $source_id); |
|
306 | 306 | |
307 | 307 | return $response->id; |
308 | 308 | } |
@@ -313,9 +313,9 @@ discard block |
||
313 | 313 | * @param string $source_id The ID of the new source. |
314 | 314 | * @return object|WP_Error Either a source object, or a WP error. |
315 | 315 | */ |
316 | - public function attach_source( $source_id ) { |
|
317 | - if ( ! $this->get_id() ) { |
|
318 | - $this->set_id( $this->create_customer() ); |
|
316 | + public function attach_source($source_id) { |
|
317 | + if ( ! $this->get_id()) { |
|
318 | + $this->set_id($this->create_customer()); |
|
319 | 319 | } |
320 | 320 | |
321 | 321 | $response = WC_Stripe_API::request( |
@@ -325,20 +325,20 @@ discard block |
||
325 | 325 | 'customers/' . $this->get_id() . '/sources' |
326 | 326 | ); |
327 | 327 | |
328 | - if ( ! empty( $response->error ) ) { |
|
328 | + if ( ! empty($response->error)) { |
|
329 | 329 | // It is possible the WC user once was linked to a customer on Stripe |
330 | 330 | // but no longer exists. Instead of failing, lets try to create a |
331 | 331 | // new customer. |
332 | - if ( $this->is_no_such_customer_error( $response->error ) ) { |
|
332 | + if ($this->is_no_such_customer_error($response->error)) { |
|
333 | 333 | $this->recreate_customer(); |
334 | - return $this->attach_source( $source_id ); |
|
335 | - } elseif( $this->is_source_already_attached_error( $response->error ) ) { |
|
336 | - return WC_Stripe_API::request( array(), 'sources/' . $source_id, 'GET' ); |
|
334 | + return $this->attach_source($source_id); |
|
335 | + } elseif ($this->is_source_already_attached_error($response->error)) { |
|
336 | + return WC_Stripe_API::request(array(), 'sources/' . $source_id, 'GET'); |
|
337 | 337 | } else { |
338 | 338 | return $response; |
339 | 339 | } |
340 | - } elseif ( empty( $response->id ) ) { |
|
341 | - return new WP_Error( 'error', __( 'Unable to add payment source.', 'woocommerce-gateway-stripe' ) ); |
|
340 | + } elseif (empty($response->id)) { |
|
341 | + return new WP_Error('error', __('Unable to add payment source.', 'woocommerce-gateway-stripe')); |
|
342 | 342 | } else { |
343 | 343 | return $response; |
344 | 344 | } |
@@ -351,13 +351,13 @@ discard block |
||
351 | 351 | * @return array |
352 | 352 | */ |
353 | 353 | public function get_sources() { |
354 | - if ( ! $this->get_id() ) { |
|
354 | + if ( ! $this->get_id()) { |
|
355 | 355 | return array(); |
356 | 356 | } |
357 | 357 | |
358 | - $sources = get_transient( 'stripe_sources_' . $this->get_id() ); |
|
358 | + $sources = get_transient('stripe_sources_' . $this->get_id()); |
|
359 | 359 | |
360 | - if ( false === $sources ) { |
|
360 | + if (false === $sources) { |
|
361 | 361 | $response = WC_Stripe_API::request( |
362 | 362 | array( |
363 | 363 | 'limit' => 100, |
@@ -366,35 +366,35 @@ discard block |
||
366 | 366 | 'GET' |
367 | 367 | ); |
368 | 368 | |
369 | - if ( ! empty( $response->error ) ) { |
|
369 | + if ( ! empty($response->error)) { |
|
370 | 370 | return array(); |
371 | 371 | } |
372 | 372 | |
373 | - if ( is_array( $response->data ) ) { |
|
373 | + if (is_array($response->data)) { |
|
374 | 374 | $sources = $response->data; |
375 | 375 | } |
376 | 376 | |
377 | - set_transient( 'stripe_sources_' . $this->get_id(), $sources, DAY_IN_SECONDS ); |
|
377 | + set_transient('stripe_sources_' . $this->get_id(), $sources, DAY_IN_SECONDS); |
|
378 | 378 | } |
379 | 379 | |
380 | - return empty( $sources ) ? array() : $sources; |
|
380 | + return empty($sources) ? array() : $sources; |
|
381 | 381 | } |
382 | 382 | |
383 | 383 | /** |
384 | 384 | * Delete a source from stripe. |
385 | 385 | * @param string $source_id |
386 | 386 | */ |
387 | - public function delete_source( $source_id ) { |
|
388 | - if ( ! $this->get_id() ) { |
|
387 | + public function delete_source($source_id) { |
|
388 | + if ( ! $this->get_id()) { |
|
389 | 389 | return false; |
390 | 390 | } |
391 | 391 | |
392 | - $response = WC_Stripe_API::request( array(), 'customers/' . $this->get_id() . '/sources/' . sanitize_text_field( $source_id ), 'DELETE' ); |
|
392 | + $response = WC_Stripe_API::request(array(), 'customers/' . $this->get_id() . '/sources/' . sanitize_text_field($source_id), 'DELETE'); |
|
393 | 393 | |
394 | 394 | $this->clear_cache(); |
395 | 395 | |
396 | - if ( empty( $response->error ) ) { |
|
397 | - do_action( 'wc_stripe_delete_source', $this->get_id(), $response ); |
|
396 | + if (empty($response->error)) { |
|
397 | + do_action('wc_stripe_delete_source', $this->get_id(), $response); |
|
398 | 398 | |
399 | 399 | return true; |
400 | 400 | } |
@@ -406,10 +406,10 @@ discard block |
||
406 | 406 | * Set default source in Stripe |
407 | 407 | * @param string $source_id |
408 | 408 | */ |
409 | - public function set_default_source( $source_id ) { |
|
409 | + public function set_default_source($source_id) { |
|
410 | 410 | $response = WC_Stripe_API::request( |
411 | 411 | array( |
412 | - 'default_source' => sanitize_text_field( $source_id ), |
|
412 | + 'default_source' => sanitize_text_field($source_id), |
|
413 | 413 | ), |
414 | 414 | 'customers/' . $this->get_id(), |
415 | 415 | 'POST' |
@@ -417,8 +417,8 @@ discard block |
||
417 | 417 | |
418 | 418 | $this->clear_cache(); |
419 | 419 | |
420 | - if ( empty( $response->error ) ) { |
|
421 | - do_action( 'wc_stripe_set_default_source', $this->get_id(), $response ); |
|
420 | + if (empty($response->error)) { |
|
421 | + do_action('wc_stripe_set_default_source', $this->get_id(), $response); |
|
422 | 422 | |
423 | 423 | return true; |
424 | 424 | } |
@@ -430,8 +430,8 @@ discard block |
||
430 | 430 | * Deletes caches for this users cards. |
431 | 431 | */ |
432 | 432 | public function clear_cache() { |
433 | - delete_transient( 'stripe_sources_' . $this->get_id() ); |
|
434 | - delete_transient( 'stripe_customer_' . $this->get_id() ); |
|
433 | + delete_transient('stripe_sources_' . $this->get_id()); |
|
434 | + delete_transient('stripe_customer_' . $this->get_id()); |
|
435 | 435 | $this->customer_data = array(); |
436 | 436 | } |
437 | 437 | |
@@ -441,8 +441,8 @@ discard block |
||
441 | 441 | * @param int $user_id The ID of the WordPress user. |
442 | 442 | * @return string|bool Either the Stripe ID or false. |
443 | 443 | */ |
444 | - public function get_id_from_meta( $user_id ) { |
|
445 | - return get_user_option( '_stripe_customer_id', $user_id ); |
|
444 | + public function get_id_from_meta($user_id) { |
|
445 | + return get_user_option('_stripe_customer_id', $user_id); |
|
446 | 446 | } |
447 | 447 | |
448 | 448 | /** |
@@ -450,15 +450,15 @@ discard block |
||
450 | 450 | * |
451 | 451 | * @param string $id The Stripe customer ID. |
452 | 452 | */ |
453 | - public function update_id_in_meta( $id ) { |
|
454 | - update_user_option( $this->get_user_id(), '_stripe_customer_id', $id, false ); |
|
453 | + public function update_id_in_meta($id) { |
|
454 | + update_user_option($this->get_user_id(), '_stripe_customer_id', $id, false); |
|
455 | 455 | } |
456 | 456 | |
457 | 457 | /** |
458 | 458 | * Deletes the user ID from the meta table with the right key. |
459 | 459 | */ |
460 | 460 | public function delete_id_from_meta() { |
461 | - delete_user_option( $this->get_user_id(), '_stripe_customer_id', false ); |
|
461 | + delete_user_option($this->get_user_id(), '_stripe_customer_id', false); |
|
462 | 462 | } |
463 | 463 | |
464 | 464 | /** |
@@ -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; |
@@ -1,5 +1,5 @@ discard block |
||
1 | 1 | <?php |
2 | -if ( ! defined( 'ABSPATH' ) ) { |
|
2 | +if ( ! defined('ABSPATH')) { |
|
3 | 3 | exit; |
4 | 4 | } |
5 | 5 | |
@@ -23,8 +23,8 @@ discard block |
||
23 | 23 | * @since 4.2.0 |
24 | 24 | */ |
25 | 25 | public function __construct() { |
26 | - add_action( 'wc_ajax_wc_stripe_verify_intent', array( $this, 'verify_intent' ) ); |
|
27 | - add_action( 'wc_ajax_wc_stripe_create_setup_intent', array( $this, 'create_setup_intent' ) ); |
|
26 | + add_action('wc_ajax_wc_stripe_verify_intent', array($this, 'verify_intent')); |
|
27 | + add_action('wc_ajax_wc_stripe_create_setup_intent', array($this, 'create_setup_intent')); |
|
28 | 28 | } |
29 | 29 | |
30 | 30 | /** |
@@ -34,8 +34,8 @@ discard block |
||
34 | 34 | * @return WC_Gateway_Stripe |
35 | 35 | */ |
36 | 36 | protected function get_gateway() { |
37 | - if ( ! isset( $this->gateway ) ) { |
|
38 | - if ( class_exists( 'WC_Subscriptions_Order' ) && function_exists( 'wcs_create_renewal_order' ) ) { |
|
37 | + if ( ! isset($this->gateway)) { |
|
38 | + if (class_exists('WC_Subscriptions_Order') && function_exists('wcs_create_renewal_order')) { |
|
39 | 39 | $class_name = 'WC_Stripe_Subs_Compat'; |
40 | 40 | } else { |
41 | 41 | $class_name = 'WC_Gateway_Stripe'; |
@@ -55,21 +55,21 @@ discard block |
||
55 | 55 | * @return WC_Order |
56 | 56 | */ |
57 | 57 | protected function get_order_from_request() { |
58 | - if ( ! isset( $_GET['nonce'] ) || ! wp_verify_nonce( sanitize_key( $_GET['nonce'] ), 'wc_stripe_confirm_pi' ) ) { |
|
59 | - throw new WC_Stripe_Exception( 'missing-nonce', __( 'CSRF verification failed.', 'woocommerce-gateway-stripe' ) ); |
|
58 | + if ( ! isset($_GET['nonce']) || ! wp_verify_nonce(sanitize_key($_GET['nonce']), 'wc_stripe_confirm_pi')) { |
|
59 | + throw new WC_Stripe_Exception('missing-nonce', __('CSRF verification failed.', 'woocommerce-gateway-stripe')); |
|
60 | 60 | } |
61 | 61 | |
62 | 62 | // Load the order ID. |
63 | 63 | $order_id = null; |
64 | - if ( isset( $_GET['order'] ) && absint( $_GET['order'] ) ) { |
|
65 | - $order_id = absint( $_GET['order'] ); |
|
64 | + if (isset($_GET['order']) && absint($_GET['order'])) { |
|
65 | + $order_id = absint($_GET['order']); |
|
66 | 66 | } |
67 | 67 | |
68 | 68 | // Retrieve the order. |
69 | - $order = wc_get_order( $order_id ); |
|
69 | + $order = wc_get_order($order_id); |
|
70 | 70 | |
71 | - if ( ! $order ) { |
|
72 | - throw new WC_Stripe_Exception( 'missing-order', __( 'Missing order ID for payment confirmation', 'woocommerce-gateway-stripe' ) ); |
|
71 | + if ( ! $order) { |
|
72 | + throw new WC_Stripe_Exception('missing-order', __('Missing order ID for payment confirmation', 'woocommerce-gateway-stripe')); |
|
73 | 73 | } |
74 | 74 | |
75 | 75 | return $order; |
@@ -87,32 +87,32 @@ discard block |
||
87 | 87 | |
88 | 88 | try { |
89 | 89 | $order = $this->get_order_from_request(); |
90 | - } catch ( WC_Stripe_Exception $e ) { |
|
90 | + } catch (WC_Stripe_Exception $e) { |
|
91 | 91 | /* translators: Error message text */ |
92 | - $message = sprintf( __( 'Payment verification error: %s', 'woocommerce-gateway-stripe' ), $e->getLocalizedMessage() ); |
|
93 | - wc_add_notice( esc_html( $message ), 'error' ); |
|
92 | + $message = sprintf(__('Payment verification error: %s', 'woocommerce-gateway-stripe'), $e->getLocalizedMessage()); |
|
93 | + wc_add_notice(esc_html($message), 'error'); |
|
94 | 94 | |
95 | 95 | $redirect_url = $woocommerce->cart->is_empty() |
96 | - ? get_permalink( wc_get_page_id( 'shop' ) ) |
|
96 | + ? get_permalink(wc_get_page_id('shop')) |
|
97 | 97 | : wc_get_checkout_url(); |
98 | 98 | |
99 | - $this->handle_error( $e, $redirect_url ); |
|
99 | + $this->handle_error($e, $redirect_url); |
|
100 | 100 | } |
101 | 101 | |
102 | 102 | try { |
103 | - $gateway->verify_intent_after_checkout( $order ); |
|
103 | + $gateway->verify_intent_after_checkout($order); |
|
104 | 104 | |
105 | - if ( ! isset( $_GET['is_ajax'] ) ) { |
|
106 | - $redirect_url = isset( $_GET['redirect_to'] ) // wpcs: csrf ok. |
|
107 | - ? esc_url_raw( wp_unslash( $_GET['redirect_to'] ) ) // wpcs: csrf ok. |
|
108 | - : $gateway->get_return_url( $order ); |
|
105 | + if ( ! isset($_GET['is_ajax'])) { |
|
106 | + $redirect_url = isset($_GET['redirect_to']) // wpcs: csrf ok. |
|
107 | + ? esc_url_raw(wp_unslash($_GET['redirect_to'])) // wpcs: csrf ok. |
|
108 | + : $gateway->get_return_url($order); |
|
109 | 109 | |
110 | - wp_safe_redirect( $redirect_url ); |
|
110 | + wp_safe_redirect($redirect_url); |
|
111 | 111 | } |
112 | 112 | |
113 | 113 | exit; |
114 | - } catch ( WC_Stripe_Exception $e ) { |
|
115 | - $this->handle_error( $e, $gateway->get_return_url( $order ) ); |
|
114 | + } catch (WC_Stripe_Exception $e) { |
|
115 | + $this->handle_error($e, $gateway->get_return_url($order)); |
|
116 | 116 | } |
117 | 117 | } |
118 | 118 | |
@@ -123,17 +123,17 @@ discard block |
||
123 | 123 | * @param WC_Stripe_Exception $e The exception that was thrown. |
124 | 124 | * @param string $redirect_url An URL to use if a redirect is needed. |
125 | 125 | */ |
126 | - protected function handle_error( $e, $redirect_url ) { |
|
126 | + protected function handle_error($e, $redirect_url) { |
|
127 | 127 | // Log the exception before redirecting. |
128 | - $message = sprintf( 'PaymentIntent verification exception: %s', $e->getLocalizedMessage() ); |
|
129 | - WC_Stripe_Logger::log( $message ); |
|
128 | + $message = sprintf('PaymentIntent verification exception: %s', $e->getLocalizedMessage()); |
|
129 | + WC_Stripe_Logger::log($message); |
|
130 | 130 | |
131 | 131 | // `is_ajax` is only used for PI error reporting, a response is not expected. |
132 | - if ( isset( $_GET['is_ajax'] ) ) { |
|
132 | + if (isset($_GET['is_ajax'])) { |
|
133 | 133 | exit; |
134 | 134 | } |
135 | 135 | |
136 | - wp_safe_redirect( $redirect_url ); |
|
136 | + wp_safe_redirect($redirect_url); |
|
137 | 137 | exit; |
138 | 138 | } |
139 | 139 | |
@@ -143,31 +143,31 @@ discard block |
||
143 | 143 | public function create_setup_intent() { |
144 | 144 | if ( |
145 | 145 | ! is_user_logged_in() |
146 | - || ! isset( $_POST['stripe_source_id'] ) |
|
147 | - || ! isset( $_POST['nonce'] ) |
|
146 | + || ! isset($_POST['stripe_source_id']) |
|
147 | + || ! isset($_POST['nonce']) |
|
148 | 148 | ) { |
149 | 149 | return; |
150 | 150 | } |
151 | 151 | |
152 | 152 | try { |
153 | - $source_id = wc_clean( $_POST['stripe_source_id'] ); |
|
153 | + $source_id = wc_clean($_POST['stripe_source_id']); |
|
154 | 154 | |
155 | 155 | // 1. Verify. |
156 | 156 | if ( |
157 | - ! wp_verify_nonce( sanitize_key( $_POST['nonce'] ), 'wc_stripe_create_si' ) |
|
158 | - || ! preg_match( '/^src_.*$/', $source_id ) |
|
157 | + ! wp_verify_nonce(sanitize_key($_POST['nonce']), 'wc_stripe_create_si') |
|
158 | + || ! preg_match('/^src_.*$/', $source_id) |
|
159 | 159 | ) { |
160 | - throw new Exception( __( 'Unable to verify your request. Please reload the page and try again.', 'woocommerce-gateway-stripe' ) ); |
|
160 | + throw new Exception(__('Unable to verify your request. Please reload the page and try again.', 'woocommerce-gateway-stripe')); |
|
161 | 161 | } |
162 | 162 | |
163 | 163 | |
164 | 164 | // 2. Load the customer ID (and create a customer eventually). |
165 | - $customer = new WC_Stripe_Customer( wp_get_current_user()->ID ); |
|
165 | + $customer = new WC_Stripe_Customer(wp_get_current_user()->ID); |
|
166 | 166 | |
167 | 167 | // 3. Attach the source to the customer (Setup Intents require that). |
168 | - $source_object = $customer->attach_source( $source_id ); |
|
169 | - if ( is_wp_error( $source_object ) ) { |
|
170 | - throw new Exception( $source_object->get_error_message() ); |
|
168 | + $source_object = $customer->attach_source($source_id); |
|
169 | + if (is_wp_error($source_object)) { |
|
170 | + throw new Exception($source_object->get_error_message()); |
|
171 | 171 | } |
172 | 172 | |
173 | 173 | // 4. Generate the setup intent |
@@ -180,28 +180,28 @@ discard block |
||
180 | 180 | 'setup_intents' |
181 | 181 | ); |
182 | 182 | |
183 | - if ( $setup_intent->error ) { |
|
184 | - $error_response_message = print_r( $setup_intent, true ); |
|
183 | + if ($setup_intent->error) { |
|
184 | + $error_response_message = print_r($setup_intent, true); |
|
185 | 185 | WC_Stripe_Logger::log("Failed create Setup Intent while saving a card."); |
186 | 186 | WC_Stripe_Logger::log("Response: $error_response_message"); |
187 | - throw new Exception( __( 'Your card could not be set up for future usage.', 'woocommerce-gateway-stripe' ) ); |
|
187 | + throw new Exception(__('Your card could not be set up for future usage.', 'woocommerce-gateway-stripe')); |
|
188 | 188 | } |
189 | 189 | |
190 | 190 | // 5. Respond. |
191 | - if ( 'requires_action' === $setup_intent->status ) { |
|
191 | + if ('requires_action' === $setup_intent->status) { |
|
192 | 192 | $response = [ |
193 | 193 | 'status' => 'requires_action', |
194 | 194 | 'client_secret' => $setup_intent->client_secret, |
195 | 195 | ]; |
196 | - } elseif ( 'requires_payment_method' === $setup_intent->status |
|
196 | + } elseif ('requires_payment_method' === $setup_intent->status |
|
197 | 197 | || 'requires_confirmation' === $setup_intent->status |
198 | - || 'canceled' === $setup_intent->status ) { |
|
198 | + || 'canceled' === $setup_intent->status) { |
|
199 | 199 | // These statuses should not be possible, as such we return an error. |
200 | 200 | $response = [ |
201 | 201 | 'status' => 'error', |
202 | 202 | 'error' => [ |
203 | 203 | 'type' => 'setup_intent_error', |
204 | - 'message' => __( 'Failed to save payment method.', 'woocommerce-gateway-stripe' ), |
|
204 | + 'message' => __('Failed to save payment method.', 'woocommerce-gateway-stripe'), |
|
205 | 205 | ], |
206 | 206 | ]; |
207 | 207 | } else { |
@@ -211,7 +211,7 @@ discard block |
||
211 | 211 | 'status' => 'success', |
212 | 212 | ]; |
213 | 213 | } |
214 | - } catch ( Exception $e ) { |
|
214 | + } catch (Exception $e) { |
|
215 | 215 | $response = [ |
216 | 216 | 'status' => 'error', |
217 | 217 | 'error' => array( |
@@ -221,7 +221,7 @@ discard block |
||
221 | 221 | ]; |
222 | 222 | } |
223 | 223 | |
224 | - echo wp_json_encode( $response ); |
|
224 | + echo wp_json_encode($response); |
|
225 | 225 | exit; |
226 | 226 | } |
227 | 227 | } |
@@ -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,22 +15,22 @@ 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 ); |
|
25 | - add_action( 'woocommerce_subscriptions_change_payment_before_submit', array( $this, 'differentiate_change_payment_method_form' ) ); |
|
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 | + add_action('woocommerce_subscriptions_change_payment_before_submit', array($this, 'differentiate_change_payment_method_form')); |
|
26 | 26 | |
27 | 27 | // display the credit card used for a subscription in the "My Subscriptions" table |
28 | - add_filter( 'woocommerce_my_subscriptions_payment_method', array( $this, 'maybe_render_subscription_payment_method' ), 10, 2 ); |
|
28 | + add_filter('woocommerce_my_subscriptions_payment_method', array($this, 'maybe_render_subscription_payment_method'), 10, 2); |
|
29 | 29 | |
30 | 30 | // allow store managers to manually set Stripe as the payment method on a subscription |
31 | - add_filter( 'woocommerce_subscription_payment_meta', array( $this, 'add_subscription_payment_meta' ), 10, 2 ); |
|
32 | - add_filter( 'woocommerce_subscription_validate_payment_meta', array( $this, 'validate_subscription_payment_meta' ), 10, 2 ); |
|
33 | - add_filter( 'wc_stripe_display_save_payment_method_checkbox', array( $this, 'maybe_hide_save_checkbox' ) ); |
|
31 | + add_filter('woocommerce_subscription_payment_meta', array($this, 'add_subscription_payment_meta'), 10, 2); |
|
32 | + add_filter('woocommerce_subscription_validate_payment_meta', array($this, 'validate_subscription_payment_meta'), 10, 2); |
|
33 | + add_filter('wc_stripe_display_save_payment_method_checkbox', array($this, 'maybe_hide_save_checkbox')); |
|
34 | 34 | |
35 | 35 | /* |
36 | 36 | * WC subscriptions hooks into the "template_redirect" hook with priority 100. |
@@ -38,8 +38,8 @@ discard block |
||
38 | 38 | * See: https://github.com/woocommerce/woocommerce-subscriptions/blob/99a75687e109b64cbc07af6e5518458a6305f366/includes/class-wcs-cart-renewal.php#L165 |
39 | 39 | * If we are in the "You just need to authorize SCA" flow, we don't want that redirection to happen. |
40 | 40 | */ |
41 | - add_action( 'template_redirect', array( $this, 'remove_order_pay_var' ), 99 ); |
|
42 | - add_action( 'template_redirect', array( $this, 'restore_order_pay_var' ), 101 ); |
|
41 | + add_action('template_redirect', array($this, 'remove_order_pay_var'), 99); |
|
42 | + add_action('template_redirect', array($this, 'restore_order_pay_var'), 101); |
|
43 | 43 | } |
44 | 44 | } |
45 | 45 | |
@@ -50,8 +50,8 @@ discard block |
||
50 | 50 | * @since 4.0.0 |
51 | 51 | * @version 4.0.0 |
52 | 52 | */ |
53 | - public function maybe_hide_save_checkbox( $display_tokenization ) { |
|
54 | - if ( WC_Subscriptions_Cart::cart_contains_subscription() ) { |
|
53 | + public function maybe_hide_save_checkbox($display_tokenization) { |
|
54 | + if (WC_Subscriptions_Cart::cart_contains_subscription()) { |
|
55 | 55 | return false; |
56 | 56 | } |
57 | 57 | |
@@ -63,8 +63,8 @@ discard block |
||
63 | 63 | * @param int $order_id |
64 | 64 | * @return boolean |
65 | 65 | */ |
66 | - public function has_subscription( $order_id ) { |
|
67 | - return ( function_exists( 'wcs_order_contains_subscription' ) && ( wcs_order_contains_subscription( $order_id ) || wcs_is_subscription( $order_id ) || wcs_order_contains_renewal( $order_id ) ) ); |
|
66 | + public function has_subscription($order_id) { |
|
67 | + return (function_exists('wcs_order_contains_subscription') && (wcs_order_contains_subscription($order_id) || wcs_is_subscription($order_id) || wcs_order_contains_renewal($order_id))); |
|
68 | 68 | } |
69 | 69 | |
70 | 70 | /** |
@@ -74,7 +74,7 @@ discard block |
||
74 | 74 | * @return bool |
75 | 75 | */ |
76 | 76 | public function is_subs_change_payment() { |
77 | - return ( isset( $_GET['pay_for_order'] ) && isset( $_GET['change_payment_method'] ) ); |
|
77 | + return (isset($_GET['pay_for_order']) && isset($_GET['change_payment_method'])); |
|
78 | 78 | } |
79 | 79 | |
80 | 80 | /** |
@@ -84,20 +84,20 @@ discard block |
||
84 | 84 | * @since 4.1.11 |
85 | 85 | */ |
86 | 86 | public function display_update_subs_payment_checkout() { |
87 | - $subs_statuses = apply_filters( 'wc_stripe_update_subs_payment_method_card_statuses', array( 'active' ) ); |
|
87 | + $subs_statuses = apply_filters('wc_stripe_update_subs_payment_method_card_statuses', array('active')); |
|
88 | 88 | if ( |
89 | - apply_filters( 'wc_stripe_display_update_subs_payment_method_card_checkbox', true ) && |
|
90 | - wcs_user_has_subscription( get_current_user_id(), '', $subs_statuses ) && |
|
89 | + apply_filters('wc_stripe_display_update_subs_payment_method_card_checkbox', true) && |
|
90 | + wcs_user_has_subscription(get_current_user_id(), '', $subs_statuses) && |
|
91 | 91 | is_add_payment_method_page() |
92 | 92 | ) { |
93 | - $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' ) ) ); |
|
94 | - $id = sprintf( 'wc-%1$s-update-subs-payment-method-card', $this->id ); |
|
93 | + $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'))); |
|
94 | + $id = sprintf('wc-%1$s-update-subs-payment-method-card', $this->id); |
|
95 | 95 | woocommerce_form_field( |
96 | 96 | $id, |
97 | 97 | array( |
98 | 98 | 'type' => 'checkbox', |
99 | 99 | 'label' => $label, |
100 | - 'default' => apply_filters( 'wc_stripe_save_to_subs_checked', false ), |
|
100 | + 'default' => apply_filters('wc_stripe_save_to_subs_checked', false), |
|
101 | 101 | ) |
102 | 102 | ); |
103 | 103 | } |
@@ -110,22 +110,22 @@ discard block |
||
110 | 110 | * @param string $source_id |
111 | 111 | * @param object $source_object |
112 | 112 | */ |
113 | - public function handle_add_payment_method_success( $source_id, $source_object ) { |
|
114 | - if ( isset( $_POST[ 'wc-' . $this->id . '-update-subs-payment-method-card' ] ) ) { |
|
113 | + public function handle_add_payment_method_success($source_id, $source_object) { |
|
114 | + if (isset($_POST['wc-' . $this->id . '-update-subs-payment-method-card'])) { |
|
115 | 115 | $all_subs = wcs_get_users_subscriptions(); |
116 | - $subs_statuses = apply_filters( 'wc_stripe_update_subs_payment_method_card_statuses', array( 'active' ) ); |
|
117 | - $stripe_customer = new WC_Stripe_Customer( get_current_user_id() ); |
|
116 | + $subs_statuses = apply_filters('wc_stripe_update_subs_payment_method_card_statuses', array('active')); |
|
117 | + $stripe_customer = new WC_Stripe_Customer(get_current_user_id()); |
|
118 | 118 | |
119 | - if ( ! empty( $all_subs ) ) { |
|
120 | - foreach ( $all_subs as $sub ) { |
|
121 | - if ( $sub->has_status( $subs_statuses ) ) { |
|
119 | + if ( ! empty($all_subs)) { |
|
120 | + foreach ($all_subs as $sub) { |
|
121 | + if ($sub->has_status($subs_statuses)) { |
|
122 | 122 | WC_Subscriptions_Change_Payment_Gateway::update_payment_method( |
123 | 123 | $sub, |
124 | 124 | $this->id, |
125 | 125 | array( |
126 | 126 | 'post_meta' => array( |
127 | - '_stripe_source_id' => array( 'value' => $source_id ), |
|
128 | - '_stripe_customer_id' => array( 'value' => $stripe_customer->get_id() ), |
|
127 | + '_stripe_source_id' => array('value' => $source_id), |
|
128 | + '_stripe_customer_id' => array('value' => $stripe_customer->get_id()), |
|
129 | 129 | ), |
130 | 130 | ) |
131 | 131 | ); |
@@ -152,24 +152,24 @@ discard block |
||
152 | 152 | * @since 4.1.11 Remove 3DS check as it is not needed. |
153 | 153 | * @param int $order_id |
154 | 154 | */ |
155 | - public function change_subs_payment_method( $order_id ) { |
|
155 | + public function change_subs_payment_method($order_id) { |
|
156 | 156 | try { |
157 | - $subscription = wc_get_order( $order_id ); |
|
158 | - $prepared_source = $this->prepare_source( get_current_user_id(), true ); |
|
157 | + $subscription = wc_get_order($order_id); |
|
158 | + $prepared_source = $this->prepare_source(get_current_user_id(), true); |
|
159 | 159 | |
160 | - $this->maybe_disallow_prepaid_card( $prepared_source ); |
|
161 | - $this->check_source( $prepared_source ); |
|
162 | - $this->save_source_to_order( $subscription, $prepared_source ); |
|
160 | + $this->maybe_disallow_prepaid_card($prepared_source); |
|
161 | + $this->check_source($prepared_source); |
|
162 | + $this->save_source_to_order($subscription, $prepared_source); |
|
163 | 163 | |
164 | - do_action( 'wc_stripe_change_subs_payment_method_success', $prepared_source->source, $prepared_source ); |
|
164 | + do_action('wc_stripe_change_subs_payment_method_success', $prepared_source->source, $prepared_source); |
|
165 | 165 | |
166 | 166 | return array( |
167 | 167 | 'result' => 'success', |
168 | - 'redirect' => $this->get_return_url( $subscription ), |
|
168 | + 'redirect' => $this->get_return_url($subscription), |
|
169 | 169 | ); |
170 | - } catch ( WC_Stripe_Exception $e ) { |
|
171 | - wc_add_notice( $e->getLocalizedMessage(), 'error' ); |
|
172 | - WC_Stripe_Logger::log( 'Error: ' . $e->getMessage() ); |
|
170 | + } catch (WC_Stripe_Exception $e) { |
|
171 | + wc_add_notice($e->getLocalizedMessage(), 'error'); |
|
172 | + WC_Stripe_Logger::log('Error: ' . $e->getMessage()); |
|
173 | 173 | } |
174 | 174 | } |
175 | 175 | |
@@ -178,16 +178,16 @@ discard block |
||
178 | 178 | * @param int $order_id |
179 | 179 | * @return array |
180 | 180 | */ |
181 | - public function process_payment( $order_id, $retry = true, $force_save_source = false, $previous_error = false, $use_order_source = false ) { |
|
182 | - if ( $this->has_subscription( $order_id ) ) { |
|
183 | - if ( $this->is_subs_change_payment() ) { |
|
184 | - return $this->change_subs_payment_method( $order_id ); |
|
181 | + public function process_payment($order_id, $retry = true, $force_save_source = false, $previous_error = false, $use_order_source = false) { |
|
182 | + if ($this->has_subscription($order_id)) { |
|
183 | + if ($this->is_subs_change_payment()) { |
|
184 | + return $this->change_subs_payment_method($order_id); |
|
185 | 185 | } |
186 | 186 | |
187 | 187 | // Regular payment with force customer enabled |
188 | - return parent::process_payment( $order_id, $retry, true, $previous_error, $use_order_source ); |
|
188 | + return parent::process_payment($order_id, $retry, true, $previous_error, $use_order_source); |
|
189 | 189 | } else { |
190 | - return parent::process_payment( $order_id, $retry, $force_save_source, $previous_error, $use_order_source ); |
|
190 | + return parent::process_payment($order_id, $retry, $force_save_source, $previous_error, $use_order_source); |
|
191 | 191 | } |
192 | 192 | } |
193 | 193 | |
@@ -199,11 +199,11 @@ discard block |
||
199 | 199 | * @param object $prepared_source The source that is used for the payment. |
200 | 200 | * @return array The arguments for the request. |
201 | 201 | */ |
202 | - public function generate_create_intent_request( $order, $prepared_source ) { |
|
203 | - $request = parent::generate_create_intent_request( $order, $prepared_source ); |
|
202 | + public function generate_create_intent_request($order, $prepared_source) { |
|
203 | + $request = parent::generate_create_intent_request($order, $prepared_source); |
|
204 | 204 | |
205 | 205 | // Non-subscription orders do not need any additional parameters. |
206 | - if ( ! $this->has_subscription( $order ) ) { |
|
206 | + if ( ! $this->has_subscription($order)) { |
|
207 | 207 | return $request; |
208 | 208 | } |
209 | 209 | |
@@ -219,8 +219,8 @@ discard block |
||
219 | 219 | * @param $amount_to_charge float The amount to charge. |
220 | 220 | * @param $renewal_order WC_Order A WC_Order object created to record the renewal payment. |
221 | 221 | */ |
222 | - public function scheduled_subscription_payment( $amount_to_charge, $renewal_order ) { |
|
223 | - $this->process_subscription_payment( $amount_to_charge, $renewal_order, true, false ); |
|
222 | + public function scheduled_subscription_payment($amount_to_charge, $renewal_order) { |
|
223 | + $this->process_subscription_payment($amount_to_charge, $renewal_order, true, false); |
|
224 | 224 | } |
225 | 225 | |
226 | 226 | /** |
@@ -234,11 +234,11 @@ discard block |
||
234 | 234 | * @param bool $retry Should we retry the process? |
235 | 235 | * @param object $previous_error |
236 | 236 | */ |
237 | - public function process_subscription_payment( $amount, $renewal_order, $retry = true, $previous_error = false ) { |
|
237 | + public function process_subscription_payment($amount, $renewal_order, $retry = true, $previous_error = false) { |
|
238 | 238 | try { |
239 | - if ( $amount * 100 < WC_Stripe_Helper::get_minimum_amount() ) { |
|
239 | + if ($amount * 100 < WC_Stripe_Helper::get_minimum_amount()) { |
|
240 | 240 | /* translators: minimum amount */ |
241 | - $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 ) ); |
|
241 | + $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)); |
|
242 | 242 | throw new WC_Stripe_Exception( |
243 | 243 | 'Error while processing renewal order ' . $renewal_order->get_id() . ' : ' . $message, |
244 | 244 | $message |
@@ -247,141 +247,141 @@ discard block |
||
247 | 247 | |
248 | 248 | $order_id = $renewal_order->get_id(); |
249 | 249 | |
250 | - $this->ensure_subscription_has_customer_id( $order_id ); |
|
250 | + $this->ensure_subscription_has_customer_id($order_id); |
|
251 | 251 | |
252 | 252 | // Unlike regular off-session subscription payments, early renewals are treated as on-session payments, involving the customer. |
253 | - if ( isset( $_REQUEST['process_early_renewal'] ) ) { // wpcs: csrf ok. |
|
254 | - $response = parent::process_payment( $order_id, true, false, $previous_error, true ); |
|
253 | + if (isset($_REQUEST['process_early_renewal'])) { // wpcs: csrf ok. |
|
254 | + $response = parent::process_payment($order_id, true, false, $previous_error, true); |
|
255 | 255 | |
256 | - if( 'success' === $response['result'] && isset( $response['payment_intent_secret'] ) ) { |
|
256 | + if ('success' === $response['result'] && isset($response['payment_intent_secret'])) { |
|
257 | 257 | $verification_url = add_query_arg( |
258 | 258 | array( |
259 | 259 | 'order' => $order_id, |
260 | - 'nonce' => wp_create_nonce( 'wc_stripe_confirm_pi' ), |
|
261 | - 'redirect_to' => remove_query_arg( array( 'process_early_renewal', 'subscription_id', 'wcs_nonce' ) ), |
|
260 | + 'nonce' => wp_create_nonce('wc_stripe_confirm_pi'), |
|
261 | + 'redirect_to' => remove_query_arg(array('process_early_renewal', 'subscription_id', 'wcs_nonce')), |
|
262 | 262 | 'early_renewal' => true, |
263 | 263 | ), |
264 | - WC_AJAX::get_endpoint( 'wc_stripe_verify_intent' ) |
|
264 | + WC_AJAX::get_endpoint('wc_stripe_verify_intent') |
|
265 | 265 | ); |
266 | 266 | |
267 | - echo wp_json_encode( array( |
|
267 | + echo wp_json_encode(array( |
|
268 | 268 | 'stripe_sca_required' => true, |
269 | 269 | 'intent_secret' => $response['payment_intent_secret'], |
270 | 270 | 'redirect_url' => $verification_url, |
271 | - ) ); |
|
271 | + )); |
|
272 | 272 | |
273 | 273 | exit; |
274 | 274 | } |
275 | 275 | |
276 | 276 | // Hijack all other redirects in order to do the redirection in JavaScript. |
277 | - add_action( 'wp_redirect', array( $this, 'redirect_after_early_renewal' ), 100 ); |
|
277 | + add_action('wp_redirect', array($this, 'redirect_after_early_renewal'), 100); |
|
278 | 278 | |
279 | 279 | return; |
280 | 280 | } |
281 | 281 | |
282 | 282 | // Check for an existing intent, which is associated with the order. |
283 | - if ( $this->has_authentication_already_failed( $renewal_order ) ) { |
|
283 | + if ($this->has_authentication_already_failed($renewal_order)) { |
|
284 | 284 | return; |
285 | 285 | } |
286 | 286 | |
287 | 287 | // Get source from order |
288 | - $prepared_source = $this->prepare_order_source( $renewal_order ); |
|
288 | + $prepared_source = $this->prepare_order_source($renewal_order); |
|
289 | 289 | $source_object = $prepared_source->source_object; |
290 | 290 | |
291 | - if ( ! $prepared_source->customer ) { |
|
291 | + if ( ! $prepared_source->customer) { |
|
292 | 292 | throw new WC_Stripe_Exception( |
293 | 293 | 'Failed to process renewal for order ' . $renewal_order->get_id() . '. Stripe customer id is missing in the order', |
294 | - __( 'Customer not found', 'woocommerce-gateway-stripe' ) |
|
294 | + __('Customer not found', 'woocommerce-gateway-stripe') |
|
295 | 295 | ); |
296 | 296 | } |
297 | 297 | |
298 | - WC_Stripe_Logger::log( "Info: Begin processing subscription payment for order {$order_id} for the amount of {$amount}" ); |
|
298 | + WC_Stripe_Logger::log("Info: Begin processing subscription payment for order {$order_id} for the amount of {$amount}"); |
|
299 | 299 | |
300 | 300 | /* If we're doing a retry and source is chargeable, we need to pass |
301 | 301 | * a different idempotency key and retry for success. |
302 | 302 | */ |
303 | - if ( is_object( $source_object ) && empty( $source_object->error ) && $this->need_update_idempotency_key( $source_object, $previous_error ) ) { |
|
304 | - add_filter( 'wc_stripe_idempotency_key', array( $this, 'change_idempotency_key' ), 10, 2 ); |
|
303 | + if (is_object($source_object) && empty($source_object->error) && $this->need_update_idempotency_key($source_object, $previous_error)) { |
|
304 | + add_filter('wc_stripe_idempotency_key', array($this, 'change_idempotency_key'), 10, 2); |
|
305 | 305 | } |
306 | 306 | |
307 | - 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 ) ) { |
|
307 | + 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)) { |
|
308 | 308 | // Passing empty source will charge customer default. |
309 | 309 | $prepared_source->source = ''; |
310 | 310 | } |
311 | 311 | |
312 | - $this->lock_order_payment( $renewal_order ); |
|
312 | + $this->lock_order_payment($renewal_order); |
|
313 | 313 | |
314 | - $response = $this->create_and_confirm_intent_for_off_session( $renewal_order, $prepared_source, $amount ); |
|
315 | - $is_authentication_required = $this->is_authentication_required_for_payment( $response ); |
|
314 | + $response = $this->create_and_confirm_intent_for_off_session($renewal_order, $prepared_source, $amount); |
|
315 | + $is_authentication_required = $this->is_authentication_required_for_payment($response); |
|
316 | 316 | |
317 | 317 | // It's only a failed payment if it's an error and it's not of the type 'authentication_required'. |
318 | 318 | // If it's 'authentication_required', then we should email the user and ask them to authenticate. |
319 | - if ( ! empty( $response->error ) && ! $is_authentication_required ) { |
|
319 | + if ( ! empty($response->error) && ! $is_authentication_required) { |
|
320 | 320 | // We want to retry. |
321 | - if ( $this->is_retryable_error( $response->error ) ) { |
|
322 | - if ( $retry ) { |
|
321 | + if ($this->is_retryable_error($response->error)) { |
|
322 | + if ($retry) { |
|
323 | 323 | // Don't do anymore retries after this. |
324 | - if ( 5 <= $this->retry_interval ) { |
|
325 | - return $this->process_subscription_payment( $amount, $renewal_order, false, $response->error ); |
|
324 | + if (5 <= $this->retry_interval) { |
|
325 | + return $this->process_subscription_payment($amount, $renewal_order, false, $response->error); |
|
326 | 326 | } |
327 | 327 | |
328 | - sleep( $this->retry_interval ); |
|
328 | + sleep($this->retry_interval); |
|
329 | 329 | |
330 | 330 | $this->retry_interval++; |
331 | 331 | |
332 | - return $this->process_subscription_payment( $amount, $renewal_order, true, $response->error ); |
|
332 | + return $this->process_subscription_payment($amount, $renewal_order, true, $response->error); |
|
333 | 333 | } else { |
334 | - $localized_message = __( 'Sorry, we are unable to process your payment at this time. Please retry later.', 'woocommerce-gateway-stripe' ); |
|
335 | - $renewal_order->add_order_note( $localized_message ); |
|
336 | - throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message ); |
|
334 | + $localized_message = __('Sorry, we are unable to process your payment at this time. Please retry later.', 'woocommerce-gateway-stripe'); |
|
335 | + $renewal_order->add_order_note($localized_message); |
|
336 | + throw new WC_Stripe_Exception(print_r($response, true), $localized_message); |
|
337 | 337 | } |
338 | 338 | } |
339 | 339 | |
340 | 340 | $localized_messages = WC_Stripe_Helper::get_localized_messages(); |
341 | 341 | |
342 | - if ( 'card_error' === $response->error->type ) { |
|
343 | - $localized_message = isset( $localized_messages[ $response->error->code ] ) ? $localized_messages[ $response->error->code ] : $response->error->message; |
|
342 | + if ('card_error' === $response->error->type) { |
|
343 | + $localized_message = isset($localized_messages[$response->error->code]) ? $localized_messages[$response->error->code] : $response->error->message; |
|
344 | 344 | } else { |
345 | - $localized_message = isset( $localized_messages[ $response->error->type ] ) ? $localized_messages[ $response->error->type ] : $response->error->message; |
|
345 | + $localized_message = isset($localized_messages[$response->error->type]) ? $localized_messages[$response->error->type] : $response->error->message; |
|
346 | 346 | } |
347 | 347 | |
348 | - $renewal_order->add_order_note( $localized_message ); |
|
348 | + $renewal_order->add_order_note($localized_message); |
|
349 | 349 | |
350 | - throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message ); |
|
350 | + throw new WC_Stripe_Exception(print_r($response, true), $localized_message); |
|
351 | 351 | } |
352 | 352 | |
353 | 353 | // Either the charge was successfully captured, or it requires further authentication. |
354 | 354 | |
355 | - if ( $is_authentication_required ) { |
|
356 | - do_action( 'wc_gateway_stripe_process_payment_authentication_required', $renewal_order, $response ); |
|
355 | + if ($is_authentication_required) { |
|
356 | + do_action('wc_gateway_stripe_process_payment_authentication_required', $renewal_order, $response); |
|
357 | 357 | |
358 | - $error_message = __( 'This transaction requires authentication.', 'woocommerce-gateway-stripe' ); |
|
359 | - $renewal_order->add_order_note( $error_message ); |
|
358 | + $error_message = __('This transaction requires authentication.', 'woocommerce-gateway-stripe'); |
|
359 | + $renewal_order->add_order_note($error_message); |
|
360 | 360 | |
361 | - $charge = end( $response->error->payment_intent->charges->data ); |
|
361 | + $charge = end($response->error->payment_intent->charges->data); |
|
362 | 362 | $id = $charge->id; |
363 | 363 | $order_id = $renewal_order->get_id(); |
364 | 364 | |
365 | - $renewal_order->set_transaction_id( $id ); |
|
366 | - $renewal_order->update_status( 'failed', sprintf( __( 'Stripe charge awaiting authentication by user: %s.', 'woocommerce-gateway-stripe' ), $id ) ); |
|
367 | - if ( is_callable( array( $renewal_order, 'save' ) ) ) { |
|
365 | + $renewal_order->set_transaction_id($id); |
|
366 | + $renewal_order->update_status('failed', sprintf(__('Stripe charge awaiting authentication by user: %s.', 'woocommerce-gateway-stripe'), $id)); |
|
367 | + if (is_callable(array($renewal_order, 'save'))) { |
|
368 | 368 | $renewal_order->save(); |
369 | 369 | } |
370 | 370 | } else { |
371 | 371 | // The charge was successfully captured |
372 | - do_action( 'wc_gateway_stripe_process_payment', $response, $renewal_order ); |
|
372 | + do_action('wc_gateway_stripe_process_payment', $response, $renewal_order); |
|
373 | 373 | |
374 | - $this->process_response( end( $response->charges->data ), $renewal_order ); |
|
374 | + $this->process_response(end($response->charges->data), $renewal_order); |
|
375 | 375 | } |
376 | 376 | |
377 | - $this->unlock_order_payment( $renewal_order ); |
|
378 | - } catch ( WC_Stripe_Exception $e ) { |
|
379 | - WC_Stripe_Logger::log( 'Error: ' . $e->getMessage() ); |
|
377 | + $this->unlock_order_payment($renewal_order); |
|
378 | + } catch (WC_Stripe_Exception $e) { |
|
379 | + WC_Stripe_Logger::log('Error: ' . $e->getMessage()); |
|
380 | 380 | |
381 | - do_action( 'wc_gateway_stripe_process_payment_error', $e, $renewal_order ); |
|
381 | + do_action('wc_gateway_stripe_process_payment_error', $e, $renewal_order); |
|
382 | 382 | |
383 | 383 | /* translators: error message */ |
384 | - $renewal_order->update_status( 'failed' ); |
|
384 | + $renewal_order->update_status('failed'); |
|
385 | 385 | } |
386 | 386 | } |
387 | 387 | |
@@ -391,24 +391,24 @@ discard block |
||
391 | 391 | * @since 3.1.0 |
392 | 392 | * @version 4.0.0 |
393 | 393 | */ |
394 | - public function save_source_to_order( $order, $source ) { |
|
395 | - parent::save_source_to_order( $order, $source ); |
|
394 | + public function save_source_to_order($order, $source) { |
|
395 | + parent::save_source_to_order($order, $source); |
|
396 | 396 | |
397 | 397 | $order_id = $order->get_id(); |
398 | 398 | |
399 | 399 | // Also store it on the subscriptions being purchased or paid for in the order |
400 | - if ( function_exists( 'wcs_order_contains_subscription' ) && wcs_order_contains_subscription( $order_id ) ) { |
|
401 | - $subscriptions = wcs_get_subscriptions_for_order( $order_id ); |
|
402 | - } elseif ( function_exists( 'wcs_order_contains_renewal' ) && wcs_order_contains_renewal( $order_id ) ) { |
|
403 | - $subscriptions = wcs_get_subscriptions_for_renewal_order( $order_id ); |
|
400 | + if (function_exists('wcs_order_contains_subscription') && wcs_order_contains_subscription($order_id)) { |
|
401 | + $subscriptions = wcs_get_subscriptions_for_order($order_id); |
|
402 | + } elseif (function_exists('wcs_order_contains_renewal') && wcs_order_contains_renewal($order_id)) { |
|
403 | + $subscriptions = wcs_get_subscriptions_for_renewal_order($order_id); |
|
404 | 404 | } else { |
405 | 405 | $subscriptions = array(); |
406 | 406 | } |
407 | 407 | |
408 | - foreach ( $subscriptions as $subscription ) { |
|
408 | + foreach ($subscriptions as $subscription) { |
|
409 | 409 | $subscription_id = $subscription->get_id(); |
410 | - update_post_meta( $subscription_id, '_stripe_customer_id', $source->customer ); |
|
411 | - update_post_meta( $subscription_id, '_stripe_source_id', $source->source ); |
|
410 | + update_post_meta($subscription_id, '_stripe_customer_id', $source->customer); |
|
411 | + update_post_meta($subscription_id, '_stripe_source_id', $source->source); |
|
412 | 412 | } |
413 | 413 | } |
414 | 414 | |
@@ -416,26 +416,26 @@ discard block |
||
416 | 416 | * Don't transfer Stripe customer/token meta to resubscribe orders. |
417 | 417 | * @param int $resubscribe_order The order created for the customer to resubscribe to the old expired/cancelled subscription |
418 | 418 | */ |
419 | - public function delete_resubscribe_meta( $resubscribe_order ) { |
|
420 | - delete_post_meta( $resubscribe_order->get_id(), '_stripe_customer_id' ); |
|
421 | - delete_post_meta( $resubscribe_order->get_id(), '_stripe_source_id' ); |
|
419 | + public function delete_resubscribe_meta($resubscribe_order) { |
|
420 | + delete_post_meta($resubscribe_order->get_id(), '_stripe_customer_id'); |
|
421 | + delete_post_meta($resubscribe_order->get_id(), '_stripe_source_id'); |
|
422 | 422 | // For BW compat will remove in future |
423 | - delete_post_meta( $resubscribe_order->get_id(), '_stripe_card_id' ); |
|
423 | + delete_post_meta($resubscribe_order->get_id(), '_stripe_card_id'); |
|
424 | 424 | // delete payment intent ID |
425 | - delete_post_meta( $resubscribe_order->get_id(), '_stripe_intent_id' ); |
|
426 | - $this->delete_renewal_meta( $resubscribe_order ); |
|
425 | + delete_post_meta($resubscribe_order->get_id(), '_stripe_intent_id'); |
|
426 | + $this->delete_renewal_meta($resubscribe_order); |
|
427 | 427 | } |
428 | 428 | |
429 | 429 | /** |
430 | 430 | * Don't transfer Stripe fee/ID meta to renewal orders. |
431 | 431 | * @param int $resubscribe_order The order created for the customer to resubscribe to the old expired/cancelled subscription |
432 | 432 | */ |
433 | - public function delete_renewal_meta( $renewal_order ) { |
|
434 | - WC_Stripe_Helper::delete_stripe_fee( $renewal_order ); |
|
435 | - WC_Stripe_Helper::delete_stripe_net( $renewal_order ); |
|
433 | + public function delete_renewal_meta($renewal_order) { |
|
434 | + WC_Stripe_Helper::delete_stripe_fee($renewal_order); |
|
435 | + WC_Stripe_Helper::delete_stripe_net($renewal_order); |
|
436 | 436 | |
437 | 437 | // delete payment intent ID |
438 | - delete_post_meta( $renewal_order->get_id(), '_stripe_intent_id' ); |
|
438 | + delete_post_meta($renewal_order->get_id(), '_stripe_intent_id'); |
|
439 | 439 | |
440 | 440 | return $renewal_order; |
441 | 441 | } |
@@ -449,9 +449,9 @@ discard block |
||
449 | 449 | * @param WC_Order $renewal_order The order which recorded the successful payment (to make up for the failed automatic payment). |
450 | 450 | * @return void |
451 | 451 | */ |
452 | - public function update_failing_payment_method( $subscription, $renewal_order ) { |
|
453 | - update_post_meta( $subscription->get_id(), '_stripe_customer_id', $renewal_order->get_meta( '_stripe_customer_id', true ) ); |
|
454 | - update_post_meta( $subscription->get_id(), '_stripe_source_id', $renewal_order->get_meta( '_stripe_source_id', true ) ); |
|
452 | + public function update_failing_payment_method($subscription, $renewal_order) { |
|
453 | + update_post_meta($subscription->get_id(), '_stripe_customer_id', $renewal_order->get_meta('_stripe_customer_id', true)); |
|
454 | + update_post_meta($subscription->get_id(), '_stripe_source_id', $renewal_order->get_meta('_stripe_source_id', true)); |
|
455 | 455 | } |
456 | 456 | |
457 | 457 | /** |
@@ -463,23 +463,23 @@ discard block |
||
463 | 463 | * @param WC_Subscription $subscription An instance of a subscription object |
464 | 464 | * @return array |
465 | 465 | */ |
466 | - public function add_subscription_payment_meta( $payment_meta, $subscription ) { |
|
466 | + public function add_subscription_payment_meta($payment_meta, $subscription) { |
|
467 | 467 | $subscription_id = $subscription->get_id(); |
468 | - $source_id = get_post_meta( $subscription_id, '_stripe_source_id', true ); |
|
468 | + $source_id = get_post_meta($subscription_id, '_stripe_source_id', true); |
|
469 | 469 | |
470 | 470 | // For BW compat will remove in future. |
471 | - if ( empty( $source_id ) ) { |
|
472 | - $source_id = get_post_meta( $subscription_id, '_stripe_card_id', true ); |
|
471 | + if (empty($source_id)) { |
|
472 | + $source_id = get_post_meta($subscription_id, '_stripe_card_id', true); |
|
473 | 473 | |
474 | 474 | // Take this opportunity to update the key name. |
475 | - update_post_meta( $subscription_id, '_stripe_source_id', $source_id ); |
|
476 | - delete_post_meta( $subscription_id, '_stripe_card_id', $source_id ); |
|
475 | + update_post_meta($subscription_id, '_stripe_source_id', $source_id); |
|
476 | + delete_post_meta($subscription_id, '_stripe_card_id', $source_id); |
|
477 | 477 | } |
478 | 478 | |
479 | - $payment_meta[ $this->id ] = array( |
|
479 | + $payment_meta[$this->id] = array( |
|
480 | 480 | 'post_meta' => array( |
481 | 481 | '_stripe_customer_id' => array( |
482 | - 'value' => get_post_meta( $subscription_id, '_stripe_customer_id', true ), |
|
482 | + 'value' => get_post_meta($subscription_id, '_stripe_customer_id', true), |
|
483 | 483 | 'label' => 'Stripe Customer ID', |
484 | 484 | ), |
485 | 485 | '_stripe_source_id' => array( |
@@ -502,27 +502,27 @@ discard block |
||
502 | 502 | * @param array $payment_meta associative array of meta data required for automatic payments |
503 | 503 | * @return array |
504 | 504 | */ |
505 | - public function validate_subscription_payment_meta( $payment_method_id, $payment_meta ) { |
|
506 | - if ( $this->id === $payment_method_id ) { |
|
505 | + public function validate_subscription_payment_meta($payment_method_id, $payment_meta) { |
|
506 | + if ($this->id === $payment_method_id) { |
|
507 | 507 | |
508 | - if ( ! isset( $payment_meta['post_meta']['_stripe_customer_id']['value'] ) || empty( $payment_meta['post_meta']['_stripe_customer_id']['value'] ) ) { |
|
508 | + if ( ! isset($payment_meta['post_meta']['_stripe_customer_id']['value']) || empty($payment_meta['post_meta']['_stripe_customer_id']['value'])) { |
|
509 | 509 | |
510 | 510 | // Allow empty stripe customer id during subscription renewal. It will be added when processing payment if required. |
511 | - if ( ! isset( $_POST['wc_order_action'] ) || 'wcs_process_renewal' !== $_POST['wc_order_action'] ) { |
|
512 | - throw new Exception( __( 'A "Stripe Customer ID" value is required.', 'woocommerce-gateway-stripe' ) ); |
|
511 | + if ( ! isset($_POST['wc_order_action']) || 'wcs_process_renewal' !== $_POST['wc_order_action']) { |
|
512 | + throw new Exception(__('A "Stripe Customer ID" value is required.', 'woocommerce-gateway-stripe')); |
|
513 | 513 | } |
514 | - } elseif ( 0 !== strpos( $payment_meta['post_meta']['_stripe_customer_id']['value'], 'cus_' ) ) { |
|
515 | - throw new Exception( __( 'Invalid customer ID. A valid "Stripe Customer ID" must begin with "cus_".', 'woocommerce-gateway-stripe' ) ); |
|
514 | + } elseif (0 !== strpos($payment_meta['post_meta']['_stripe_customer_id']['value'], 'cus_')) { |
|
515 | + throw new Exception(__('Invalid customer ID. A valid "Stripe Customer ID" must begin with "cus_".', 'woocommerce-gateway-stripe')); |
|
516 | 516 | } |
517 | 517 | |
518 | 518 | if ( |
519 | - ! empty( $payment_meta['post_meta']['_stripe_source_id']['value'] ) && ( |
|
520 | - 0 !== strpos( $payment_meta['post_meta']['_stripe_source_id']['value'], 'card_' ) |
|
521 | - && 0 !== strpos( $payment_meta['post_meta']['_stripe_source_id']['value'], 'src_' ) |
|
522 | - && 0 !== strpos( $payment_meta['post_meta']['_stripe_source_id']['value'], 'pm_' ) |
|
519 | + ! empty($payment_meta['post_meta']['_stripe_source_id']['value']) && ( |
|
520 | + 0 !== strpos($payment_meta['post_meta']['_stripe_source_id']['value'], 'card_') |
|
521 | + && 0 !== strpos($payment_meta['post_meta']['_stripe_source_id']['value'], 'src_') |
|
522 | + && 0 !== strpos($payment_meta['post_meta']['_stripe_source_id']['value'], 'pm_') |
|
523 | 523 | ) |
524 | 524 | ) { |
525 | - throw new Exception( __( 'Invalid source ID. A valid source "Stripe Source ID" must begin with "src_", "pm_", or "card_".', 'woocommerce-gateway-stripe' ) ); |
|
525 | + throw new Exception(__('Invalid source ID. A valid source "Stripe Source ID" must begin with "src_", "pm_", or "card_".', 'woocommerce-gateway-stripe')); |
|
526 | 526 | } |
527 | 527 | } |
528 | 528 | } |
@@ -535,75 +535,75 @@ discard block |
||
535 | 535 | * @param WC_Subscription $subscription the subscription details |
536 | 536 | * @return string the subscription payment method |
537 | 537 | */ |
538 | - public function maybe_render_subscription_payment_method( $payment_method_to_display, $subscription ) { |
|
538 | + public function maybe_render_subscription_payment_method($payment_method_to_display, $subscription) { |
|
539 | 539 | $customer_user = $subscription->get_customer_id(); |
540 | 540 | |
541 | 541 | // bail for other payment methods |
542 | - if ( $subscription->get_payment_method() !== $this->id || ! $customer_user ) { |
|
542 | + if ($subscription->get_payment_method() !== $this->id || ! $customer_user) { |
|
543 | 543 | return $payment_method_to_display; |
544 | 544 | } |
545 | 545 | |
546 | - $stripe_source_id = get_post_meta( $subscription->get_id(), '_stripe_source_id', true ); |
|
546 | + $stripe_source_id = get_post_meta($subscription->get_id(), '_stripe_source_id', true); |
|
547 | 547 | |
548 | 548 | // For BW compat will remove in future. |
549 | - if ( empty( $stripe_source_id ) ) { |
|
550 | - $stripe_source_id = get_post_meta( $subscription->get_id(), '_stripe_card_id', true ); |
|
549 | + if (empty($stripe_source_id)) { |
|
550 | + $stripe_source_id = get_post_meta($subscription->get_id(), '_stripe_card_id', true); |
|
551 | 551 | |
552 | 552 | // Take this opportunity to update the key name. |
553 | - update_post_meta( $subscription->get_id(), '_stripe_source_id', $stripe_source_id ); |
|
553 | + update_post_meta($subscription->get_id(), '_stripe_source_id', $stripe_source_id); |
|
554 | 554 | } |
555 | 555 | |
556 | 556 | $stripe_customer = new WC_Stripe_Customer(); |
557 | - $stripe_customer_id = get_post_meta( $subscription->get_id(), '_stripe_customer_id', true ); |
|
557 | + $stripe_customer_id = get_post_meta($subscription->get_id(), '_stripe_customer_id', true); |
|
558 | 558 | |
559 | 559 | // If we couldn't find a Stripe customer linked to the subscription, fallback to the user meta data. |
560 | - if ( ! $stripe_customer_id || ! is_string( $stripe_customer_id ) ) { |
|
560 | + if ( ! $stripe_customer_id || ! is_string($stripe_customer_id)) { |
|
561 | 561 | $user_id = $customer_user; |
562 | - $stripe_customer_id = get_user_option( '_stripe_customer_id', $user_id ); |
|
563 | - $stripe_source_id = get_user_option( '_stripe_source_id', $user_id ); |
|
562 | + $stripe_customer_id = get_user_option('_stripe_customer_id', $user_id); |
|
563 | + $stripe_source_id = get_user_option('_stripe_source_id', $user_id); |
|
564 | 564 | |
565 | 565 | // For BW compat will remove in future. |
566 | - if ( empty( $stripe_source_id ) ) { |
|
567 | - $stripe_source_id = get_user_option( '_stripe_card_id', $user_id ); |
|
566 | + if (empty($stripe_source_id)) { |
|
567 | + $stripe_source_id = get_user_option('_stripe_card_id', $user_id); |
|
568 | 568 | |
569 | 569 | // Take this opportunity to update the key name. |
570 | - update_user_option( $user_id, '_stripe_source_id', $stripe_source_id, false ); |
|
570 | + update_user_option($user_id, '_stripe_source_id', $stripe_source_id, false); |
|
571 | 571 | } |
572 | 572 | } |
573 | 573 | |
574 | 574 | // If we couldn't find a Stripe customer linked to the account, fallback to the order meta data. |
575 | - if ( ( ! $stripe_customer_id || ! is_string( $stripe_customer_id ) ) && false !== $subscription->order ) { |
|
576 | - $stripe_customer_id = get_post_meta( $subscription->get_parent_id(), '_stripe_customer_id', true ); |
|
577 | - $stripe_source_id = get_post_meta( $subscription->get_parent_id(), '_stripe_source_id', true ); |
|
575 | + if (( ! $stripe_customer_id || ! is_string($stripe_customer_id)) && false !== $subscription->order) { |
|
576 | + $stripe_customer_id = get_post_meta($subscription->get_parent_id(), '_stripe_customer_id', true); |
|
577 | + $stripe_source_id = get_post_meta($subscription->get_parent_id(), '_stripe_source_id', true); |
|
578 | 578 | |
579 | 579 | // For BW compat will remove in future. |
580 | - if ( empty( $stripe_source_id ) ) { |
|
581 | - $stripe_source_id = get_post_meta( $subscription->get_parent_id(), '_stripe_card_id', true ); |
|
580 | + if (empty($stripe_source_id)) { |
|
581 | + $stripe_source_id = get_post_meta($subscription->get_parent_id(), '_stripe_card_id', true); |
|
582 | 582 | |
583 | 583 | // Take this opportunity to update the key name. |
584 | - update_post_meta( $subscription->get_parent_id(), '_stripe_source_id', $stripe_source_id ); |
|
584 | + update_post_meta($subscription->get_parent_id(), '_stripe_source_id', $stripe_source_id); |
|
585 | 585 | } |
586 | 586 | } |
587 | 587 | |
588 | - $stripe_customer->set_id( $stripe_customer_id ); |
|
588 | + $stripe_customer->set_id($stripe_customer_id); |
|
589 | 589 | |
590 | 590 | $sources = $stripe_customer->get_sources(); |
591 | - $payment_method_to_display = __( 'N/A', 'woocommerce-gateway-stripe' ); |
|
591 | + $payment_method_to_display = __('N/A', 'woocommerce-gateway-stripe'); |
|
592 | 592 | |
593 | - if ( $sources ) { |
|
593 | + if ($sources) { |
|
594 | 594 | $card = false; |
595 | 595 | |
596 | - foreach ( $sources as $source ) { |
|
597 | - if ( isset( $source->type ) && 'card' === $source->type ) { |
|
596 | + foreach ($sources as $source) { |
|
597 | + if (isset($source->type) && 'card' === $source->type) { |
|
598 | 598 | $card = $source->card; |
599 | - } elseif ( isset( $source->object ) && 'card' === $source->object ) { |
|
599 | + } elseif (isset($source->object) && 'card' === $source->object) { |
|
600 | 600 | $card = $source; |
601 | 601 | } |
602 | 602 | |
603 | - if ( $source->id === $stripe_source_id ) { |
|
604 | - if ( $card ) { |
|
603 | + if ($source->id === $stripe_source_id) { |
|
604 | + if ($card) { |
|
605 | 605 | /* translators: 1) card brand 2) last 4 digits */ |
606 | - $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 ); |
|
606 | + $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); |
|
607 | 607 | } |
608 | 608 | |
609 | 609 | break; |
@@ -620,7 +620,7 @@ discard block |
||
620 | 620 | */ |
621 | 621 | public function remove_order_pay_var() { |
622 | 622 | global $wp; |
623 | - if ( isset( $_GET['wc-stripe-confirmation'] ) ) { |
|
623 | + if (isset($_GET['wc-stripe-confirmation'])) { |
|
624 | 624 | $this->order_pay_var = $wp->query_vars['order-pay']; |
625 | 625 | $wp->query_vars['order-pay'] = null; |
626 | 626 | } |
@@ -631,7 +631,7 @@ discard block |
||
631 | 631 | */ |
632 | 632 | public function restore_order_pay_var() { |
633 | 633 | global $wp; |
634 | - if ( isset( $this->order_pay_var ) ) { |
|
634 | + if (isset($this->order_pay_var)) { |
|
635 | 635 | $wp->query_vars['order-pay'] = $this->order_pay_var; |
636 | 636 | } |
637 | 637 | } |
@@ -642,13 +642,13 @@ discard block |
||
642 | 642 | * @param WC_Order $renewal_order The renewal order. |
643 | 643 | * @return boolean |
644 | 644 | */ |
645 | - public function has_authentication_already_failed( $renewal_order ) { |
|
646 | - $existing_intent = $this->get_intent_from_order( $renewal_order ); |
|
645 | + public function has_authentication_already_failed($renewal_order) { |
|
646 | + $existing_intent = $this->get_intent_from_order($renewal_order); |
|
647 | 647 | |
648 | 648 | if ( |
649 | 649 | ! $existing_intent |
650 | 650 | || 'requires_payment_method' !== $existing_intent->status |
651 | - || empty( $existing_intent->last_payment_error ) |
|
651 | + || empty($existing_intent->last_payment_error) |
|
652 | 652 | || 'authentication_required' !== $existing_intent->last_payment_error->code |
653 | 653 | ) { |
654 | 654 | return false; |
@@ -662,12 +662,12 @@ discard block |
||
662 | 662 | * |
663 | 663 | * @param WC_Order $renewal_order The order that is being renewed. |
664 | 664 | */ |
665 | - do_action( 'wc_gateway_stripe_process_payment_authentication_required', $renewal_order ); |
|
665 | + do_action('wc_gateway_stripe_process_payment_authentication_required', $renewal_order); |
|
666 | 666 | |
667 | 667 | // Fail the payment attempt (order would be currently pending because of retry rules). |
668 | - $charge = end( $existing_intent->charges->data ); |
|
668 | + $charge = end($existing_intent->charges->data); |
|
669 | 669 | $charge_id = $charge->id; |
670 | - $renewal_order->update_status( 'failed', sprintf( __( 'Stripe charge awaiting authentication by user: %s.', 'woocommerce-gateway-stripe' ), $charge_id ) ); |
|
670 | + $renewal_order->update_status('failed', sprintf(__('Stripe charge awaiting authentication by user: %s.', 'woocommerce-gateway-stripe'), $charge_id)); |
|
671 | 671 | |
672 | 672 | return true; |
673 | 673 | } |
@@ -678,7 +678,7 @@ discard block |
||
678 | 678 | * @param string $url The URL that Subscriptions attempts a redirect to. |
679 | 679 | * @return void |
680 | 680 | */ |
681 | - public function redirect_after_early_renewal( $url ) { |
|
681 | + public function redirect_after_early_renewal($url) { |
|
682 | 682 | echo wp_json_encode( |
683 | 683 | array( |
684 | 684 | 'stripe_sca_required' => false, |
@@ -695,12 +695,12 @@ discard block |
||
695 | 695 | * @param WC_Order $order The renewal order. |
696 | 696 | * @param stdClass $intent The Payment Intent object. |
697 | 697 | */ |
698 | - protected function handle_intent_verification_success( $order, $intent ) { |
|
699 | - parent::handle_intent_verification_success( $order, $intent ); |
|
698 | + protected function handle_intent_verification_success($order, $intent) { |
|
699 | + parent::handle_intent_verification_success($order, $intent); |
|
700 | 700 | |
701 | - if ( isset( $_GET['early_renewal'] ) ) { // wpcs: csrf ok. |
|
702 | - wcs_update_dates_after_early_renewal( wcs_get_subscription( $order->get_meta( '_subscription_renewal' ) ), $order ); |
|
703 | - wc_add_notice( __( 'Your early renewal order was successful.', 'woocommerce-gateway-stripe' ), 'success' ); |
|
701 | + if (isset($_GET['early_renewal'])) { // wpcs: csrf ok. |
|
702 | + wcs_update_dates_after_early_renewal(wcs_get_subscription($order->get_meta('_subscription_renewal')), $order); |
|
703 | + wc_add_notice(__('Your early renewal order was successful.', 'woocommerce-gateway-stripe'), 'success'); |
|
704 | 704 | } |
705 | 705 | } |
706 | 706 | |
@@ -710,12 +710,12 @@ discard block |
||
710 | 710 | * @param WC_Order $order The renewal order. |
711 | 711 | * @param stdClass $intent The Payment Intent object (unused). |
712 | 712 | */ |
713 | - protected function handle_intent_verification_failure( $order, $intent ) { |
|
714 | - if ( isset( $_GET['early_renewal'] ) ) { |
|
715 | - $order->delete( true ); |
|
716 | - wc_add_notice( __( 'Payment authorization for the renewal order was unsuccessful, please try again.', 'woocommerce-gateway-stripe' ), 'error' ); |
|
717 | - $renewal_url = wcs_get_early_renewal_url( wcs_get_subscription( $order->get_meta( '_subscription_renewal' ) ) ); |
|
718 | - wp_redirect( $renewal_url ); exit; |
|
713 | + protected function handle_intent_verification_failure($order, $intent) { |
|
714 | + if (isset($_GET['early_renewal'])) { |
|
715 | + $order->delete(true); |
|
716 | + wc_add_notice(__('Payment authorization for the renewal order was unsuccessful, please try again.', 'woocommerce-gateway-stripe'), 'error'); |
|
717 | + $renewal_url = wcs_get_early_renewal_url(wcs_get_subscription($order->get_meta('_subscription_renewal'))); |
|
718 | + wp_redirect($renewal_url); exit; |
|
719 | 719 | } |
720 | 720 | } |
721 | 721 | } |
@@ -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 | } |