Completed
Pull Request — master (#867)
by Radoslav
02:02
created
includes/class-wc-stripe-webhook-handler.php 1 patch
Spacing   +210 added lines, -210 removed lines patch added patch discarded remove patch
@@ -1,5 +1,5 @@  discard block
 block discarded – undo
1 1
 <?php
2
-if ( ! defined( 'ABSPATH' ) ) {
2
+if ( ! defined('ABSPATH')) {
3 3
 	exit;
4 4
 }
5 5
 
@@ -32,9 +32,9 @@  discard block
 block discarded – undo
32 32
 	 */
33 33
 	public function __construct() {
34 34
 		$this->retry_interval = 2;
35
-		$stripe_settings      = get_option( 'woocommerce_stripe_settings', array() );
36
-		$this->testmode       = ( ! empty( $stripe_settings['testmode'] ) && 'yes' === $stripe_settings['testmode'] ) ? true : false;
37
-		add_action( 'woocommerce_api_wc_stripe', array( $this, 'check_for_webhook' ) );
35
+		$stripe_settings      = get_option('woocommerce_stripe_settings', array());
36
+		$this->testmode       = ( ! empty($stripe_settings['testmode']) && 'yes' === $stripe_settings['testmode']) ? true : false;
37
+		add_action('woocommerce_api_wc_stripe', array($this, 'check_for_webhook'));
38 38
 	}
39 39
 
40 40
 	/**
@@ -44,24 +44,24 @@  discard block
 block discarded – undo
44 44
 	 * @version 4.0.0
45 45
 	 */
46 46
 	public function check_for_webhook() {
47
-		if ( ( 'POST' !== $_SERVER['REQUEST_METHOD'] )
48
-			|| ! isset( $_GET['wc-api'] )
49
-			|| ( 'wc_stripe' !== $_GET['wc-api'] )
47
+		if (('POST' !== $_SERVER['REQUEST_METHOD'])
48
+			|| ! isset($_GET['wc-api'])
49
+			|| ('wc_stripe' !== $_GET['wc-api'])
50 50
 		) {
51 51
 			return;
52 52
 		}
53 53
 
54
-		$request_body    = file_get_contents( 'php://input' );
55
-		$request_headers = array_change_key_case( $this->get_request_headers(), CASE_UPPER );
54
+		$request_body    = file_get_contents('php://input');
55
+		$request_headers = array_change_key_case($this->get_request_headers(), CASE_UPPER);
56 56
 
57 57
 		// Validate it to make sure it is legit.
58
-		if ( $this->is_valid_request( $request_headers, $request_body ) ) {
59
-			$this->process_webhook( $request_body );
60
-			status_header( 200 );
58
+		if ($this->is_valid_request($request_headers, $request_body)) {
59
+			$this->process_webhook($request_body);
60
+			status_header(200);
61 61
 			exit;
62 62
 		} else {
63
-			WC_Stripe_Logger::log( 'Incoming webhook failed validation: ' . print_r( $request_body, true ) );
64
-			status_header( 400 );
63
+			WC_Stripe_Logger::log('Incoming webhook failed validation: ' . print_r($request_body, true));
64
+			status_header(400);
65 65
 			exit;
66 66
 		}
67 67
 	}
@@ -76,12 +76,12 @@  discard block
 block discarded – undo
76 76
 	 * @param string $request_body The request body from Stripe.
77 77
 	 * @return bool
78 78
 	 */
79
-	public function is_valid_request( $request_headers = null, $request_body = null ) {
80
-		if ( null === $request_headers || null === $request_body ) {
79
+	public function is_valid_request($request_headers = null, $request_body = null) {
80
+		if (null === $request_headers || null === $request_body) {
81 81
 			return false;
82 82
 		}
83 83
 
84
-		if ( ! empty( $request_headers['USER-AGENT'] ) && ! preg_match( '/Stripe/', $request_headers['USER-AGENT'] ) ) {
84
+		if ( ! empty($request_headers['USER-AGENT']) && ! preg_match('/Stripe/', $request_headers['USER-AGENT'])) {
85 85
 			return false;
86 86
 		}
87 87
 
@@ -97,12 +97,12 @@  discard block
 block discarded – undo
97 97
 	 * @version 4.0.0
98 98
 	 */
99 99
 	public function get_request_headers() {
100
-		if ( ! function_exists( 'getallheaders' ) ) {
100
+		if ( ! function_exists('getallheaders')) {
101 101
 			$headers = array();
102 102
 
103
-			foreach ( $_SERVER as $name => $value ) {
104
-				if ( 'HTTP_' === substr( $name, 0, 5 ) ) {
105
-					$headers[ str_replace( ' ', '-', ucwords( strtolower( str_replace( '_', ' ', substr( $name, 5 ) ) ) ) ) ] = $value;
103
+			foreach ($_SERVER as $name => $value) {
104
+				if ('HTTP_' === substr($name, 0, 5)) {
105
+					$headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value;
106 106
 				}
107 107
 			}
108 108
 
@@ -121,30 +121,30 @@  discard block
 block discarded – undo
121 121
 	 * @param object $notification
122 122
 	 * @param bool $retry
123 123
 	 */
124
-	public function process_webhook_payment( $notification, $retry = true ) {
124
+	public function process_webhook_payment($notification, $retry = true) {
125 125
 		// The following 3 payment methods are synchronous so does not need to be handle via webhook.
126
-		if ( 'card' === $notification->data->object->type || 'sepa_debit' === $notification->data->object->type || 'three_d_secure' === $notification->data->object->type ) {
126
+		if ('card' === $notification->data->object->type || 'sepa_debit' === $notification->data->object->type || 'three_d_secure' === $notification->data->object->type) {
127 127
 			return;
128 128
 		}
129 129
 
130
-		$order = WC_Stripe_Helper::get_order_by_source_id( $notification->data->object->id );
130
+		$order = WC_Stripe_Helper::get_order_by_source_id($notification->data->object->id);
131 131
 
132
-		if ( ! $order ) {
133
-			WC_Stripe_Logger::log( 'Could not find order via source ID: ' . $notification->data->object->id );
132
+		if ( ! $order) {
133
+			WC_Stripe_Logger::log('Could not find order via source ID: ' . $notification->data->object->id);
134 134
 			return;
135 135
 		}
136 136
 
137
-		$order_id  = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->id : $order->get_id();
137
+		$order_id  = WC_Stripe_Helper::is_wc_lt('3.0') ? $order->id : $order->get_id();
138 138
 		$source_id = $notification->data->object->id;
139 139
 
140
-		$is_pending_receiver = ( 'receiver' === $notification->data->object->flow );
140
+		$is_pending_receiver = ('receiver' === $notification->data->object->flow);
141 141
 
142 142
 		try {
143
-			if ( 'processing' === $order->get_status() || 'completed' === $order->get_status() ) {
143
+			if ('processing' === $order->get_status() || 'completed' === $order->get_status()) {
144 144
 				return;
145 145
 			}
146 146
 
147
-			if ( 'on-hold' === $order->get_status() && ! $is_pending_receiver ) {
147
+			if ('on-hold' === $order->get_status() && ! $is_pending_receiver) {
148 148
 				return;
149 149
 			}
150 150
 
@@ -152,94 +152,94 @@  discard block
 block discarded – undo
152 152
 			$response = null;
153 153
 
154 154
 			// This will throw exception if not valid.
155
-			$this->validate_minimum_order_amount( $order );
155
+			$this->validate_minimum_order_amount($order);
156 156
 
157
-			WC_Stripe_Logger::log( "Info: (Webhook) Begin processing payment for order $order_id for the amount of {$order->get_total()}" );
157
+			WC_Stripe_Logger::log("Info: (Webhook) Begin processing payment for order $order_id for the amount of {$order->get_total()}");
158 158
 
159 159
 			// Prep source object.
160 160
 			$source_object           = new stdClass();
161 161
 			$source_object->token_id = '';
162
-			$source_object->customer = $this->get_stripe_customer_id( $order );
162
+			$source_object->customer = $this->get_stripe_customer_id($order);
163 163
 			$source_object->source   = $source_id;
164 164
 
165 165
 			// Make the request.
166
-			$response = WC_Stripe_API::request( $this->generate_payment_request( $order, $source_object ), 'charges', 'POST', true );
166
+			$response = WC_Stripe_API::request($this->generate_payment_request($order, $source_object), 'charges', 'POST', true);
167 167
 			$headers  = $response['headers'];
168 168
 			$response = $response['body'];
169 169
 
170
-			if ( ! empty( $response->error ) ) {
170
+			if ( ! empty($response->error)) {
171 171
 				// Customer param wrong? The user may have been deleted on stripe's end. Remove customer_id. Can be retried without.
172
-				if ( $this->is_no_such_customer_error( $response->error ) ) {
173
-					if ( WC_Stripe_Helper::is_wc_lt( '3.0' ) ) {
174
-						delete_user_meta( $order->customer_user, '_stripe_customer_id' );
175
-						delete_post_meta( $order_id, '_stripe_customer_id' );
172
+				if ($this->is_no_such_customer_error($response->error)) {
173
+					if (WC_Stripe_Helper::is_wc_lt('3.0')) {
174
+						delete_user_meta($order->customer_user, '_stripe_customer_id');
175
+						delete_post_meta($order_id, '_stripe_customer_id');
176 176
 					} else {
177
-						delete_user_meta( $order->get_customer_id(), '_stripe_customer_id' );
178
-						$order->delete_meta_data( '_stripe_customer_id' );
177
+						delete_user_meta($order->get_customer_id(), '_stripe_customer_id');
178
+						$order->delete_meta_data('_stripe_customer_id');
179 179
 						$order->save();
180 180
 					}
181 181
 				}
182 182
 
183
-				if ( $this->is_no_such_token_error( $response->error ) && $prepared_source->token_id ) {
183
+				if ($this->is_no_such_token_error($response->error) && $prepared_source->token_id) {
184 184
 					// Source param wrong? The CARD may have been deleted on stripe's end. Remove token and show message.
185
-					$wc_token = WC_Payment_Tokens::get( $prepared_source->token_id );
185
+					$wc_token = WC_Payment_Tokens::get($prepared_source->token_id);
186 186
 					$wc_token->delete();
187
-					$localized_message = __( 'This card is no longer available and has been removed.', 'woocommerce-gateway-stripe' );
188
-					$order->add_order_note( $localized_message );
189
-					throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message );
187
+					$localized_message = __('This card is no longer available and has been removed.', 'woocommerce-gateway-stripe');
188
+					$order->add_order_note($localized_message);
189
+					throw new WC_Stripe_Exception(print_r($response, true), $localized_message);
190 190
 				}
191 191
 
192 192
 				// We want to retry.
193
-				if ( $this->is_retryable_error( $response->error ) ) {
194
-					if ( $retry ) {
193
+				if ($this->is_retryable_error($response->error)) {
194
+					if ($retry) {
195 195
 						// Don't do anymore retries after this.
196
-						if ( 5 <= $this->retry_interval ) {
196
+						if (5 <= $this->retry_interval) {
197 197
 
198
-							return $this->process_webhook_payment( $notification, false );
198
+							return $this->process_webhook_payment($notification, false);
199 199
 						}
200 200
 
201
-						sleep( $this->retry_interval );
201
+						sleep($this->retry_interval);
202 202
 
203 203
 						$this->retry_interval++;
204
-						return $this->process_webhook_payment( $notification, true );
204
+						return $this->process_webhook_payment($notification, true);
205 205
 					} else {
206
-						$localized_message = __( 'Sorry, we are unable to process your payment at this time. Please retry later.', 'woocommerce-gateway-stripe' );
207
-						$order->add_order_note( $localized_message );
208
-						throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message );
206
+						$localized_message = __('Sorry, we are unable to process your payment at this time. Please retry later.', 'woocommerce-gateway-stripe');
207
+						$order->add_order_note($localized_message);
208
+						throw new WC_Stripe_Exception(print_r($response, true), $localized_message);
209 209
 					}
210 210
 				}
211 211
 
212 212
 				$localized_messages = WC_Stripe_Helper::get_localized_messages();
213 213
 
214
-				if ( 'card_error' === $response->error->type ) {
215
-					$localized_message = isset( $localized_messages[ $response->error->code ] ) ? $localized_messages[ $response->error->code ] : $response->error->message;
214
+				if ('card_error' === $response->error->type) {
215
+					$localized_message = isset($localized_messages[$response->error->code]) ? $localized_messages[$response->error->code] : $response->error->message;
216 216
 				} else {
217
-					$localized_message = isset( $localized_messages[ $response->error->type ] ) ? $localized_messages[ $response->error->type ] : $response->error->message;
217
+					$localized_message = isset($localized_messages[$response->error->type]) ? $localized_messages[$response->error->type] : $response->error->message;
218 218
 				}
219 219
 
220
-				$order->add_order_note( $localized_message );
220
+				$order->add_order_note($localized_message);
221 221
 
222
-				throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message );
222
+				throw new WC_Stripe_Exception(print_r($response, true), $localized_message);
223 223
 			}
224 224
 
225 225
 			// To prevent double processing the order on WC side.
226
-			if ( ! $this->is_original_request( $headers ) ) {
226
+			if ( ! $this->is_original_request($headers)) {
227 227
 				return;
228 228
 			}
229 229
 
230
-			do_action( 'wc_gateway_stripe_process_webhook_payment', $response, $order );
230
+			do_action('wc_gateway_stripe_process_webhook_payment', $response, $order);
231 231
 
232
-			$this->process_response( $response, $order );
232
+			$this->process_response($response, $order);
233 233
 
234
-		} catch ( WC_Stripe_Exception $e ) {
235
-			WC_Stripe_Logger::log( 'Error: ' . $e->getMessage() );
234
+		} catch (WC_Stripe_Exception $e) {
235
+			WC_Stripe_Logger::log('Error: ' . $e->getMessage());
236 236
 
237
-			do_action( 'wc_gateway_stripe_process_webhook_payment_error', $order, $notification, $e );
237
+			do_action('wc_gateway_stripe_process_webhook_payment_error', $order, $notification, $e);
238 238
 
239
-			$statuses = array( 'pending', 'failed' );
239
+			$statuses = array('pending', 'failed');
240 240
 
241
-			if ( $order->has_status( $statuses ) ) {
242
-				$this->send_failed_order_email( $order_id );
241
+			if ($order->has_status($statuses)) {
242
+				$this->send_failed_order_email($order_id);
243 243
 			}
244 244
 		}
245 245
 	}
@@ -252,21 +252,21 @@  discard block
 block discarded – undo
252 252
 	 * @since 4.0.0
253 253
 	 * @param object $notification
254 254
 	 */
255
-	public function process_webhook_dispute( $notification ) {
256
-		$order = WC_Stripe_Helper::get_order_by_charge_id( $notification->data->object->charge );
255
+	public function process_webhook_dispute($notification) {
256
+		$order = WC_Stripe_Helper::get_order_by_charge_id($notification->data->object->charge);
257 257
 
258
-		if ( ! $order ) {
259
-			WC_Stripe_Logger::log( 'Could not find order via charge ID: ' . $notification->data->object->charge );
258
+		if ( ! $order) {
259
+			WC_Stripe_Logger::log('Could not find order via charge ID: ' . $notification->data->object->charge);
260 260
 			return;
261 261
 		}
262 262
 
263 263
 		/* translators: 1) The URL to the order. */
264
-		$order->update_status( 'on-hold', sprintf( __( 'A dispute was created for this order. Response is needed. Please go to your <a href="%s" title="Stripe Dashboard" target="_blank">Stripe Dashboard</a> to review this dispute.', 'woocommerce-gateway-stripe' ), $this->get_transaction_url( $order ) ) );
264
+		$order->update_status('on-hold', sprintf(__('A dispute was created for this order. Response is needed. Please go to your <a href="%s" title="Stripe Dashboard" target="_blank">Stripe Dashboard</a> to review this dispute.', 'woocommerce-gateway-stripe'), $this->get_transaction_url($order)));
265 265
 
266
-		do_action( 'wc_gateway_stripe_process_webhook_payment_error', $order, $notification );
266
+		do_action('wc_gateway_stripe_process_webhook_payment_error', $order, $notification);
267 267
 
268
-		$order_id = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->id : $order->get_id();
269
-		$this->send_failed_order_email( $order_id );
268
+		$order_id = WC_Stripe_Helper::is_wc_lt('3.0') ? $order->id : $order->get_id();
269
+		$this->send_failed_order_email($order_id);
270 270
 	}
271 271
 
272 272
 	/**
@@ -277,45 +277,45 @@  discard block
 block discarded – undo
277 277
 	 * @version 4.0.0
278 278
 	 * @param object $notification
279 279
 	 */
280
-	public function process_webhook_capture( $notification ) {
281
-		$order = WC_Stripe_Helper::get_order_by_charge_id( $notification->data->object->id );
280
+	public function process_webhook_capture($notification) {
281
+		$order = WC_Stripe_Helper::get_order_by_charge_id($notification->data->object->id);
282 282
 
283
-		if ( ! $order ) {
284
-			WC_Stripe_Logger::log( 'Could not find order via charge ID: ' . $notification->data->object->id );
283
+		if ( ! $order) {
284
+			WC_Stripe_Logger::log('Could not find order via charge ID: ' . $notification->data->object->id);
285 285
 			return;
286 286
 		}
287 287
 
288
-		$order_id = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->id : $order->get_id();
288
+		$order_id = WC_Stripe_Helper::is_wc_lt('3.0') ? $order->id : $order->get_id();
289 289
 
290
-		if ( 'stripe' === ( WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->payment_method : $order->get_payment_method() ) ) {
291
-			$charge   = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? get_post_meta( $order_id, '_transaction_id', true ) : $order->get_transaction_id();
292
-			$captured = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? get_post_meta( $order_id, '_stripe_charge_captured', true ) : $order->get_meta( '_stripe_charge_captured', true );
290
+		if ('stripe' === (WC_Stripe_Helper::is_wc_lt('3.0') ? $order->payment_method : $order->get_payment_method())) {
291
+			$charge   = WC_Stripe_Helper::is_wc_lt('3.0') ? get_post_meta($order_id, '_transaction_id', true) : $order->get_transaction_id();
292
+			$captured = WC_Stripe_Helper::is_wc_lt('3.0') ? get_post_meta($order_id, '_stripe_charge_captured', true) : $order->get_meta('_stripe_charge_captured', true);
293 293
 
294
-			if ( $charge && 'no' === $captured ) {
295
-				WC_Stripe_Helper::is_wc_lt( '3.0' ) ? update_post_meta( $order_id, '_stripe_charge_captured', 'yes' ) : $order->update_meta_data( '_stripe_charge_captured', 'yes' );
294
+			if ($charge && 'no' === $captured) {
295
+				WC_Stripe_Helper::is_wc_lt('3.0') ? update_post_meta($order_id, '_stripe_charge_captured', 'yes') : $order->update_meta_data('_stripe_charge_captured', 'yes');
296 296
 
297 297
 				// Store other data such as fees
298
-				WC_Stripe_Helper::is_wc_lt( '3.0' ) ? update_post_meta( $order_id, '_transaction_id', $notification->data->object->id ) : $order->set_transaction_id( $notification->data->object->id );
298
+				WC_Stripe_Helper::is_wc_lt('3.0') ? update_post_meta($order_id, '_transaction_id', $notification->data->object->id) : $order->set_transaction_id($notification->data->object->id);
299 299
 
300
-				if ( isset( $notification->data->object->balance_transaction ) ) {
301
-					$this->update_fees( $order, $notification->data->object->balance_transaction );
300
+				if (isset($notification->data->object->balance_transaction)) {
301
+					$this->update_fees($order, $notification->data->object->balance_transaction);
302 302
 				}
303 303
 
304 304
 				// Check and see if capture is partial.
305
-				if ( $this->is_partial_capture( $notification ) ) {
306
-					$partial_amount = $this->get_partial_amount_to_charge( $notification );
307
-					$order->set_total( $partial_amount );
308
-					$this->update_fees( $order, $notification->data->object->refunds->data[0]->balance_transaction );
305
+				if ($this->is_partial_capture($notification)) {
306
+					$partial_amount = $this->get_partial_amount_to_charge($notification);
307
+					$order->set_total($partial_amount);
308
+					$this->update_fees($order, $notification->data->object->refunds->data[0]->balance_transaction);
309 309
 					/* translators: partial captured amount */
310
-					$order->add_order_note( sprintf( __( 'This charge was partially captured via Stripe Dashboard in the amount of: %s', 'woocommerce-gateway-stripe' ), $partial_amount ) );
310
+					$order->add_order_note(sprintf(__('This charge was partially captured via Stripe Dashboard in the amount of: %s', 'woocommerce-gateway-stripe'), $partial_amount));
311 311
 				} else {
312
-					$order->payment_complete( $notification->data->object->id );
312
+					$order->payment_complete($notification->data->object->id);
313 313
 
314 314
 					/* translators: transaction id */
315
-					$order->add_order_note( sprintf( __( 'Stripe charge complete (Charge ID: %s)', 'woocommerce-gateway-stripe' ), $notification->data->object->id ) );
315
+					$order->add_order_note(sprintf(__('Stripe charge complete (Charge ID: %s)', 'woocommerce-gateway-stripe'), $notification->data->object->id));
316 316
 				}
317 317
 
318
-				if ( is_callable( array( $order, 'save' ) ) ) {
318
+				if (is_callable(array($order, 'save'))) {
319 319
 					$order->save();
320 320
 				}
321 321
 			}
@@ -330,43 +330,43 @@  discard block
 block discarded – undo
330 330
 	 * @version 4.0.0
331 331
 	 * @param object $notification
332 332
 	 */
333
-	public function process_webhook_charge_succeeded( $notification ) {
333
+	public function process_webhook_charge_succeeded($notification) {
334 334
 		// Ignore the notification for charges, created through PaymentIntents.
335
-		if ( isset( $notification->data->object->payment_intent ) && $notification->data->object->payment_intent ) {
335
+		if (isset($notification->data->object->payment_intent) && $notification->data->object->payment_intent) {
336 336
 			return;
337 337
 		}
338 338
 
339 339
 		// The following payment methods are synchronous so does not need to be handle via webhook.
340
-		if ( ( isset( $notification->data->object->source->type ) && 'card' === $notification->data->object->source->type ) || ( isset( $notification->data->object->source->type ) && 'three_d_secure' === $notification->data->object->source->type ) ) {
340
+		if ((isset($notification->data->object->source->type) && 'card' === $notification->data->object->source->type) || (isset($notification->data->object->source->type) && 'three_d_secure' === $notification->data->object->source->type)) {
341 341
 			return;
342 342
 		}
343 343
 
344
-		$order = WC_Stripe_Helper::get_order_by_charge_id( $notification->data->object->id );
344
+		$order = WC_Stripe_Helper::get_order_by_charge_id($notification->data->object->id);
345 345
 
346
-		if ( ! $order ) {
347
-			WC_Stripe_Logger::log( 'Could not find order via charge ID: ' . $notification->data->object->id );
346
+		if ( ! $order) {
347
+			WC_Stripe_Logger::log('Could not find order via charge ID: ' . $notification->data->object->id);
348 348
 			return;
349 349
 		}
350 350
 
351
-		$order_id = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->id : $order->get_id();
351
+		$order_id = WC_Stripe_Helper::is_wc_lt('3.0') ? $order->id : $order->get_id();
352 352
 
353
-		if ( 'on-hold' !== $order->get_status() ) {
353
+		if ('on-hold' !== $order->get_status()) {
354 354
 			return;
355 355
 		}
356 356
 
357 357
 		// Store other data such as fees
358
-		WC_Stripe_Helper::is_wc_lt( '3.0' ) ? update_post_meta( $order_id, '_transaction_id', $notification->data->object->id ) : $order->set_transaction_id( $notification->data->object->id );
358
+		WC_Stripe_Helper::is_wc_lt('3.0') ? update_post_meta($order_id, '_transaction_id', $notification->data->object->id) : $order->set_transaction_id($notification->data->object->id);
359 359
 
360
-		if ( isset( $notification->data->object->balance_transaction ) ) {
361
-			$this->update_fees( $order, $notification->data->object->balance_transaction );
360
+		if (isset($notification->data->object->balance_transaction)) {
361
+			$this->update_fees($order, $notification->data->object->balance_transaction);
362 362
 		}
363 363
 
364
-		$order->payment_complete( $notification->data->object->id );
364
+		$order->payment_complete($notification->data->object->id);
365 365
 
366 366
 		/* translators: transaction id */
367
-		$order->add_order_note( sprintf( __( 'Stripe charge complete (Charge ID: %s)', 'woocommerce-gateway-stripe' ), $notification->data->object->id ) );
367
+		$order->add_order_note(sprintf(__('Stripe charge complete (Charge ID: %s)', 'woocommerce-gateway-stripe'), $notification->data->object->id));
368 368
 
369
-		if ( is_callable( array( $order, 'save' ) ) ) {
369
+		if (is_callable(array($order, 'save'))) {
370 370
 			$order->save();
371 371
 		}
372 372
 	}
@@ -378,24 +378,24 @@  discard block
 block discarded – undo
378 378
 	 * @since 4.1.5 Can handle any fail payments from any methods.
379 379
 	 * @param object $notification
380 380
 	 */
381
-	public function process_webhook_charge_failed( $notification ) {
382
-		$order = WC_Stripe_Helper::get_order_by_charge_id( $notification->data->object->id );
381
+	public function process_webhook_charge_failed($notification) {
382
+		$order = WC_Stripe_Helper::get_order_by_charge_id($notification->data->object->id);
383 383
 
384
-		if ( ! $order ) {
385
-			WC_Stripe_Logger::log( 'Could not find order via charge ID: ' . $notification->data->object->id );
384
+		if ( ! $order) {
385
+			WC_Stripe_Logger::log('Could not find order via charge ID: ' . $notification->data->object->id);
386 386
 			return;
387 387
 		}
388 388
 
389
-		$order_id = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->id : $order->get_id();
389
+		$order_id = WC_Stripe_Helper::is_wc_lt('3.0') ? $order->id : $order->get_id();
390 390
 
391 391
 		// If order status is already in failed status don't continue.
392
-		if ( 'failed' === $order->get_status() ) {
392
+		if ('failed' === $order->get_status()) {
393 393
 			return;
394 394
 		}
395 395
 
396
-		$order->update_status( 'failed', __( 'This payment failed to clear.', 'woocommerce-gateway-stripe' ) );
396
+		$order->update_status('failed', __('This payment failed to clear.', 'woocommerce-gateway-stripe'));
397 397
 
398
-		do_action( 'wc_gateway_stripe_process_webhook_payment_error', $order, $notification );
398
+		do_action('wc_gateway_stripe_process_webhook_payment_error', $order, $notification);
399 399
 	}
400 400
 
401 401
 	/**
@@ -406,30 +406,30 @@  discard block
 block discarded – undo
406 406
 	 * @since 4.1.15 Add check to make sure order is processed by Stripe.
407 407
 	 * @param object $notification
408 408
 	 */
409
-	public function process_webhook_source_canceled( $notification ) {
410
-		$order = WC_Stripe_Helper::get_order_by_charge_id( $notification->data->object->id );
409
+	public function process_webhook_source_canceled($notification) {
410
+		$order = WC_Stripe_Helper::get_order_by_charge_id($notification->data->object->id);
411 411
 
412 412
 		// If can't find order by charge ID, try source ID.
413
-		if ( ! $order ) {
414
-			$order = WC_Stripe_Helper::get_order_by_source_id( $notification->data->object->id );
413
+		if ( ! $order) {
414
+			$order = WC_Stripe_Helper::get_order_by_source_id($notification->data->object->id);
415 415
 
416
-			if ( ! $order ) {
417
-				WC_Stripe_Logger::log( 'Could not find order via charge/source ID: ' . $notification->data->object->id );
416
+			if ( ! $order) {
417
+				WC_Stripe_Logger::log('Could not find order via charge/source ID: ' . $notification->data->object->id);
418 418
 				return;
419 419
 			}
420 420
 		}
421 421
 
422 422
 		// Don't proceed if payment method isn't Stripe.
423
-		if ( 'stripe' !== $order->get_payment_method() ) {
424
-			WC_Stripe_Logger::log( 'Canceled webhook abort: Order was not processed by Stripe: ' . $order->get_id() );
423
+		if ('stripe' !== $order->get_payment_method()) {
424
+			WC_Stripe_Logger::log('Canceled webhook abort: Order was not processed by Stripe: ' . $order->get_id());
425 425
 			return;
426 426
 		}
427 427
 
428
-		if ( 'cancelled' !== $order->get_status() ) {
429
-			$order->update_status( 'cancelled', __( 'This payment has cancelled.', 'woocommerce-gateway-stripe' ) );
428
+		if ('cancelled' !== $order->get_status()) {
429
+			$order->update_status('cancelled', __('This payment has cancelled.', 'woocommerce-gateway-stripe'));
430 430
 		}
431 431
 
432
-		do_action( 'wc_gateway_stripe_process_webhook_payment_error', $order, $notification );
432
+		do_action('wc_gateway_stripe_process_webhook_payment_error', $order, $notification);
433 433
 	}
434 434
 
435 435
 	/**
@@ -439,59 +439,59 @@  discard block
 block discarded – undo
439 439
 	 * @version 4.0.0
440 440
 	 * @param object $notification
441 441
 	 */
442
-	public function process_webhook_refund( $notification ) {
443
-		$order = WC_Stripe_Helper::get_order_by_charge_id( $notification->data->object->id );
442
+	public function process_webhook_refund($notification) {
443
+		$order = WC_Stripe_Helper::get_order_by_charge_id($notification->data->object->id);
444 444
 
445
-		if ( ! $order ) {
446
-			WC_Stripe_Logger::log( 'Could not find order via charge ID: ' . $notification->data->object->id );
445
+		if ( ! $order) {
446
+			WC_Stripe_Logger::log('Could not find order via charge ID: ' . $notification->data->object->id);
447 447
 			return;
448 448
 		}
449 449
 
450
-		$order_id = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->id : $order->get_id();
450
+		$order_id = WC_Stripe_Helper::is_wc_lt('3.0') ? $order->id : $order->get_id();
451 451
 
452
-		if ( 'stripe' === ( WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->payment_method : $order->get_payment_method() ) ) {
453
-			$charge    = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? get_post_meta( $order_id, '_transaction_id', true ) : $order->get_transaction_id();
454
-			$captured  = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? get_post_meta( $order_id, '_stripe_charge_captured', true ) : $order->get_meta( '_stripe_charge_captured', true );
455
-			$refund_id = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? get_post_meta( $order_id, '_stripe_refund_id', true ) : $order->get_meta( '_stripe_refund_id', true );
452
+		if ('stripe' === (WC_Stripe_Helper::is_wc_lt('3.0') ? $order->payment_method : $order->get_payment_method())) {
453
+			$charge    = WC_Stripe_Helper::is_wc_lt('3.0') ? get_post_meta($order_id, '_transaction_id', true) : $order->get_transaction_id();
454
+			$captured  = WC_Stripe_Helper::is_wc_lt('3.0') ? get_post_meta($order_id, '_stripe_charge_captured', true) : $order->get_meta('_stripe_charge_captured', true);
455
+			$refund_id = WC_Stripe_Helper::is_wc_lt('3.0') ? get_post_meta($order_id, '_stripe_refund_id', true) : $order->get_meta('_stripe_refund_id', true);
456 456
 
457 457
 			// If the refund ID matches, don't continue to prevent double refunding.
458
-			if ( $notification->data->object->refunds->data[0]->id === $refund_id ) {
458
+			if ($notification->data->object->refunds->data[0]->id === $refund_id) {
459 459
 				return;
460 460
 			}
461 461
 
462 462
 			// Only refund captured charge.
463
-			if ( $charge ) {
464
-				$reason = ( isset( $captured ) && 'yes' === $captured ) ? __( 'Refunded via Stripe Dashboard', 'woocommerce-gateway-stripe' ) : __( 'Pre-Authorization Released via Stripe Dashboard', 'woocommerce-gateway-stripe' );
463
+			if ($charge) {
464
+				$reason = (isset($captured) && 'yes' === $captured) ? __('Refunded via Stripe Dashboard', 'woocommerce-gateway-stripe') : __('Pre-Authorization Released via Stripe Dashboard', 'woocommerce-gateway-stripe');
465 465
 
466 466
 				// Create the refund.
467 467
 				$refund = wc_create_refund(
468 468
 					array(
469 469
 						'order_id' => $order_id,
470
-						'amount'   => $this->get_refund_amount( $notification ),
470
+						'amount'   => $this->get_refund_amount($notification),
471 471
 						'reason'   => $reason,
472 472
 					)
473 473
 				);
474 474
 
475
-				if ( is_wp_error( $refund ) ) {
476
-					WC_Stripe_Logger::log( $refund->get_error_message() );
475
+				if (is_wp_error($refund)) {
476
+					WC_Stripe_Logger::log($refund->get_error_message());
477 477
 				}
478 478
 
479
-				WC_Stripe_Helper::is_wc_lt( '3.0' ) ? update_post_meta( $order_id, '_stripe_refund_id', $notification->data->object->refunds->data[0]->id ) : $order->update_meta_data( '_stripe_refund_id', $notification->data->object->refunds->data[0]->id );
479
+				WC_Stripe_Helper::is_wc_lt('3.0') ? update_post_meta($order_id, '_stripe_refund_id', $notification->data->object->refunds->data[0]->id) : $order->update_meta_data('_stripe_refund_id', $notification->data->object->refunds->data[0]->id);
480 480
 
481
-				$amount = wc_price( $notification->data->object->refunds->data[0]->amount / 100 );
481
+				$amount = wc_price($notification->data->object->refunds->data[0]->amount / 100);
482 482
 
483
-				if ( in_array( strtolower( WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->get_order_currency() : $order->get_currency() ), WC_Stripe_Helper::no_decimal_currencies() ) ) {
484
-					$amount = wc_price( $notification->data->object->refunds->data[0]->amount );
483
+				if (in_array(strtolower(WC_Stripe_Helper::is_wc_lt('3.0') ? $order->get_order_currency() : $order->get_currency()), WC_Stripe_Helper::no_decimal_currencies())) {
484
+					$amount = wc_price($notification->data->object->refunds->data[0]->amount);
485 485
 				}
486 486
 
487
-				if ( isset( $notification->data->object->refunds->data[0]->balance_transaction ) ) {
488
-					$this->update_fees( $order, $notification->data->object->refunds->data[0]->balance_transaction );
487
+				if (isset($notification->data->object->refunds->data[0]->balance_transaction)) {
488
+					$this->update_fees($order, $notification->data->object->refunds->data[0]->balance_transaction);
489 489
 				}
490 490
 
491 491
 				/* translators: 1) dollar amount 2) transaction id 3) refund message */
492
-				$refund_message = ( isset( $captured ) && 'yes' === $captured ) ? sprintf( __( 'Refunded %1$s - Refund ID: %2$s - %3$s', 'woocommerce-gateway-stripe' ), $amount, $notification->data->object->refunds->data[0]->id, $reason ) : __( 'Pre-Authorization Released via Stripe Dashboard', 'woocommerce-gateway-stripe' );
492
+				$refund_message = (isset($captured) && 'yes' === $captured) ? sprintf(__('Refunded %1$s - Refund ID: %2$s - %3$s', 'woocommerce-gateway-stripe'), $amount, $notification->data->object->refunds->data[0]->id, $reason) : __('Pre-Authorization Released via Stripe Dashboard', 'woocommerce-gateway-stripe');
493 493
 
494
-				$order->add_order_note( $refund_message );
494
+				$order->add_order_note($refund_message);
495 495
 			}
496 496
 		}
497 497
 	}
@@ -502,21 +502,21 @@  discard block
 block discarded – undo
502 502
 	 * @since 4.0.6
503 503
 	 * @param object $notification
504 504
 	 */
505
-	public function process_review_opened( $notification ) {
506
-		$order = WC_Stripe_Helper::get_order_by_charge_id( $notification->data->object->charge );
505
+	public function process_review_opened($notification) {
506
+		$order = WC_Stripe_Helper::get_order_by_charge_id($notification->data->object->charge);
507 507
 
508
-		if ( ! $order ) {
509
-			WC_Stripe_Logger::log( 'Could not find order via charge ID: ' . $notification->data->object->charge );
508
+		if ( ! $order) {
509
+			WC_Stripe_Logger::log('Could not find order via charge ID: ' . $notification->data->object->charge);
510 510
 			return;
511 511
 		}
512 512
 
513 513
 		/* translators: 1) The URL to the order. 2) The reason type. */
514
-		$message = sprintf( __( 'A review has been opened for this order. Action is needed. Please go to your <a href="%1$s" title="Stripe Dashboard" target="_blank">Stripe Dashboard</a> to review the issue. Reason: (%2$s)', 'woocommerce-gateway-stripe' ), $this->get_transaction_url( $order ), $notification->data->object->reason );
514
+		$message = sprintf(__('A review has been opened for this order. Action is needed. Please go to your <a href="%1$s" title="Stripe Dashboard" target="_blank">Stripe Dashboard</a> to review the issue. Reason: (%2$s)', 'woocommerce-gateway-stripe'), $this->get_transaction_url($order), $notification->data->object->reason);
515 515
 
516
-		if ( apply_filters( 'wc_stripe_webhook_review_change_order_status', true, $order, $notification ) ) {
517
-			$order->update_status( 'on-hold', $message );
516
+		if (apply_filters('wc_stripe_webhook_review_change_order_status', true, $order, $notification)) {
517
+			$order->update_status('on-hold', $message);
518 518
 		} else {
519
-			$order->add_order_note( $message );
519
+			$order->add_order_note($message);
520 520
 		}
521 521
 	}
522 522
 
@@ -526,25 +526,25 @@  discard block
 block discarded – undo
526 526
 	 * @since 4.0.6
527 527
 	 * @param object $notification
528 528
 	 */
529
-	public function process_review_closed( $notification ) {
530
-		$order = WC_Stripe_Helper::get_order_by_charge_id( $notification->data->object->charge );
529
+	public function process_review_closed($notification) {
530
+		$order = WC_Stripe_Helper::get_order_by_charge_id($notification->data->object->charge);
531 531
 
532
-		if ( ! $order ) {
533
-			WC_Stripe_Logger::log( 'Could not find order via charge ID: ' . $notification->data->object->charge );
532
+		if ( ! $order) {
533
+			WC_Stripe_Logger::log('Could not find order via charge ID: ' . $notification->data->object->charge);
534 534
 			return;
535 535
 		}
536 536
 
537 537
 		/* translators: 1) The reason type. */
538
-		$message = sprintf( __( 'The opened review for this order is now closed. Reason: (%s)', 'woocommerce-gateway-stripe' ), $notification->data->object->reason );
538
+		$message = sprintf(__('The opened review for this order is now closed. Reason: (%s)', 'woocommerce-gateway-stripe'), $notification->data->object->reason);
539 539
 
540
-		if ( 'on-hold' === $order->get_status() ) {
541
-			if ( apply_filters( 'wc_stripe_webhook_review_change_order_status', true, $order, $notification ) ) {
542
-				$order->update_status( 'processing', $message );
540
+		if ('on-hold' === $order->get_status()) {
541
+			if (apply_filters('wc_stripe_webhook_review_change_order_status', true, $order, $notification)) {
542
+				$order->update_status('processing', $message);
543 543
 			} else {
544
-				$order->add_order_note( $message );
544
+				$order->add_order_note($message);
545 545
 			}
546 546
 		} else {
547
-			$order->add_order_note( $message );
547
+			$order->add_order_note($message);
548 548
 		}
549 549
 	}
550 550
 
@@ -555,7 +555,7 @@  discard block
 block discarded – undo
555 555
 	 * @version 4.0.0
556 556
 	 * @param object $notification
557 557
 	 */
558
-	public function is_partial_capture( $notification ) {
558
+	public function is_partial_capture($notification) {
559 559
 		return 0 < $notification->data->object->amount_refunded;
560 560
 	}
561 561
 
@@ -566,11 +566,11 @@  discard block
 block discarded – undo
566 566
 	 * @version 4.0.0
567 567
 	 * @param object $notification
568 568
 	 */
569
-	public function get_refund_amount( $notification ) {
570
-		if ( $this->is_partial_capture( $notification ) ) {
569
+	public function get_refund_amount($notification) {
570
+		if ($this->is_partial_capture($notification)) {
571 571
 			$amount = $notification->data->object->refunds->data[0]->amount / 100;
572 572
 
573
-			if ( in_array( strtolower( $notification->data->object->currency ), WC_Stripe_Helper::no_decimal_currencies() ) ) {
573
+			if (in_array(strtolower($notification->data->object->currency), WC_Stripe_Helper::no_decimal_currencies())) {
574 574
 				$amount = $notification->data->object->refunds->data[0]->amount;
575 575
 			}
576 576
 
@@ -587,12 +587,12 @@  discard block
 block discarded – undo
587 587
 	 * @version 4.0.0
588 588
 	 * @param object $notification
589 589
 	 */
590
-	public function get_partial_amount_to_charge( $notification ) {
591
-		if ( $this->is_partial_capture( $notification ) ) {
592
-			$amount = ( $notification->data->object->amount - $notification->data->object->amount_refunded ) / 100;
590
+	public function get_partial_amount_to_charge($notification) {
591
+		if ($this->is_partial_capture($notification)) {
592
+			$amount = ($notification->data->object->amount - $notification->data->object->amount_refunded) / 100;
593 593
 
594
-			if ( in_array( strtolower( $notification->data->object->currency ), WC_Stripe_Helper::no_decimal_currencies() ) ) {
595
-				$amount = ( $notification->data->object->amount - $notification->data->object->amount_refunded );
594
+			if (in_array(strtolower($notification->data->object->currency), WC_Stripe_Helper::no_decimal_currencies())) {
595
+				$amount = ($notification->data->object->amount - $notification->data->object->amount_refunded);
596 596
 			}
597 597
 
598 598
 			return $amount;
@@ -601,45 +601,45 @@  discard block
 block discarded – undo
601 601
 		return false;
602 602
 	}
603 603
 
604
-	public function process_payment_intent_success( $notification ) {
604
+	public function process_payment_intent_success($notification) {
605 605
 		$intent = $notification->data->object;
606
-		$order = WC_Stripe_Helper::get_order_by_intent_id( $intent->id );
606
+		$order = WC_Stripe_Helper::get_order_by_intent_id($intent->id);
607 607
 
608
-		if ( ! $order ) {
609
-			WC_Stripe_Logger::log( 'Could not find order via intent ID: ' . $intent->id );
608
+		if ( ! $order) {
609
+			WC_Stripe_Logger::log('Could not find order via intent ID: ' . $intent->id);
610 610
 			return;
611 611
 		}
612 612
 
613
-		if ( $this->lock_order_payment( $order, $intent ) ) {
613
+		if ($this->lock_order_payment($order, $intent)) {
614 614
 			return;
615 615
 		}
616 616
 
617
-		$order_id = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->id : $order->get_id();
618
-		if ( 'payment_intent.succeeded' === $notification->type || 'payment_intent.amount_capturable_updated' === $notification->type ) {
619
-			if ( 'pending' !== $order->get_status() && 'failed' !== $order->get_status() ) {
617
+		$order_id = WC_Stripe_Helper::is_wc_lt('3.0') ? $order->id : $order->get_id();
618
+		if ('payment_intent.succeeded' === $notification->type || 'payment_intent.amount_capturable_updated' === $notification->type) {
619
+			if ('pending' !== $order->get_status() && 'failed' !== $order->get_status()) {
620 620
 				return;
621 621
 			}
622 622
 
623
-			$charge = end( $intent->charges->data );
624
-			WC_Stripe_Logger::log( "Stripe PaymentIntent $intent->id succeeded for order $order_id" );
623
+			$charge = end($intent->charges->data);
624
+			WC_Stripe_Logger::log("Stripe PaymentIntent $intent->id succeeded for order $order_id");
625 625
 
626
-			do_action( 'wc_gateway_stripe_process_payment', $charge, $order );
626
+			do_action('wc_gateway_stripe_process_payment', $charge, $order);
627 627
 
628 628
 			// Process valid response.
629
-			$this->process_response( $charge, $order );
629
+			$this->process_response($charge, $order);
630 630
 
631 631
 		} else {
632 632
 			$error_message = $intent->last_payment_error ? $intent->last_payment_error->message : "";
633 633
 
634 634
 			/* translators: 1) The error message that was received from Stripe. */
635
-			$order->update_status( 'failed', sprintf( __( 'Stripe SCA authentication failed. Reason: %s', 'woocommerce-gateway-stripe' ), $error_message ) );
635
+			$order->update_status('failed', sprintf(__('Stripe SCA authentication failed. Reason: %s', 'woocommerce-gateway-stripe'), $error_message));
636 636
 
637
-			do_action( 'wc_gateway_stripe_process_webhook_payment_error', $order, $notification );
637
+			do_action('wc_gateway_stripe_process_webhook_payment_error', $order, $notification);
638 638
 
639
-			$this->send_failed_order_email( $order_id );
639
+			$this->send_failed_order_email($order_id);
640 640
 		}
641 641
 
642
-		$this->unlock_order_payment( $order );
642
+		$this->unlock_order_payment($order);
643 643
 	}
644 644
 
645 645
 	/**
@@ -649,50 +649,50 @@  discard block
 block discarded – undo
649 649
 	 * @version 4.0.0
650 650
 	 * @param string $request_body
651 651
 	 */
652
-	public function process_webhook( $request_body ) {
653
-		$notification = json_decode( $request_body );
652
+	public function process_webhook($request_body) {
653
+		$notification = json_decode($request_body);
654 654
 
655
-		switch ( $notification->type ) {
655
+		switch ($notification->type) {
656 656
 			case 'source.chargeable':
657
-				$this->process_webhook_payment( $notification );
657
+				$this->process_webhook_payment($notification);
658 658
 				break;
659 659
 
660 660
 			case 'source.canceled':
661
-				$this->process_webhook_source_canceled( $notification );
661
+				$this->process_webhook_source_canceled($notification);
662 662
 				break;
663 663
 
664 664
 			case 'charge.succeeded':
665
-				$this->process_webhook_charge_succeeded( $notification );
665
+				$this->process_webhook_charge_succeeded($notification);
666 666
 				break;
667 667
 
668 668
 			case 'charge.failed':
669
-				$this->process_webhook_charge_failed( $notification );
669
+				$this->process_webhook_charge_failed($notification);
670 670
 				break;
671 671
 
672 672
 			case 'charge.captured':
673
-				$this->process_webhook_capture( $notification );
673
+				$this->process_webhook_capture($notification);
674 674
 				break;
675 675
 
676 676
 			case 'charge.dispute.created':
677
-				$this->process_webhook_dispute( $notification );
677
+				$this->process_webhook_dispute($notification);
678 678
 				break;
679 679
 
680 680
 			case 'charge.refunded':
681
-				$this->process_webhook_refund( $notification );
681
+				$this->process_webhook_refund($notification);
682 682
 				break;
683 683
 
684 684
 			case 'review.opened':
685
-				$this->process_review_opened( $notification );
685
+				$this->process_review_opened($notification);
686 686
 				break;
687 687
 
688 688
 			case 'review.closed':
689
-				$this->process_review_closed( $notification );
689
+				$this->process_review_closed($notification);
690 690
 				break;
691 691
 
692 692
 			case 'payment_intent.succeeded':
693 693
 			case 'payment_intent.payment_failed':
694 694
 			case 'payment_intent.amount_capturable_updated':
695
-				$this->process_payment_intent_success( $notification );
695
+				$this->process_payment_intent_success($notification);
696 696
 
697 697
 		}
698 698
 	}
Please login to merge, or discard this patch.
includes/class-wc-stripe-intent-controller.php 1 patch
Spacing   +29 added lines, -29 removed lines patch added patch discarded remove patch
@@ -1,5 +1,5 @@  discard block
 block discarded – undo
1 1
 <?php
2
-if ( ! defined( 'ABSPATH' ) ) {
2
+if ( ! defined('ABSPATH')) {
3 3
 	exit;
4 4
 }
5 5
 
@@ -23,7 +23,7 @@  discard block
 block discarded – undo
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' ) );
26
+		add_action('wc_ajax_wc_stripe_verify_intent', array($this, 'verify_intent'));
27 27
 	}
28 28
 
29 29
 	/**
@@ -33,8 +33,8 @@  discard block
 block discarded – undo
33 33
 	 * @return WC_Gateway_Stripe
34 34
 	 */
35 35
 	protected function get_gateway() {
36
-		if ( ! isset( $this->gateway ) ) {
37
-			if ( class_exists( 'WC_Subscriptions_Order' ) && function_exists( 'wcs_create_renewal_order' ) ) {
36
+		if ( ! isset($this->gateway)) {
37
+			if (class_exists('WC_Subscriptions_Order') && function_exists('wcs_create_renewal_order')) {
38 38
 				$class_name = 'WC_Stripe_Subs_Compat';
39 39
 			} else {
40 40
 				$class_name = 'WC_Gateway_Stripe';
@@ -54,21 +54,21 @@  discard block
 block discarded – undo
54 54
 	 * @return WC_Order
55 55
 	 */
56 56
 	protected function get_order_from_request() {
57
-		if ( ! isset( $_GET['nonce'] ) || ! wp_verify_nonce( sanitize_key( $_GET['nonce'] ), 'wc_stripe_confirm_pi' ) ) {
58
-			throw new WC_Stripe_Exception( 'missing-nonce', __( 'CSRF verification failed.', 'woocommerce-gateway-stripe' ) );
57
+		if ( ! isset($_GET['nonce']) || ! wp_verify_nonce(sanitize_key($_GET['nonce']), 'wc_stripe_confirm_pi')) {
58
+			throw new WC_Stripe_Exception('missing-nonce', __('CSRF verification failed.', 'woocommerce-gateway-stripe'));
59 59
 		}
60 60
 
61 61
 		// Load the order ID.
62 62
 		$order_id = null;
63
-		if ( isset( $_GET['order'] ) && absint( $_GET['order'] ) ) {
64
-			$order_id = absint( $_GET['order'] );
63
+		if (isset($_GET['order']) && absint($_GET['order'])) {
64
+			$order_id = absint($_GET['order']);
65 65
 		}
66 66
 
67 67
 		// Retrieve the order.
68
-		$order = wc_get_order( $order_id );
68
+		$order = wc_get_order($order_id);
69 69
 
70
-		if ( ! $order ) {
71
-			throw new WC_Stripe_Exception( 'missing-order', __( 'Missing order ID for payment confirmation', 'woocommerce-gateway-stripe' ) );
70
+		if ( ! $order) {
71
+			throw new WC_Stripe_Exception('missing-order', __('Missing order ID for payment confirmation', 'woocommerce-gateway-stripe'));
72 72
 		}
73 73
 
74 74
 		return $order;
@@ -86,32 +86,32 @@  discard block
 block discarded – undo
86 86
 
87 87
 		try {
88 88
 			$order = $this->get_order_from_request();
89
-		} catch ( WC_Stripe_Exception $e ) {
89
+		} catch (WC_Stripe_Exception $e) {
90 90
 			/* translators: Error message text */
91
-			$message = sprintf( __( 'Payment verification error: %s', 'woocommerce-gateway-stripe' ), $e->getLocalizedMessage() );
92
-			wc_add_notice( esc_html( $message ), 'error' );
91
+			$message = sprintf(__('Payment verification error: %s', 'woocommerce-gateway-stripe'), $e->getLocalizedMessage());
92
+			wc_add_notice(esc_html($message), 'error');
93 93
 
94 94
 			$redirect_url = $woocommerce->cart->is_empty()
95
-				? get_permalink( woocommerce_get_page_id( 'shop' ) )
95
+				? get_permalink(woocommerce_get_page_id('shop'))
96 96
 				: wc_get_checkout_url();
97 97
 
98
-			$this->handle_error( $e, $redirect_url );
98
+			$this->handle_error($e, $redirect_url);
99 99
 		}
100 100
 
101 101
 		try {
102
-			$gateway->verify_intent_after_checkout( $order );
102
+			$gateway->verify_intent_after_checkout($order);
103 103
 
104
-			if ( ! isset( $_GET['is_ajax'] ) ) {
105
-				$redirect_url = isset( $_GET['redirect_to'] ) // wpcs: csrf ok.
106
-					? esc_url_raw( wp_unslash( $_GET['redirect_to'] ) ) // wpcs: csrf ok.
107
-					: $gateway->get_return_url( $order );
104
+			if ( ! isset($_GET['is_ajax'])) {
105
+				$redirect_url = isset($_GET['redirect_to']) // wpcs: csrf ok.
106
+					? esc_url_raw(wp_unslash($_GET['redirect_to'])) // wpcs: csrf ok.
107
+					: $gateway->get_return_url($order);
108 108
 
109
-				wp_safe_redirect( $redirect_url );
109
+				wp_safe_redirect($redirect_url);
110 110
 			}
111 111
 
112 112
 			exit;
113
-		} catch ( WC_Stripe_Exception $e ) {
114
-			$this->handle_error( $e, $gateway->get_return_url( $order ) );
113
+		} catch (WC_Stripe_Exception $e) {
114
+			$this->handle_error($e, $gateway->get_return_url($order));
115 115
 		}
116 116
 	}
117 117
 
@@ -122,17 +122,17 @@  discard block
 block discarded – undo
122 122
 	 * @param WC_Stripe_Exception $e           The exception that was thrown.
123 123
 	 * @param string              $redirect_url An URL to use if a redirect is needed.
124 124
 	 */
125
-	protected function handle_error( $e, $redirect_url ) {
125
+	protected function handle_error($e, $redirect_url) {
126 126
 		// Log the exception before redirecting.
127
-		$message = sprintf( 'PaymentIntent verification exception: %s', $e->getLocalizedMessage() );
128
-		WC_Stripe_Logger::log( $message );
127
+		$message = sprintf('PaymentIntent verification exception: %s', $e->getLocalizedMessage());
128
+		WC_Stripe_Logger::log($message);
129 129
 
130 130
 		// `is_ajax` is only used for PI error reporting, a response is not expected.
131
-		if ( isset( $_GET['is_ajax'] ) ) {
131
+		if (isset($_GET['is_ajax'])) {
132 132
 			exit;
133 133
 		}
134 134
 
135
-		wp_safe_redirect( $redirect_url );
135
+		wp_safe_redirect($redirect_url);
136 136
 		exit;
137 137
 	}
138 138
 }
Please login to merge, or discard this patch.
woocommerce-gateway-stripe.php 1 patch
Spacing   +85 added lines, -85 removed lines patch added patch discarded remove patch
@@ -15,7 +15,7 @@  discard block
 block discarded – undo
15 15
  *
16 16
  */
17 17
 
18
-if ( ! defined( 'ABSPATH' ) ) {
18
+if ( ! defined('ABSPATH')) {
19 19
 	exit;
20 20
 }
21 21
 
@@ -29,29 +29,29 @@  discard block
 block discarded – undo
29 29
  */
30 30
 function woocommerce_stripe_missing_wc_notice() {
31 31
 	/* translators: 1. URL link. */
32
-	echo '<div class="error"><p><strong>' . sprintf( esc_html__( 'Stripe requires WooCommerce to be installed and active. You can download %s here.', 'woocommerce-gateway-stripe' ), '<a href="https://woocommerce.com/" target="_blank">WooCommerce</a>' ) . '</strong></p></div>';
32
+	echo '<div class="error"><p><strong>' . sprintf(esc_html__('Stripe requires WooCommerce to be installed and active. You can download %s here.', 'woocommerce-gateway-stripe'), '<a href="https://woocommerce.com/" target="_blank">WooCommerce</a>') . '</strong></p></div>';
33 33
 }
34 34
 
35
-add_action( 'plugins_loaded', 'woocommerce_gateway_stripe_init' );
35
+add_action('plugins_loaded', 'woocommerce_gateway_stripe_init');
36 36
 
37 37
 function woocommerce_gateway_stripe_init() {
38
-	load_plugin_textdomain( 'woocommerce-gateway-stripe', false, plugin_basename( dirname( __FILE__ ) ) . '/languages' );
38
+	load_plugin_textdomain('woocommerce-gateway-stripe', false, plugin_basename(dirname(__FILE__)) . '/languages');
39 39
 
40
-	if ( ! class_exists( 'WooCommerce' ) ) {
41
-		add_action( 'admin_notices', 'woocommerce_stripe_missing_wc_notice' );
40
+	if ( ! class_exists('WooCommerce')) {
41
+		add_action('admin_notices', 'woocommerce_stripe_missing_wc_notice');
42 42
 		return;
43 43
 	}
44 44
 
45
-	if ( ! class_exists( 'WC_Stripe' ) ) :
45
+	if ( ! class_exists('WC_Stripe')) :
46 46
 		/**
47 47
 		 * Required minimums and constants
48 48
 		 */
49
-		define( 'WC_STRIPE_VERSION', '4.1.16' );
50
-		define( 'WC_STRIPE_MIN_PHP_VER', '5.6.0' );
51
-		define( 'WC_STRIPE_MIN_WC_VER', '2.6.0' );
52
-		define( 'WC_STRIPE_MAIN_FILE', __FILE__ );
53
-		define( 'WC_STRIPE_PLUGIN_URL', untrailingslashit( plugins_url( basename( plugin_dir_path( __FILE__ ) ), basename( __FILE__ ) ) ) );
54
-		define( 'WC_STRIPE_PLUGIN_PATH', untrailingslashit( plugin_dir_path( __FILE__ ) ) );
49
+		define('WC_STRIPE_VERSION', '4.1.16');
50
+		define('WC_STRIPE_MIN_PHP_VER', '5.6.0');
51
+		define('WC_STRIPE_MIN_WC_VER', '2.6.0');
52
+		define('WC_STRIPE_MAIN_FILE', __FILE__);
53
+		define('WC_STRIPE_PLUGIN_URL', untrailingslashit(plugins_url(basename(plugin_dir_path(__FILE__)), basename(__FILE__))));
54
+		define('WC_STRIPE_PLUGIN_PATH', untrailingslashit(plugin_dir_path(__FILE__)));
55 55
 
56 56
 		class WC_Stripe {
57 57
 
@@ -66,7 +66,7 @@  discard block
 block discarded – undo
66 66
 			 * @return Singleton The *Singleton* instance.
67 67
 			 */
68 68
 			public static function get_instance() {
69
-				if ( null === self::$instance ) {
69
+				if (null === self::$instance) {
70 70
 					self::$instance = new self();
71 71
 				}
72 72
 				return self::$instance;
@@ -93,7 +93,7 @@  discard block
 block discarded – undo
93 93
 			 * *Singleton* via the `new` operator from outside of this class.
94 94
 			 */
95 95
 			private function __construct() {
96
-				add_action( 'admin_init', array( $this, 'install' ) );
96
+				add_action('admin_init', array($this, 'install'));
97 97
 				$this->init();
98 98
 			}
99 99
 
@@ -104,49 +104,49 @@  discard block
 block discarded – undo
104 104
 			 * @version 4.0.0
105 105
 			 */
106 106
 			public function init() {
107
-				if ( is_admin() ) {
108
-					require_once dirname( __FILE__ ) . '/includes/admin/class-wc-stripe-privacy.php';
107
+				if (is_admin()) {
108
+					require_once dirname(__FILE__) . '/includes/admin/class-wc-stripe-privacy.php';
109 109
 				}
110 110
 
111
-				require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-exception.php';
112
-				require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-logger.php';
113
-				require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-helper.php';
114
-				include_once dirname( __FILE__ ) . '/includes/class-wc-stripe-api.php';
115
-				require_once dirname( __FILE__ ) . '/includes/abstracts/abstract-wc-stripe-payment-gateway.php';
116
-				require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-webhook-handler.php';
117
-				require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-sepa-payment-token.php';
118
-				require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-apple-pay-registration.php';
119
-				require_once dirname( __FILE__ ) . '/includes/compat/class-wc-stripe-pre-orders-compat.php';
120
-				require_once dirname( __FILE__ ) . '/includes/class-wc-gateway-stripe.php';
121
-				require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-gateway-stripe-bancontact.php';
122
-				require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-gateway-stripe-sofort.php';
123
-				require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-gateway-stripe-giropay.php';
124
-				require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-gateway-stripe-eps.php';
125
-				require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-gateway-stripe-ideal.php';
126
-				require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-gateway-stripe-p24.php';
127
-				require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-gateway-stripe-alipay.php';
128
-				require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-gateway-stripe-sepa.php';
129
-				require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-gateway-stripe-multibanco.php';
130
-				require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-stripe-payment-request.php';
131
-				require_once dirname( __FILE__ ) . '/includes/compat/class-wc-stripe-subs-compat.php';
132
-				require_once dirname( __FILE__ ) . '/includes/compat/class-wc-stripe-sepa-subs-compat.php';
133
-				require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-order-handler.php';
134
-				require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-payment-tokens.php';
135
-				require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-customer.php';
136
-				require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-intent-controller.php';
137
-
138
-				if ( is_admin() ) {
139
-					require_once dirname( __FILE__ ) . '/includes/admin/class-wc-stripe-admin-notices.php';
111
+				require_once dirname(__FILE__) . '/includes/class-wc-stripe-exception.php';
112
+				require_once dirname(__FILE__) . '/includes/class-wc-stripe-logger.php';
113
+				require_once dirname(__FILE__) . '/includes/class-wc-stripe-helper.php';
114
+				include_once dirname(__FILE__) . '/includes/class-wc-stripe-api.php';
115
+				require_once dirname(__FILE__) . '/includes/abstracts/abstract-wc-stripe-payment-gateway.php';
116
+				require_once dirname(__FILE__) . '/includes/class-wc-stripe-webhook-handler.php';
117
+				require_once dirname(__FILE__) . '/includes/class-wc-stripe-sepa-payment-token.php';
118
+				require_once dirname(__FILE__) . '/includes/class-wc-stripe-apple-pay-registration.php';
119
+				require_once dirname(__FILE__) . '/includes/compat/class-wc-stripe-pre-orders-compat.php';
120
+				require_once dirname(__FILE__) . '/includes/class-wc-gateway-stripe.php';
121
+				require_once dirname(__FILE__) . '/includes/payment-methods/class-wc-gateway-stripe-bancontact.php';
122
+				require_once dirname(__FILE__) . '/includes/payment-methods/class-wc-gateway-stripe-sofort.php';
123
+				require_once dirname(__FILE__) . '/includes/payment-methods/class-wc-gateway-stripe-giropay.php';
124
+				require_once dirname(__FILE__) . '/includes/payment-methods/class-wc-gateway-stripe-eps.php';
125
+				require_once dirname(__FILE__) . '/includes/payment-methods/class-wc-gateway-stripe-ideal.php';
126
+				require_once dirname(__FILE__) . '/includes/payment-methods/class-wc-gateway-stripe-p24.php';
127
+				require_once dirname(__FILE__) . '/includes/payment-methods/class-wc-gateway-stripe-alipay.php';
128
+				require_once dirname(__FILE__) . '/includes/payment-methods/class-wc-gateway-stripe-sepa.php';
129
+				require_once dirname(__FILE__) . '/includes/payment-methods/class-wc-gateway-stripe-multibanco.php';
130
+				require_once dirname(__FILE__) . '/includes/payment-methods/class-wc-stripe-payment-request.php';
131
+				require_once dirname(__FILE__) . '/includes/compat/class-wc-stripe-subs-compat.php';
132
+				require_once dirname(__FILE__) . '/includes/compat/class-wc-stripe-sepa-subs-compat.php';
133
+				require_once dirname(__FILE__) . '/includes/class-wc-stripe-order-handler.php';
134
+				require_once dirname(__FILE__) . '/includes/class-wc-stripe-payment-tokens.php';
135
+				require_once dirname(__FILE__) . '/includes/class-wc-stripe-customer.php';
136
+				require_once dirname(__FILE__) . '/includes/class-wc-stripe-intent-controller.php';
137
+
138
+				if (is_admin()) {
139
+					require_once dirname(__FILE__) . '/includes/admin/class-wc-stripe-admin-notices.php';
140 140
 				}
141 141
 
142 142
 				// REMOVE IN THE FUTURE.
143
-				require_once dirname( __FILE__ ) . '/includes/deprecated/class-wc-stripe-apple-pay.php';
143
+				require_once dirname(__FILE__) . '/includes/deprecated/class-wc-stripe-apple-pay.php';
144 144
 
145
-				add_filter( 'woocommerce_payment_gateways', array( $this, 'add_gateways' ) );
146
-				add_filter( 'plugin_action_links_' . plugin_basename( __FILE__ ), array( $this, 'plugin_action_links' ) );
145
+				add_filter('woocommerce_payment_gateways', array($this, 'add_gateways'));
146
+				add_filter('plugin_action_links_' . plugin_basename(__FILE__), array($this, 'plugin_action_links'));
147 147
 
148
-				if ( version_compare( WC_VERSION, '3.4', '<' ) ) {
149
-					add_filter( 'woocommerce_get_sections_checkout', array( $this, 'filter_gateway_order_admin' ) );
148
+				if (version_compare(WC_VERSION, '3.4', '<')) {
149
+					add_filter('woocommerce_get_sections_checkout', array($this, 'filter_gateway_order_admin'));
150 150
 				}
151 151
 			}
152 152
 
@@ -157,8 +157,8 @@  discard block
 block discarded – undo
157 157
 			 * @version 4.0.0
158 158
 			 */
159 159
 			public function update_plugin_version() {
160
-				delete_option( 'wc_stripe_version' );
161
-				update_option( 'wc_stripe_version', WC_STRIPE_VERSION );
160
+				delete_option('wc_stripe_version');
161
+				update_option('wc_stripe_version', WC_STRIPE_VERSION);
162 162
 			}
163 163
 
164 164
 			/**
@@ -168,15 +168,15 @@  discard block
 block discarded – undo
168 168
 			 * @version 3.1.0
169 169
 			 */
170 170
 			public function install() {
171
-				if ( ! is_plugin_active( plugin_basename( __FILE__ ) ) ) {
171
+				if ( ! is_plugin_active(plugin_basename(__FILE__))) {
172 172
 					return;
173 173
 				}
174 174
 
175
-				if ( ! defined( 'IFRAME_REQUEST' ) && ( WC_STRIPE_VERSION !== get_option( 'wc_stripe_version' ) ) ) {
176
-					do_action( 'woocommerce_stripe_updated' );
175
+				if ( ! defined('IFRAME_REQUEST') && (WC_STRIPE_VERSION !== get_option('wc_stripe_version'))) {
176
+					do_action('woocommerce_stripe_updated');
177 177
 
178
-					if ( ! defined( 'WC_STRIPE_INSTALLING' ) ) {
179
-						define( 'WC_STRIPE_INSTALLING', true );
178
+					if ( ! defined('WC_STRIPE_INSTALLING')) {
179
+						define('WC_STRIPE_INSTALLING', true);
180 180
 					}
181 181
 
182 182
 					$this->update_plugin_version();
@@ -189,13 +189,13 @@  discard block
 block discarded – undo
189 189
 			 * @since 1.0.0
190 190
 			 * @version 4.0.0
191 191
 			 */
192
-			public function plugin_action_links( $links ) {
192
+			public function plugin_action_links($links) {
193 193
 				$plugin_links = array(
194
-					'<a href="admin.php?page=wc-settings&tab=checkout&section=stripe">' . esc_html__( 'Settings', 'woocommerce-gateway-stripe' ) . '</a>',
195
-					'<a href="https://docs.woocommerce.com/document/stripe/">' . esc_html__( 'Docs', 'woocommerce-gateway-stripe' ) . '</a>',
196
-					'<a href="https://woocommerce.com/my-account/create-a-ticket?broken=primary&select=18627">' . esc_html__( 'Support', 'woocommerce-gateway-stripe' ) . '</a>',
194
+					'<a href="admin.php?page=wc-settings&tab=checkout&section=stripe">' . esc_html__('Settings', 'woocommerce-gateway-stripe') . '</a>',
195
+					'<a href="https://docs.woocommerce.com/document/stripe/">' . esc_html__('Docs', 'woocommerce-gateway-stripe') . '</a>',
196
+					'<a href="https://woocommerce.com/my-account/create-a-ticket?broken=primary&select=18627">' . esc_html__('Support', 'woocommerce-gateway-stripe') . '</a>',
197 197
 				);
198
-				return array_merge( $plugin_links, $links );
198
+				return array_merge($plugin_links, $links);
199 199
 			}
200 200
 
201 201
 			/**
@@ -204,8 +204,8 @@  discard block
 block discarded – undo
204 204
 			 * @since 1.0.0
205 205
 			 * @version 4.0.0
206 206
 			 */
207
-			public function add_gateways( $methods ) {
208
-				if ( class_exists( 'WC_Subscriptions_Order' ) && function_exists( 'wcs_create_renewal_order' ) ) {
207
+			public function add_gateways($methods) {
208
+				if (class_exists('WC_Subscriptions_Order') && function_exists('wcs_create_renewal_order')) {
209 209
 					$methods[] = 'WC_Stripe_Subs_Compat';
210 210
 					$methods[] = 'WC_Stripe_Sepa_Subs_Compat';
211 211
 				} else {
@@ -231,28 +231,28 @@  discard block
 block discarded – undo
231 231
 			 * @since 4.0.0
232 232
 			 * @version 4.0.0
233 233
 			 */
234
-			public function filter_gateway_order_admin( $sections ) {
235
-				unset( $sections['stripe'] );
236
-				unset( $sections['stripe_bancontact'] );
237
-				unset( $sections['stripe_sofort'] );
238
-				unset( $sections['stripe_giropay'] );
239
-				unset( $sections['stripe_eps'] );
240
-				unset( $sections['stripe_ideal'] );
241
-				unset( $sections['stripe_p24'] );
242
-				unset( $sections['stripe_alipay'] );
243
-				unset( $sections['stripe_sepa'] );
244
-				unset( $sections['stripe_multibanco'] );
234
+			public function filter_gateway_order_admin($sections) {
235
+				unset($sections['stripe']);
236
+				unset($sections['stripe_bancontact']);
237
+				unset($sections['stripe_sofort']);
238
+				unset($sections['stripe_giropay']);
239
+				unset($sections['stripe_eps']);
240
+				unset($sections['stripe_ideal']);
241
+				unset($sections['stripe_p24']);
242
+				unset($sections['stripe_alipay']);
243
+				unset($sections['stripe_sepa']);
244
+				unset($sections['stripe_multibanco']);
245 245
 
246 246
 				$sections['stripe']            = 'Stripe';
247
-				$sections['stripe_bancontact'] = __( 'Stripe Bancontact', 'woocommerce-gateway-stripe' );
248
-				$sections['stripe_sofort']     = __( 'Stripe SOFORT', 'woocommerce-gateway-stripe' );
249
-				$sections['stripe_giropay']    = __( 'Stripe Giropay', 'woocommerce-gateway-stripe' );
250
-				$sections['stripe_eps']        = __( 'Stripe EPS', 'woocommerce-gateway-stripe' );
251
-				$sections['stripe_ideal']      = __( 'Stripe iDeal', 'woocommerce-gateway-stripe' );
252
-				$sections['stripe_p24']        = __( 'Stripe P24', 'woocommerce-gateway-stripe' );
253
-				$sections['stripe_alipay']     = __( 'Stripe Alipay', 'woocommerce-gateway-stripe' );
254
-				$sections['stripe_sepa']       = __( 'Stripe SEPA Direct Debit', 'woocommerce-gateway-stripe' );
255
-				$sections['stripe_multibanco'] = __( 'Stripe Multibanco', 'woocommerce-gateway-stripe' );
247
+				$sections['stripe_bancontact'] = __('Stripe Bancontact', 'woocommerce-gateway-stripe');
248
+				$sections['stripe_sofort']     = __('Stripe SOFORT', 'woocommerce-gateway-stripe');
249
+				$sections['stripe_giropay']    = __('Stripe Giropay', 'woocommerce-gateway-stripe');
250
+				$sections['stripe_eps']        = __('Stripe EPS', 'woocommerce-gateway-stripe');
251
+				$sections['stripe_ideal']      = __('Stripe iDeal', 'woocommerce-gateway-stripe');
252
+				$sections['stripe_p24']        = __('Stripe P24', 'woocommerce-gateway-stripe');
253
+				$sections['stripe_alipay']     = __('Stripe Alipay', 'woocommerce-gateway-stripe');
254
+				$sections['stripe_sepa']       = __('Stripe SEPA Direct Debit', 'woocommerce-gateway-stripe');
255
+				$sections['stripe_multibanco'] = __('Stripe Multibanco', 'woocommerce-gateway-stripe');
256 256
 
257 257
 				return $sections;
258 258
 			}
Please login to merge, or discard this patch.