Completed
Pull Request — master (#1432)
by
unknown
01:53
created
includes/class-wc-stripe-intent-controller.php 1 patch
Spacing   +49 added lines, -49 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,8 +23,8 @@  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' ) );
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
180 180
 				'setup_intents'
181 181
 			);
182 182
 
183
-			if ( ! empty( $setup_intent->error ) ) {
184
-				$error_response_message = print_r( $setup_intent, true );
183
+			if ( ! empty($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
 block discarded – undo
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
 block discarded – undo
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
 }
Please login to merge, or discard this patch.