@@ -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,19 +15,19 @@ 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 ); |
|
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 | 23 | |
24 | 24 | // display the credit card used for a subscription in the "My Subscriptions" table |
25 | - add_filter( 'woocommerce_my_subscriptions_payment_method', array( $this, 'maybe_render_subscription_payment_method' ), 10, 2 ); |
|
25 | + add_filter('woocommerce_my_subscriptions_payment_method', array($this, 'maybe_render_subscription_payment_method'), 10, 2); |
|
26 | 26 | |
27 | 27 | // allow store managers to manually set Stripe as the payment method on a subscription |
28 | - add_filter( 'woocommerce_subscription_payment_meta', array( $this, 'add_subscription_payment_meta' ), 10, 2 ); |
|
29 | - add_filter( 'woocommerce_subscription_validate_payment_meta', array( $this, 'validate_subscription_payment_meta' ), 10, 2 ); |
|
30 | - add_filter( 'wc_stripe_display_save_payment_method_checkbox', array( $this, 'maybe_hide_save_checkbox' ) ); |
|
28 | + add_filter('woocommerce_subscription_payment_meta', array($this, 'add_subscription_payment_meta'), 10, 2); |
|
29 | + add_filter('woocommerce_subscription_validate_payment_meta', array($this, 'validate_subscription_payment_meta'), 10, 2); |
|
30 | + add_filter('wc_stripe_display_save_payment_method_checkbox', array($this, 'maybe_hide_save_checkbox')); |
|
31 | 31 | } |
32 | 32 | } |
33 | 33 | |
@@ -47,8 +47,8 @@ discard block |
||
47 | 47 | * @since 4.0.0 |
48 | 48 | * @version 4.0.0 |
49 | 49 | */ |
50 | - public function maybe_hide_save_checkbox( $display_tokenization ) { |
|
51 | - if ( WC_Subscriptions_Cart::cart_contains_subscription() ) { |
|
50 | + public function maybe_hide_save_checkbox($display_tokenization) { |
|
51 | + if (WC_Subscriptions_Cart::cart_contains_subscription()) { |
|
52 | 52 | return false; |
53 | 53 | } |
54 | 54 | |
@@ -60,8 +60,8 @@ discard block |
||
60 | 60 | * @param int $order_id |
61 | 61 | * @return boolean |
62 | 62 | */ |
63 | - public function has_subscription( $order_id ) { |
|
64 | - return ( function_exists( 'wcs_order_contains_subscription' ) && ( wcs_order_contains_subscription( $order_id ) || wcs_is_subscription( $order_id ) || wcs_order_contains_renewal( $order_id ) ) ); |
|
63 | + public function has_subscription($order_id) { |
|
64 | + return (function_exists('wcs_order_contains_subscription') && (wcs_order_contains_subscription($order_id) || wcs_is_subscription($order_id) || wcs_order_contains_renewal($order_id))); |
|
65 | 65 | } |
66 | 66 | |
67 | 67 | /** |
@@ -71,7 +71,7 @@ discard block |
||
71 | 71 | * @return bool |
72 | 72 | */ |
73 | 73 | public function is_subs_change_payment() { |
74 | - return ( isset( $_GET['pay_for_order'] ) && isset( $_GET['change_payment_method'] ) ); |
|
74 | + return (isset($_GET['pay_for_order']) && isset($_GET['change_payment_method'])); |
|
75 | 75 | } |
76 | 76 | |
77 | 77 | /** |
@@ -80,24 +80,24 @@ discard block |
||
80 | 80 | * @since 4.0.4 |
81 | 81 | * @param int $order_id |
82 | 82 | */ |
83 | - public function change_subs_payment_method( $order_id ) { |
|
83 | + public function change_subs_payment_method($order_id) { |
|
84 | 84 | try { |
85 | - $subscription = wc_get_order( $order_id ); |
|
86 | - $prepared_source = $this->prepare_source( get_current_user_id(), true ); |
|
85 | + $subscription = wc_get_order($order_id); |
|
86 | + $prepared_source = $this->prepare_source(get_current_user_id(), true); |
|
87 | 87 | $source_object = $prepared_source->source_object; |
88 | 88 | |
89 | 89 | // Check if we don't allow prepaid credit cards. |
90 | - if ( ! apply_filters( 'wc_stripe_allow_prepaid_card', true ) && $this->is_prepaid_card( $source_object ) ) { |
|
91 | - $localized_message = __( 'Sorry, we\'re not accepting prepaid cards at this time. Your credit card has not been charge. Please try with alternative payment method.', 'woocommerce-gateway-stripe' ); |
|
92 | - throw new WC_Stripe_Exception( print_r( $source_object, true ), $localized_message ); |
|
90 | + if ( ! apply_filters('wc_stripe_allow_prepaid_card', true) && $this->is_prepaid_card($source_object)) { |
|
91 | + $localized_message = __('Sorry, we\'re not accepting prepaid cards at this time. Your credit card has not been charge. Please try with alternative payment method.', 'woocommerce-gateway-stripe'); |
|
92 | + throw new WC_Stripe_Exception(print_r($source_object, true), $localized_message); |
|
93 | 93 | } |
94 | 94 | |
95 | - if ( empty( $prepared_source->source ) ) { |
|
96 | - $localized_message = __( 'Payment processing failed. Please retry.', 'woocommerce-gateway-stripe' ); |
|
97 | - throw new WC_Stripe_Exception( print_r( $prepared_source, true ), $localized_message ); |
|
95 | + if (empty($prepared_source->source)) { |
|
96 | + $localized_message = __('Payment processing failed. Please retry.', 'woocommerce-gateway-stripe'); |
|
97 | + throw new WC_Stripe_Exception(print_r($prepared_source, true), $localized_message); |
|
98 | 98 | } |
99 | 99 | |
100 | - $this->save_source_to_order( $subscription, $prepared_source ); |
|
100 | + $this->save_source_to_order($subscription, $prepared_source); |
|
101 | 101 | |
102 | 102 | /* |
103 | 103 | * Check if card 3DS is required or optional with 3DS setting. |
@@ -106,41 +106,41 @@ discard block |
||
106 | 106 | * Note that if we need to save source, the original source must be first |
107 | 107 | * attached to a customer in Stripe before it can be charged. |
108 | 108 | */ |
109 | - if ( $this->is_3ds_required( $source_object ) ) { |
|
109 | + if ($this->is_3ds_required($source_object)) { |
|
110 | 110 | $order = $subscription->get_parent(); |
111 | - $response = $this->create_3ds_source( $order, $source_object, $subscription->get_view_order_url() ); |
|
111 | + $response = $this->create_3ds_source($order, $source_object, $subscription->get_view_order_url()); |
|
112 | 112 | |
113 | - if ( ! empty( $response->error ) ) { |
|
113 | + if ( ! empty($response->error)) { |
|
114 | 114 | $localized_message = $response->error->message; |
115 | 115 | |
116 | - $order->add_order_note( $localized_message ); |
|
116 | + $order->add_order_note($localized_message); |
|
117 | 117 | |
118 | - throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message ); |
|
118 | + throw new WC_Stripe_Exception(print_r($response, true), $localized_message); |
|
119 | 119 | } |
120 | 120 | |
121 | 121 | // Update order meta with 3DS source. |
122 | - if ( WC_Stripe_Helper::is_pre_30() ) { |
|
123 | - update_post_meta( $order_id, '_stripe_source_id', $response->id ); |
|
122 | + if (WC_Stripe_Helper::is_pre_30()) { |
|
123 | + update_post_meta($order_id, '_stripe_source_id', $response->id); |
|
124 | 124 | } else { |
125 | - $subscription->update_meta_data( '_stripe_source_id', $response->id ); |
|
125 | + $subscription->update_meta_data('_stripe_source_id', $response->id); |
|
126 | 126 | $subscription->save(); |
127 | 127 | } |
128 | 128 | |
129 | - WC_Stripe_Logger::log( 'Info: Redirecting to 3DS...' ); |
|
129 | + WC_Stripe_Logger::log('Info: Redirecting to 3DS...'); |
|
130 | 130 | |
131 | 131 | return array( |
132 | 132 | 'result' => 'success', |
133 | - 'redirect' => esc_url_raw( $response->redirect->url ), |
|
133 | + 'redirect' => esc_url_raw($response->redirect->url), |
|
134 | 134 | ); |
135 | 135 | } |
136 | 136 | |
137 | 137 | return array( |
138 | 138 | 'result' => 'success', |
139 | - 'redirect' => $this->get_return_url( $subscription ), |
|
139 | + 'redirect' => $this->get_return_url($subscription), |
|
140 | 140 | ); |
141 | - } catch ( WC_Stripe_Exception $e ) { |
|
142 | - wc_add_notice( $e->getLocalizedMessage(), 'error' ); |
|
143 | - WC_Stripe_Logger::log( 'Error: ' . $e->getMessage() ); |
|
141 | + } catch (WC_Stripe_Exception $e) { |
|
142 | + wc_add_notice($e->getLocalizedMessage(), 'error'); |
|
143 | + WC_Stripe_Logger::log('Error: ' . $e->getMessage()); |
|
144 | 144 | } |
145 | 145 | } |
146 | 146 | |
@@ -149,16 +149,16 @@ discard block |
||
149 | 149 | * @param int $order_id |
150 | 150 | * @return array |
151 | 151 | */ |
152 | - public function process_payment( $order_id, $retry = true, $force_save_source = false, $previous_error = false ) { |
|
153 | - if ( $this->has_subscription( $order_id ) ) { |
|
154 | - if ( $this->is_subs_change_payment() ) { |
|
155 | - return $this->change_subs_payment_method( $order_id ); |
|
152 | + public function process_payment($order_id, $retry = true, $force_save_source = false, $previous_error = false) { |
|
153 | + if ($this->has_subscription($order_id)) { |
|
154 | + if ($this->is_subs_change_payment()) { |
|
155 | + return $this->change_subs_payment_method($order_id); |
|
156 | 156 | } |
157 | 157 | |
158 | 158 | // Regular payment with force customer enabled |
159 | - return parent::process_payment( $order_id, $retry, true, $previous_error ); |
|
159 | + return parent::process_payment($order_id, $retry, true, $previous_error); |
|
160 | 160 | } else { |
161 | - return parent::process_payment( $order_id, $retry, $force_save_source, $previous_error ); |
|
161 | + return parent::process_payment($order_id, $retry, $force_save_source, $previous_error); |
|
162 | 162 | } |
163 | 163 | } |
164 | 164 | |
@@ -168,8 +168,8 @@ discard block |
||
168 | 168 | * @param $amount_to_charge float The amount to charge. |
169 | 169 | * @param $renewal_order WC_Order A WC_Order object created to record the renewal payment. |
170 | 170 | */ |
171 | - public function scheduled_subscription_payment( $amount_to_charge, $renewal_order ) { |
|
172 | - $this->process_subscription_payment( $amount_to_charge, $renewal_order, true, false ); |
|
171 | + public function scheduled_subscription_payment($amount_to_charge, $renewal_order) { |
|
172 | + $this->process_subscription_payment($amount_to_charge, $renewal_order, true, false); |
|
173 | 173 | } |
174 | 174 | |
175 | 175 | /** |
@@ -183,86 +183,86 @@ discard block |
||
183 | 183 | * @param bool $retry Should we retry the process? |
184 | 184 | * @param object $previous_error |
185 | 185 | */ |
186 | - public function process_subscription_payment( $amount = 0.0, $renewal_order, $retry = true, $previous_error ) { |
|
186 | + public function process_subscription_payment($amount = 0.0, $renewal_order, $retry = true, $previous_error) { |
|
187 | 187 | try { |
188 | - if ( $amount * 100 < WC_Stripe_Helper::get_minimum_amount() ) { |
|
188 | + if ($amount * 100 < WC_Stripe_Helper::get_minimum_amount()) { |
|
189 | 189 | /* translators: minimum amount */ |
190 | - return new WP_Error( 'stripe_error', 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 ) ) ); |
|
190 | + return new WP_Error('stripe_error', 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))); |
|
191 | 191 | } |
192 | 192 | |
193 | 193 | $order_id = WC_Stripe_Helper::is_pre_30() ? $renewal_order->id : $renewal_order->get_id(); |
194 | 194 | |
195 | 195 | // Get source from order |
196 | - $prepared_source = $this->prepare_order_source( $renewal_order ); |
|
196 | + $prepared_source = $this->prepare_order_source($renewal_order); |
|
197 | 197 | $source_object = $prepared_source->source_object; |
198 | 198 | |
199 | - if ( ! $prepared_source->customer ) { |
|
200 | - return new WP_Error( 'stripe_error', __( 'Customer not found', 'woocommerce-gateway-stripe' ) ); |
|
199 | + if ( ! $prepared_source->customer) { |
|
200 | + return new WP_Error('stripe_error', __('Customer not found', 'woocommerce-gateway-stripe')); |
|
201 | 201 | } |
202 | 202 | |
203 | - WC_Stripe_Logger::log( "Info: Begin processing subscription payment for order {$order_id} for the amount of {$amount}" ); |
|
203 | + WC_Stripe_Logger::log("Info: Begin processing subscription payment for order {$order_id} for the amount of {$amount}"); |
|
204 | 204 | |
205 | 205 | /* If we're doing a retry and source is chargeable, we need to pass |
206 | 206 | * a different idempotency key and retry for success. |
207 | 207 | */ |
208 | - if ( is_object( $source_object ) && empty( $source_object->error ) && $this->need_update_idempotency_key( $source_object, $previous_error ) ) { |
|
209 | - add_filter( 'wc_stripe_idempotency_key', array( $this, 'change_idempotency_key' ), 10, 2 ); |
|
208 | + if (is_object($source_object) && empty($source_object->error) && $this->need_update_idempotency_key($source_object, $previous_error)) { |
|
209 | + add_filter('wc_stripe_idempotency_key', array($this, 'change_idempotency_key'), 10, 2); |
|
210 | 210 | } |
211 | 211 | |
212 | - 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 ) ) { |
|
212 | + 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)) { |
|
213 | 213 | // Passing empty source will charge customer default. |
214 | 214 | $prepared_source->source = ''; |
215 | 215 | } |
216 | 216 | |
217 | - $request = $this->generate_payment_request( $renewal_order, $prepared_source ); |
|
217 | + $request = $this->generate_payment_request($renewal_order, $prepared_source); |
|
218 | 218 | $request['capture'] = 'true'; |
219 | - $request['amount'] = WC_Stripe_Helper::get_stripe_amount( $amount, $request['currency'] ); |
|
220 | - $response = WC_Stripe_API::request( $request ); |
|
219 | + $request['amount'] = WC_Stripe_Helper::get_stripe_amount($amount, $request['currency']); |
|
220 | + $response = WC_Stripe_API::request($request); |
|
221 | 221 | |
222 | - if ( ! empty( $response->error ) ) { |
|
222 | + if ( ! empty($response->error)) { |
|
223 | 223 | // We want to retry. |
224 | - if ( $this->is_retryable_error( $response->error ) ) { |
|
225 | - if ( $retry ) { |
|
224 | + if ($this->is_retryable_error($response->error)) { |
|
225 | + if ($retry) { |
|
226 | 226 | // Don't do anymore retries after this. |
227 | - if ( 5 <= $this->retry_interval ) { |
|
228 | - return $this->process_subscription_payment( $amount, $renewal_order, false, $response->error ); |
|
227 | + if (5 <= $this->retry_interval) { |
|
228 | + return $this->process_subscription_payment($amount, $renewal_order, false, $response->error); |
|
229 | 229 | } |
230 | 230 | |
231 | - sleep( $this->retry_interval ); |
|
231 | + sleep($this->retry_interval); |
|
232 | 232 | |
233 | 233 | $this->retry_interval++; |
234 | 234 | |
235 | - return $this->process_subscription_payment( $amount, $renewal_order, true, $response->error ); |
|
235 | + return $this->process_subscription_payment($amount, $renewal_order, true, $response->error); |
|
236 | 236 | } else { |
237 | - $localized_message = __( 'Sorry, we are unable to process your payment at this time. Please retry later.', 'woocommerce-gateway-stripe' ); |
|
238 | - $renewal_order->add_order_note( $localized_message ); |
|
239 | - throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message ); |
|
237 | + $localized_message = __('Sorry, we are unable to process your payment at this time. Please retry later.', 'woocommerce-gateway-stripe'); |
|
238 | + $renewal_order->add_order_note($localized_message); |
|
239 | + throw new WC_Stripe_Exception(print_r($response, true), $localized_message); |
|
240 | 240 | } |
241 | 241 | } |
242 | 242 | |
243 | 243 | $localized_messages = WC_Stripe_Helper::get_localized_messages(); |
244 | 244 | |
245 | - if ( 'card_error' === $response->error->type ) { |
|
246 | - $localized_message = isset( $localized_messages[ $response->error->code ] ) ? $localized_messages[ $response->error->code ] : $response->error->message; |
|
245 | + if ('card_error' === $response->error->type) { |
|
246 | + $localized_message = isset($localized_messages[$response->error->code]) ? $localized_messages[$response->error->code] : $response->error->message; |
|
247 | 247 | } else { |
248 | - $localized_message = isset( $localized_messages[ $response->error->type ] ) ? $localized_messages[ $response->error->type ] : $response->error->message; |
|
248 | + $localized_message = isset($localized_messages[$response->error->type]) ? $localized_messages[$response->error->type] : $response->error->message; |
|
249 | 249 | } |
250 | 250 | |
251 | - $renewal_order->add_order_note( $localized_message ); |
|
251 | + $renewal_order->add_order_note($localized_message); |
|
252 | 252 | |
253 | - throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message ); |
|
253 | + throw new WC_Stripe_Exception(print_r($response, true), $localized_message); |
|
254 | 254 | } |
255 | 255 | |
256 | - do_action( 'wc_gateway_stripe_process_payment', $response, $renewal_order ); |
|
256 | + do_action('wc_gateway_stripe_process_payment', $response, $renewal_order); |
|
257 | 257 | |
258 | - $this->process_response( $response, $renewal_order ); |
|
259 | - } catch ( WC_Stripe_Exception $e ) { |
|
260 | - WC_Stripe_Logger::log( 'Error: ' . $e->getMessage() ); |
|
258 | + $this->process_response($response, $renewal_order); |
|
259 | + } catch (WC_Stripe_Exception $e) { |
|
260 | + WC_Stripe_Logger::log('Error: ' . $e->getMessage()); |
|
261 | 261 | |
262 | - do_action( 'wc_gateway_stripe_process_payment_error', $e, $renewal_order ); |
|
262 | + do_action('wc_gateway_stripe_process_payment_error', $e, $renewal_order); |
|
263 | 263 | |
264 | 264 | /* translators: error message */ |
265 | - $renewal_order->update_status( 'failed' ); |
|
265 | + $renewal_order->update_status('failed'); |
|
266 | 266 | } |
267 | 267 | } |
268 | 268 | |
@@ -272,24 +272,24 @@ discard block |
||
272 | 272 | * @since 3.1.0 |
273 | 273 | * @version 4.0.0 |
274 | 274 | */ |
275 | - public function save_source_to_order( $order, $source ) { |
|
276 | - parent::save_source_to_order( $order, $source ); |
|
275 | + public function save_source_to_order($order, $source) { |
|
276 | + parent::save_source_to_order($order, $source); |
|
277 | 277 | |
278 | 278 | $order_id = WC_Stripe_Helper::is_pre_30() ? $order->id : $order->get_id(); |
279 | 279 | |
280 | 280 | // Also store it on the subscriptions being purchased or paid for in the order |
281 | - if ( function_exists( 'wcs_order_contains_subscription' ) && wcs_order_contains_subscription( $order_id ) ) { |
|
282 | - $subscriptions = wcs_get_subscriptions_for_order( $order_id ); |
|
283 | - } elseif ( function_exists( 'wcs_order_contains_renewal' ) && wcs_order_contains_renewal( $order_id ) ) { |
|
284 | - $subscriptions = wcs_get_subscriptions_for_renewal_order( $order_id ); |
|
281 | + if (function_exists('wcs_order_contains_subscription') && wcs_order_contains_subscription($order_id)) { |
|
282 | + $subscriptions = wcs_get_subscriptions_for_order($order_id); |
|
283 | + } elseif (function_exists('wcs_order_contains_renewal') && wcs_order_contains_renewal($order_id)) { |
|
284 | + $subscriptions = wcs_get_subscriptions_for_renewal_order($order_id); |
|
285 | 285 | } else { |
286 | 286 | $subscriptions = array(); |
287 | 287 | } |
288 | 288 | |
289 | - foreach ( $subscriptions as $subscription ) { |
|
289 | + foreach ($subscriptions as $subscription) { |
|
290 | 290 | $subscription_id = WC_Stripe_Helper::is_pre_30() ? $subscription->id : $subscription->get_id(); |
291 | - update_post_meta( $subscription_id, '_stripe_customer_id', $source->customer ); |
|
292 | - update_post_meta( $subscription_id, '_stripe_source_id', $source->source ); |
|
291 | + update_post_meta($subscription_id, '_stripe_customer_id', $source->customer); |
|
292 | + update_post_meta($subscription_id, '_stripe_source_id', $source->source); |
|
293 | 293 | } |
294 | 294 | } |
295 | 295 | |
@@ -297,21 +297,21 @@ discard block |
||
297 | 297 | * Don't transfer Stripe customer/token meta to resubscribe orders. |
298 | 298 | * @param int $resubscribe_order The order created for the customer to resubscribe to the old expired/cancelled subscription |
299 | 299 | */ |
300 | - public function delete_resubscribe_meta( $resubscribe_order ) { |
|
301 | - delete_post_meta( ( WC_Stripe_Helper::is_pre_30() ? $resubscribe_order->id : $resubscribe_order->get_id() ), '_stripe_customer_id' ); |
|
302 | - delete_post_meta( ( WC_Stripe_Helper::is_pre_30() ? $resubscribe_order->id : $resubscribe_order->get_id() ), '_stripe_source_id' ); |
|
300 | + public function delete_resubscribe_meta($resubscribe_order) { |
|
301 | + delete_post_meta((WC_Stripe_Helper::is_pre_30() ? $resubscribe_order->id : $resubscribe_order->get_id()), '_stripe_customer_id'); |
|
302 | + delete_post_meta((WC_Stripe_Helper::is_pre_30() ? $resubscribe_order->id : $resubscribe_order->get_id()), '_stripe_source_id'); |
|
303 | 303 | // For BW compat will remove in future |
304 | - delete_post_meta( ( WC_Stripe_Helper::is_pre_30() ? $resubscribe_order->id : $resubscribe_order->get_id() ), '_stripe_card_id' ); |
|
305 | - $this->delete_renewal_meta( $resubscribe_order ); |
|
304 | + delete_post_meta((WC_Stripe_Helper::is_pre_30() ? $resubscribe_order->id : $resubscribe_order->get_id()), '_stripe_card_id'); |
|
305 | + $this->delete_renewal_meta($resubscribe_order); |
|
306 | 306 | } |
307 | 307 | |
308 | 308 | /** |
309 | 309 | * Don't transfer Stripe fee/ID meta to renewal orders. |
310 | 310 | * @param int $resubscribe_order The order created for the customer to resubscribe to the old expired/cancelled subscription |
311 | 311 | */ |
312 | - public function delete_renewal_meta( $renewal_order ) { |
|
313 | - WC_Stripe_Helper::delete_stripe_fee( $renewal_order ); |
|
314 | - WC_Stripe_Helper::delete_stripe_net( $renewal_order ); |
|
312 | + public function delete_renewal_meta($renewal_order) { |
|
313 | + WC_Stripe_Helper::delete_stripe_fee($renewal_order); |
|
314 | + WC_Stripe_Helper::delete_stripe_net($renewal_order); |
|
315 | 315 | |
316 | 316 | return $renewal_order; |
317 | 317 | } |
@@ -325,14 +325,14 @@ discard block |
||
325 | 325 | * @param WC_Order $renewal_order The order which recorded the successful payment (to make up for the failed automatic payment). |
326 | 326 | * @return void |
327 | 327 | */ |
328 | - public function update_failing_payment_method( $subscription, $renewal_order ) { |
|
329 | - if ( WC_Stripe_Helper::is_pre_30() ) { |
|
330 | - update_post_meta( $subscription->id, '_stripe_customer_id', $renewal_order->stripe_customer_id ); |
|
331 | - update_post_meta( $subscription->id, '_stripe_source_id', $renewal_order->stripe_source_id ); |
|
328 | + public function update_failing_payment_method($subscription, $renewal_order) { |
|
329 | + if (WC_Stripe_Helper::is_pre_30()) { |
|
330 | + update_post_meta($subscription->id, '_stripe_customer_id', $renewal_order->stripe_customer_id); |
|
331 | + update_post_meta($subscription->id, '_stripe_source_id', $renewal_order->stripe_source_id); |
|
332 | 332 | |
333 | 333 | } else { |
334 | - update_post_meta( $subscription->get_id(), '_stripe_customer_id', $renewal_order->get_meta( '_stripe_customer_id', true ) ); |
|
335 | - update_post_meta( $subscription->get_id(), '_stripe_source_id', $renewal_order->get_meta( '_stripe_source_id', true ) ); |
|
334 | + update_post_meta($subscription->get_id(), '_stripe_customer_id', $renewal_order->get_meta('_stripe_customer_id', true)); |
|
335 | + update_post_meta($subscription->get_id(), '_stripe_source_id', $renewal_order->get_meta('_stripe_source_id', true)); |
|
336 | 336 | } |
337 | 337 | } |
338 | 338 | |
@@ -345,21 +345,21 @@ discard block |
||
345 | 345 | * @param WC_Subscription $subscription An instance of a subscription object |
346 | 346 | * @return array |
347 | 347 | */ |
348 | - public function add_subscription_payment_meta( $payment_meta, $subscription ) { |
|
349 | - $source_id = get_post_meta( ( WC_Stripe_Helper::is_pre_30() ? $subscription->id : $subscription->get_id() ), '_stripe_source_id', true ); |
|
348 | + public function add_subscription_payment_meta($payment_meta, $subscription) { |
|
349 | + $source_id = get_post_meta((WC_Stripe_Helper::is_pre_30() ? $subscription->id : $subscription->get_id()), '_stripe_source_id', true); |
|
350 | 350 | |
351 | 351 | // For BW compat will remove in future. |
352 | - if ( empty( $source_id ) ) { |
|
353 | - $source_id = get_post_meta( ( WC_Stripe_Helper::is_pre_30() ? $subscription->id : $subscription->get_id() ), '_stripe_card_id', true ); |
|
352 | + if (empty($source_id)) { |
|
353 | + $source_id = get_post_meta((WC_Stripe_Helper::is_pre_30() ? $subscription->id : $subscription->get_id()), '_stripe_card_id', true); |
|
354 | 354 | |
355 | 355 | // Take this opportunity to update the key name. |
356 | - WC_Stripe_Helper::is_pre_30() ? update_post_meta( $subscription->id, '_stripe_source_id', $source_id ) : update_post_meta( $subscription->get_id(), '_stripe_source_id', $source_id ); |
|
356 | + WC_Stripe_Helper::is_pre_30() ? update_post_meta($subscription->id, '_stripe_source_id', $source_id) : update_post_meta($subscription->get_id(), '_stripe_source_id', $source_id); |
|
357 | 357 | } |
358 | 358 | |
359 | - $payment_meta[ $this->id ] = array( |
|
359 | + $payment_meta[$this->id] = array( |
|
360 | 360 | 'post_meta' => array( |
361 | 361 | '_stripe_customer_id' => array( |
362 | - 'value' => get_post_meta( ( WC_Stripe_Helper::is_pre_30() ? $subscription->id : $subscription->get_id() ), '_stripe_customer_id', true ), |
|
362 | + 'value' => get_post_meta((WC_Stripe_Helper::is_pre_30() ? $subscription->id : $subscription->get_id()), '_stripe_customer_id', true), |
|
363 | 363 | 'label' => 'Stripe Customer ID', |
364 | 364 | ), |
365 | 365 | '_stripe_source_id' => array( |
@@ -382,22 +382,22 @@ discard block |
||
382 | 382 | * @param array $payment_meta associative array of meta data required for automatic payments |
383 | 383 | * @return array |
384 | 384 | */ |
385 | - public function validate_subscription_payment_meta( $payment_method_id, $payment_meta ) { |
|
386 | - if ( $this->id === $payment_method_id ) { |
|
385 | + public function validate_subscription_payment_meta($payment_method_id, $payment_meta) { |
|
386 | + if ($this->id === $payment_method_id) { |
|
387 | 387 | |
388 | - if ( ! isset( $payment_meta['post_meta']['_stripe_customer_id']['value'] ) || empty( $payment_meta['post_meta']['_stripe_customer_id']['value'] ) ) { |
|
389 | - throw new Exception( __( 'A "Stripe Customer ID" value is required.', 'woocommerce-gateway-stripe' ) ); |
|
390 | - } elseif ( 0 !== strpos( $payment_meta['post_meta']['_stripe_customer_id']['value'], 'cus_' ) ) { |
|
391 | - throw new Exception( __( 'Invalid customer ID. A valid "Stripe Customer ID" must begin with "cus_".', 'woocommerce-gateway-stripe' ) ); |
|
388 | + if ( ! isset($payment_meta['post_meta']['_stripe_customer_id']['value']) || empty($payment_meta['post_meta']['_stripe_customer_id']['value'])) { |
|
389 | + throw new Exception(__('A "Stripe Customer ID" value is required.', 'woocommerce-gateway-stripe')); |
|
390 | + } elseif (0 !== strpos($payment_meta['post_meta']['_stripe_customer_id']['value'], 'cus_')) { |
|
391 | + throw new Exception(__('Invalid customer ID. A valid "Stripe Customer ID" must begin with "cus_".', 'woocommerce-gateway-stripe')); |
|
392 | 392 | } |
393 | 393 | |
394 | 394 | if ( |
395 | - ( ! empty( $payment_meta['post_meta']['_stripe_source_id']['value'] ) |
|
396 | - && 0 !== strpos( $payment_meta['post_meta']['_stripe_source_id']['value'], 'card_' ) ) |
|
397 | - && ( ! empty( $payment_meta['post_meta']['_stripe_source_id']['value'] ) |
|
398 | - && 0 !== strpos( $payment_meta['post_meta']['_stripe_source_id']['value'], 'src_' ) ) ) { |
|
395 | + ( ! empty($payment_meta['post_meta']['_stripe_source_id']['value']) |
|
396 | + && 0 !== strpos($payment_meta['post_meta']['_stripe_source_id']['value'], 'card_')) |
|
397 | + && ( ! empty($payment_meta['post_meta']['_stripe_source_id']['value']) |
|
398 | + && 0 !== strpos($payment_meta['post_meta']['_stripe_source_id']['value'], 'src_')) ) { |
|
399 | 399 | |
400 | - throw new Exception( __( 'Invalid source ID. A valid source "Stripe Source ID" must begin with "src_" or "card_".', 'woocommerce-gateway-stripe' ) ); |
|
400 | + throw new Exception(__('Invalid source ID. A valid source "Stripe Source ID" must begin with "src_" or "card_".', 'woocommerce-gateway-stripe')); |
|
401 | 401 | } |
402 | 402 | } |
403 | 403 | } |
@@ -410,92 +410,92 @@ discard block |
||
410 | 410 | * @param WC_Subscription $subscription the subscription details |
411 | 411 | * @return string the subscription payment method |
412 | 412 | */ |
413 | - public function maybe_render_subscription_payment_method( $payment_method_to_display, $subscription ) { |
|
413 | + public function maybe_render_subscription_payment_method($payment_method_to_display, $subscription) { |
|
414 | 414 | $customer_user = WC_Stripe_Helper::is_pre_30() ? $subscription->customer_user : $subscription->get_customer_id(); |
415 | 415 | |
416 | 416 | // bail for other payment methods |
417 | - if ( ( WC_Stripe_Helper::is_pre_30() ? $subscription->payment_method : $subscription->get_payment_method() ) !== $this->id || ! $customer_user ) { |
|
417 | + if ((WC_Stripe_Helper::is_pre_30() ? $subscription->payment_method : $subscription->get_payment_method()) !== $this->id || ! $customer_user) { |
|
418 | 418 | return $payment_method_to_display; |
419 | 419 | } |
420 | 420 | |
421 | - $stripe_source_id = get_post_meta( ( WC_Stripe_Helper::is_pre_30() ? $subscription->id : $subscription->get_id() ), '_stripe_source_id', true ); |
|
421 | + $stripe_source_id = get_post_meta((WC_Stripe_Helper::is_pre_30() ? $subscription->id : $subscription->get_id()), '_stripe_source_id', true); |
|
422 | 422 | |
423 | 423 | // For BW compat will remove in future. |
424 | - if ( empty( $stripe_source_id ) ) { |
|
425 | - $stripe_source_id = get_post_meta( ( WC_Stripe_Helper::is_pre_30() ? $subscription->id : $subscription->get_id() ), '_stripe_card_id', true ); |
|
424 | + if (empty($stripe_source_id)) { |
|
425 | + $stripe_source_id = get_post_meta((WC_Stripe_Helper::is_pre_30() ? $subscription->id : $subscription->get_id()), '_stripe_card_id', true); |
|
426 | 426 | |
427 | 427 | // Take this opportunity to update the key name. |
428 | - WC_Stripe_Helper::is_pre_30() ? update_post_meta( $subscription->id, '_stripe_source_id', $stripe_source_id ) : update_post_meta( $subscription->get_id(), '_stripe_source_id', $stripe_source_id ); |
|
428 | + WC_Stripe_Helper::is_pre_30() ? update_post_meta($subscription->id, '_stripe_source_id', $stripe_source_id) : update_post_meta($subscription->get_id(), '_stripe_source_id', $stripe_source_id); |
|
429 | 429 | } |
430 | 430 | |
431 | 431 | $stripe_customer = new WC_Stripe_Customer(); |
432 | - $stripe_customer_id = get_post_meta( ( WC_Stripe_Helper::is_pre_30() ? $subscription->id : $subscription->get_id() ), '_stripe_customer_id', true ); |
|
432 | + $stripe_customer_id = get_post_meta((WC_Stripe_Helper::is_pre_30() ? $subscription->id : $subscription->get_id()), '_stripe_customer_id', true); |
|
433 | 433 | |
434 | 434 | // If we couldn't find a Stripe customer linked to the subscription, fallback to the user meta data. |
435 | - if ( ! $stripe_customer_id || ! is_string( $stripe_customer_id ) ) { |
|
435 | + if ( ! $stripe_customer_id || ! is_string($stripe_customer_id)) { |
|
436 | 436 | $user_id = $customer_user; |
437 | - $stripe_customer_id = get_user_meta( $user_id, '_stripe_customer_id', true ); |
|
438 | - $stripe_source_id = get_user_meta( $user_id, '_stripe_source_id', true ); |
|
437 | + $stripe_customer_id = get_user_meta($user_id, '_stripe_customer_id', true); |
|
438 | + $stripe_source_id = get_user_meta($user_id, '_stripe_source_id', true); |
|
439 | 439 | |
440 | 440 | // For BW compat will remove in future. |
441 | - if ( empty( $stripe_source_id ) ) { |
|
442 | - $stripe_source_id = get_user_meta( $user_id, '_stripe_card_id', true ); |
|
441 | + if (empty($stripe_source_id)) { |
|
442 | + $stripe_source_id = get_user_meta($user_id, '_stripe_card_id', true); |
|
443 | 443 | |
444 | 444 | // Take this opportunity to update the key name. |
445 | - update_user_meta( $user_id, '_stripe_source_id', $stripe_source_id ); |
|
445 | + update_user_meta($user_id, '_stripe_source_id', $stripe_source_id); |
|
446 | 446 | } |
447 | 447 | } |
448 | 448 | |
449 | 449 | // If we couldn't find a Stripe customer linked to the account, fallback to the order meta data. |
450 | - if ( ( ! $stripe_customer_id || ! is_string( $stripe_customer_id ) ) && false !== $subscription->order ) { |
|
451 | - $stripe_customer_id = get_post_meta( ( WC_Stripe_Helper::is_pre_30() ? $subscription->order->id : $subscription->get_parent_id() ), '_stripe_customer_id', true ); |
|
452 | - $stripe_source_id = get_post_meta( ( WC_Stripe_Helper::is_pre_30() ? $subscription->order->id : $subscription->get_parent_id() ), '_stripe_source_id', true ); |
|
450 | + if (( ! $stripe_customer_id || ! is_string($stripe_customer_id)) && false !== $subscription->order) { |
|
451 | + $stripe_customer_id = get_post_meta((WC_Stripe_Helper::is_pre_30() ? $subscription->order->id : $subscription->get_parent_id()), '_stripe_customer_id', true); |
|
452 | + $stripe_source_id = get_post_meta((WC_Stripe_Helper::is_pre_30() ? $subscription->order->id : $subscription->get_parent_id()), '_stripe_source_id', true); |
|
453 | 453 | |
454 | 454 | // For BW compat will remove in future. |
455 | - if ( empty( $stripe_source_id ) ) { |
|
456 | - $stripe_source_id = get_post_meta( ( WC_Stripe_Helper::is_pre_30() ? $subscription->order->id : $subscription->get_parent_id() ), '_stripe_card_id', true ); |
|
455 | + if (empty($stripe_source_id)) { |
|
456 | + $stripe_source_id = get_post_meta((WC_Stripe_Helper::is_pre_30() ? $subscription->order->id : $subscription->get_parent_id()), '_stripe_card_id', true); |
|
457 | 457 | |
458 | 458 | // Take this opportunity to update the key name. |
459 | - WC_Stripe_Helper::is_pre_30() ? update_post_meta( $subscription->order->id, '_stripe_source_id', $stripe_source_id ) : update_post_meta( $subscription->get_parent_id(), '_stripe_source_id', $stripe_source_id ); |
|
459 | + WC_Stripe_Helper::is_pre_30() ? update_post_meta($subscription->order->id, '_stripe_source_id', $stripe_source_id) : update_post_meta($subscription->get_parent_id(), '_stripe_source_id', $stripe_source_id); |
|
460 | 460 | } |
461 | 461 | } |
462 | 462 | |
463 | - $stripe_customer->set_id( $stripe_customer_id ); |
|
463 | + $stripe_customer->set_id($stripe_customer_id); |
|
464 | 464 | $sources = $stripe_customer->get_sources(); |
465 | 465 | |
466 | - if ( $sources ) { |
|
466 | + if ($sources) { |
|
467 | 467 | $card = false; |
468 | 468 | $found_source = false; |
469 | - foreach ( $sources as $source ) { |
|
470 | - if ( isset( $source->type ) && 'card' === $source->type ) { |
|
469 | + foreach ($sources as $source) { |
|
470 | + if (isset($source->type) && 'card' === $source->type) { |
|
471 | 471 | $card = $source->card; |
472 | - } elseif ( isset( $source->object ) && 'card' === $source->object ) { |
|
472 | + } elseif (isset($source->object) && 'card' === $source->object) { |
|
473 | 473 | $card = $source; |
474 | 474 | } |
475 | 475 | |
476 | - if ( $source->id === $stripe_source_id ) { |
|
476 | + if ($source->id === $stripe_source_id) { |
|
477 | 477 | $found_source = true; |
478 | 478 | |
479 | - if ( $card ) { |
|
479 | + if ($card) { |
|
480 | 480 | /* translators: 1) card brand 2) last 4 digits */ |
481 | - $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 ); |
|
481 | + $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); |
|
482 | 482 | } else { |
483 | - $payment_method_to_display = __( 'N/A', 'woocommerce-gateway-stripe' ); |
|
483 | + $payment_method_to_display = __('N/A', 'woocommerce-gateway-stripe'); |
|
484 | 484 | } |
485 | 485 | break; |
486 | 486 | } |
487 | 487 | } |
488 | 488 | |
489 | - if ( ! $found_source ) { |
|
490 | - if ( 'card' === $sources[0]->type ) { |
|
489 | + if ( ! $found_source) { |
|
490 | + if ('card' === $sources[0]->type) { |
|
491 | 491 | $card = $sources[0]->card; |
492 | 492 | } |
493 | 493 | |
494 | - if ( $card ) { |
|
494 | + if ($card) { |
|
495 | 495 | /* translators: 1) card brand 2) last 4 digits */ |
496 | - $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 ); |
|
496 | + $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); |
|
497 | 497 | } else { |
498 | - $payment_method_to_display = __( 'N/A', 'woocommerce-gateway-stripe' ); |
|
498 | + $payment_method_to_display = __('N/A', 'woocommerce-gateway-stripe'); |
|
499 | 499 | } |
500 | 500 | } |
501 | 501 | } |
@@ -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,19 +15,19 @@ 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 ); |
|
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 | 23 | |
24 | 24 | // Display the credit card used for a subscription in the "My Subscriptions" table. |
25 | - add_filter( 'woocommerce_my_subscriptions_payment_method', array( $this, 'maybe_render_subscription_payment_method' ), 10, 2 ); |
|
25 | + add_filter('woocommerce_my_subscriptions_payment_method', array($this, 'maybe_render_subscription_payment_method'), 10, 2); |
|
26 | 26 | |
27 | 27 | // Allow store managers to manually set Stripe as the payment method on a subscription. |
28 | - add_filter( 'woocommerce_subscription_payment_meta', array( $this, 'add_subscription_payment_meta' ), 10, 2 ); |
|
29 | - add_filter( 'woocommerce_subscription_validate_payment_meta', array( $this, 'validate_subscription_payment_meta' ), 10, 2 ); |
|
30 | - add_filter( 'wc_stripe_display_save_payment_method_checkbox', array( $this, 'maybe_hide_save_checkbox' ) ); |
|
28 | + add_filter('woocommerce_subscription_payment_meta', array($this, 'add_subscription_payment_meta'), 10, 2); |
|
29 | + add_filter('woocommerce_subscription_validate_payment_meta', array($this, 'validate_subscription_payment_meta'), 10, 2); |
|
30 | + add_filter('wc_stripe_display_save_payment_method_checkbox', array($this, 'maybe_hide_save_checkbox')); |
|
31 | 31 | } |
32 | 32 | } |
33 | 33 | |
@@ -47,8 +47,8 @@ discard block |
||
47 | 47 | * @since 4.0.0 |
48 | 48 | * @version 4.0.0 |
49 | 49 | */ |
50 | - public function maybe_hide_save_checkbox( $display_tokenization ) { |
|
51 | - if ( WC_Subscriptions_Cart::cart_contains_subscription() ) { |
|
50 | + public function maybe_hide_save_checkbox($display_tokenization) { |
|
51 | + if (WC_Subscriptions_Cart::cart_contains_subscription()) { |
|
52 | 52 | return false; |
53 | 53 | } |
54 | 54 | |
@@ -60,8 +60,8 @@ discard block |
||
60 | 60 | * @param int $order_id |
61 | 61 | * @return boolean |
62 | 62 | */ |
63 | - public function has_subscription( $order_id ) { |
|
64 | - return ( function_exists( 'wcs_order_contains_subscription' ) && ( wcs_order_contains_subscription( $order_id ) || wcs_is_subscription( $order_id ) || wcs_order_contains_renewal( $order_id ) ) ); |
|
63 | + public function has_subscription($order_id) { |
|
64 | + return (function_exists('wcs_order_contains_subscription') && (wcs_order_contains_subscription($order_id) || wcs_is_subscription($order_id) || wcs_order_contains_renewal($order_id))); |
|
65 | 65 | } |
66 | 66 | |
67 | 67 | /** |
@@ -71,7 +71,7 @@ discard block |
||
71 | 71 | * @return bool |
72 | 72 | */ |
73 | 73 | public function is_subs_change_payment() { |
74 | - return ( isset( $_GET['pay_for_order'] ) && isset( $_GET['change_payment_method'] ) ); |
|
74 | + return (isset($_GET['pay_for_order']) && isset($_GET['change_payment_method'])); |
|
75 | 75 | } |
76 | 76 | |
77 | 77 | /** |
@@ -80,24 +80,24 @@ discard block |
||
80 | 80 | * @since 3.1.0 |
81 | 81 | * @version 4.0.0 |
82 | 82 | */ |
83 | - public function save_source_to_order( $order, $source ) { |
|
84 | - parent::save_source_to_order( $order, $source ); |
|
83 | + public function save_source_to_order($order, $source) { |
|
84 | + parent::save_source_to_order($order, $source); |
|
85 | 85 | |
86 | - $order_id = WC_Stripe_Helper::is_pre_30() ? $order->id : $order->get_id(); |
|
86 | + $order_id = WC_Stripe_Helper::is_pre_30() ? $order->id : $order->get_id(); |
|
87 | 87 | |
88 | 88 | // Also store it on the subscriptions being purchased or paid for in the order. |
89 | - if ( function_exists( 'wcs_order_contains_subscription' ) && wcs_order_contains_subscription( $order_id ) ) { |
|
90 | - $subscriptions = wcs_get_subscriptions_for_order( $order_id ); |
|
91 | - } elseif ( function_exists( 'wcs_order_contains_renewal' ) && wcs_order_contains_renewal( $order_id ) ) { |
|
92 | - $subscriptions = wcs_get_subscriptions_for_renewal_order( $order_id ); |
|
89 | + if (function_exists('wcs_order_contains_subscription') && wcs_order_contains_subscription($order_id)) { |
|
90 | + $subscriptions = wcs_get_subscriptions_for_order($order_id); |
|
91 | + } elseif (function_exists('wcs_order_contains_renewal') && wcs_order_contains_renewal($order_id)) { |
|
92 | + $subscriptions = wcs_get_subscriptions_for_renewal_order($order_id); |
|
93 | 93 | } else { |
94 | 94 | $subscriptions = array(); |
95 | 95 | } |
96 | 96 | |
97 | - foreach ( $subscriptions as $subscription ) { |
|
97 | + foreach ($subscriptions as $subscription) { |
|
98 | 98 | $subscription_id = WC_Stripe_Helper::is_pre_30() ? $subscription->id : $subscription->get_id(); |
99 | - update_post_meta( $subscription_id, '_stripe_customer_id', $source->customer ); |
|
100 | - update_post_meta( $subscription_id, '_stripe_source_id', $source->source ); |
|
99 | + update_post_meta($subscription_id, '_stripe_customer_id', $source->customer); |
|
100 | + update_post_meta($subscription_id, '_stripe_source_id', $source->source); |
|
101 | 101 | } |
102 | 102 | } |
103 | 103 | |
@@ -106,16 +106,16 @@ discard block |
||
106 | 106 | * @param int $order_id |
107 | 107 | * @return array |
108 | 108 | */ |
109 | - public function process_payment( $order_id, $retry = true, $force_save_source = false, $previous_error = false ) { |
|
110 | - if ( $this->has_subscription( $order_id ) ) { |
|
111 | - if ( $this->is_subs_change_payment() ) { |
|
112 | - return $this->change_subs_payment_method( $order_id ); |
|
109 | + public function process_payment($order_id, $retry = true, $force_save_source = false, $previous_error = false) { |
|
110 | + if ($this->has_subscription($order_id)) { |
|
111 | + if ($this->is_subs_change_payment()) { |
|
112 | + return $this->change_subs_payment_method($order_id); |
|
113 | 113 | } |
114 | 114 | |
115 | 115 | // Regular payment with force customer enabled |
116 | - return parent::process_payment( $order_id, $retry, true, $previous_error ); |
|
116 | + return parent::process_payment($order_id, $retry, true, $previous_error); |
|
117 | 117 | } else { |
118 | - return parent::process_payment( $order_id, $retry, $force_save_source, $previous_error ); |
|
118 | + return parent::process_payment($order_id, $retry, $force_save_source, $previous_error); |
|
119 | 119 | } |
120 | 120 | } |
121 | 121 | |
@@ -125,25 +125,25 @@ discard block |
||
125 | 125 | * @since 4.0.4 |
126 | 126 | * @param int $order_id |
127 | 127 | */ |
128 | - public function change_subs_payment_method( $order_id ) { |
|
128 | + public function change_subs_payment_method($order_id) { |
|
129 | 129 | try { |
130 | - $subscription = wc_get_order( $order_id ); |
|
131 | - $prepared_source = $this->prepare_source( get_current_user_id(), true ); |
|
130 | + $subscription = wc_get_order($order_id); |
|
131 | + $prepared_source = $this->prepare_source(get_current_user_id(), true); |
|
132 | 132 | |
133 | - if ( empty( $prepared_source->source ) ) { |
|
134 | - $localized_message = __( 'Payment processing failed. Please retry.', 'woocommerce-gateway-stripe' ); |
|
135 | - throw new WC_Stripe_Exception( print_r( $prepared_source, true ), $localized_message ); |
|
133 | + if (empty($prepared_source->source)) { |
|
134 | + $localized_message = __('Payment processing failed. Please retry.', 'woocommerce-gateway-stripe'); |
|
135 | + throw new WC_Stripe_Exception(print_r($prepared_source, true), $localized_message); |
|
136 | 136 | } |
137 | 137 | |
138 | - $this->save_source_to_order( $subscription, $prepared_source ); |
|
138 | + $this->save_source_to_order($subscription, $prepared_source); |
|
139 | 139 | |
140 | 140 | return array( |
141 | 141 | 'result' => 'success', |
142 | - 'redirect' => $this->get_return_url( $subscription ), |
|
142 | + 'redirect' => $this->get_return_url($subscription), |
|
143 | 143 | ); |
144 | - } catch ( WC_Stripe_Exception $e ) { |
|
145 | - wc_add_notice( $e->getLocalizedMessage(), 'error' ); |
|
146 | - WC_Stripe_Logger::log( 'Error: ' . $e->getMessage() ); |
|
144 | + } catch (WC_Stripe_Exception $e) { |
|
145 | + wc_add_notice($e->getLocalizedMessage(), 'error'); |
|
146 | + WC_Stripe_Logger::log('Error: ' . $e->getMessage()); |
|
147 | 147 | } |
148 | 148 | } |
149 | 149 | |
@@ -153,8 +153,8 @@ discard block |
||
153 | 153 | * @param $amount_to_charge float The amount to charge. |
154 | 154 | * @param $renewal_order WC_Order A WC_Order object created to record the renewal payment. |
155 | 155 | */ |
156 | - public function scheduled_subscription_payment( $amount_to_charge, $renewal_order ) { |
|
157 | - $this->process_subscription_payment( $amount_to_charge, $renewal_order, true, false ); |
|
156 | + public function scheduled_subscription_payment($amount_to_charge, $renewal_order) { |
|
157 | + $this->process_subscription_payment($amount_to_charge, $renewal_order, true, false); |
|
158 | 158 | } |
159 | 159 | |
160 | 160 | /** |
@@ -168,86 +168,86 @@ discard block |
||
168 | 168 | * @param bool $retry Should we retry the process? |
169 | 169 | * @param object $previous_error |
170 | 170 | */ |
171 | - public function process_subscription_payment( $amount = 0.0, $renewal_order, $retry = true, $previous_error ) { |
|
171 | + public function process_subscription_payment($amount = 0.0, $renewal_order, $retry = true, $previous_error) { |
|
172 | 172 | try { |
173 | - if ( $amount * 100 < WC_Stripe_Helper::get_minimum_amount() ) { |
|
173 | + if ($amount * 100 < WC_Stripe_Helper::get_minimum_amount()) { |
|
174 | 174 | /* translators: minimum amount */ |
175 | - return new WP_Error( 'stripe_error', 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 ) ) ); |
|
175 | + return new WP_Error('stripe_error', 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))); |
|
176 | 176 | } |
177 | 177 | |
178 | 178 | $order_id = WC_Stripe_Helper::is_pre_30() ? $renewal_order->id : $renewal_order->get_id(); |
179 | 179 | |
180 | 180 | // Get source from order |
181 | - $prepared_source = $this->prepare_order_source( $renewal_order ); |
|
181 | + $prepared_source = $this->prepare_order_source($renewal_order); |
|
182 | 182 | $source_object = $prepared_source->source_object; |
183 | 183 | |
184 | - if ( ! $prepared_source->customer ) { |
|
185 | - return new WP_Error( 'stripe_error', __( 'Customer not found', 'woocommerce-gateway-stripe' ) ); |
|
184 | + if ( ! $prepared_source->customer) { |
|
185 | + return new WP_Error('stripe_error', __('Customer not found', 'woocommerce-gateway-stripe')); |
|
186 | 186 | } |
187 | 187 | |
188 | - WC_Stripe_Logger::log( "Info: Begin processing subscription payment for order {$order_id} for the amount of {$amount}" ); |
|
188 | + WC_Stripe_Logger::log("Info: Begin processing subscription payment for order {$order_id} for the amount of {$amount}"); |
|
189 | 189 | |
190 | 190 | /* If we're doing a retry and source is chargeable, we need to pass |
191 | 191 | * a different idempotency key and retry for success. |
192 | 192 | */ |
193 | - if ( is_object( $source_object ) && empty( $source_object->error ) && $this->need_update_idempotency_key( $source_object, $previous_error ) ) { |
|
194 | - add_filter( 'wc_stripe_idempotency_key', array( $this, 'change_idempotency_key' ), 10, 2 ); |
|
193 | + if (is_object($source_object) && empty($source_object->error) && $this->need_update_idempotency_key($source_object, $previous_error)) { |
|
194 | + add_filter('wc_stripe_idempotency_key', array($this, 'change_idempotency_key'), 10, 2); |
|
195 | 195 | } |
196 | 196 | |
197 | - 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 ) ) { |
|
197 | + 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)) { |
|
198 | 198 | // Passing empty source will charge customer default. |
199 | 199 | $prepared_source->source = ''; |
200 | 200 | } |
201 | 201 | |
202 | - $request = $this->generate_payment_request( $renewal_order, $prepared_source ); |
|
202 | + $request = $this->generate_payment_request($renewal_order, $prepared_source); |
|
203 | 203 | $request['capture'] = 'true'; |
204 | - $request['amount'] = WC_Stripe_Helper::get_stripe_amount( $amount, $request['currency'] ); |
|
205 | - $response = WC_Stripe_API::request( $request ); |
|
204 | + $request['amount'] = WC_Stripe_Helper::get_stripe_amount($amount, $request['currency']); |
|
205 | + $response = WC_Stripe_API::request($request); |
|
206 | 206 | |
207 | - if ( ! empty( $response->error ) ) { |
|
207 | + if ( ! empty($response->error)) { |
|
208 | 208 | // We want to retry. |
209 | - if ( $this->is_retryable_error( $response->error ) ) { |
|
210 | - if ( $retry ) { |
|
209 | + if ($this->is_retryable_error($response->error)) { |
|
210 | + if ($retry) { |
|
211 | 211 | // Don't do anymore retries after this. |
212 | - if ( 5 <= $this->retry_interval ) { |
|
213 | - return $this->process_subscription_payment( $amount, $renewal_order, false, $response->error ); |
|
212 | + if (5 <= $this->retry_interval) { |
|
213 | + return $this->process_subscription_payment($amount, $renewal_order, false, $response->error); |
|
214 | 214 | } |
215 | 215 | |
216 | - sleep( $this->retry_interval ); |
|
216 | + sleep($this->retry_interval); |
|
217 | 217 | |
218 | 218 | $this->retry_interval++; |
219 | 219 | |
220 | - return $this->process_subscription_payment( $amount, $renewal_order, true, $response->error ); |
|
220 | + return $this->process_subscription_payment($amount, $renewal_order, true, $response->error); |
|
221 | 221 | } else { |
222 | - $localized_message = __( 'Sorry, we are unable to process your payment at this time. Please retry later.', 'woocommerce-gateway-stripe' ); |
|
223 | - $renewal_order->add_order_note( $localized_message ); |
|
224 | - throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message ); |
|
222 | + $localized_message = __('Sorry, we are unable to process your payment at this time. Please retry later.', 'woocommerce-gateway-stripe'); |
|
223 | + $renewal_order->add_order_note($localized_message); |
|
224 | + throw new WC_Stripe_Exception(print_r($response, true), $localized_message); |
|
225 | 225 | } |
226 | 226 | } |
227 | 227 | |
228 | 228 | $localized_messages = WC_Stripe_Helper::get_localized_messages(); |
229 | 229 | |
230 | - if ( 'card_error' === $response->error->type ) { |
|
231 | - $localized_message = isset( $localized_messages[ $response->error->code ] ) ? $localized_messages[ $response->error->code ] : $response->error->message; |
|
230 | + if ('card_error' === $response->error->type) { |
|
231 | + $localized_message = isset($localized_messages[$response->error->code]) ? $localized_messages[$response->error->code] : $response->error->message; |
|
232 | 232 | } else { |
233 | - $localized_message = isset( $localized_messages[ $response->error->type ] ) ? $localized_messages[ $response->error->type ] : $response->error->message; |
|
233 | + $localized_message = isset($localized_messages[$response->error->type]) ? $localized_messages[$response->error->type] : $response->error->message; |
|
234 | 234 | } |
235 | 235 | |
236 | - $renewal_order->add_order_note( $localized_message ); |
|
236 | + $renewal_order->add_order_note($localized_message); |
|
237 | 237 | |
238 | - throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message ); |
|
238 | + throw new WC_Stripe_Exception(print_r($response, true), $localized_message); |
|
239 | 239 | } |
240 | 240 | |
241 | - do_action( 'wc_gateway_stripe_process_payment', $response, $renewal_order ); |
|
241 | + do_action('wc_gateway_stripe_process_payment', $response, $renewal_order); |
|
242 | 242 | |
243 | - $this->process_response( $response, $renewal_order ); |
|
244 | - } catch ( WC_Stripe_Exception $e ) { |
|
245 | - WC_Stripe_Logger::log( 'Error: ' . $e->getMessage() ); |
|
243 | + $this->process_response($response, $renewal_order); |
|
244 | + } catch (WC_Stripe_Exception $e) { |
|
245 | + WC_Stripe_Logger::log('Error: ' . $e->getMessage()); |
|
246 | 246 | |
247 | - do_action( 'wc_gateway_stripe_process_payment_error', $e, $renewal_order ); |
|
247 | + do_action('wc_gateway_stripe_process_payment_error', $e, $renewal_order); |
|
248 | 248 | |
249 | 249 | /* translators: error message */ |
250 | - $renewal_order->update_status( 'failed' ); |
|
250 | + $renewal_order->update_status('failed'); |
|
251 | 251 | } |
252 | 252 | } |
253 | 253 | |
@@ -255,21 +255,21 @@ discard block |
||
255 | 255 | * Don't transfer Stripe customer/token meta to resubscribe orders. |
256 | 256 | * @param int $resubscribe_order The order created for the customer to resubscribe to the old expired/cancelled subscription |
257 | 257 | */ |
258 | - public function delete_resubscribe_meta( $resubscribe_order ) { |
|
259 | - delete_post_meta( ( WC_Stripe_Helper::is_pre_30() ? $resubscribe_order->id : $resubscribe_order->get_id() ), '_stripe_customer_id' ); |
|
260 | - delete_post_meta( ( WC_Stripe_Helper::is_pre_30() ? $resubscribe_order->id : $resubscribe_order->get_id() ), '_stripe_source_id' ); |
|
258 | + public function delete_resubscribe_meta($resubscribe_order) { |
|
259 | + delete_post_meta((WC_Stripe_Helper::is_pre_30() ? $resubscribe_order->id : $resubscribe_order->get_id()), '_stripe_customer_id'); |
|
260 | + delete_post_meta((WC_Stripe_Helper::is_pre_30() ? $resubscribe_order->id : $resubscribe_order->get_id()), '_stripe_source_id'); |
|
261 | 261 | // For BW compat will remove in future |
262 | - delete_post_meta( ( WC_Stripe_Helper::is_pre_30() ? $resubscribe_order->id : $resubscribe_order->get_id() ), '_stripe_card_id' ); |
|
263 | - $this->delete_renewal_meta( $resubscribe_order ); |
|
262 | + delete_post_meta((WC_Stripe_Helper::is_pre_30() ? $resubscribe_order->id : $resubscribe_order->get_id()), '_stripe_card_id'); |
|
263 | + $this->delete_renewal_meta($resubscribe_order); |
|
264 | 264 | } |
265 | 265 | |
266 | 266 | /** |
267 | 267 | * Don't transfer Stripe fee/ID meta to renewal orders. |
268 | 268 | * @param int $resubscribe_order The order created for the customer to resubscribe to the old expired/cancelled subscription |
269 | 269 | */ |
270 | - public function delete_renewal_meta( $renewal_order ) { |
|
271 | - WC_Stripe_Helper::delete_stripe_fee( $renewal_order ); |
|
272 | - WC_Stripe_Helper::delete_stripe_net( $renewal_order ); |
|
270 | + public function delete_renewal_meta($renewal_order) { |
|
271 | + WC_Stripe_Helper::delete_stripe_fee($renewal_order); |
|
272 | + WC_Stripe_Helper::delete_stripe_net($renewal_order); |
|
273 | 273 | |
274 | 274 | return $renewal_order; |
275 | 275 | } |
@@ -283,14 +283,14 @@ discard block |
||
283 | 283 | * @param WC_Order $renewal_order The order which recorded the successful payment (to make up for the failed automatic payment). |
284 | 284 | * @return void |
285 | 285 | */ |
286 | - public function update_failing_payment_method( $subscription, $renewal_order ) { |
|
287 | - if ( WC_Stripe_Helper::is_pre_30() ) { |
|
288 | - update_post_meta( $subscription->id, '_stripe_customer_id', $renewal_order->stripe_customer_id ); |
|
289 | - update_post_meta( $subscription->id, '_stripe_source_id', $renewal_order->stripe_source_id ); |
|
286 | + public function update_failing_payment_method($subscription, $renewal_order) { |
|
287 | + if (WC_Stripe_Helper::is_pre_30()) { |
|
288 | + update_post_meta($subscription->id, '_stripe_customer_id', $renewal_order->stripe_customer_id); |
|
289 | + update_post_meta($subscription->id, '_stripe_source_id', $renewal_order->stripe_source_id); |
|
290 | 290 | |
291 | 291 | } else { |
292 | - update_post_meta( $subscription->get_id(), '_stripe_customer_id', $renewal_order->get_meta( '_stripe_customer_id', true ) ); |
|
293 | - update_post_meta( $subscription->get_id(), '_stripe_source_id', $renewal_order->get_meta( '_stripe_source_id', true ) ); |
|
292 | + update_post_meta($subscription->get_id(), '_stripe_customer_id', $renewal_order->get_meta('_stripe_customer_id', true)); |
|
293 | + update_post_meta($subscription->get_id(), '_stripe_source_id', $renewal_order->get_meta('_stripe_source_id', true)); |
|
294 | 294 | } |
295 | 295 | } |
296 | 296 | |
@@ -303,21 +303,21 @@ discard block |
||
303 | 303 | * @param WC_Subscription $subscription An instance of a subscription object |
304 | 304 | * @return array |
305 | 305 | */ |
306 | - public function add_subscription_payment_meta( $payment_meta, $subscription ) { |
|
307 | - $source_id = get_post_meta( ( WC_Stripe_Helper::is_pre_30() ? $subscription->id : $subscription->get_id() ), '_stripe_source_id', true ); |
|
306 | + public function add_subscription_payment_meta($payment_meta, $subscription) { |
|
307 | + $source_id = get_post_meta((WC_Stripe_Helper::is_pre_30() ? $subscription->id : $subscription->get_id()), '_stripe_source_id', true); |
|
308 | 308 | |
309 | 309 | // For BW compat will remove in future. |
310 | - if ( empty( $source_id ) ) { |
|
311 | - $source_id = get_post_meta( ( WC_Stripe_Helper::is_pre_30() ? $subscription->id : $subscription->get_id() ), '_stripe_card_id', true ); |
|
310 | + if (empty($source_id)) { |
|
311 | + $source_id = get_post_meta((WC_Stripe_Helper::is_pre_30() ? $subscription->id : $subscription->get_id()), '_stripe_card_id', true); |
|
312 | 312 | |
313 | 313 | // Take this opportunity to update the key name. |
314 | - WC_Stripe_Helper::is_pre_30() ? update_post_meta( $subscription->id, '_stripe_source_id', $source_id ) : update_post_meta( $subscription->get_id(), '_stripe_source_id', $source_id ); |
|
314 | + WC_Stripe_Helper::is_pre_30() ? update_post_meta($subscription->id, '_stripe_source_id', $source_id) : update_post_meta($subscription->get_id(), '_stripe_source_id', $source_id); |
|
315 | 315 | } |
316 | 316 | |
317 | - $payment_meta[ $this->id ] = array( |
|
317 | + $payment_meta[$this->id] = array( |
|
318 | 318 | 'post_meta' => array( |
319 | 319 | '_stripe_customer_id' => array( |
320 | - 'value' => get_post_meta( ( WC_Stripe_Helper::is_pre_30() ? $subscription->id : $subscription->get_id() ), '_stripe_customer_id', true ), |
|
320 | + 'value' => get_post_meta((WC_Stripe_Helper::is_pre_30() ? $subscription->id : $subscription->get_id()), '_stripe_customer_id', true), |
|
321 | 321 | 'label' => 'Stripe Customer ID', |
322 | 322 | ), |
323 | 323 | '_stripe_source_id' => array( |
@@ -338,22 +338,22 @@ discard block |
||
338 | 338 | * @param array $payment_meta associative array of meta data required for automatic payments |
339 | 339 | * @return array |
340 | 340 | */ |
341 | - public function validate_subscription_payment_meta( $payment_method_id, $payment_meta ) { |
|
342 | - if ( $this->id === $payment_method_id ) { |
|
341 | + public function validate_subscription_payment_meta($payment_method_id, $payment_meta) { |
|
342 | + if ($this->id === $payment_method_id) { |
|
343 | 343 | |
344 | - if ( ! isset( $payment_meta['post_meta']['_stripe_customer_id']['value'] ) || empty( $payment_meta['post_meta']['_stripe_customer_id']['value'] ) ) { |
|
345 | - throw new Exception( __( 'A "Stripe Customer ID" value is required.', 'woocommerce-gateway-stripe' ) ); |
|
346 | - } elseif ( 0 !== strpos( $payment_meta['post_meta']['_stripe_customer_id']['value'], 'cus_' ) ) { |
|
347 | - throw new Exception( __( 'Invalid customer ID. A valid "Stripe Customer ID" must begin with "cus_".', 'woocommerce-gateway-stripe' ) ); |
|
344 | + if ( ! isset($payment_meta['post_meta']['_stripe_customer_id']['value']) || empty($payment_meta['post_meta']['_stripe_customer_id']['value'])) { |
|
345 | + throw new Exception(__('A "Stripe Customer ID" value is required.', 'woocommerce-gateway-stripe')); |
|
346 | + } elseif (0 !== strpos($payment_meta['post_meta']['_stripe_customer_id']['value'], 'cus_')) { |
|
347 | + throw new Exception(__('Invalid customer ID. A valid "Stripe Customer ID" must begin with "cus_".', 'woocommerce-gateway-stripe')); |
|
348 | 348 | } |
349 | 349 | |
350 | 350 | if ( |
351 | - ( ! empty( $payment_meta['post_meta']['_stripe_source_id']['value'] ) |
|
352 | - && 0 !== strpos( $payment_meta['post_meta']['_stripe_source_id']['value'], 'card_' ) ) |
|
353 | - && ( ! empty( $payment_meta['post_meta']['_stripe_source_id']['value'] ) |
|
354 | - && 0 !== strpos( $payment_meta['post_meta']['_stripe_source_id']['value'], 'src_' ) ) ) { |
|
351 | + ( ! empty($payment_meta['post_meta']['_stripe_source_id']['value']) |
|
352 | + && 0 !== strpos($payment_meta['post_meta']['_stripe_source_id']['value'], 'card_')) |
|
353 | + && ( ! empty($payment_meta['post_meta']['_stripe_source_id']['value']) |
|
354 | + && 0 !== strpos($payment_meta['post_meta']['_stripe_source_id']['value'], 'src_')) ) { |
|
355 | 355 | |
356 | - throw new Exception( __( 'Invalid source ID. A valid source "Stripe Source ID" must begin with "src_" or "card_".', 'woocommerce-gateway-stripe' ) ); |
|
356 | + throw new Exception(__('Invalid source ID. A valid source "Stripe Source ID" must begin with "src_" or "card_".', 'woocommerce-gateway-stripe')); |
|
357 | 357 | } |
358 | 358 | } |
359 | 359 | } |
@@ -366,67 +366,67 @@ discard block |
||
366 | 366 | * @param WC_Subscription $subscription the subscription details |
367 | 367 | * @return string the subscription payment method |
368 | 368 | */ |
369 | - public function maybe_render_subscription_payment_method( $payment_method_to_display, $subscription ) { |
|
369 | + public function maybe_render_subscription_payment_method($payment_method_to_display, $subscription) { |
|
370 | 370 | $customer_user = WC_Stripe_Helper::is_pre_30() ? $subscription->customer_user : $subscription->get_customer_id(); |
371 | 371 | |
372 | 372 | // bail for other payment methods |
373 | - if ( ( WC_Stripe_Helper::is_pre_30() ? $subscription->payment_method : $subscription->get_payment_method() ) !== $this->id || ! $customer_user ) { |
|
373 | + if ((WC_Stripe_Helper::is_pre_30() ? $subscription->payment_method : $subscription->get_payment_method()) !== $this->id || ! $customer_user) { |
|
374 | 374 | return $payment_method_to_display; |
375 | 375 | } |
376 | 376 | |
377 | - $stripe_source_id = get_post_meta( ( WC_Stripe_Helper::is_pre_30() ? $subscription->id : $subscription->get_id() ), '_stripe_source_id', true ); |
|
377 | + $stripe_source_id = get_post_meta((WC_Stripe_Helper::is_pre_30() ? $subscription->id : $subscription->get_id()), '_stripe_source_id', true); |
|
378 | 378 | |
379 | 379 | // For BW compat will remove in future. |
380 | - if ( empty( $stripe_source_id ) ) { |
|
381 | - $stripe_source_id = get_post_meta( ( WC_Stripe_Helper::is_pre_30() ? $subscription->id : $subscription->get_id() ), '_stripe_card_id', true ); |
|
380 | + if (empty($stripe_source_id)) { |
|
381 | + $stripe_source_id = get_post_meta((WC_Stripe_Helper::is_pre_30() ? $subscription->id : $subscription->get_id()), '_stripe_card_id', true); |
|
382 | 382 | |
383 | 383 | // Take this opportunity to update the key name. |
384 | - WC_Stripe_Helper::is_pre_30() ? update_post_meta( $subscription->id, '_stripe_source_id', $stripe_source_id ) : update_post_meta( $subscription->get_id(), '_stripe_source_id', $stripe_source_id ); |
|
384 | + WC_Stripe_Helper::is_pre_30() ? update_post_meta($subscription->id, '_stripe_source_id', $stripe_source_id) : update_post_meta($subscription->get_id(), '_stripe_source_id', $stripe_source_id); |
|
385 | 385 | } |
386 | 386 | |
387 | 387 | $stripe_customer = new WC_Stripe_Customer(); |
388 | - $stripe_customer_id = get_post_meta( ( WC_Stripe_Helper::is_pre_30() ? $subscription->id : $subscription->get_id() ), '_stripe_customer_id', true ); |
|
388 | + $stripe_customer_id = get_post_meta((WC_Stripe_Helper::is_pre_30() ? $subscription->id : $subscription->get_id()), '_stripe_customer_id', true); |
|
389 | 389 | |
390 | 390 | // If we couldn't find a Stripe customer linked to the subscription, fallback to the user meta data. |
391 | - if ( ! $stripe_customer_id || ! is_string( $stripe_customer_id ) ) { |
|
391 | + if ( ! $stripe_customer_id || ! is_string($stripe_customer_id)) { |
|
392 | 392 | $user_id = $customer_user; |
393 | - $stripe_customer_id = get_user_meta( $user_id, '_stripe_customer_id', true ); |
|
394 | - $stripe_source_id = get_user_meta( $user_id, '_stripe_source_id', true ); |
|
393 | + $stripe_customer_id = get_user_meta($user_id, '_stripe_customer_id', true); |
|
394 | + $stripe_source_id = get_user_meta($user_id, '_stripe_source_id', true); |
|
395 | 395 | |
396 | 396 | // For BW compat will remove in future. |
397 | - if ( empty( $stripe_source_id ) ) { |
|
398 | - $stripe_source_id = get_user_meta( $user_id, '_stripe_card_id', true ); |
|
397 | + if (empty($stripe_source_id)) { |
|
398 | + $stripe_source_id = get_user_meta($user_id, '_stripe_card_id', true); |
|
399 | 399 | |
400 | 400 | // Take this opportunity to update the key name. |
401 | - update_user_meta( $user_id, '_stripe_source_id', $stripe_source_id ); |
|
401 | + update_user_meta($user_id, '_stripe_source_id', $stripe_source_id); |
|
402 | 402 | } |
403 | 403 | } |
404 | 404 | |
405 | 405 | // If we couldn't find a Stripe customer linked to the account, fallback to the order meta data. |
406 | - if ( ( ! $stripe_customer_id || ! is_string( $stripe_customer_id ) ) && false !== $subscription->order ) { |
|
407 | - $stripe_customer_id = get_post_meta( ( WC_Stripe_Helper::is_pre_30() ? $subscription->order->id : $subscription->get_parent_id() ), '_stripe_customer_id', true ); |
|
408 | - $stripe_source_id = get_post_meta( ( WC_Stripe_Helper::is_pre_30() ? $subscription->order->id : $subscription->get_parent_id() ), '_stripe_source_id', true ); |
|
406 | + if (( ! $stripe_customer_id || ! is_string($stripe_customer_id)) && false !== $subscription->order) { |
|
407 | + $stripe_customer_id = get_post_meta((WC_Stripe_Helper::is_pre_30() ? $subscription->order->id : $subscription->get_parent_id()), '_stripe_customer_id', true); |
|
408 | + $stripe_source_id = get_post_meta((WC_Stripe_Helper::is_pre_30() ? $subscription->order->id : $subscription->get_parent_id()), '_stripe_source_id', true); |
|
409 | 409 | |
410 | 410 | // For BW compat will remove in future. |
411 | - if ( empty( $stripe_source_id ) ) { |
|
412 | - $stripe_source_id = get_post_meta( ( WC_Stripe_Helper::is_pre_30() ? $subscription->order->id : $subscription->get_parent_id() ), '_stripe_card_id', true ); |
|
411 | + if (empty($stripe_source_id)) { |
|
412 | + $stripe_source_id = get_post_meta((WC_Stripe_Helper::is_pre_30() ? $subscription->order->id : $subscription->get_parent_id()), '_stripe_card_id', true); |
|
413 | 413 | |
414 | 414 | // Take this opportunity to update the key name. |
415 | - WC_Stripe_Helper::is_pre_30() ? update_post_meta( $subscription->order->id, '_stripe_source_id', $stripe_source_id ) : update_post_meta( $subscription->get_parent_id(), '_stripe_source_id', $stripe_source_id ); |
|
415 | + WC_Stripe_Helper::is_pre_30() ? update_post_meta($subscription->order->id, '_stripe_source_id', $stripe_source_id) : update_post_meta($subscription->get_parent_id(), '_stripe_source_id', $stripe_source_id); |
|
416 | 416 | } |
417 | 417 | } |
418 | 418 | |
419 | - $stripe_customer->set_id( $stripe_customer_id ); |
|
419 | + $stripe_customer->set_id($stripe_customer_id); |
|
420 | 420 | $sources = $stripe_customer->get_sources(); |
421 | 421 | |
422 | - if ( $sources ) { |
|
423 | - foreach ( $sources as $source ) { |
|
424 | - if ( $source->id === $stripe_source_id ) { |
|
425 | - if ( $source->sepa_debit ) { |
|
422 | + if ($sources) { |
|
423 | + foreach ($sources as $source) { |
|
424 | + if ($source->id === $stripe_source_id) { |
|
425 | + if ($source->sepa_debit) { |
|
426 | 426 | /* translators: 1) last 4 digits of SEPA Direct Debit */ |
427 | - $payment_method_to_display = sprintf( __( 'Via SEPA Direct Debit ending in %1$s', 'woocommerce-gateway-stripe' ), $source->sepa_debit->last4 ); |
|
427 | + $payment_method_to_display = sprintf(__('Via SEPA Direct Debit ending in %1$s', 'woocommerce-gateway-stripe'), $source->sepa_debit->last4); |
|
428 | 428 | } else { |
429 | - $payment_method_to_display = __( 'N/A', 'woocommerce-gateway-stripe' ); |
|
429 | + $payment_method_to_display = __('N/A', 'woocommerce-gateway-stripe'); |
|
430 | 430 | } |
431 | 431 | break; |
432 | 432 | } |
@@ -1,5 +1,5 @@ discard block |
||
1 | 1 | <?php |
2 | -if ( ! defined( 'ABSPATH' ) ) { |
|
2 | +if ( ! defined('ABSPATH')) { |
|
3 | 3 | exit; |
4 | 4 | } |
5 | 5 | |
@@ -22,14 +22,14 @@ discard block |
||
22 | 22 | * @param object $order |
23 | 23 | * @return string $currency |
24 | 24 | */ |
25 | - public static function get_stripe_currency( $order = null ) { |
|
26 | - if ( is_null( $order ) ) { |
|
25 | + public static function get_stripe_currency($order = null) { |
|
26 | + if (is_null($order)) { |
|
27 | 27 | return false; |
28 | 28 | } |
29 | 29 | |
30 | 30 | $order_id = WC_Stripe_Helper::is_pre_30() ? $order->id : $order->get_id(); |
31 | 31 | |
32 | - return WC_Stripe_Helper::is_pre_30() ? get_post_meta( $order_id, self::META_NAME_STRIPE_CURRENCY, true ) : $order->get_meta( self::META_NAME_STRIPE_CURRENCY, true ); |
|
32 | + return WC_Stripe_Helper::is_pre_30() ? get_post_meta($order_id, self::META_NAME_STRIPE_CURRENCY, true) : $order->get_meta(self::META_NAME_STRIPE_CURRENCY, true); |
|
33 | 33 | } |
34 | 34 | |
35 | 35 | /** |
@@ -39,14 +39,14 @@ discard block |
||
39 | 39 | * @param object $order |
40 | 40 | * @param string $currency |
41 | 41 | */ |
42 | - public static function update_stripe_currency( $order = null, $currency ) { |
|
43 | - if ( is_null( $order ) ) { |
|
42 | + public static function update_stripe_currency($order = null, $currency) { |
|
43 | + if (is_null($order)) { |
|
44 | 44 | return false; |
45 | 45 | } |
46 | 46 | |
47 | 47 | $order_id = WC_Stripe_Helper::is_pre_30() ? $order->id : $order->get_id(); |
48 | 48 | |
49 | - WC_Stripe_Helper::is_pre_30() ? update_post_meta( $order_id, self::META_NAME_STRIPE_CURRENCY, $currency ) : $order->update_meta_data( self::META_NAME_STRIPE_CURRENCY, $currency ); |
|
49 | + WC_Stripe_Helper::is_pre_30() ? update_post_meta($order_id, self::META_NAME_STRIPE_CURRENCY, $currency) : $order->update_meta_data(self::META_NAME_STRIPE_CURRENCY, $currency); |
|
50 | 50 | } |
51 | 51 | |
52 | 52 | /** |
@@ -56,22 +56,22 @@ discard block |
||
56 | 56 | * @param object $order |
57 | 57 | * @return string $amount |
58 | 58 | */ |
59 | - public static function get_stripe_fee( $order = null ) { |
|
60 | - if ( is_null( $order ) ) { |
|
59 | + public static function get_stripe_fee($order = null) { |
|
60 | + if (is_null($order)) { |
|
61 | 61 | return false; |
62 | 62 | } |
63 | 63 | |
64 | 64 | $order_id = WC_Stripe_Helper::is_pre_30() ? $order->id : $order->get_id(); |
65 | 65 | |
66 | - $amount = WC_Stripe_Helper::is_pre_30() ? get_post_meta( $order_id, self::META_NAME_FEE, true ) : $order->get_meta( self::META_NAME_FEE, true ); |
|
66 | + $amount = WC_Stripe_Helper::is_pre_30() ? get_post_meta($order_id, self::META_NAME_FEE, true) : $order->get_meta(self::META_NAME_FEE, true); |
|
67 | 67 | |
68 | 68 | // If not found let's check for legacy name. |
69 | - if ( empty( $amount ) ) { |
|
70 | - $amount = WC_Stripe_Helper::is_pre_30() ? get_post_meta( $order_id, self::LEGACY_META_NAME_FEE, true ) : $order->get_meta( self::LEGACY_META_NAME_FEE, true ); |
|
69 | + if (empty($amount)) { |
|
70 | + $amount = WC_Stripe_Helper::is_pre_30() ? get_post_meta($order_id, self::LEGACY_META_NAME_FEE, true) : $order->get_meta(self::LEGACY_META_NAME_FEE, true); |
|
71 | 71 | |
72 | 72 | // If found update to new name. |
73 | - if ( $amount ) { |
|
74 | - self::update_stripe_fee( $order, $amount ); |
|
73 | + if ($amount) { |
|
74 | + self::update_stripe_fee($order, $amount); |
|
75 | 75 | } |
76 | 76 | } |
77 | 77 | |
@@ -85,14 +85,14 @@ discard block |
||
85 | 85 | * @param object $order |
86 | 86 | * @param float $amount |
87 | 87 | */ |
88 | - public static function update_stripe_fee( $order = null, $amount = 0.0 ) { |
|
89 | - if ( is_null( $order ) ) { |
|
88 | + public static function update_stripe_fee($order = null, $amount = 0.0) { |
|
89 | + if (is_null($order)) { |
|
90 | 90 | return false; |
91 | 91 | } |
92 | 92 | |
93 | 93 | $order_id = WC_Stripe_Helper::is_pre_30() ? $order->id : $order->get_id(); |
94 | 94 | |
95 | - WC_Stripe_Helper::is_pre_30() ? update_post_meta( $order_id, self::META_NAME_FEE, $amount ) : $order->update_meta_data( self::META_NAME_FEE, $amount ); |
|
95 | + WC_Stripe_Helper::is_pre_30() ? update_post_meta($order_id, self::META_NAME_FEE, $amount) : $order->update_meta_data(self::META_NAME_FEE, $amount); |
|
96 | 96 | } |
97 | 97 | |
98 | 98 | /** |
@@ -101,15 +101,15 @@ discard block |
||
101 | 101 | * @since 4.1.0 |
102 | 102 | * @param object $order |
103 | 103 | */ |
104 | - public static function delete_stripe_fee( $order = null ) { |
|
105 | - if ( is_null( $order ) ) { |
|
104 | + public static function delete_stripe_fee($order = null) { |
|
105 | + if (is_null($order)) { |
|
106 | 106 | return false; |
107 | 107 | } |
108 | 108 | |
109 | 109 | $order_id = WC_Stripe_Helper::is_pre_30() ? $order->id : $order->get_id(); |
110 | 110 | |
111 | - delete_post_meta( $order_id, self::META_NAME_FEE ); |
|
112 | - delete_post_meta( $order_id, self::LEGACY_META_NAME_FEE ); |
|
111 | + delete_post_meta($order_id, self::META_NAME_FEE); |
|
112 | + delete_post_meta($order_id, self::LEGACY_META_NAME_FEE); |
|
113 | 113 | } |
114 | 114 | |
115 | 115 | /** |
@@ -119,22 +119,22 @@ discard block |
||
119 | 119 | * @param object $order |
120 | 120 | * @return string $amount |
121 | 121 | */ |
122 | - public static function get_stripe_net( $order = null ) { |
|
123 | - if ( is_null( $order ) ) { |
|
122 | + public static function get_stripe_net($order = null) { |
|
123 | + if (is_null($order)) { |
|
124 | 124 | return false; |
125 | 125 | } |
126 | 126 | |
127 | 127 | $order_id = WC_Stripe_Helper::is_pre_30() ? $order->id : $order->get_id(); |
128 | 128 | |
129 | - $amount = WC_Stripe_Helper::is_pre_30() ? get_post_meta( $order_id, self::META_NAME_NET, true ) : $order->get_meta( self::META_NAME_NET, true ); |
|
129 | + $amount = WC_Stripe_Helper::is_pre_30() ? get_post_meta($order_id, self::META_NAME_NET, true) : $order->get_meta(self::META_NAME_NET, true); |
|
130 | 130 | |
131 | 131 | // If not found let's check for legacy name. |
132 | - if ( empty( $amount ) ) { |
|
133 | - $amount = WC_Stripe_Helper::is_pre_30() ? get_post_meta( $order_id, self::LEGACY_META_NAME_NET, true ) : $order->get_meta( self::LEGACY_META_NAME_NET, true ); |
|
132 | + if (empty($amount)) { |
|
133 | + $amount = WC_Stripe_Helper::is_pre_30() ? get_post_meta($order_id, self::LEGACY_META_NAME_NET, true) : $order->get_meta(self::LEGACY_META_NAME_NET, true); |
|
134 | 134 | |
135 | 135 | // If found update to new name. |
136 | - if ( $amount ) { |
|
137 | - self::update_stripe_net( $order, $amount ); |
|
136 | + if ($amount) { |
|
137 | + self::update_stripe_net($order, $amount); |
|
138 | 138 | } |
139 | 139 | } |
140 | 140 | |
@@ -148,14 +148,14 @@ discard block |
||
148 | 148 | * @param object $order |
149 | 149 | * @param float $amount |
150 | 150 | */ |
151 | - public static function update_stripe_net( $order = null, $amount = 0.0 ) { |
|
152 | - if ( is_null( $order ) ) { |
|
151 | + public static function update_stripe_net($order = null, $amount = 0.0) { |
|
152 | + if (is_null($order)) { |
|
153 | 153 | return false; |
154 | 154 | } |
155 | 155 | |
156 | 156 | $order_id = WC_Stripe_Helper::is_pre_30() ? $order->id : $order->get_id(); |
157 | 157 | |
158 | - WC_Stripe_Helper::is_pre_30() ? update_post_meta( $order_id, self::META_NAME_NET, $amount ) : $order->update_meta_data( self::META_NAME_NET, $amount ); |
|
158 | + WC_Stripe_Helper::is_pre_30() ? update_post_meta($order_id, self::META_NAME_NET, $amount) : $order->update_meta_data(self::META_NAME_NET, $amount); |
|
159 | 159 | } |
160 | 160 | |
161 | 161 | /** |
@@ -164,15 +164,15 @@ discard block |
||
164 | 164 | * @since 4.1.0 |
165 | 165 | * @param object $order |
166 | 166 | */ |
167 | - public static function delete_stripe_net( $order = null ) { |
|
168 | - if ( is_null( $order ) ) { |
|
167 | + public static function delete_stripe_net($order = null) { |
|
168 | + if (is_null($order)) { |
|
169 | 169 | return false; |
170 | 170 | } |
171 | 171 | |
172 | 172 | $order_id = WC_Stripe_Helper::is_pre_30() ? $order->id : $order->get_id(); |
173 | 173 | |
174 | - delete_post_meta( $order_id, self::META_NAME_NET ); |
|
175 | - delete_post_meta( $order_id, self::LEGACY_META_NAME_NET ); |
|
174 | + delete_post_meta($order_id, self::META_NAME_NET); |
|
175 | + delete_post_meta($order_id, self::LEGACY_META_NAME_NET); |
|
176 | 176 | } |
177 | 177 | |
178 | 178 | /** |
@@ -183,15 +183,15 @@ discard block |
||
183 | 183 | * |
184 | 184 | * @return float|int |
185 | 185 | */ |
186 | - public static function get_stripe_amount( $total, $currency = '' ) { |
|
187 | - if ( ! $currency ) { |
|
186 | + public static function get_stripe_amount($total, $currency = '') { |
|
187 | + if ( ! $currency) { |
|
188 | 188 | $currency = get_woocommerce_currency(); |
189 | 189 | } |
190 | 190 | |
191 | - if ( in_array( strtolower( $currency ), self::no_decimal_currencies() ) ) { |
|
192 | - return absint( $total ); |
|
191 | + if (in_array(strtolower($currency), self::no_decimal_currencies())) { |
|
192 | + return absint($total); |
|
193 | 193 | } else { |
194 | - return absint( wc_format_decimal( ( (float) $total * 100 ), wc_get_price_decimals() ) ); // In cents. |
|
194 | + return absint(wc_format_decimal(((float) $total * 100), wc_get_price_decimals())); // In cents. |
|
195 | 195 | } |
196 | 196 | } |
197 | 197 | |
@@ -203,25 +203,25 @@ discard block |
||
203 | 203 | * @return array |
204 | 204 | */ |
205 | 205 | public static function get_localized_messages() { |
206 | - return apply_filters( 'wc_stripe_localized_messages', array( |
|
207 | - 'invalid_number' => __( 'The card number is not a valid credit card number.', 'woocommerce-gateway-stripe' ), |
|
208 | - 'invalid_expiry_month' => __( 'The card\'s expiration month is invalid.', 'woocommerce-gateway-stripe' ), |
|
209 | - 'invalid_expiry_year' => __( 'The card\'s expiration year is invalid.', 'woocommerce-gateway-stripe' ), |
|
210 | - 'invalid_cvc' => __( 'The card\'s security code is invalid.', 'woocommerce-gateway-stripe' ), |
|
211 | - 'incorrect_number' => __( 'The card number is incorrect.', 'woocommerce-gateway-stripe' ), |
|
212 | - 'incomplete_number' => __( 'The card number is incomplete.', 'woocommerce-gateway-stripe' ), |
|
213 | - 'incomplete_cvc' => __( 'The card\'s security code is incomplete.', 'woocommerce-gateway-stripe' ), |
|
214 | - 'incomplete_expiry' => __( 'The card\'s expiration date is incomplete.', 'woocommerce-gateway-stripe' ), |
|
215 | - 'expired_card' => __( 'The card has expired.', 'woocommerce-gateway-stripe' ), |
|
216 | - 'incorrect_cvc' => __( 'The card\'s security code is incorrect.', 'woocommerce-gateway-stripe' ), |
|
217 | - 'incorrect_zip' => __( 'The card\'s zip code failed validation.', 'woocommerce-gateway-stripe' ), |
|
218 | - 'invalid_expiry_year_past' => __( 'The card\'s expiration year is in the past', 'woocommerce-gateway-stripe' ), |
|
219 | - 'card_declined' => __( 'The card was declined.', 'woocommerce-gateway-stripe' ), |
|
220 | - 'missing' => __( 'There is no card on a customer that is being charged.', 'woocommerce-gateway-stripe' ), |
|
221 | - 'processing_error' => __( 'An error occurred while processing the card.', 'woocommerce-gateway-stripe' ), |
|
222 | - 'invalid_request_error' => __( 'Unable to process this payment, please try again or use alternative method.', 'woocommerce-gateway-stripe' ), |
|
223 | - 'invalid_sofort_country' => __( 'The billing country is not accepted by SOFORT. Please try another country.', 'woocommerce-gateway-stripe' ), |
|
224 | - ) ); |
|
206 | + return apply_filters('wc_stripe_localized_messages', array( |
|
207 | + 'invalid_number' => __('The card number is not a valid credit card number.', 'woocommerce-gateway-stripe'), |
|
208 | + 'invalid_expiry_month' => __('The card\'s expiration month is invalid.', 'woocommerce-gateway-stripe'), |
|
209 | + 'invalid_expiry_year' => __('The card\'s expiration year is invalid.', 'woocommerce-gateway-stripe'), |
|
210 | + 'invalid_cvc' => __('The card\'s security code is invalid.', 'woocommerce-gateway-stripe'), |
|
211 | + 'incorrect_number' => __('The card number is incorrect.', 'woocommerce-gateway-stripe'), |
|
212 | + 'incomplete_number' => __('The card number is incomplete.', 'woocommerce-gateway-stripe'), |
|
213 | + 'incomplete_cvc' => __('The card\'s security code is incomplete.', 'woocommerce-gateway-stripe'), |
|
214 | + 'incomplete_expiry' => __('The card\'s expiration date is incomplete.', 'woocommerce-gateway-stripe'), |
|
215 | + 'expired_card' => __('The card has expired.', 'woocommerce-gateway-stripe'), |
|
216 | + 'incorrect_cvc' => __('The card\'s security code is incorrect.', 'woocommerce-gateway-stripe'), |
|
217 | + 'incorrect_zip' => __('The card\'s zip code failed validation.', 'woocommerce-gateway-stripe'), |
|
218 | + 'invalid_expiry_year_past' => __('The card\'s expiration year is in the past', 'woocommerce-gateway-stripe'), |
|
219 | + 'card_declined' => __('The card was declined.', 'woocommerce-gateway-stripe'), |
|
220 | + 'missing' => __('There is no card on a customer that is being charged.', 'woocommerce-gateway-stripe'), |
|
221 | + 'processing_error' => __('An error occurred while processing the card.', 'woocommerce-gateway-stripe'), |
|
222 | + 'invalid_request_error' => __('Unable to process this payment, please try again or use alternative method.', 'woocommerce-gateway-stripe'), |
|
223 | + 'invalid_sofort_country' => __('The billing country is not accepted by SOFORT. Please try another country.', 'woocommerce-gateway-stripe'), |
|
224 | + )); |
|
225 | 225 | } |
226 | 226 | |
227 | 227 | /** |
@@ -258,24 +258,24 @@ discard block |
||
258 | 258 | * @param string $type Type of number to format |
259 | 259 | * @return string |
260 | 260 | */ |
261 | - public static function format_balance_fee( $balance_transaction, $type = 'fee' ) { |
|
262 | - if ( ! is_object( $balance_transaction ) ) { |
|
261 | + public static function format_balance_fee($balance_transaction, $type = 'fee') { |
|
262 | + if ( ! is_object($balance_transaction)) { |
|
263 | 263 | return; |
264 | 264 | } |
265 | 265 | |
266 | - if ( in_array( strtolower( $balance_transaction->currency ), self::no_decimal_currencies() ) ) { |
|
267 | - if ( 'fee' === $type ) { |
|
266 | + if (in_array(strtolower($balance_transaction->currency), self::no_decimal_currencies())) { |
|
267 | + if ('fee' === $type) { |
|
268 | 268 | return $balance_transaction->fee; |
269 | 269 | } |
270 | 270 | |
271 | 271 | return $balance_transaction->net; |
272 | 272 | } |
273 | 273 | |
274 | - if ( 'fee' === $type ) { |
|
275 | - return number_format( $balance_transaction->fee / 100, 2, '.', '' ); |
|
274 | + if ('fee' === $type) { |
|
275 | + return number_format($balance_transaction->fee / 100, 2, '.', ''); |
|
276 | 276 | } |
277 | 277 | |
278 | - return number_format( $balance_transaction->net / 100, 2, '.', '' ); |
|
278 | + return number_format($balance_transaction->net / 100, 2, '.', ''); |
|
279 | 279 | } |
280 | 280 | |
281 | 281 | /** |
@@ -283,7 +283,7 @@ discard block |
||
283 | 283 | */ |
284 | 284 | public static function get_minimum_amount() { |
285 | 285 | // Check order amount |
286 | - switch ( get_woocommerce_currency() ) { |
|
286 | + switch (get_woocommerce_currency()) { |
|
287 | 287 | case 'USD': |
288 | 288 | case 'CAD': |
289 | 289 | case 'EUR': |
@@ -328,14 +328,14 @@ discard block |
||
328 | 328 | * @param string $method The payment method to get the settings from. |
329 | 329 | * @param string $setting The name of the setting to get. |
330 | 330 | */ |
331 | - public static function get_settings( $method = null, $setting = null ) { |
|
332 | - $all_settings = null === $method ? get_option( 'woocommerce_stripe_settings', array() ) : get_option( 'woocommerce_stripe_' . $method . '_settings', array() ); |
|
331 | + public static function get_settings($method = null, $setting = null) { |
|
332 | + $all_settings = null === $method ? get_option('woocommerce_stripe_settings', array()) : get_option('woocommerce_stripe_' . $method . '_settings', array()); |
|
333 | 333 | |
334 | - if ( null === $setting ) { |
|
334 | + if (null === $setting) { |
|
335 | 335 | return $all_settings; |
336 | 336 | } |
337 | 337 | |
338 | - return isset( $all_settings[ $setting ] ) ? $all_settings[ $setting ] : ''; |
|
338 | + return isset($all_settings[$setting]) ? $all_settings[$setting] : ''; |
|
339 | 339 | } |
340 | 340 | |
341 | 341 | /** |
@@ -345,7 +345,7 @@ discard block |
||
345 | 345 | * @return bool |
346 | 346 | */ |
347 | 347 | public static function is_pre_orders_exists() { |
348 | - return class_exists( 'WC_Pre_Orders_Order' ); |
|
348 | + return class_exists('WC_Pre_Orders_Order'); |
|
349 | 349 | } |
350 | 350 | |
351 | 351 | /** |
@@ -356,7 +356,7 @@ discard block |
||
356 | 356 | * @return bool |
357 | 357 | */ |
358 | 358 | public static function is_pre_30() { |
359 | - return version_compare( WC_VERSION, '3.0.0', '<' ); |
|
359 | + return version_compare(WC_VERSION, '3.0.0', '<'); |
|
360 | 360 | } |
361 | 361 | |
362 | 362 | /** |
@@ -369,7 +369,7 @@ discard block |
||
369 | 369 | * @return string |
370 | 370 | */ |
371 | 371 | public static function get_webhook_url() { |
372 | - return add_query_arg( 'wc-api', 'wc_stripe', trailingslashit( get_home_url() ) ); |
|
372 | + return add_query_arg('wc-api', 'wc_stripe', trailingslashit(get_home_url())); |
|
373 | 373 | } |
374 | 374 | |
375 | 375 | /** |
@@ -379,13 +379,13 @@ discard block |
||
379 | 379 | * @version 4.0.0 |
380 | 380 | * @param string $source_id |
381 | 381 | */ |
382 | - public static function get_order_by_source_id( $source_id ) { |
|
382 | + public static function get_order_by_source_id($source_id) { |
|
383 | 383 | global $wpdb; |
384 | 384 | |
385 | - $order_id = $wpdb->get_var( $wpdb->prepare( "SELECT DISTINCT ID FROM $wpdb->posts as posts LEFT JOIN $wpdb->postmeta as meta ON posts.ID = meta.post_id WHERE meta.meta_value = %s AND meta.meta_key = %s", $source_id, '_stripe_source_id' ) ); |
|
385 | + $order_id = $wpdb->get_var($wpdb->prepare("SELECT DISTINCT ID FROM $wpdb->posts as posts LEFT JOIN $wpdb->postmeta as meta ON posts.ID = meta.post_id WHERE meta.meta_value = %s AND meta.meta_key = %s", $source_id, '_stripe_source_id')); |
|
386 | 386 | |
387 | - if ( ! empty( $order_id ) ) { |
|
388 | - return wc_get_order( $order_id ); |
|
387 | + if ( ! empty($order_id)) { |
|
388 | + return wc_get_order($order_id); |
|
389 | 389 | } |
390 | 390 | |
391 | 391 | return false; |
@@ -398,13 +398,13 @@ discard block |
||
398 | 398 | * @version 4.0.0 |
399 | 399 | * @param string $charge_id |
400 | 400 | */ |
401 | - public static function get_order_by_charge_id( $charge_id ) { |
|
401 | + public static function get_order_by_charge_id($charge_id) { |
|
402 | 402 | global $wpdb; |
403 | 403 | |
404 | - $order_id = $wpdb->get_var( $wpdb->prepare( "SELECT DISTINCT ID FROM $wpdb->posts as posts LEFT JOIN $wpdb->postmeta as meta ON posts.ID = meta.post_id WHERE meta.meta_value = %s AND meta.meta_key = %s", $charge_id, '_transaction_id' ) ); |
|
404 | + $order_id = $wpdb->get_var($wpdb->prepare("SELECT DISTINCT ID FROM $wpdb->posts as posts LEFT JOIN $wpdb->postmeta as meta ON posts.ID = meta.post_id WHERE meta.meta_value = %s AND meta.meta_key = %s", $charge_id, '_transaction_id')); |
|
405 | 405 | |
406 | - if ( ! empty( $order_id ) ) { |
|
407 | - return wc_get_order( $order_id ); |
|
406 | + if ( ! empty($order_id)) { |
|
407 | + return wc_get_order($order_id); |
|
408 | 408 | } |
409 | 409 | |
410 | 410 | return false; |
@@ -420,13 +420,13 @@ discard block |
||
420 | 420 | * @param string $statement_descriptor |
421 | 421 | * @return string $statement_descriptor Sanitized statement descriptor |
422 | 422 | */ |
423 | - public static function clean_statement_descriptor( $statement_descriptor = '' ) { |
|
424 | - $disallowed_characters = array( '<', '>', '"', "'" ); |
|
423 | + public static function clean_statement_descriptor($statement_descriptor = '') { |
|
424 | + $disallowed_characters = array('<', '>', '"', "'"); |
|
425 | 425 | |
426 | 426 | // Remove special characters. |
427 | - $statement_descriptor = str_replace( $disallowed_characters, '', $statement_descriptor ); |
|
427 | + $statement_descriptor = str_replace($disallowed_characters, '', $statement_descriptor); |
|
428 | 428 | |
429 | - $statement_descriptor = substr( trim( $statement_descriptor ), 0, 22 ); |
|
429 | + $statement_descriptor = substr(trim($statement_descriptor), 0, 22); |
|
430 | 430 | |
431 | 431 | return $statement_descriptor; |
432 | 432 | } |
@@ -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,9 +32,9 @@ discard block |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 2 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 ) { |
|
126 | + if ('card' === $notification->data->object->type || 'sepa_debit' === $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 | 137 | $order_id = WC_Stripe_Helper::is_pre_30() ? $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 |
||
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_pre_30() ) { |
|
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_pre_30()) { |
|
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 |
||
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 | 268 | $order_id = WC_Stripe_Helper::is_pre_30() ? $order->id : $order->get_id(); |
269 | - $this->send_failed_order_email( $order_id ); |
|
269 | + $this->send_failed_order_email($order_id); |
|
270 | 270 | } |
271 | 271 | |
272 | 272 | /** |
@@ -277,44 +277,44 @@ discard block |
||
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 | 288 | $order_id = WC_Stripe_Helper::is_pre_30() ? $order->id : $order->get_id(); |
289 | 289 | |
290 | - if ( 'stripe' === ( WC_Stripe_Helper::is_pre_30() ? $order->payment_method : $order->get_payment_method() ) ) { |
|
291 | - $charge = WC_Stripe_Helper::is_pre_30() ? get_post_meta( $order_id, '_transaction_id', true ) : $order->get_transaction_id(); |
|
292 | - $captured = WC_Stripe_Helper::is_pre_30() ? get_post_meta( $order_id, '_stripe_charge_captured', true ) : $order->get_meta( '_stripe_charge_captured', true ); |
|
290 | + if ('stripe' === (WC_Stripe_Helper::is_pre_30() ? $order->payment_method : $order->get_payment_method())) { |
|
291 | + $charge = WC_Stripe_Helper::is_pre_30() ? get_post_meta($order_id, '_transaction_id', true) : $order->get_transaction_id(); |
|
292 | + $captured = WC_Stripe_Helper::is_pre_30() ? 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_pre_30() ? 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_pre_30() ? 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_pre_30() ? update_post_meta( $order_id, '_transaction_id', $notification->data->object->id ) : $order->set_transaction_id( $notification->data->object->id ); |
|
298 | + WC_Stripe_Helper::is_pre_30() ? 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 ); |
|
305 | + if ($this->is_partial_capture($notification)) { |
|
306 | + $partial_amount = $this->get_partial_amount_to_charge($notification); |
|
307 | + $order->set_total($partial_amount); |
|
308 | 308 | /* translators: partial captured amount */ |
309 | - $order->add_order_note( sprintf( __( 'This charge was partially captured via Stripe Dashboard in the amount of: %s', 'woocommerce-gateway-stripe' ), $partial_amount ) ); |
|
309 | + $order->add_order_note(sprintf(__('This charge was partially captured via Stripe Dashboard in the amount of: %s', 'woocommerce-gateway-stripe'), $partial_amount)); |
|
310 | 310 | } else { |
311 | - $order->payment_complete( $notification->data->object->id ); |
|
311 | + $order->payment_complete($notification->data->object->id); |
|
312 | 312 | |
313 | 313 | /* translators: transaction id */ |
314 | - $order->add_order_note( sprintf( __( 'Stripe charge complete (Charge ID: %s)', 'woocommerce-gateway-stripe' ), $notification->data->object->id ) ); |
|
314 | + $order->add_order_note(sprintf(__('Stripe charge complete (Charge ID: %s)', 'woocommerce-gateway-stripe'), $notification->data->object->id)); |
|
315 | 315 | } |
316 | 316 | |
317 | - if ( is_callable( array( $order, 'save' ) ) ) { |
|
317 | + if (is_callable(array($order, 'save'))) { |
|
318 | 318 | $order->save(); |
319 | 319 | } |
320 | 320 | } |
@@ -329,38 +329,38 @@ discard block |
||
329 | 329 | * @version 4.0.0 |
330 | 330 | * @param object $notification |
331 | 331 | */ |
332 | - public function process_webhook_charge_succeeded( $notification ) { |
|
332 | + public function process_webhook_charge_succeeded($notification) { |
|
333 | 333 | // The following payment methods are synchronous so does not need to be handle via webhook. |
334 | - 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 ) ) { |
|
334 | + 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)) { |
|
335 | 335 | return; |
336 | 336 | } |
337 | 337 | |
338 | - $order = WC_Stripe_Helper::get_order_by_charge_id( $notification->data->object->id ); |
|
338 | + $order = WC_Stripe_Helper::get_order_by_charge_id($notification->data->object->id); |
|
339 | 339 | |
340 | - if ( ! $order ) { |
|
341 | - WC_Stripe_Logger::log( 'Could not find order via charge ID: ' . $notification->data->object->id ); |
|
340 | + if ( ! $order) { |
|
341 | + WC_Stripe_Logger::log('Could not find order via charge ID: ' . $notification->data->object->id); |
|
342 | 342 | return; |
343 | 343 | } |
344 | 344 | |
345 | 345 | $order_id = WC_Stripe_Helper::is_pre_30() ? $order->id : $order->get_id(); |
346 | 346 | |
347 | - if ( 'on-hold' !== $order->get_status() ) { |
|
347 | + if ('on-hold' !== $order->get_status()) { |
|
348 | 348 | return; |
349 | 349 | } |
350 | 350 | |
351 | 351 | // Store other data such as fees |
352 | - WC_Stripe_Helper::is_pre_30() ? update_post_meta( $order_id, '_transaction_id', $notification->data->object->id ) : $order->set_transaction_id( $notification->data->object->id ); |
|
352 | + WC_Stripe_Helper::is_pre_30() ? update_post_meta($order_id, '_transaction_id', $notification->data->object->id) : $order->set_transaction_id($notification->data->object->id); |
|
353 | 353 | |
354 | - if ( isset( $notification->data->object->balance_transaction ) ) { |
|
355 | - $this->update_fees( $order, $notification->data->object->balance_transaction ); |
|
354 | + if (isset($notification->data->object->balance_transaction)) { |
|
355 | + $this->update_fees($order, $notification->data->object->balance_transaction); |
|
356 | 356 | } |
357 | 357 | |
358 | - $order->payment_complete( $notification->data->object->id ); |
|
358 | + $order->payment_complete($notification->data->object->id); |
|
359 | 359 | |
360 | 360 | /* translators: transaction id */ |
361 | - $order->add_order_note( sprintf( __( 'Stripe charge complete (Charge ID: %s)', 'woocommerce-gateway-stripe' ), $notification->data->object->id ) ); |
|
361 | + $order->add_order_note(sprintf(__('Stripe charge complete (Charge ID: %s)', 'woocommerce-gateway-stripe'), $notification->data->object->id)); |
|
362 | 362 | |
363 | - if ( is_callable( array( $order, 'save' ) ) ) { |
|
363 | + if (is_callable(array($order, 'save'))) { |
|
364 | 364 | $order->save(); |
365 | 365 | } |
366 | 366 | } |
@@ -372,24 +372,24 @@ discard block |
||
372 | 372 | * @since 4.1.5 Can handle any fail payments from any methods. |
373 | 373 | * @param object $notification |
374 | 374 | */ |
375 | - public function process_webhook_charge_failed( $notification ) { |
|
376 | - $order = WC_Stripe_Helper::get_order_by_charge_id( $notification->data->object->id ); |
|
375 | + public function process_webhook_charge_failed($notification) { |
|
376 | + $order = WC_Stripe_Helper::get_order_by_charge_id($notification->data->object->id); |
|
377 | 377 | |
378 | - if ( ! $order ) { |
|
379 | - WC_Stripe_Logger::log( 'Could not find order via charge ID: ' . $notification->data->object->id ); |
|
378 | + if ( ! $order) { |
|
379 | + WC_Stripe_Logger::log('Could not find order via charge ID: ' . $notification->data->object->id); |
|
380 | 380 | return; |
381 | 381 | } |
382 | 382 | |
383 | 383 | $order_id = WC_Stripe_Helper::is_pre_30() ? $order->id : $order->get_id(); |
384 | 384 | |
385 | 385 | // If order status is already in failed status don't continue. |
386 | - if ( 'failed' === $order->get_status() ) { |
|
386 | + if ('failed' === $order->get_status()) { |
|
387 | 387 | return; |
388 | 388 | } |
389 | 389 | |
390 | - $order->update_status( 'failed', __( 'This payment failed to clear.', 'woocommerce-gateway-stripe' ) ); |
|
390 | + $order->update_status('failed', __('This payment failed to clear.', 'woocommerce-gateway-stripe')); |
|
391 | 391 | |
392 | - do_action( 'wc_gateway_stripe_process_webhook_payment_error', $order, $notification ); |
|
392 | + do_action('wc_gateway_stripe_process_webhook_payment_error', $order, $notification); |
|
393 | 393 | } |
394 | 394 | |
395 | 395 | /** |
@@ -400,23 +400,23 @@ discard block |
||
400 | 400 | * @version 4.0.0 |
401 | 401 | * @param object $notification |
402 | 402 | */ |
403 | - public function process_webhook_source_canceled( $notification ) { |
|
404 | - $order = WC_Stripe_Helper::get_order_by_charge_id( $notification->data->object->id ); |
|
403 | + public function process_webhook_source_canceled($notification) { |
|
404 | + $order = WC_Stripe_Helper::get_order_by_charge_id($notification->data->object->id); |
|
405 | 405 | |
406 | - if ( ! $order ) { |
|
407 | - WC_Stripe_Logger::log( 'Could not find order via charge ID: ' . $notification->data->object->id ); |
|
406 | + if ( ! $order) { |
|
407 | + WC_Stripe_Logger::log('Could not find order via charge ID: ' . $notification->data->object->id); |
|
408 | 408 | return; |
409 | 409 | } |
410 | 410 | |
411 | 411 | $order_id = WC_Stripe_Helper::is_pre_30() ? $order->id : $order->get_id(); |
412 | 412 | |
413 | - if ( 'on-hold' !== $order->get_status() || 'cancelled' !== $order->get_status() ) { |
|
413 | + if ('on-hold' !== $order->get_status() || 'cancelled' !== $order->get_status()) { |
|
414 | 414 | return; |
415 | 415 | } |
416 | 416 | |
417 | - $order->update_status( 'cancelled', __( 'This payment has cancelled.', 'woocommerce-gateway-stripe' ) ); |
|
417 | + $order->update_status('cancelled', __('This payment has cancelled.', 'woocommerce-gateway-stripe')); |
|
418 | 418 | |
419 | - do_action( 'wc_gateway_stripe_process_webhook_payment_error', $order, $notification ); |
|
419 | + do_action('wc_gateway_stripe_process_webhook_payment_error', $order, $notification); |
|
420 | 420 | } |
421 | 421 | |
422 | 422 | /** |
@@ -426,57 +426,57 @@ discard block |
||
426 | 426 | * @version 4.0.0 |
427 | 427 | * @param object $notification |
428 | 428 | */ |
429 | - public function process_webhook_refund( $notification ) { |
|
430 | - $order = WC_Stripe_Helper::get_order_by_charge_id( $notification->data->object->id ); |
|
429 | + public function process_webhook_refund($notification) { |
|
430 | + $order = WC_Stripe_Helper::get_order_by_charge_id($notification->data->object->id); |
|
431 | 431 | |
432 | - if ( ! $order ) { |
|
433 | - WC_Stripe_Logger::log( 'Could not find order via charge ID: ' . $notification->data->object->id ); |
|
432 | + if ( ! $order) { |
|
433 | + WC_Stripe_Logger::log('Could not find order via charge ID: ' . $notification->data->object->id); |
|
434 | 434 | return; |
435 | 435 | } |
436 | 436 | |
437 | 437 | $order_id = WC_Stripe_Helper::is_pre_30() ? $order->id : $order->get_id(); |
438 | 438 | |
439 | - if ( 'stripe' === ( WC_Stripe_Helper::is_pre_30() ? $order->payment_method : $order->get_payment_method() ) ) { |
|
440 | - $charge = WC_Stripe_Helper::is_pre_30() ? get_post_meta( $order_id, '_transaction_id', true ) : $order->get_transaction_id(); |
|
441 | - $captured = WC_Stripe_Helper::is_pre_30() ? get_post_meta( $order_id, '_stripe_charge_captured', true ) : $order->get_meta( '_stripe_charge_captured', true ); |
|
442 | - $refund_id = WC_Stripe_Helper::is_pre_30() ? get_post_meta( $order_id, '_stripe_refund_id', true ) : $order->get_meta( '_stripe_refund_id', true ); |
|
439 | + if ('stripe' === (WC_Stripe_Helper::is_pre_30() ? $order->payment_method : $order->get_payment_method())) { |
|
440 | + $charge = WC_Stripe_Helper::is_pre_30() ? get_post_meta($order_id, '_transaction_id', true) : $order->get_transaction_id(); |
|
441 | + $captured = WC_Stripe_Helper::is_pre_30() ? get_post_meta($order_id, '_stripe_charge_captured', true) : $order->get_meta('_stripe_charge_captured', true); |
|
442 | + $refund_id = WC_Stripe_Helper::is_pre_30() ? get_post_meta($order_id, '_stripe_refund_id', true) : $order->get_meta('_stripe_refund_id', true); |
|
443 | 443 | |
444 | 444 | // If the refund ID matches, don't continue to prevent double refunding. |
445 | - if ( $notification->data->object->refunds->data[0]->id === $refund_id ) { |
|
445 | + if ($notification->data->object->refunds->data[0]->id === $refund_id) { |
|
446 | 446 | return; |
447 | 447 | } |
448 | 448 | |
449 | 449 | // Only refund captured charge. |
450 | - if ( $charge ) { |
|
451 | - $reason = ( isset( $captured ) && 'yes' === $captured ) ? __( 'Refunded via Stripe Dashboard', 'woocommerce-gateway-stripe' ) : __( 'Pre-Authorization Released via Stripe Dashboard', 'woocommerce-gateway-stripe' ); |
|
450 | + if ($charge) { |
|
451 | + $reason = (isset($captured) && 'yes' === $captured) ? __('Refunded via Stripe Dashboard', 'woocommerce-gateway-stripe') : __('Pre-Authorization Released via Stripe Dashboard', 'woocommerce-gateway-stripe'); |
|
452 | 452 | |
453 | 453 | // Create the refund. |
454 | - $refund = wc_create_refund( array( |
|
454 | + $refund = wc_create_refund(array( |
|
455 | 455 | 'order_id' => $order_id, |
456 | - 'amount' => $this->get_refund_amount( $notification ), |
|
456 | + 'amount' => $this->get_refund_amount($notification), |
|
457 | 457 | 'reason' => $reason, |
458 | - ) ); |
|
458 | + )); |
|
459 | 459 | |
460 | - if ( is_wp_error( $refund ) ) { |
|
461 | - WC_Stripe_Logger::log( $refund->get_error_message() ); |
|
460 | + if (is_wp_error($refund)) { |
|
461 | + WC_Stripe_Logger::log($refund->get_error_message()); |
|
462 | 462 | } |
463 | 463 | |
464 | - WC_Stripe_Helper::is_pre_30() ? 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 ); |
|
464 | + WC_Stripe_Helper::is_pre_30() ? 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); |
|
465 | 465 | |
466 | - $amount = wc_price( $notification->data->object->refunds->data[0]->amount / 100 ); |
|
466 | + $amount = wc_price($notification->data->object->refunds->data[0]->amount / 100); |
|
467 | 467 | |
468 | - if ( in_array( strtolower( WC_Stripe_Helper::is_pre_30() ? $order->get_order_currency() : $order->get_currency() ), WC_Stripe_Helper::no_decimal_currencies() ) ) { |
|
469 | - $amount = wc_price( $notification->data->object->refunds->data[0]->amount ); |
|
468 | + if (in_array(strtolower(WC_Stripe_Helper::is_pre_30() ? $order->get_order_currency() : $order->get_currency()), WC_Stripe_Helper::no_decimal_currencies())) { |
|
469 | + $amount = wc_price($notification->data->object->refunds->data[0]->amount); |
|
470 | 470 | } |
471 | 471 | |
472 | - if ( isset( $notification->data->object->refunds->data[0]->balance_transaction ) ) { |
|
473 | - $this->update_fees( $order, $notification->data->object->refunds->data[0]->balance_transaction ); |
|
472 | + if (isset($notification->data->object->refunds->data[0]->balance_transaction)) { |
|
473 | + $this->update_fees($order, $notification->data->object->refunds->data[0]->balance_transaction); |
|
474 | 474 | } |
475 | 475 | |
476 | 476 | /* translators: 1) dollar amount 2) transaction id 3) refund message */ |
477 | - $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' ); |
|
477 | + $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'); |
|
478 | 478 | |
479 | - $order->add_order_note( $refund_message ); |
|
479 | + $order->add_order_note($refund_message); |
|
480 | 480 | } |
481 | 481 | } |
482 | 482 | } |
@@ -487,21 +487,21 @@ discard block |
||
487 | 487 | * @since 4.0.6 |
488 | 488 | * @param object $notification |
489 | 489 | */ |
490 | - public function process_review_opened( $notification ) { |
|
491 | - $order = WC_Stripe_Helper::get_order_by_charge_id( $notification->data->object->charge ); |
|
490 | + public function process_review_opened($notification) { |
|
491 | + $order = WC_Stripe_Helper::get_order_by_charge_id($notification->data->object->charge); |
|
492 | 492 | |
493 | - if ( ! $order ) { |
|
494 | - WC_Stripe_Logger::log( 'Could not find order via charge ID: ' . $notification->data->object->charge ); |
|
493 | + if ( ! $order) { |
|
494 | + WC_Stripe_Logger::log('Could not find order via charge ID: ' . $notification->data->object->charge); |
|
495 | 495 | return; |
496 | 496 | } |
497 | 497 | |
498 | 498 | /* translators: 1) The URL to the order. 2) The reason type. */ |
499 | - $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 ); |
|
499 | + $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); |
|
500 | 500 | |
501 | - if ( apply_filters( 'wc_stripe_webhook_review_change_order_status', true, $order, $notification ) ) { |
|
502 | - $order->update_status( 'on-hold', $message ); |
|
501 | + if (apply_filters('wc_stripe_webhook_review_change_order_status', true, $order, $notification)) { |
|
502 | + $order->update_status('on-hold', $message); |
|
503 | 503 | } else { |
504 | - $order->add_order_note( $message ); |
|
504 | + $order->add_order_note($message); |
|
505 | 505 | } |
506 | 506 | } |
507 | 507 | |
@@ -511,25 +511,25 @@ discard block |
||
511 | 511 | * @since 4.0.6 |
512 | 512 | * @param object $notification |
513 | 513 | */ |
514 | - public function process_review_closed( $notification ) { |
|
515 | - $order = WC_Stripe_Helper::get_order_by_charge_id( $notification->data->object->charge ); |
|
514 | + public function process_review_closed($notification) { |
|
515 | + $order = WC_Stripe_Helper::get_order_by_charge_id($notification->data->object->charge); |
|
516 | 516 | |
517 | - if ( ! $order ) { |
|
518 | - WC_Stripe_Logger::log( 'Could not find order via charge ID: ' . $notification->data->object->charge ); |
|
517 | + if ( ! $order) { |
|
518 | + WC_Stripe_Logger::log('Could not find order via charge ID: ' . $notification->data->object->charge); |
|
519 | 519 | return; |
520 | 520 | } |
521 | 521 | |
522 | 522 | /* translators: 1) The reason type. */ |
523 | - $message = sprintf( __( 'The opened review for this order is now closed. Reason: (%s)', 'woocommerce-gateway-stripe' ), $notification->data->object->reason ); |
|
523 | + $message = sprintf(__('The opened review for this order is now closed. Reason: (%s)', 'woocommerce-gateway-stripe'), $notification->data->object->reason); |
|
524 | 524 | |
525 | - if ( 'on-hold' === $order->get_status() ) { |
|
526 | - if ( apply_filters( 'wc_stripe_webhook_review_change_order_status', true, $order, $notification ) ) { |
|
527 | - $order->update_status( 'processing', $message ); |
|
525 | + if ('on-hold' === $order->get_status()) { |
|
526 | + if (apply_filters('wc_stripe_webhook_review_change_order_status', true, $order, $notification)) { |
|
527 | + $order->update_status('processing', $message); |
|
528 | 528 | } else { |
529 | - $order->add_order_note( $message ); |
|
529 | + $order->add_order_note($message); |
|
530 | 530 | } |
531 | 531 | } else { |
532 | - $order->add_order_note( $message ); |
|
532 | + $order->add_order_note($message); |
|
533 | 533 | } |
534 | 534 | } |
535 | 535 | |
@@ -540,7 +540,7 @@ discard block |
||
540 | 540 | * @version 4.0.0 |
541 | 541 | * @param object $notification |
542 | 542 | */ |
543 | - public function is_partial_capture( $notification ) { |
|
543 | + public function is_partial_capture($notification) { |
|
544 | 544 | return 0 < $notification->data->object->amount_refunded; |
545 | 545 | } |
546 | 546 | |
@@ -551,11 +551,11 @@ discard block |
||
551 | 551 | * @version 4.0.0 |
552 | 552 | * @param object $notification |
553 | 553 | */ |
554 | - public function get_refund_amount( $notification ) { |
|
555 | - if ( $this->is_partial_capture( $notification ) ) { |
|
554 | + public function get_refund_amount($notification) { |
|
555 | + if ($this->is_partial_capture($notification)) { |
|
556 | 556 | $amount = $notification->data->object->refunds->data[0]->amount / 100; |
557 | 557 | |
558 | - if ( in_array( strtolower( $notification->data->object->currency ), WC_Stripe_Helper::no_decimal_currencies() ) ) { |
|
558 | + if (in_array(strtolower($notification->data->object->currency), WC_Stripe_Helper::no_decimal_currencies())) { |
|
559 | 559 | $amount = $notification->data->object->refunds->data[0]->amount; |
560 | 560 | } |
561 | 561 | |
@@ -572,12 +572,12 @@ discard block |
||
572 | 572 | * @version 4.0.0 |
573 | 573 | * @param object $notification |
574 | 574 | */ |
575 | - public function get_partial_amount_to_charge( $notification ) { |
|
576 | - if ( $this->is_partial_capture( $notification ) ) { |
|
577 | - $amount = ( $notification->data->object->amount - $notification->data->object->amount_refunded ) / 100; |
|
575 | + public function get_partial_amount_to_charge($notification) { |
|
576 | + if ($this->is_partial_capture($notification)) { |
|
577 | + $amount = ($notification->data->object->amount - $notification->data->object->amount_refunded) / 100; |
|
578 | 578 | |
579 | - if ( in_array( strtolower( $notification->data->object->currency ), WC_Stripe_Helper::no_decimal_currencies() ) ) { |
|
580 | - $amount = ( $notification->data->object->amount - $notification->data->object->amount_refunded ); |
|
579 | + if (in_array(strtolower($notification->data->object->currency), WC_Stripe_Helper::no_decimal_currencies())) { |
|
580 | + $amount = ($notification->data->object->amount - $notification->data->object->amount_refunded); |
|
581 | 581 | } |
582 | 582 | |
583 | 583 | return $amount; |
@@ -593,44 +593,44 @@ discard block |
||
593 | 593 | * @version 4.0.0 |
594 | 594 | * @param string $request_body |
595 | 595 | */ |
596 | - public function process_webhook( $request_body ) { |
|
597 | - $notification = json_decode( $request_body ); |
|
596 | + public function process_webhook($request_body) { |
|
597 | + $notification = json_decode($request_body); |
|
598 | 598 | |
599 | - switch ( $notification->type ) { |
|
599 | + switch ($notification->type) { |
|
600 | 600 | case 'source.chargeable': |
601 | - $this->process_webhook_payment( $notification ); |
|
601 | + $this->process_webhook_payment($notification); |
|
602 | 602 | break; |
603 | 603 | |
604 | 604 | case 'source.canceled': |
605 | - $this->process_webhook_source_canceled( $notification ); |
|
605 | + $this->process_webhook_source_canceled($notification); |
|
606 | 606 | break; |
607 | 607 | |
608 | 608 | case 'charge.succeeded': |
609 | - $this->process_webhook_charge_succeeded( $notification ); |
|
609 | + $this->process_webhook_charge_succeeded($notification); |
|
610 | 610 | break; |
611 | 611 | |
612 | 612 | case 'charge.failed': |
613 | - $this->process_webhook_charge_failed( $notification ); |
|
613 | + $this->process_webhook_charge_failed($notification); |
|
614 | 614 | break; |
615 | 615 | |
616 | 616 | case 'charge.captured': |
617 | - $this->process_webhook_capture( $notification ); |
|
617 | + $this->process_webhook_capture($notification); |
|
618 | 618 | break; |
619 | 619 | |
620 | 620 | case 'charge.dispute.created': |
621 | - $this->process_webhook_dispute( $notification ); |
|
621 | + $this->process_webhook_dispute($notification); |
|
622 | 622 | break; |
623 | 623 | |
624 | 624 | case 'charge.refunded': |
625 | - $this->process_webhook_refund( $notification ); |
|
625 | + $this->process_webhook_refund($notification); |
|
626 | 626 | break; |
627 | 627 | |
628 | 628 | case 'review.opened': |
629 | - $this->process_review_opened( $notification ); |
|
629 | + $this->process_review_opened($notification); |
|
630 | 630 | break; |
631 | 631 | |
632 | 632 | case 'review.closed': |
633 | - $this->process_review_closed( $notification ); |
|
633 | + $this->process_review_closed($notification); |
|
634 | 634 | break; |
635 | 635 | |
636 | 636 | } |
@@ -1,5 +1,5 @@ discard block |
||
1 | 1 | <?php |
2 | -if ( ! defined( 'ABSPATH' ) ) { |
|
2 | +if ( ! defined('ABSPATH')) { |
|
3 | 3 | exit; |
4 | 4 | } |
5 | 5 | |
@@ -26,7 +26,7 @@ discard block |
||
26 | 26 | * Set secret API Key. |
27 | 27 | * @param string $key |
28 | 28 | */ |
29 | - public static function set_secret_key( $secret_key ) { |
|
29 | + public static function set_secret_key($secret_key) { |
|
30 | 30 | self::$secret_key = $secret_key; |
31 | 31 | } |
32 | 32 | |
@@ -35,11 +35,11 @@ discard block |
||
35 | 35 | * @return string |
36 | 36 | */ |
37 | 37 | public static function get_secret_key() { |
38 | - if ( ! self::$secret_key ) { |
|
39 | - $options = get_option( 'woocommerce_stripe_settings' ); |
|
38 | + if ( ! self::$secret_key) { |
|
39 | + $options = get_option('woocommerce_stripe_settings'); |
|
40 | 40 | |
41 | - if ( isset( $options['testmode'], $options['secret_key'], $options['test_secret_key'] ) ) { |
|
42 | - self::set_secret_key( 'yes' === $options['testmode'] ? $options['test_secret_key'] : $options['secret_key'] ); |
|
41 | + if (isset($options['testmode'], $options['secret_key'], $options['test_secret_key'])) { |
|
42 | + self::set_secret_key('yes' === $options['testmode'] ? $options['test_secret_key'] : $options['secret_key']); |
|
43 | 43 | } |
44 | 44 | } |
45 | 45 | return self::$secret_key; |
@@ -78,12 +78,12 @@ discard block |
||
78 | 78 | $user_agent = self::get_user_agent(); |
79 | 79 | $app_info = $user_agent['application']; |
80 | 80 | |
81 | - return apply_filters( 'woocommerce_stripe_request_headers', array( |
|
82 | - 'Authorization' => 'Basic ' . base64_encode( self::get_secret_key() . ':' ), |
|
81 | + return apply_filters('woocommerce_stripe_request_headers', array( |
|
82 | + 'Authorization' => 'Basic ' . base64_encode(self::get_secret_key() . ':'), |
|
83 | 83 | 'Stripe-Version' => self::STRIPE_API_VERSION, |
84 | 84 | 'User-Agent' => $app_info['name'] . '/' . $app_info['version'] . ' (' . $app_info['url'] . ')', |
85 | - 'X-Stripe-Client-User-Agent' => json_encode( $user_agent ), |
|
86 | - ) ); |
|
85 | + 'X-Stripe-Client-User-Agent' => json_encode($user_agent), |
|
86 | + )); |
|
87 | 87 | } |
88 | 88 | |
89 | 89 | /** |
@@ -96,16 +96,16 @@ discard block |
||
96 | 96 | * @param bool $with_headers To get the response with headers. |
97 | 97 | * @return array|WP_Error |
98 | 98 | */ |
99 | - public static function request( $request, $api = 'charges', $method = 'POST', $with_headers = false ) { |
|
100 | - WC_Stripe_Logger::log( "{$api} request: " . print_r( $request, true ) ); |
|
99 | + public static function request($request, $api = 'charges', $method = 'POST', $with_headers = false) { |
|
100 | + WC_Stripe_Logger::log("{$api} request: " . print_r($request, true)); |
|
101 | 101 | |
102 | 102 | $headers = self::get_headers(); |
103 | 103 | $idempotency_key = ''; |
104 | 104 | |
105 | - if ( 'charges' === $api && 'POST' === $method ) { |
|
106 | - $customer = ! empty( $request['customer'] ) ? $request['customer'] : ''; |
|
107 | - $source = ! empty( $request['source'] ) ? $request['source'] : $customer; |
|
108 | - $idempotency_key = apply_filters( 'wc_stripe_idempotency_key', $request['metadata']['order_id'] . '-' . $source, $request ); |
|
105 | + if ('charges' === $api && 'POST' === $method) { |
|
106 | + $customer = ! empty($request['customer']) ? $request['customer'] : ''; |
|
107 | + $source = ! empty($request['source']) ? $request['source'] : $customer; |
|
108 | + $idempotency_key = apply_filters('wc_stripe_idempotency_key', $request['metadata']['order_id'] . '-' . $source, $request); |
|
109 | 109 | |
110 | 110 | $headers['Idempotency-Key'] = $idempotency_key; |
111 | 111 | } |
@@ -115,25 +115,25 @@ discard block |
||
115 | 115 | array( |
116 | 116 | 'method' => $method, |
117 | 117 | 'headers' => $headers, |
118 | - 'body' => apply_filters( 'woocommerce_stripe_request_body', $request, $api ), |
|
118 | + 'body' => apply_filters('woocommerce_stripe_request_body', $request, $api), |
|
119 | 119 | 'timeout' => 70, |
120 | 120 | ) |
121 | 121 | ); |
122 | 122 | |
123 | - if ( is_wp_error( $response ) || empty( $response['body'] ) ) { |
|
124 | - WC_Stripe_Logger::log( 'Error Response: ' . print_r( $response, true ) . PHP_EOL . PHP_EOL . 'Failed request: ' . print_r( array( |
|
123 | + if (is_wp_error($response) || empty($response['body'])) { |
|
124 | + WC_Stripe_Logger::log('Error Response: ' . print_r($response, true) . PHP_EOL . PHP_EOL . 'Failed request: ' . print_r(array( |
|
125 | 125 | 'api' => $api, |
126 | 126 | 'request' => $request, |
127 | 127 | 'idempotency_key' => $idempotency_key, |
128 | - ), true ) ); |
|
129 | - throw new WC_Stripe_Exception( print_r( $response, true ), __( 'There was a problem connecting to the Stripe API endpoint.', 'woocommerce-gateway-stripe' ) ); |
|
128 | + ), true)); |
|
129 | + throw new WC_Stripe_Exception(print_r($response, true), __('There was a problem connecting to the Stripe API endpoint.', 'woocommerce-gateway-stripe')); |
|
130 | 130 | } |
131 | 131 | |
132 | - if ( $with_headers ) { |
|
133 | - return array( 'headers' => wp_remote_retrieve_headers( $response ), 'body' => json_decode( $response['body'] ) ); |
|
132 | + if ($with_headers) { |
|
133 | + return array('headers' => wp_remote_retrieve_headers($response), 'body' => json_decode($response['body'])); |
|
134 | 134 | } |
135 | 135 | |
136 | - return json_decode( $response['body'] ); |
|
136 | + return json_decode($response['body']); |
|
137 | 137 | } |
138 | 138 | |
139 | 139 | /** |
@@ -143,8 +143,8 @@ discard block |
||
143 | 143 | * @version 4.0.0 |
144 | 144 | * @param string $api |
145 | 145 | */ |
146 | - public static function retrieve( $api ) { |
|
147 | - WC_Stripe_Logger::log( "{$api}" ); |
|
146 | + public static function retrieve($api) { |
|
147 | + WC_Stripe_Logger::log("{$api}"); |
|
148 | 148 | |
149 | 149 | $response = wp_safe_remote_get( |
150 | 150 | self::ENDPOINT . $api, |
@@ -155,11 +155,11 @@ discard block |
||
155 | 155 | ) |
156 | 156 | ); |
157 | 157 | |
158 | - if ( is_wp_error( $response ) || empty( $response['body'] ) ) { |
|
159 | - WC_Stripe_Logger::log( 'Error Response: ' . print_r( $response, true ) ); |
|
160 | - return new WP_Error( 'stripe_error', __( 'There was a problem connecting to the Stripe API endpoint.', 'woocommerce-gateway-stripe' ) ); |
|
158 | + if (is_wp_error($response) || empty($response['body'])) { |
|
159 | + WC_Stripe_Logger::log('Error Response: ' . print_r($response, true)); |
|
160 | + return new WP_Error('stripe_error', __('There was a problem connecting to the Stripe API endpoint.', 'woocommerce-gateway-stripe')); |
|
161 | 161 | } |
162 | 162 | |
163 | - return json_decode( $response['body'] ); |
|
163 | + return json_decode($response['body']); |
|
164 | 164 | } |
165 | 165 | } |
@@ -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( get_user_meta( $user_id, '_stripe_customer_id', true ) ); |
|
35 | + public function __construct($user_id = 0) { |
|
36 | + if ($user_id) { |
|
37 | + $this->set_user_id($user_id); |
|
38 | + $this->set_id(get_user_meta($user_id, '_stripe_customer_id', true)); |
|
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 | - update_user_meta( $this->get_user_id(), '_stripe_customer_id', $id ); |
|
59 | + update_user_meta($this->get_user_id(), '_stripe_customer_id', $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 | |
@@ -98,14 +98,14 @@ discard block |
||
98 | 98 | * @param array $args |
99 | 99 | * @return WP_Error|int |
100 | 100 | */ |
101 | - public function create_customer( $args = array() ) { |
|
102 | - $billing_email = isset( $_POST['billing_email'] ) ? filter_var( $_POST['billing_email'], FILTER_SANITIZE_EMAIL ) : ''; |
|
101 | + public function create_customer($args = array()) { |
|
102 | + $billing_email = isset($_POST['billing_email']) ? filter_var($_POST['billing_email'], FILTER_SANITIZE_EMAIL) : ''; |
|
103 | 103 | $user = $this->get_user(); |
104 | 104 | |
105 | - if ( $user ) { |
|
106 | - $billing_first_name = get_user_meta( $user->ID, 'billing_first_name', true ); |
|
107 | - $billing_last_name = get_user_meta( $user->ID, 'billing_last_name', true ); |
|
108 | - $description = __( 'Name', 'woocommerce-gateway-stripe' ) . ': ' . $billing_first_name . ' ' . $billing_last_name . ' ' . __( 'Username', 'woocommerce-gateway-stripe' ) . ': ' . $user->user_login; |
|
105 | + if ($user) { |
|
106 | + $billing_first_name = get_user_meta($user->ID, 'billing_first_name', true); |
|
107 | + $billing_last_name = get_user_meta($user->ID, 'billing_last_name', true); |
|
108 | + $description = __('Name', 'woocommerce-gateway-stripe') . ': ' . $billing_first_name . ' ' . $billing_last_name . ' ' . __('Username', 'woocommerce-gateway-stripe') . ': ' . $user->user_login; |
|
109 | 109 | |
110 | 110 | $defaults = array( |
111 | 111 | 'email' => $user->user_email, |
@@ -120,24 +120,24 @@ discard block |
||
120 | 120 | |
121 | 121 | $metadata = array(); |
122 | 122 | |
123 | - $defaults['metadata'] = apply_filters( 'wc_stripe_customer_metadata', $metadata, $user ); |
|
123 | + $defaults['metadata'] = apply_filters('wc_stripe_customer_metadata', $metadata, $user); |
|
124 | 124 | |
125 | - $args = wp_parse_args( $args, $defaults ); |
|
126 | - $response = WC_Stripe_API::request( apply_filters( 'wc_stripe_create_customer_args', $args ), 'customers' ); |
|
125 | + $args = wp_parse_args($args, $defaults); |
|
126 | + $response = WC_Stripe_API::request(apply_filters('wc_stripe_create_customer_args', $args), 'customers'); |
|
127 | 127 | |
128 | - if ( ! empty( $response->error ) ) { |
|
129 | - throw new WC_Stripe_Exception( print_r( $response, true ), $response->error->message ); |
|
128 | + if ( ! empty($response->error)) { |
|
129 | + throw new WC_Stripe_Exception(print_r($response, true), $response->error->message); |
|
130 | 130 | } |
131 | 131 | |
132 | - $this->set_id( $response->id ); |
|
132 | + $this->set_id($response->id); |
|
133 | 133 | $this->clear_cache(); |
134 | - $this->set_customer_data( $response ); |
|
134 | + $this->set_customer_data($response); |
|
135 | 135 | |
136 | - if ( $this->get_user_id() ) { |
|
137 | - update_user_meta( $this->get_user_id(), '_stripe_customer_id', $response->id ); |
|
136 | + if ($this->get_user_id()) { |
|
137 | + update_user_meta($this->get_user_id(), '_stripe_customer_id', $response->id); |
|
138 | 138 | } |
139 | 139 | |
140 | - do_action( 'woocommerce_stripe_add_customer', $args, $response ); |
|
140 | + do_action('woocommerce_stripe_add_customer', $args, $response); |
|
141 | 141 | |
142 | 142 | return $response->id; |
143 | 143 | } |
@@ -149,11 +149,11 @@ discard block |
||
149 | 149 | * @since 4.1.2 |
150 | 150 | * @param array $error |
151 | 151 | */ |
152 | - public function is_no_such_customer_error( $error ) { |
|
152 | + public function is_no_such_customer_error($error) { |
|
153 | 153 | return ( |
154 | 154 | $error && |
155 | 155 | 'invalid_request_error' === $error->type && |
156 | - preg_match( '/No such customer/i', $error->message ) |
|
156 | + preg_match('/No such customer/i', $error->message) |
|
157 | 157 | ); |
158 | 158 | } |
159 | 159 | |
@@ -163,74 +163,74 @@ discard block |
||
163 | 163 | * @param bool $retry |
164 | 164 | * @return WP_Error|int |
165 | 165 | */ |
166 | - public function add_source( $source_id, $retry = true ) { |
|
167 | - if ( ! $this->get_id() ) { |
|
168 | - $this->set_id( $this->create_customer() ); |
|
166 | + public function add_source($source_id, $retry = true) { |
|
167 | + if ( ! $this->get_id()) { |
|
168 | + $this->set_id($this->create_customer()); |
|
169 | 169 | } |
170 | 170 | |
171 | - $response = WC_Stripe_API::request( array( |
|
171 | + $response = WC_Stripe_API::request(array( |
|
172 | 172 | 'source' => $source_id, |
173 | - ), 'customers/' . $this->get_id() . '/sources' ); |
|
173 | + ), 'customers/' . $this->get_id() . '/sources'); |
|
174 | 174 | |
175 | 175 | $wc_token = false; |
176 | 176 | |
177 | - if ( ! empty( $response->error ) ) { |
|
177 | + if ( ! empty($response->error)) { |
|
178 | 178 | // It is possible the WC user once was linked to a customer on Stripe |
179 | 179 | // but no longer exists. Instead of failing, lets try to create a |
180 | 180 | // new customer. |
181 | - if ( $this->is_no_such_customer_error( $response->error ) ) { |
|
182 | - delete_user_meta( $this->get_user_id(), '_stripe_customer_id' ); |
|
181 | + if ($this->is_no_such_customer_error($response->error)) { |
|
182 | + delete_user_meta($this->get_user_id(), '_stripe_customer_id'); |
|
183 | 183 | $this->create_customer(); |
184 | - return $this->add_source( $source_id, false ); |
|
184 | + return $this->add_source($source_id, false); |
|
185 | 185 | } else { |
186 | 186 | return $response; |
187 | 187 | } |
188 | - } elseif ( empty( $response->id ) ) { |
|
189 | - return new WP_Error( 'error', __( 'Unable to add payment source.', 'woocommerce-gateway-stripe' ) ); |
|
188 | + } elseif (empty($response->id)) { |
|
189 | + return new WP_Error('error', __('Unable to add payment source.', 'woocommerce-gateway-stripe')); |
|
190 | 190 | } |
191 | 191 | |
192 | 192 | // Add token to WooCommerce. |
193 | - if ( $this->get_user_id() && class_exists( 'WC_Payment_Token_CC' ) ) { |
|
194 | - if ( ! empty( $response->type ) ) { |
|
195 | - switch ( $response->type ) { |
|
193 | + if ($this->get_user_id() && class_exists('WC_Payment_Token_CC')) { |
|
194 | + if ( ! empty($response->type)) { |
|
195 | + switch ($response->type) { |
|
196 | 196 | case 'alipay': |
197 | 197 | break; |
198 | 198 | case 'sepa_debit': |
199 | 199 | $wc_token = new WC_Payment_Token_SEPA(); |
200 | - $wc_token->set_token( $response->id ); |
|
201 | - $wc_token->set_gateway_id( 'stripe_sepa' ); |
|
202 | - $wc_token->set_last4( $response->sepa_debit->last4 ); |
|
200 | + $wc_token->set_token($response->id); |
|
201 | + $wc_token->set_gateway_id('stripe_sepa'); |
|
202 | + $wc_token->set_last4($response->sepa_debit->last4); |
|
203 | 203 | break; |
204 | 204 | default: |
205 | - if ( 'source' === $response->object && 'card' === $response->type ) { |
|
205 | + if ('source' === $response->object && 'card' === $response->type) { |
|
206 | 206 | $wc_token = new WC_Payment_Token_CC(); |
207 | - $wc_token->set_token( $response->id ); |
|
208 | - $wc_token->set_gateway_id( 'stripe' ); |
|
209 | - $wc_token->set_card_type( strtolower( $response->card->brand ) ); |
|
210 | - $wc_token->set_last4( $response->card->last4 ); |
|
211 | - $wc_token->set_expiry_month( $response->card->exp_month ); |
|
212 | - $wc_token->set_expiry_year( $response->card->exp_year ); |
|
207 | + $wc_token->set_token($response->id); |
|
208 | + $wc_token->set_gateway_id('stripe'); |
|
209 | + $wc_token->set_card_type(strtolower($response->card->brand)); |
|
210 | + $wc_token->set_last4($response->card->last4); |
|
211 | + $wc_token->set_expiry_month($response->card->exp_month); |
|
212 | + $wc_token->set_expiry_year($response->card->exp_year); |
|
213 | 213 | } |
214 | 214 | break; |
215 | 215 | } |
216 | 216 | } else { |
217 | 217 | // Legacy. |
218 | 218 | $wc_token = new WC_Payment_Token_CC(); |
219 | - $wc_token->set_token( $response->id ); |
|
220 | - $wc_token->set_gateway_id( 'stripe' ); |
|
221 | - $wc_token->set_card_type( strtolower( $response->brand ) ); |
|
222 | - $wc_token->set_last4( $response->last4 ); |
|
223 | - $wc_token->set_expiry_month( $response->exp_month ); |
|
224 | - $wc_token->set_expiry_year( $response->exp_year ); |
|
219 | + $wc_token->set_token($response->id); |
|
220 | + $wc_token->set_gateway_id('stripe'); |
|
221 | + $wc_token->set_card_type(strtolower($response->brand)); |
|
222 | + $wc_token->set_last4($response->last4); |
|
223 | + $wc_token->set_expiry_month($response->exp_month); |
|
224 | + $wc_token->set_expiry_year($response->exp_year); |
|
225 | 225 | } |
226 | 226 | |
227 | - $wc_token->set_user_id( $this->get_user_id() ); |
|
227 | + $wc_token->set_user_id($this->get_user_id()); |
|
228 | 228 | $wc_token->save(); |
229 | 229 | } |
230 | 230 | |
231 | 231 | $this->clear_cache(); |
232 | 232 | |
233 | - do_action( 'woocommerce_stripe_add_source', $this->get_id(), $wc_token, $response, $source_id ); |
|
233 | + do_action('woocommerce_stripe_add_source', $this->get_id(), $wc_token, $response, $source_id); |
|
234 | 234 | |
235 | 235 | return $response->id; |
236 | 236 | } |
@@ -242,42 +242,42 @@ discard block |
||
242 | 242 | * @return array |
243 | 243 | */ |
244 | 244 | public function get_sources() { |
245 | - if ( ! $this->get_id() ) { |
|
245 | + if ( ! $this->get_id()) { |
|
246 | 246 | return array(); |
247 | 247 | } |
248 | 248 | |
249 | - $sources = get_transient( 'stripe_sources_' . $this->get_id() ); |
|
249 | + $sources = get_transient('stripe_sources_' . $this->get_id()); |
|
250 | 250 | |
251 | - $response = WC_Stripe_API::request( array( |
|
251 | + $response = WC_Stripe_API::request(array( |
|
252 | 252 | 'limit' => 100, |
253 | - ), 'customers/' . $this->get_id() . '/sources', 'GET' ); |
|
253 | + ), 'customers/' . $this->get_id() . '/sources', 'GET'); |
|
254 | 254 | |
255 | - if ( ! empty( $response->error ) ) { |
|
255 | + if ( ! empty($response->error)) { |
|
256 | 256 | return array(); |
257 | 257 | } |
258 | 258 | |
259 | - if ( is_array( $response->data ) ) { |
|
259 | + if (is_array($response->data)) { |
|
260 | 260 | $sources = $response->data; |
261 | 261 | } |
262 | 262 | |
263 | - return empty( $sources ) ? array() : $sources; |
|
263 | + return empty($sources) ? array() : $sources; |
|
264 | 264 | } |
265 | 265 | |
266 | 266 | /** |
267 | 267 | * Delete a source from stripe. |
268 | 268 | * @param string $source_id |
269 | 269 | */ |
270 | - public function delete_source( $source_id ) { |
|
271 | - if ( ! $this->get_id() ) { |
|
270 | + public function delete_source($source_id) { |
|
271 | + if ( ! $this->get_id()) { |
|
272 | 272 | return false; |
273 | 273 | } |
274 | 274 | |
275 | - $response = WC_Stripe_API::request( array(), 'customers/' . $this->get_id() . '/sources/' . sanitize_text_field( $source_id ), 'DELETE' ); |
|
275 | + $response = WC_Stripe_API::request(array(), 'customers/' . $this->get_id() . '/sources/' . sanitize_text_field($source_id), 'DELETE'); |
|
276 | 276 | |
277 | 277 | $this->clear_cache(); |
278 | 278 | |
279 | - if ( empty( $response->error ) ) { |
|
280 | - do_action( 'wc_stripe_delete_source', $this->get_id(), $response ); |
|
279 | + if (empty($response->error)) { |
|
280 | + do_action('wc_stripe_delete_source', $this->get_id(), $response); |
|
281 | 281 | |
282 | 282 | return true; |
283 | 283 | } |
@@ -289,15 +289,15 @@ discard block |
||
289 | 289 | * Set default source in Stripe |
290 | 290 | * @param string $source_id |
291 | 291 | */ |
292 | - public function set_default_source( $source_id ) { |
|
293 | - $response = WC_Stripe_API::request( array( |
|
294 | - 'default_source' => sanitize_text_field( $source_id ), |
|
295 | - ), 'customers/' . $this->get_id(), 'POST' ); |
|
292 | + public function set_default_source($source_id) { |
|
293 | + $response = WC_Stripe_API::request(array( |
|
294 | + 'default_source' => sanitize_text_field($source_id), |
|
295 | + ), 'customers/' . $this->get_id(), 'POST'); |
|
296 | 296 | |
297 | 297 | $this->clear_cache(); |
298 | 298 | |
299 | - if ( empty( $response->error ) ) { |
|
300 | - do_action( 'wc_stripe_set_default_source', $this->get_id(), $response ); |
|
299 | + if (empty($response->error)) { |
|
300 | + do_action('wc_stripe_set_default_source', $this->get_id(), $response); |
|
301 | 301 | |
302 | 302 | return true; |
303 | 303 | } |
@@ -309,8 +309,8 @@ discard block |
||
309 | 309 | * Deletes caches for this users cards. |
310 | 310 | */ |
311 | 311 | public function clear_cache() { |
312 | - delete_transient( 'stripe_sources_' . $this->get_id() ); |
|
313 | - delete_transient( 'stripe_customer_' . $this->get_id() ); |
|
312 | + delete_transient('stripe_sources_' . $this->get_id()); |
|
313 | + delete_transient('stripe_customer_' . $this->get_id()); |
|
314 | 314 | $this->customer_data = array(); |
315 | 315 | } |
316 | 316 | } |
@@ -1,5 +1,5 @@ discard block |
||
1 | 1 | <?php |
2 | -if ( ! defined( 'ABSPATH' ) ) { |
|
2 | +if ( ! defined('ABSPATH')) { |
|
3 | 3 | exit; |
4 | 4 | } |
5 | 5 | |
@@ -72,9 +72,9 @@ discard block |
||
72 | 72 | public function __construct() { |
73 | 73 | $this->retry_interval = 1; |
74 | 74 | $this->id = 'stripe_sepa'; |
75 | - $this->method_title = __( 'Stripe SEPA Direct Debit', 'woocommerce-gateway-stripe' ); |
|
75 | + $this->method_title = __('Stripe SEPA Direct Debit', 'woocommerce-gateway-stripe'); |
|
76 | 76 | /* translators: link */ |
77 | - $this->method_description = sprintf( __( 'All other general Stripe settings can be adjusted <a href="%s">here</a>.', 'woocommerce-gateway-stripe' ), admin_url( 'admin.php?page=wc-settings&tab=checkout§ion=stripe' ) ); |
|
77 | + $this->method_description = sprintf(__('All other general Stripe settings can be adjusted <a href="%s">here</a>.', 'woocommerce-gateway-stripe'), admin_url('admin.php?page=wc-settings&tab=checkout§ion=stripe')); |
|
78 | 78 | $this->supports = array( |
79 | 79 | 'products', |
80 | 80 | 'refunds', |
@@ -99,28 +99,28 @@ discard block |
||
99 | 99 | // Load the settings. |
100 | 100 | $this->init_settings(); |
101 | 101 | |
102 | - $main_settings = get_option( 'woocommerce_stripe_settings' ); |
|
103 | - $this->title = $this->get_option( 'title' ); |
|
104 | - $this->description = $this->get_option( 'description' ); |
|
105 | - $this->enabled = $this->get_option( 'enabled' ); |
|
106 | - $this->testmode = ( ! empty( $main_settings['testmode'] ) && 'yes' === $main_settings['testmode'] ) ? true : false; |
|
107 | - $this->saved_cards = ( ! empty( $main_settings['saved_cards'] ) && 'yes' === $main_settings['saved_cards'] ) ? true : false; |
|
108 | - $this->publishable_key = ! empty( $main_settings['publishable_key'] ) ? $main_settings['publishable_key'] : ''; |
|
109 | - $this->secret_key = ! empty( $main_settings['secret_key'] ) ? $main_settings['secret_key'] : ''; |
|
110 | - $this->statement_descriptor = ! empty( $main_settings['statement_descriptor'] ) ? $main_settings['statement_descriptor'] : ''; |
|
111 | - |
|
112 | - if ( $this->testmode ) { |
|
113 | - $this->publishable_key = ! empty( $main_settings['test_publishable_key'] ) ? $main_settings['test_publishable_key'] : ''; |
|
114 | - $this->secret_key = ! empty( $main_settings['test_secret_key'] ) ? $main_settings['test_secret_key'] : ''; |
|
102 | + $main_settings = get_option('woocommerce_stripe_settings'); |
|
103 | + $this->title = $this->get_option('title'); |
|
104 | + $this->description = $this->get_option('description'); |
|
105 | + $this->enabled = $this->get_option('enabled'); |
|
106 | + $this->testmode = ( ! empty($main_settings['testmode']) && 'yes' === $main_settings['testmode']) ? true : false; |
|
107 | + $this->saved_cards = ( ! empty($main_settings['saved_cards']) && 'yes' === $main_settings['saved_cards']) ? true : false; |
|
108 | + $this->publishable_key = ! empty($main_settings['publishable_key']) ? $main_settings['publishable_key'] : ''; |
|
109 | + $this->secret_key = ! empty($main_settings['secret_key']) ? $main_settings['secret_key'] : ''; |
|
110 | + $this->statement_descriptor = ! empty($main_settings['statement_descriptor']) ? $main_settings['statement_descriptor'] : ''; |
|
111 | + |
|
112 | + if ($this->testmode) { |
|
113 | + $this->publishable_key = ! empty($main_settings['test_publishable_key']) ? $main_settings['test_publishable_key'] : ''; |
|
114 | + $this->secret_key = ! empty($main_settings['test_secret_key']) ? $main_settings['test_secret_key'] : ''; |
|
115 | 115 | } |
116 | 116 | |
117 | - add_action( 'woocommerce_update_options_payment_gateways_' . $this->id, array( $this, 'process_admin_options' ) ); |
|
118 | - add_action( 'wp_enqueue_scripts', array( $this, 'payment_scripts' ) ); |
|
117 | + add_action('woocommerce_update_options_payment_gateways_' . $this->id, array($this, 'process_admin_options')); |
|
118 | + add_action('wp_enqueue_scripts', array($this, 'payment_scripts')); |
|
119 | 119 | |
120 | - if ( WC_Stripe_Helper::is_pre_orders_exists() ) { |
|
120 | + if (WC_Stripe_Helper::is_pre_orders_exists()) { |
|
121 | 121 | $this->pre_orders = new WC_Stripe_Pre_Orders_Compat(); |
122 | 122 | |
123 | - add_action( 'wc_pre_orders_process_pre_order_completion_payment_' . $this->id, array( $this->pre_orders, 'process_pre_order_release_payment' ) ); |
|
123 | + add_action('wc_pre_orders_process_pre_order_completion_payment_' . $this->id, array($this->pre_orders, 'process_pre_order_release_payment')); |
|
124 | 124 | } |
125 | 125 | } |
126 | 126 | |
@@ -132,9 +132,9 @@ discard block |
||
132 | 132 | * @return array |
133 | 133 | */ |
134 | 134 | public function get_supported_currency() { |
135 | - return apply_filters( 'wc_stripe_sepa_supported_currencies', array( |
|
135 | + return apply_filters('wc_stripe_sepa_supported_currencies', array( |
|
136 | 136 | 'EUR', |
137 | - ) ); |
|
137 | + )); |
|
138 | 138 | } |
139 | 139 | |
140 | 140 | /** |
@@ -145,11 +145,11 @@ discard block |
||
145 | 145 | * @return bool |
146 | 146 | */ |
147 | 147 | public function is_available() { |
148 | - if ( ! in_array( get_woocommerce_currency(), $this->get_supported_currency() ) ) { |
|
148 | + if ( ! in_array(get_woocommerce_currency(), $this->get_supported_currency())) { |
|
149 | 149 | return false; |
150 | 150 | } |
151 | 151 | |
152 | - if ( is_add_payment_method_page() && ! $this->saved_cards ) { |
|
152 | + if (is_add_payment_method_page() && ! $this->saved_cards) { |
|
153 | 153 | return false; |
154 | 154 | } |
155 | 155 | |
@@ -170,7 +170,7 @@ discard block |
||
170 | 170 | |
171 | 171 | $icons_str .= $icons['sepa']; |
172 | 172 | |
173 | - return apply_filters( 'woocommerce_gateway_icon', $icons_str, $this->id ); |
|
173 | + return apply_filters('woocommerce_gateway_icon', $icons_str, $this->id); |
|
174 | 174 | } |
175 | 175 | |
176 | 176 | /** |
@@ -181,19 +181,19 @@ discard block |
||
181 | 181 | * @access public |
182 | 182 | */ |
183 | 183 | public function payment_scripts() { |
184 | - if ( ! is_cart() && ! is_checkout() && ! isset( $_GET['pay_for_order'] ) && ! is_add_payment_method_page() ) { |
|
184 | + if ( ! is_cart() && ! is_checkout() && ! isset($_GET['pay_for_order']) && ! is_add_payment_method_page()) { |
|
185 | 185 | return; |
186 | 186 | } |
187 | 187 | |
188 | - wp_enqueue_style( 'stripe_styles' ); |
|
189 | - wp_enqueue_script( 'woocommerce_stripe' ); |
|
188 | + wp_enqueue_style('stripe_styles'); |
|
189 | + wp_enqueue_script('woocommerce_stripe'); |
|
190 | 190 | } |
191 | 191 | |
192 | 192 | /** |
193 | 193 | * Initialize Gateway Settings Form Fields. |
194 | 194 | */ |
195 | 195 | public function init_form_fields() { |
196 | - $this->form_fields = require( WC_STRIPE_PLUGIN_PATH . '/includes/admin/stripe-sepa-settings.php' ); |
|
196 | + $this->form_fields = require(WC_STRIPE_PLUGIN_PATH . '/includes/admin/stripe-sepa-settings.php'); |
|
197 | 197 | } |
198 | 198 | |
199 | 199 | /** |
@@ -205,7 +205,7 @@ discard block |
||
205 | 205 | */ |
206 | 206 | public function mandate_display() { |
207 | 207 | /* translators: statement descriptor */ |
208 | - printf( __( 'By providing your IBAN and confirming this payment, you are authorizing %s and Stripe, our payment service provider, to send instructions to your bank to debit your account and your bank to debit your account in accordance with those instructions. You are entitled to a refund from your bank under the terms and conditions of your agreement with your bank. A refund must be claimed within 8 weeks starting from the date on which your account was debited.', 'woocommerce-gateway-stripe' ), WC_Stripe_Helper::clean_statement_descriptor( $this->statement_descriptor ) ); |
|
208 | + printf(__('By providing your IBAN and confirming this payment, you are authorizing %s and Stripe, our payment service provider, to send instructions to your bank to debit your account and your bank to debit your account in accordance with those instructions. You are entitled to a refund from your bank under the terms and conditions of your agreement with your bank. A refund must be claimed within 8 weeks starting from the date on which your account was debited.', 'woocommerce-gateway-stripe'), WC_Stripe_Helper::clean_statement_descriptor($this->statement_descriptor)); |
|
209 | 209 | } |
210 | 210 | |
211 | 211 | /** |
@@ -216,24 +216,24 @@ discard block |
||
216 | 216 | */ |
217 | 217 | public function form() { |
218 | 218 | ?> |
219 | - <fieldset id="wc-<?php echo esc_attr( $this->id ); ?>-form" class="wc-payment-form"> |
|
220 | - <?php do_action( 'woocommerce_credit_card_form_start', $this->id ); ?> |
|
219 | + <fieldset id="wc-<?php echo esc_attr($this->id); ?>-form" class="wc-payment-form"> |
|
220 | + <?php do_action('woocommerce_credit_card_form_start', $this->id); ?> |
|
221 | 221 | <p class="wc-stripe-sepa-mandate" style="margin-bottom:40px;"><?php $this->mandate_display(); ?></p> |
222 | 222 | <p class="form-row form-row-wide"> |
223 | 223 | <label for="stripe-sepa-owner"> |
224 | - <?php esc_html_e( 'IBAN Account Name.', 'woocommerce-gateway-stripe' ); ?> <span class="required">*</span> |
|
224 | + <?php esc_html_e('IBAN Account Name.', 'woocommerce-gateway-stripe'); ?> <span class="required">*</span> |
|
225 | 225 | </label> |
226 | 226 | <input id="stripe-sepa-owner" class="wc-stripe-elements-field" name="stripe_sepa_owner" value="" /> |
227 | 227 | </p> |
228 | 228 | <p class="form-row form-row-wide"> |
229 | 229 | <label for="stripe-sepa-iban"> |
230 | - <?php esc_html_e( 'IBAN Account Number.', 'woocommerce-gateway-stripe' ); ?> <span class="required">*</span> |
|
230 | + <?php esc_html_e('IBAN Account Number.', 'woocommerce-gateway-stripe'); ?> <span class="required">*</span> |
|
231 | 231 | </label> |
232 | 232 | <input id="stripe-sepa-iban" class="wc-stripe-elements-field" name="stripe_sepa_iban" value="" /> |
233 | 233 | </p> |
234 | 234 | <!-- Used to display form errors --> |
235 | 235 | <div class="stripe-source-errors" role="alert"></div> |
236 | - <?php do_action( 'woocommerce_credit_card_form_end', $this->id ); ?> |
|
236 | + <?php do_action('woocommerce_credit_card_form_end', $this->id); ?> |
|
237 | 237 | <div class="clear"></div> |
238 | 238 | </fieldset> |
239 | 239 | <?php |
@@ -244,40 +244,40 @@ discard block |
||
244 | 244 | */ |
245 | 245 | public function payment_fields() { |
246 | 246 | $total = WC()->cart->total; |
247 | - $display_tokenization = $this->supports( 'tokenization' ) && is_checkout() && $this->saved_cards; |
|
247 | + $display_tokenization = $this->supports('tokenization') && is_checkout() && $this->saved_cards; |
|
248 | 248 | $description = $this->get_description() ? $this->get_description() : ''; |
249 | 249 | |
250 | 250 | // If paying from order, we need to get total from order not cart. |
251 | - if ( isset( $_GET['pay_for_order'] ) && ! empty( $_GET['key'] ) ) { |
|
252 | - $order = wc_get_order( wc_get_order_id_by_order_key( wc_clean( $_GET['key'] ) ) ); |
|
251 | + if (isset($_GET['pay_for_order']) && ! empty($_GET['key'])) { |
|
252 | + $order = wc_get_order(wc_get_order_id_by_order_key(wc_clean($_GET['key']))); |
|
253 | 253 | $total = $order->get_total(); |
254 | 254 | } |
255 | 255 | |
256 | - if ( is_add_payment_method_page() ) { |
|
256 | + if (is_add_payment_method_page()) { |
|
257 | 257 | $total = ''; |
258 | 258 | } |
259 | 259 | |
260 | 260 | echo '<div |
261 | 261 | id="stripe-sepa_debit-payment-data" |
262 | - data-amount="' . esc_attr( WC_Stripe_Helper::get_stripe_amount( $total ) ) . '" |
|
263 | - data-currency="' . esc_attr( strtolower( get_woocommerce_currency() ) ) . '">'; |
|
262 | + data-amount="' . esc_attr(WC_Stripe_Helper::get_stripe_amount($total)) . '" |
|
263 | + data-currency="' . esc_attr(strtolower(get_woocommerce_currency())) . '">'; |
|
264 | 264 | |
265 | - if ( $description ) { |
|
266 | - if ( $this->testmode ) { |
|
267 | - $description .= ' ' . __( 'TEST MODE ENABLED. In test mode, you can use IBAN number DE89370400440532013000.', 'woocommerce-gateway-stripe' ); |
|
268 | - $description = trim( $description ); |
|
265 | + if ($description) { |
|
266 | + if ($this->testmode) { |
|
267 | + $description .= ' ' . __('TEST MODE ENABLED. In test mode, you can use IBAN number DE89370400440532013000.', 'woocommerce-gateway-stripe'); |
|
268 | + $description = trim($description); |
|
269 | 269 | } |
270 | - echo apply_filters( 'wc_stripe_description', wpautop( wp_kses_post( $description ) ), $this->id ); |
|
270 | + echo apply_filters('wc_stripe_description', wpautop(wp_kses_post($description)), $this->id); |
|
271 | 271 | } |
272 | 272 | |
273 | - if ( $display_tokenization ) { |
|
273 | + if ($display_tokenization) { |
|
274 | 274 | $this->tokenization_script(); |
275 | 275 | $this->saved_payment_methods(); |
276 | 276 | } |
277 | 277 | |
278 | 278 | $this->form(); |
279 | 279 | |
280 | - if ( apply_filters( 'wc_stripe_display_save_payment_method_checkbox', $display_tokenization ) && ! is_add_payment_method_page() && ! isset( $_GET['change_payment_method'] ) ) { |
|
280 | + if (apply_filters('wc_stripe_display_save_payment_method_checkbox', $display_tokenization) && ! is_add_payment_method_page() && ! isset($_GET['change_payment_method'])) { |
|
281 | 281 | $this->save_payment_method_checkbox(); |
282 | 282 | } |
283 | 283 | |
@@ -295,99 +295,99 @@ discard block |
||
295 | 295 | * |
296 | 296 | * @return array|void |
297 | 297 | */ |
298 | - public function process_payment( $order_id, $retry = true, $force_save_source = false ) { |
|
298 | + public function process_payment($order_id, $retry = true, $force_save_source = false) { |
|
299 | 299 | try { |
300 | - $order = wc_get_order( $order_id ); |
|
300 | + $order = wc_get_order($order_id); |
|
301 | 301 | |
302 | - if ( $this->maybe_process_pre_orders( $order_id ) ) { |
|
303 | - return $this->pre_orders->process_pre_order( $order_id ); |
|
302 | + if ($this->maybe_process_pre_orders($order_id)) { |
|
303 | + return $this->pre_orders->process_pre_order($order_id); |
|
304 | 304 | } |
305 | 305 | |
306 | 306 | // This comes from the create account checkbox in the checkout page. |
307 | - $create_account = ! empty( $_POST['createaccount'] ) ? true : false; |
|
307 | + $create_account = ! empty($_POST['createaccount']) ? true : false; |
|
308 | 308 | |
309 | - if ( $create_account ) { |
|
309 | + if ($create_account) { |
|
310 | 310 | $new_customer_id = WC_Stripe_Helper::is_pre_30() ? $order->customer_user : $order->get_customer_id(); |
311 | - $new_stripe_customer = new WC_Stripe_Customer( $new_customer_id ); |
|
311 | + $new_stripe_customer = new WC_Stripe_Customer($new_customer_id); |
|
312 | 312 | $new_stripe_customer->create_customer(); |
313 | 313 | } |
314 | 314 | |
315 | - $prepared_source = $this->prepare_source( get_current_user_id(), $force_save_source ); |
|
315 | + $prepared_source = $this->prepare_source(get_current_user_id(), $force_save_source); |
|
316 | 316 | |
317 | - $this->save_source_to_order( $order, $prepared_source ); |
|
317 | + $this->save_source_to_order($order, $prepared_source); |
|
318 | 318 | |
319 | 319 | // Result from Stripe API request. |
320 | 320 | $response = null; |
321 | 321 | |
322 | - if ( $order->get_total() > 0 ) { |
|
322 | + if ($order->get_total() > 0) { |
|
323 | 323 | // This will throw exception if not valid. |
324 | - $this->validate_minimum_order_amount( $order ); |
|
324 | + $this->validate_minimum_order_amount($order); |
|
325 | 325 | |
326 | - WC_Stripe_Logger::log( "Info: Begin processing payment for order $order_id for the amount of {$order->get_total()}" ); |
|
326 | + WC_Stripe_Logger::log("Info: Begin processing payment for order $order_id for the amount of {$order->get_total()}"); |
|
327 | 327 | |
328 | 328 | // Make the request. |
329 | - $response = WC_Stripe_API::request( $this->generate_payment_request( $order, $prepared_source ) ); |
|
329 | + $response = WC_Stripe_API::request($this->generate_payment_request($order, $prepared_source)); |
|
330 | 330 | |
331 | - if ( ! empty( $response->error ) ) { |
|
331 | + if ( ! empty($response->error)) { |
|
332 | 332 | // Customer param wrong? The user may have been deleted on stripe's end. Remove customer_id. Can be retried without. |
333 | - if ( $this->is_no_such_customer_error( $response->error ) ) { |
|
334 | - if ( WC_Stripe_Helper::is_pre_30() ) { |
|
335 | - delete_user_meta( $order->customer_user, '_stripe_customer_id' ); |
|
336 | - delete_post_meta( $order_id, '_stripe_customer_id' ); |
|
333 | + if ($this->is_no_such_customer_error($response->error)) { |
|
334 | + if (WC_Stripe_Helper::is_pre_30()) { |
|
335 | + delete_user_meta($order->customer_user, '_stripe_customer_id'); |
|
336 | + delete_post_meta($order_id, '_stripe_customer_id'); |
|
337 | 337 | } else { |
338 | - delete_user_meta( $order->get_customer_id(), '_stripe_customer_id' ); |
|
339 | - $order->delete_meta_data( '_stripe_customer_id' ); |
|
338 | + delete_user_meta($order->get_customer_id(), '_stripe_customer_id'); |
|
339 | + $order->delete_meta_data('_stripe_customer_id'); |
|
340 | 340 | $order->save(); |
341 | 341 | } |
342 | 342 | } |
343 | 343 | |
344 | - if ( $this->is_no_such_token_error( $response->error ) && $prepared_source->token_id ) { |
|
344 | + if ($this->is_no_such_token_error($response->error) && $prepared_source->token_id) { |
|
345 | 345 | // Source param wrong? The CARD may have been deleted on stripe's end. Remove token and show message. |
346 | - $wc_token = WC_Payment_Tokens::get( $prepared_source->token_id ); |
|
346 | + $wc_token = WC_Payment_Tokens::get($prepared_source->token_id); |
|
347 | 347 | $wc_token->delete(); |
348 | - $localized_message = __( 'This card is no longer available and has been removed.', 'woocommerce-gateway-stripe' ); |
|
349 | - $order->add_order_note( $localized_message ); |
|
350 | - throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message ); |
|
348 | + $localized_message = __('This card is no longer available and has been removed.', 'woocommerce-gateway-stripe'); |
|
349 | + $order->add_order_note($localized_message); |
|
350 | + throw new WC_Stripe_Exception(print_r($response, true), $localized_message); |
|
351 | 351 | } |
352 | 352 | |
353 | 353 | // We want to retry. |
354 | - if ( $this->is_retryable_error( $response->error ) ) { |
|
355 | - if ( $retry ) { |
|
354 | + if ($this->is_retryable_error($response->error)) { |
|
355 | + if ($retry) { |
|
356 | 356 | // Don't do anymore retries after this. |
357 | - if ( 5 <= $this->retry_interval ) { |
|
357 | + if (5 <= $this->retry_interval) { |
|
358 | 358 | |
359 | - return $this->process_payment( $order_id, false, $force_save_source ); |
|
359 | + return $this->process_payment($order_id, false, $force_save_source); |
|
360 | 360 | } |
361 | 361 | |
362 | - sleep( $this->retry_interval ); |
|
362 | + sleep($this->retry_interval); |
|
363 | 363 | |
364 | 364 | $this->retry_interval++; |
365 | 365 | |
366 | - return $this->process_payment( $order_id, true, $force_save_source ); |
|
366 | + return $this->process_payment($order_id, true, $force_save_source); |
|
367 | 367 | } else { |
368 | - $localized_message = __( 'Sorry, we are unable to process your payment at this time. Please retry later.', 'woocommerce-gateway-stripe' ); |
|
369 | - $order->add_order_note( $localized_message ); |
|
370 | - throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message ); |
|
368 | + $localized_message = __('Sorry, we are unable to process your payment at this time. Please retry later.', 'woocommerce-gateway-stripe'); |
|
369 | + $order->add_order_note($localized_message); |
|
370 | + throw new WC_Stripe_Exception(print_r($response, true), $localized_message); |
|
371 | 371 | } |
372 | 372 | } |
373 | 373 | |
374 | 374 | $localized_messages = WC_Stripe_Helper::get_localized_messages(); |
375 | 375 | |
376 | - if ( 'card_error' === $response->error->type ) { |
|
377 | - $localized_message = isset( $localized_messages[ $response->error->code ] ) ? $localized_messages[ $response->error->code ] : $response->error->message; |
|
376 | + if ('card_error' === $response->error->type) { |
|
377 | + $localized_message = isset($localized_messages[$response->error->code]) ? $localized_messages[$response->error->code] : $response->error->message; |
|
378 | 378 | } else { |
379 | - $localized_message = isset( $localized_messages[ $response->error->type ] ) ? $localized_messages[ $response->error->type ] : $response->error->message; |
|
379 | + $localized_message = isset($localized_messages[$response->error->type]) ? $localized_messages[$response->error->type] : $response->error->message; |
|
380 | 380 | } |
381 | 381 | |
382 | - $order->add_order_note( $localized_message ); |
|
382 | + $order->add_order_note($localized_message); |
|
383 | 383 | |
384 | - throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message ); |
|
384 | + throw new WC_Stripe_Exception(print_r($response, true), $localized_message); |
|
385 | 385 | } |
386 | 386 | |
387 | - do_action( 'wc_gateway_stripe_process_payment', $response, $order ); |
|
387 | + do_action('wc_gateway_stripe_process_payment', $response, $order); |
|
388 | 388 | |
389 | 389 | // Process valid response. |
390 | - $this->process_response( $response, $order ); |
|
390 | + $this->process_response($response, $order); |
|
391 | 391 | } else { |
392 | 392 | $order->payment_complete(); |
393 | 393 | } |
@@ -398,17 +398,17 @@ discard block |
||
398 | 398 | // Return thank you page redirect. |
399 | 399 | return array( |
400 | 400 | 'result' => 'success', |
401 | - 'redirect' => $this->get_return_url( $order ), |
|
401 | + 'redirect' => $this->get_return_url($order), |
|
402 | 402 | ); |
403 | 403 | |
404 | - } catch ( WC_Stripe_Exception $e ) { |
|
405 | - wc_add_notice( $e->getLocalizedMessage(), 'error' ); |
|
406 | - WC_Stripe_Logger::log( 'Error: ' . $e->getMessage() ); |
|
404 | + } catch (WC_Stripe_Exception $e) { |
|
405 | + wc_add_notice($e->getLocalizedMessage(), 'error'); |
|
406 | + WC_Stripe_Logger::log('Error: ' . $e->getMessage()); |
|
407 | 407 | |
408 | - do_action( 'wc_gateway_stripe_process_payment_error', $e, $order ); |
|
408 | + do_action('wc_gateway_stripe_process_payment_error', $e, $order); |
|
409 | 409 | |
410 | - if ( $order->has_status( array( 'pending', 'failed' ) ) ) { |
|
411 | - $this->send_failed_order_email( $order_id ); |
|
410 | + if ($order->has_status(array('pending', 'failed'))) { |
|
411 | + $this->send_failed_order_email($order_id); |
|
412 | 412 | } |
413 | 413 | |
414 | 414 | return array( |
@@ -1,5 +1,5 @@ discard block |
||
1 | 1 | <?php |
2 | -if ( ! class_exists( 'WC_Abstract_Privacy' ) ) { |
|
2 | +if ( ! class_exists('WC_Abstract_Privacy')) { |
|
3 | 3 | return; |
4 | 4 | } |
5 | 5 | |
@@ -9,20 +9,20 @@ discard block |
||
9 | 9 | * |
10 | 10 | */ |
11 | 11 | public function __construct() { |
12 | - parent::__construct( __( 'Stripe', 'woocommerce-gateway-stripe' ) ); |
|
12 | + parent::__construct(__('Stripe', 'woocommerce-gateway-stripe')); |
|
13 | 13 | |
14 | - $this->add_exporter( 'woocommerce-gateway-stripe-order-data', __( 'WooCommerce Stripe Order Data', 'woocommerce-gateway-stripe' ), array( $this, 'order_data_exporter' ) ); |
|
14 | + $this->add_exporter('woocommerce-gateway-stripe-order-data', __('WooCommerce Stripe Order Data', 'woocommerce-gateway-stripe'), array($this, 'order_data_exporter')); |
|
15 | 15 | |
16 | - if ( function_exists( 'wcs_get_subscriptions' ) ) { |
|
17 | - $this->add_exporter( 'woocommerce-gateway-stripe-subscriptions-data', __( 'WooCommerce Stripe Subscriptions Data', 'woocommerce-gateway-stripe' ), array( $this, 'subscriptions_data_exporter' ) ); |
|
16 | + if (function_exists('wcs_get_subscriptions')) { |
|
17 | + $this->add_exporter('woocommerce-gateway-stripe-subscriptions-data', __('WooCommerce Stripe Subscriptions Data', 'woocommerce-gateway-stripe'), array($this, 'subscriptions_data_exporter')); |
|
18 | 18 | } |
19 | 19 | |
20 | - $this->add_exporter( 'woocommerce-gateway-stripe-customer-data', __( 'WooCommerce Stripe Customer Data', 'woocommerce-gateway-stripe' ), array( $this, 'customer_data_exporter' ) ); |
|
20 | + $this->add_exporter('woocommerce-gateway-stripe-customer-data', __('WooCommerce Stripe Customer Data', 'woocommerce-gateway-stripe'), array($this, 'customer_data_exporter')); |
|
21 | 21 | |
22 | - $this->add_eraser( 'woocommerce-gateway-stripe-customer-data', __( 'WooCommerce Stripe Customer Data', 'woocommerce-gateway-stripe' ), array( $this, 'customer_data_eraser' ) ); |
|
23 | - $this->add_eraser( 'woocommerce-gateway-stripe-order-data', __( 'WooCommerce Stripe Data', 'woocommerce-gateway-stripe' ), array( $this, 'order_data_eraser' ) ); |
|
22 | + $this->add_eraser('woocommerce-gateway-stripe-customer-data', __('WooCommerce Stripe Customer Data', 'woocommerce-gateway-stripe'), array($this, 'customer_data_eraser')); |
|
23 | + $this->add_eraser('woocommerce-gateway-stripe-order-data', __('WooCommerce Stripe Data', 'woocommerce-gateway-stripe'), array($this, 'order_data_eraser')); |
|
24 | 24 | |
25 | - add_filter( 'woocommerce_get_settings_account', array( $this, 'account_settings' ) ); |
|
25 | + add_filter('woocommerce_get_settings_account', array($this, 'account_settings')); |
|
26 | 26 | } |
27 | 27 | |
28 | 28 | /** |
@@ -31,20 +31,20 @@ discard block |
||
31 | 31 | * @param array $settings |
32 | 32 | * @return array $settings Updated |
33 | 33 | */ |
34 | - public function account_settings( $settings ) { |
|
34 | + public function account_settings($settings) { |
|
35 | 35 | $insert_setting = array( |
36 | 36 | array( |
37 | - 'title' => __( 'Retain Stripe Data', 'woocommerce-gateway-stripe' ), |
|
38 | - 'desc_tip' => __( 'Retains any Stripe data such as Stripe customer ID, source ID.', 'woocommerce-gateway-stripe' ), |
|
37 | + 'title' => __('Retain Stripe Data', 'woocommerce-gateway-stripe'), |
|
38 | + 'desc_tip' => __('Retains any Stripe data such as Stripe customer ID, source ID.', 'woocommerce-gateway-stripe'), |
|
39 | 39 | 'id' => 'woocommerce_gateway_stripe_retention', |
40 | 40 | 'type' => 'relative_date_selector', |
41 | - 'placeholder' => __( 'N/A', 'woocommerce-gateway-stripe' ), |
|
41 | + 'placeholder' => __('N/A', 'woocommerce-gateway-stripe'), |
|
42 | 42 | 'default' => '', |
43 | 43 | 'autoload' => false, |
44 | 44 | ), |
45 | 45 | ); |
46 | 46 | |
47 | - array_splice( $settings, ( count( $settings ) - 1 ), 0, $insert_setting ); |
|
47 | + array_splice($settings, (count($settings) - 1), 0, $insert_setting); |
|
48 | 48 | |
49 | 49 | return $settings; |
50 | 50 | } |
@@ -57,22 +57,22 @@ discard block |
||
57 | 57 | * |
58 | 58 | * @return array WP_Post |
59 | 59 | */ |
60 | - protected function get_stripe_orders( $email_address, $page ) { |
|
61 | - $user = get_user_by( 'email', $email_address ); // Check if user has an ID in the DB to load stored personal data. |
|
60 | + protected function get_stripe_orders($email_address, $page) { |
|
61 | + $user = get_user_by('email', $email_address); // Check if user has an ID in the DB to load stored personal data. |
|
62 | 62 | |
63 | - $order_query = array( |
|
64 | - 'payment_method' => array( 'stripe', 'stripe_alipay', 'stripe_bancontact', 'stripe_eps', 'stripe_giropay', 'stripe_ideal', 'stripe_multibanco', 'stripe_p24', 'stripe_sepa', 'stripe_sofort' ), |
|
63 | + $order_query = array( |
|
64 | + 'payment_method' => array('stripe', 'stripe_alipay', 'stripe_bancontact', 'stripe_eps', 'stripe_giropay', 'stripe_ideal', 'stripe_multibanco', 'stripe_p24', 'stripe_sepa', 'stripe_sofort'), |
|
65 | 65 | 'limit' => 10, |
66 | 66 | 'page' => $page, |
67 | 67 | ); |
68 | 68 | |
69 | - if ( $user instanceof WP_User ) { |
|
69 | + if ($user instanceof WP_User) { |
|
70 | 70 | $order_query['customer_id'] = (int) $user->ID; |
71 | 71 | } else { |
72 | 72 | $order_query['billing_email'] = $email_address; |
73 | 73 | } |
74 | 74 | |
75 | - return wc_get_orders( $order_query ); |
|
75 | + return wc_get_orders($order_query); |
|
76 | 76 | } |
77 | 77 | |
78 | 78 | /** |
@@ -80,7 +80,7 @@ discard block |
||
80 | 80 | * |
81 | 81 | */ |
82 | 82 | public function get_privacy_message() { |
83 | - return wpautop( sprintf( __( 'By using this extension, you may be storing personal data or sharing data with an external service. <a href="%s" target="_blank">Learn more about how this works, including what you may want to include in your privacy policy.</a>', 'woocommerce-gateway-stripe' ), 'https://docs.woocommerce.com/document/privacy-payments/#woocommerce-gateway-stripe' ) ); |
|
83 | + return wpautop(sprintf(__('By using this extension, you may be storing personal data or sharing data with an external service. <a href="%s" target="_blank">Learn more about how this works, including what you may want to include in your privacy policy.</a>', 'woocommerce-gateway-stripe'), 'https://docs.woocommerce.com/document/privacy-payments/#woocommerce-gateway-stripe')); |
|
84 | 84 | } |
85 | 85 | |
86 | 86 | /** |
@@ -91,34 +91,34 @@ discard block |
||
91 | 91 | * |
92 | 92 | * @return array |
93 | 93 | */ |
94 | - public function order_data_exporter( $email_address, $page = 1 ) { |
|
94 | + public function order_data_exporter($email_address, $page = 1) { |
|
95 | 95 | $done = false; |
96 | 96 | $data_to_export = array(); |
97 | 97 | |
98 | - $orders = $this->get_stripe_orders( $email_address, (int) $page ); |
|
98 | + $orders = $this->get_stripe_orders($email_address, (int) $page); |
|
99 | 99 | |
100 | 100 | $done = true; |
101 | 101 | |
102 | - if ( 0 < count( $orders ) ) { |
|
103 | - foreach ( $orders as $order ) { |
|
102 | + if (0 < count($orders)) { |
|
103 | + foreach ($orders as $order) { |
|
104 | 104 | $data_to_export[] = array( |
105 | 105 | 'group_id' => 'woocommerce_orders', |
106 | - 'group_label' => __( 'Orders', 'woocommerce-gateway-stripe' ), |
|
106 | + 'group_label' => __('Orders', 'woocommerce-gateway-stripe'), |
|
107 | 107 | 'item_id' => 'order-' . $order->get_id(), |
108 | 108 | 'data' => array( |
109 | 109 | array( |
110 | - 'name' => __( 'Stripe payment id', 'woocommerce-gateway-stripe' ), |
|
111 | - 'value' => get_post_meta( $order->get_id(), '_stripe_source_id', true ), |
|
110 | + 'name' => __('Stripe payment id', 'woocommerce-gateway-stripe'), |
|
111 | + 'value' => get_post_meta($order->get_id(), '_stripe_source_id', true), |
|
112 | 112 | ), |
113 | 113 | array( |
114 | - 'name' => __( 'Stripe customer id', 'woocommerce-gateway-stripe' ), |
|
115 | - 'value' => get_post_meta( $order->get_id(), '_stripe_customer_id', true ), |
|
114 | + 'name' => __('Stripe customer id', 'woocommerce-gateway-stripe'), |
|
115 | + 'value' => get_post_meta($order->get_id(), '_stripe_customer_id', true), |
|
116 | 116 | ), |
117 | 117 | ), |
118 | 118 | ); |
119 | 119 | } |
120 | 120 | |
121 | - $done = 10 > count( $orders ); |
|
121 | + $done = 10 > count($orders); |
|
122 | 122 | } |
123 | 123 | |
124 | 124 | return array( |
@@ -135,7 +135,7 @@ discard block |
||
135 | 135 | * |
136 | 136 | * @return array |
137 | 137 | */ |
138 | - public function subscriptions_data_exporter( $email_address, $page = 1 ) { |
|
138 | + public function subscriptions_data_exporter($email_address, $page = 1) { |
|
139 | 139 | $done = false; |
140 | 140 | $page = (int) $page; |
141 | 141 | $data_to_export = array(); |
@@ -144,7 +144,7 @@ discard block |
||
144 | 144 | 'relation' => 'AND', |
145 | 145 | array( |
146 | 146 | 'key' => '_payment_method', |
147 | - 'value' => array( 'stripe', 'stripe_alipay', 'stripe_bancontact', 'stripe_eps', 'stripe_giropay', 'stripe_ideal', 'stripe_multibanco', 'stripe_p24', 'stripe_sepa', 'stripe_sofort' ), |
|
147 | + 'value' => array('stripe', 'stripe_alipay', 'stripe_bancontact', 'stripe_eps', 'stripe_giropay', 'stripe_ideal', 'stripe_multibanco', 'stripe_p24', 'stripe_sepa', 'stripe_sofort'), |
|
148 | 148 | 'compare' => 'IN', |
149 | 149 | ), |
150 | 150 | array( |
@@ -154,36 +154,36 @@ discard block |
||
154 | 154 | ), |
155 | 155 | ); |
156 | 156 | |
157 | - $subscription_query = array( |
|
157 | + $subscription_query = array( |
|
158 | 158 | 'posts_per_page' => 10, |
159 | 159 | 'page' => $page, |
160 | 160 | 'meta_query' => $meta_query, |
161 | 161 | ); |
162 | 162 | |
163 | - $subscriptions = wcs_get_subscriptions( $subscription_query ); |
|
163 | + $subscriptions = wcs_get_subscriptions($subscription_query); |
|
164 | 164 | |
165 | 165 | $done = true; |
166 | 166 | |
167 | - if ( 0 < count( $subscriptions ) ) { |
|
168 | - foreach ( $subscriptions as $subscription ) { |
|
167 | + if (0 < count($subscriptions)) { |
|
168 | + foreach ($subscriptions as $subscription) { |
|
169 | 169 | $data_to_export[] = array( |
170 | 170 | 'group_id' => 'woocommerce_subscriptions', |
171 | - 'group_label' => __( 'Subscriptions', 'woocommerce-gateway-stripe' ), |
|
171 | + 'group_label' => __('Subscriptions', 'woocommerce-gateway-stripe'), |
|
172 | 172 | 'item_id' => 'subscription-' . $subscription->get_id(), |
173 | 173 | 'data' => array( |
174 | 174 | array( |
175 | - 'name' => __( 'Stripe payment id', 'woocommerce-gateway-stripe' ), |
|
176 | - 'value' => get_post_meta( $subscription->get_id(), '_stripe_source_id', true ), |
|
175 | + 'name' => __('Stripe payment id', 'woocommerce-gateway-stripe'), |
|
176 | + 'value' => get_post_meta($subscription->get_id(), '_stripe_source_id', true), |
|
177 | 177 | ), |
178 | 178 | array( |
179 | - 'name' => __( 'Stripe customer id', 'woocommerce-gateway-stripe' ), |
|
180 | - 'value' => get_post_meta( $subscription->get_id(), '_stripe_customer_id', true ), |
|
179 | + 'name' => __('Stripe customer id', 'woocommerce-gateway-stripe'), |
|
180 | + 'value' => get_post_meta($subscription->get_id(), '_stripe_customer_id', true), |
|
181 | 181 | ), |
182 | 182 | ), |
183 | 183 | ); |
184 | 184 | } |
185 | 185 | |
186 | - $done = 10 > count( $subscriptions ); |
|
186 | + $done = 10 > count($subscriptions); |
|
187 | 187 | } |
188 | 188 | |
189 | 189 | return array( |
@@ -199,24 +199,24 @@ discard block |
||
199 | 199 | * @param int $page Page. |
200 | 200 | * @return array An array of personal data in name value pairs |
201 | 201 | */ |
202 | - public function customer_data_exporter( $email_address, $page ) { |
|
203 | - $user = get_user_by( 'email', $email_address ); // Check if user has an ID in the DB to load stored personal data. |
|
202 | + public function customer_data_exporter($email_address, $page) { |
|
203 | + $user = get_user_by('email', $email_address); // Check if user has an ID in the DB to load stored personal data. |
|
204 | 204 | $data_to_export = array(); |
205 | 205 | |
206 | - if ( $user instanceof WP_User ) { |
|
207 | - $stripe_user = new WC_Stripe_Customer( $user->ID ); |
|
206 | + if ($user instanceof WP_User) { |
|
207 | + $stripe_user = new WC_Stripe_Customer($user->ID); |
|
208 | 208 | |
209 | 209 | $data_to_export[] = array( |
210 | 210 | 'group_id' => 'woocommerce_customer', |
211 | - 'group_label' => __( 'Customer Data', 'woocommerce-gateway-stripe' ), |
|
211 | + 'group_label' => __('Customer Data', 'woocommerce-gateway-stripe'), |
|
212 | 212 | 'item_id' => 'user', |
213 | 213 | 'data' => array( |
214 | 214 | array( |
215 | - 'name' => __( 'Stripe payment id', 'woocommerce-gateway-stripe' ), |
|
216 | - 'value' => get_user_meta( $user->ID, '_stripe_source_id', true ), |
|
215 | + 'name' => __('Stripe payment id', 'woocommerce-gateway-stripe'), |
|
216 | + 'value' => get_user_meta($user->ID, '_stripe_source_id', true), |
|
217 | 217 | ), |
218 | 218 | array( |
219 | - 'name' => __( 'Stripe customer id', 'woocommerce-gateway-stripe' ), |
|
219 | + 'name' => __('Stripe customer id', 'woocommerce-gateway-stripe'), |
|
220 | 220 | 'value' => $stripe_user->get_id(), |
221 | 221 | ), |
222 | 222 | ), |
@@ -236,25 +236,25 @@ discard block |
||
236 | 236 | * @param int $page Page. |
237 | 237 | * @return array An array of personal data in name value pairs |
238 | 238 | */ |
239 | - public function customer_data_eraser( $email_address, $page ) { |
|
239 | + public function customer_data_eraser($email_address, $page) { |
|
240 | 240 | $page = (int) $page; |
241 | - $user = get_user_by( 'email', $email_address ); // Check if user has an ID in the DB to load stored personal data. |
|
241 | + $user = get_user_by('email', $email_address); // Check if user has an ID in the DB to load stored personal data. |
|
242 | 242 | $stripe_customer_id = ''; |
243 | 243 | $stripe_source_id = ''; |
244 | 244 | |
245 | - if ( $user instanceof WP_User ) { |
|
246 | - $stripe_customer_id = get_user_meta( $user->ID, '_stripe_customer_id', true ); |
|
247 | - $stripe_source_id = get_user_meta( $user->ID, '_stripe_source_id', true ); |
|
245 | + if ($user instanceof WP_User) { |
|
246 | + $stripe_customer_id = get_user_meta($user->ID, '_stripe_customer_id', true); |
|
247 | + $stripe_source_id = get_user_meta($user->ID, '_stripe_source_id', true); |
|
248 | 248 | } |
249 | 249 | |
250 | 250 | $items_removed = false; |
251 | 251 | $messages = array(); |
252 | 252 | |
253 | - if ( ! empty( $stripe_customer_id ) || ! empty( $stripe_source_id ) ) { |
|
253 | + if ( ! empty($stripe_customer_id) || ! empty($stripe_source_id)) { |
|
254 | 254 | $items_removed = true; |
255 | - delete_user_meta( $user->ID, '_stripe_customer_id' ); |
|
256 | - delete_user_meta( $user->ID, '_stripe_source_id' ); |
|
257 | - $messages[] = __( 'Stripe User Data Erased.', 'woocommerce-gateway-stripe' ); |
|
255 | + delete_user_meta($user->ID, '_stripe_customer_id'); |
|
256 | + delete_user_meta($user->ID, '_stripe_source_id'); |
|
257 | + $messages[] = __('Stripe User Data Erased.', 'woocommerce-gateway-stripe'); |
|
258 | 258 | } |
259 | 259 | |
260 | 260 | return array( |
@@ -272,29 +272,29 @@ discard block |
||
272 | 272 | * @param int $page Page. |
273 | 273 | * @return array An array of personal data in name value pairs |
274 | 274 | */ |
275 | - public function order_data_eraser( $email_address, $page ) { |
|
276 | - $orders = $this->get_stripe_orders( $email_address, (int) $page ); |
|
275 | + public function order_data_eraser($email_address, $page) { |
|
276 | + $orders = $this->get_stripe_orders($email_address, (int) $page); |
|
277 | 277 | |
278 | 278 | $items_removed = false; |
279 | 279 | $items_retained = false; |
280 | 280 | $messages = array(); |
281 | 281 | |
282 | - foreach ( (array) $orders as $order ) { |
|
283 | - $order = wc_get_order( $order->get_id() ); |
|
282 | + foreach ((array) $orders as $order) { |
|
283 | + $order = wc_get_order($order->get_id()); |
|
284 | 284 | |
285 | - list( $removed, $retained, $msgs ) = $this->maybe_handle_order( $order ); |
|
285 | + list($removed, $retained, $msgs) = $this->maybe_handle_order($order); |
|
286 | 286 | $items_removed |= $removed; |
287 | 287 | $items_retained |= $retained; |
288 | - $messages = array_merge( $messages, $msgs ); |
|
288 | + $messages = array_merge($messages, $msgs); |
|
289 | 289 | |
290 | - list( $removed, $retained, $msgs ) = $this->maybe_handle_subscription( $order ); |
|
290 | + list($removed, $retained, $msgs) = $this->maybe_handle_subscription($order); |
|
291 | 291 | $items_removed |= $removed; |
292 | 292 | $items_retained |= $retained; |
293 | - $messages = array_merge( $messages, $msgs ); |
|
293 | + $messages = array_merge($messages, $msgs); |
|
294 | 294 | } |
295 | 295 | |
296 | 296 | // Tell core if we have more orders to work on still |
297 | - $done = count( $orders ) < 10; |
|
297 | + $done = count($orders) < 10; |
|
298 | 298 | |
299 | 299 | return array( |
300 | 300 | 'items_removed' => $items_removed, |
@@ -310,45 +310,45 @@ discard block |
||
310 | 310 | * @param WC_Order $order |
311 | 311 | * @return array |
312 | 312 | */ |
313 | - protected function maybe_handle_subscription( $order ) { |
|
314 | - if ( ! class_exists( 'WC_Subscriptions' ) ) { |
|
315 | - return array( false, false, array() ); |
|
313 | + protected function maybe_handle_subscription($order) { |
|
314 | + if ( ! class_exists('WC_Subscriptions')) { |
|
315 | + return array(false, false, array()); |
|
316 | 316 | } |
317 | 317 | |
318 | - if ( ! wcs_order_contains_subscription( $order ) ) { |
|
319 | - return array( false, false, array() ); |
|
318 | + if ( ! wcs_order_contains_subscription($order)) { |
|
319 | + return array(false, false, array()); |
|
320 | 320 | } |
321 | 321 | |
322 | - $subscription = current( wcs_get_subscriptions_for_order( $order->get_id() ) ); |
|
322 | + $subscription = current(wcs_get_subscriptions_for_order($order->get_id())); |
|
323 | 323 | $subscription_id = $subscription->get_id(); |
324 | 324 | |
325 | - $stripe_source_id = get_post_meta( $subscription_id, '_stripe_source_id', true ); |
|
325 | + $stripe_source_id = get_post_meta($subscription_id, '_stripe_source_id', true); |
|
326 | 326 | |
327 | - if ( empty( $stripe_source_id ) ) { |
|
328 | - return array( false, false, array() ); |
|
327 | + if (empty($stripe_source_id)) { |
|
328 | + return array(false, false, array()); |
|
329 | 329 | } |
330 | 330 | |
331 | - if ( ! $this->is_retention_expired( $order->get_date_created()->getTimestamp() ) ) { |
|
332 | - return array( false, true, array( sprintf( __( 'Order ID %d is less than set retention days. Personal data retained. (Stripe)', 'woocommerce-gateway-stripe' ), $order->get_id() ) ) ); |
|
331 | + if ( ! $this->is_retention_expired($order->get_date_created()->getTimestamp())) { |
|
332 | + return array(false, true, array(sprintf(__('Order ID %d is less than set retention days. Personal data retained. (Stripe)', 'woocommerce-gateway-stripe'), $order->get_id()))); |
|
333 | 333 | } |
334 | 334 | |
335 | - if ( $subscription->has_status( apply_filters( 'wc_stripe_privacy_eraser_subs_statuses', array( 'on-hold', 'active' ) ) ) ) { |
|
336 | - return array( false, true, array( sprintf( __( 'Order ID %d contains an active Subscription. Personal data retained. (Stripe)', 'woocommerce-gateway-stripe' ), $order->get_id() ) ) ); |
|
335 | + if ($subscription->has_status(apply_filters('wc_stripe_privacy_eraser_subs_statuses', array('on-hold', 'active')))) { |
|
336 | + return array(false, true, array(sprintf(__('Order ID %d contains an active Subscription. Personal data retained. (Stripe)', 'woocommerce-gateway-stripe'), $order->get_id()))); |
|
337 | 337 | } |
338 | 338 | |
339 | - $renewal_orders = WC_Subscriptions_Renewal_Order::get_renewal_orders( $order->get_id() ); |
|
339 | + $renewal_orders = WC_Subscriptions_Renewal_Order::get_renewal_orders($order->get_id()); |
|
340 | 340 | |
341 | - foreach ( $renewal_orders as $renewal_order_id ) { |
|
342 | - delete_post_meta( $renewal_order_id, '_stripe_source_id' ); |
|
343 | - delete_post_meta( $renewal_order_id, '_stripe_refund_id' ); |
|
344 | - delete_post_meta( $renewal_order_id, '_stripe_customer_id' ); |
|
341 | + foreach ($renewal_orders as $renewal_order_id) { |
|
342 | + delete_post_meta($renewal_order_id, '_stripe_source_id'); |
|
343 | + delete_post_meta($renewal_order_id, '_stripe_refund_id'); |
|
344 | + delete_post_meta($renewal_order_id, '_stripe_customer_id'); |
|
345 | 345 | } |
346 | 346 | |
347 | - delete_post_meta( $subscription_id, '_stripe_source_id' ); |
|
348 | - delete_post_meta( $subscription_id, '_stripe_refund_id' ); |
|
349 | - delete_post_meta( $subscription_id, '_stripe_customer_id' ); |
|
347 | + delete_post_meta($subscription_id, '_stripe_source_id'); |
|
348 | + delete_post_meta($subscription_id, '_stripe_refund_id'); |
|
349 | + delete_post_meta($subscription_id, '_stripe_customer_id'); |
|
350 | 350 | |
351 | - return array( true, false, array( __( 'Stripe Subscription Data Erased.', 'woocommerce-gateway-stripe' ) ) ); |
|
351 | + return array(true, false, array(__('Stripe Subscription Data Erased.', 'woocommerce-gateway-stripe'))); |
|
352 | 352 | } |
353 | 353 | |
354 | 354 | /** |
@@ -357,60 +357,60 @@ discard block |
||
357 | 357 | * @param WC_Order $order |
358 | 358 | * @return array |
359 | 359 | */ |
360 | - protected function maybe_handle_order( $order ) { |
|
360 | + protected function maybe_handle_order($order) { |
|
361 | 361 | $order_id = $order->get_id(); |
362 | - $stripe_source_id = get_post_meta( $order_id, '_stripe_source_id', true ); |
|
363 | - $stripe_refund_id = get_post_meta( $order_id, '_stripe_refund_id', true ); |
|
364 | - $stripe_customer_id = get_post_meta( $order_id, '_stripe_customer_id', true ); |
|
362 | + $stripe_source_id = get_post_meta($order_id, '_stripe_source_id', true); |
|
363 | + $stripe_refund_id = get_post_meta($order_id, '_stripe_refund_id', true); |
|
364 | + $stripe_customer_id = get_post_meta($order_id, '_stripe_customer_id', true); |
|
365 | 365 | |
366 | - if ( ! $this->is_retention_expired( $order->get_date_created()->getTimestamp() ) ) { |
|
367 | - return array( false, true, array( sprintf( __( 'Order ID %d is less than set retention days. Personal data retained. (Stripe)', 'woocommerce-gateway-stripe' ), $order->get_id() ) ) ); |
|
366 | + if ( ! $this->is_retention_expired($order->get_date_created()->getTimestamp())) { |
|
367 | + return array(false, true, array(sprintf(__('Order ID %d is less than set retention days. Personal data retained. (Stripe)', 'woocommerce-gateway-stripe'), $order->get_id()))); |
|
368 | 368 | } |
369 | 369 | |
370 | - if ( empty( $stripe_source_id ) && empty( $stripe_refund_id ) && empty( $stripe_customer_id ) ) { |
|
371 | - return array( false, false, array() ); |
|
370 | + if (empty($stripe_source_id) && empty($stripe_refund_id) && empty($stripe_customer_id)) { |
|
371 | + return array(false, false, array()); |
|
372 | 372 | } |
373 | 373 | |
374 | - delete_post_meta( $order_id, '_stripe_source_id' ); |
|
375 | - delete_post_meta( $order_id, '_stripe_refund_id' ); |
|
376 | - delete_post_meta( $order_id, '_stripe_customer_id' ); |
|
374 | + delete_post_meta($order_id, '_stripe_source_id'); |
|
375 | + delete_post_meta($order_id, '_stripe_refund_id'); |
|
376 | + delete_post_meta($order_id, '_stripe_customer_id'); |
|
377 | 377 | |
378 | - return array( true, false, array( __( 'Stripe personal data erased.', 'woocommerce-gateway-stripe' ) ) ); |
|
378 | + return array(true, false, array(__('Stripe personal data erased.', 'woocommerce-gateway-stripe'))); |
|
379 | 379 | } |
380 | 380 | |
381 | 381 | /** |
382 | 382 | * Checks if create date is passed retention duration. |
383 | 383 | * |
384 | 384 | */ |
385 | - public function is_retention_expired( $created_date ) { |
|
386 | - $retention = wc_parse_relative_date_option( get_option( 'woocommerce_gateway_stripe_retention' ) ); |
|
385 | + public function is_retention_expired($created_date) { |
|
386 | + $retention = wc_parse_relative_date_option(get_option('woocommerce_gateway_stripe_retention')); |
|
387 | 387 | $is_expired = false; |
388 | - $time_span = time() - strtotime( $created_date ); |
|
389 | - if ( empty( $retention ) || empty( $created_date ) ) { |
|
388 | + $time_span = time() - strtotime($created_date); |
|
389 | + if (empty($retention) || empty($created_date)) { |
|
390 | 390 | return false; |
391 | 391 | } |
392 | - switch ( $retention['unit'] ) { |
|
392 | + switch ($retention['unit']) { |
|
393 | 393 | case 'days': |
394 | 394 | $retention = $retention['number'] * DAY_IN_SECONDS; |
395 | - if ( $time_span > $retention ) { |
|
395 | + if ($time_span > $retention) { |
|
396 | 396 | $is_expired = true; |
397 | 397 | } |
398 | 398 | break; |
399 | 399 | case 'weeks': |
400 | 400 | $retention = $retention['number'] * WEEK_IN_SECONDS; |
401 | - if ( $time_span > $retention ) { |
|
401 | + if ($time_span > $retention) { |
|
402 | 402 | $is_expired = true; |
403 | 403 | } |
404 | 404 | break; |
405 | 405 | case 'months': |
406 | 406 | $retention = $retention['number'] * MONTH_IN_SECONDS; |
407 | - if ( $time_span > $retention ) { |
|
407 | + if ($time_span > $retention) { |
|
408 | 408 | $is_expired = true; |
409 | 409 | } |
410 | 410 | break; |
411 | 411 | case 'years': |
412 | 412 | $retention = $retention['number'] * YEAR_IN_SECONDS; |
413 | - if ( $time_span > $retention ) { |
|
413 | + if ($time_span > $retention) { |
|
414 | 414 | $is_expired = true; |
415 | 415 | } |
416 | 416 | 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 | |
@@ -113,9 +113,9 @@ discard block |
||
113 | 113 | public function __construct() { |
114 | 114 | $this->retry_interval = 1; |
115 | 115 | $this->id = 'stripe'; |
116 | - $this->method_title = __( 'Stripe', 'woocommerce-gateway-stripe' ); |
|
116 | + $this->method_title = __('Stripe', 'woocommerce-gateway-stripe'); |
|
117 | 117 | /* translators: 1) link to Stripe register page 2) link to Stripe api keys page */ |
118 | - $this->method_description = sprintf( __( 'Stripe works by adding payment fields on the checkout and then sending the details to Stripe for verification. <a href="%1$s" target="_blank">Sign up</a> for a Stripe account, and <a href="%2$s" target="_blank">get your Stripe account keys</a>.', 'woocommerce-gateway-stripe' ), 'https://dashboard.stripe.com/register', 'https://dashboard.stripe.com/account/apikeys' ); |
|
118 | + $this->method_description = sprintf(__('Stripe works by adding payment fields on the checkout and then sending the details to Stripe for verification. <a href="%1$s" target="_blank">Sign up</a> for a Stripe account, and <a href="%2$s" target="_blank">get your Stripe account keys</a>.', 'woocommerce-gateway-stripe'), 'https://dashboard.stripe.com/register', 'https://dashboard.stripe.com/account/apikeys'); |
|
119 | 119 | $this->has_fields = true; |
120 | 120 | $this->supports = array( |
121 | 121 | 'products', |
@@ -142,42 +142,42 @@ discard block |
||
142 | 142 | $this->init_settings(); |
143 | 143 | |
144 | 144 | // Get setting values. |
145 | - $this->title = $this->get_option( 'title' ); |
|
146 | - $this->description = $this->get_option( 'description' ); |
|
147 | - $this->enabled = $this->get_option( 'enabled' ); |
|
148 | - $this->testmode = 'yes' === $this->get_option( 'testmode' ); |
|
149 | - $this->inline_cc_form = 'yes' === $this->get_option( 'inline_cc_form' ); |
|
150 | - $this->capture = 'yes' === $this->get_option( 'capture', 'yes' ); |
|
151 | - $this->statement_descriptor = WC_Stripe_Helper::clean_statement_descriptor( $this->get_option( 'statement_descriptor' ) ); |
|
152 | - $this->three_d_secure = 'yes' === $this->get_option( 'three_d_secure' ); |
|
153 | - $this->stripe_checkout = 'yes' === $this->get_option( 'stripe_checkout' ); |
|
154 | - $this->stripe_checkout_image = $this->get_option( 'stripe_checkout_image', '' ); |
|
155 | - $this->stripe_checkout_description = $this->get_option( 'stripe_checkout_description' ); |
|
156 | - $this->saved_cards = 'yes' === $this->get_option( 'saved_cards' ); |
|
157 | - $this->secret_key = $this->testmode ? $this->get_option( 'test_secret_key' ) : $this->get_option( 'secret_key' ); |
|
158 | - $this->publishable_key = $this->testmode ? $this->get_option( 'test_publishable_key' ) : $this->get_option( 'publishable_key' ); |
|
159 | - $this->payment_request = 'yes' === $this->get_option( 'payment_request', 'yes' ); |
|
160 | - |
|
161 | - if ( $this->stripe_checkout ) { |
|
162 | - $this->order_button_text = __( 'Continue to payment', 'woocommerce-gateway-stripe' ); |
|
163 | - } |
|
164 | - |
|
165 | - WC_Stripe_API::set_secret_key( $this->secret_key ); |
|
145 | + $this->title = $this->get_option('title'); |
|
146 | + $this->description = $this->get_option('description'); |
|
147 | + $this->enabled = $this->get_option('enabled'); |
|
148 | + $this->testmode = 'yes' === $this->get_option('testmode'); |
|
149 | + $this->inline_cc_form = 'yes' === $this->get_option('inline_cc_form'); |
|
150 | + $this->capture = 'yes' === $this->get_option('capture', 'yes'); |
|
151 | + $this->statement_descriptor = WC_Stripe_Helper::clean_statement_descriptor($this->get_option('statement_descriptor')); |
|
152 | + $this->three_d_secure = 'yes' === $this->get_option('three_d_secure'); |
|
153 | + $this->stripe_checkout = 'yes' === $this->get_option('stripe_checkout'); |
|
154 | + $this->stripe_checkout_image = $this->get_option('stripe_checkout_image', ''); |
|
155 | + $this->stripe_checkout_description = $this->get_option('stripe_checkout_description'); |
|
156 | + $this->saved_cards = 'yes' === $this->get_option('saved_cards'); |
|
157 | + $this->secret_key = $this->testmode ? $this->get_option('test_secret_key') : $this->get_option('secret_key'); |
|
158 | + $this->publishable_key = $this->testmode ? $this->get_option('test_publishable_key') : $this->get_option('publishable_key'); |
|
159 | + $this->payment_request = 'yes' === $this->get_option('payment_request', 'yes'); |
|
160 | + |
|
161 | + if ($this->stripe_checkout) { |
|
162 | + $this->order_button_text = __('Continue to payment', 'woocommerce-gateway-stripe'); |
|
163 | + } |
|
164 | + |
|
165 | + WC_Stripe_API::set_secret_key($this->secret_key); |
|
166 | 166 | |
167 | 167 | // Hooks. |
168 | - add_action( 'wp_enqueue_scripts', array( $this, 'payment_scripts' ) ); |
|
169 | - add_action( 'admin_enqueue_scripts', array( $this, 'admin_scripts' ) ); |
|
170 | - add_action( 'woocommerce_update_options_payment_gateways_' . $this->id, array( $this, 'process_admin_options' ) ); |
|
171 | - add_action( 'woocommerce_admin_order_totals_after_total', array( $this, 'display_order_fee' ), 10, 1 ); |
|
172 | - add_action( 'woocommerce_admin_order_totals_after_total', array( $this, 'display_order_payout' ), 20, 1 ); |
|
173 | - add_action( 'woocommerce_customer_save_address', array( $this, 'show_update_card_notice' ), 10, 2 ); |
|
174 | - add_action( 'woocommerce_receipt_stripe', array( $this, 'stripe_checkout_receipt_page' ) ); |
|
175 | - add_action( 'woocommerce_api_' . strtolower( get_class( $this ) ), array( $this, 'stripe_checkout_return_handler' ) ); |
|
176 | - |
|
177 | - if ( WC_Stripe_Helper::is_pre_orders_exists() ) { |
|
168 | + add_action('wp_enqueue_scripts', array($this, 'payment_scripts')); |
|
169 | + add_action('admin_enqueue_scripts', array($this, 'admin_scripts')); |
|
170 | + add_action('woocommerce_update_options_payment_gateways_' . $this->id, array($this, 'process_admin_options')); |
|
171 | + add_action('woocommerce_admin_order_totals_after_total', array($this, 'display_order_fee'), 10, 1); |
|
172 | + add_action('woocommerce_admin_order_totals_after_total', array($this, 'display_order_payout'), 20, 1); |
|
173 | + add_action('woocommerce_customer_save_address', array($this, 'show_update_card_notice'), 10, 2); |
|
174 | + add_action('woocommerce_receipt_stripe', array($this, 'stripe_checkout_receipt_page')); |
|
175 | + add_action('woocommerce_api_' . strtolower(get_class($this)), array($this, 'stripe_checkout_return_handler')); |
|
176 | + |
|
177 | + if (WC_Stripe_Helper::is_pre_orders_exists()) { |
|
178 | 178 | $this->pre_orders = new WC_Stripe_Pre_Orders_Compat(); |
179 | 179 | |
180 | - add_action( 'wc_pre_orders_process_pre_order_completion_payment_' . $this->id, array( $this->pre_orders, 'process_pre_order_release_payment' ) ); |
|
180 | + add_action('wc_pre_orders_process_pre_order_completion_payment_' . $this->id, array($this->pre_orders, 'process_pre_order_release_payment')); |
|
181 | 181 | } |
182 | 182 | } |
183 | 183 | |
@@ -188,7 +188,7 @@ discard block |
||
188 | 188 | * @return bool |
189 | 189 | */ |
190 | 190 | public function are_keys_set() { |
191 | - if ( empty( $this->secret_key ) || empty( $this->publishable_key ) ) { |
|
191 | + if (empty($this->secret_key) || empty($this->publishable_key)) { |
|
192 | 192 | return false; |
193 | 193 | } |
194 | 194 | |
@@ -201,7 +201,7 @@ discard block |
||
201 | 201 | * @since 4.0.2 |
202 | 202 | */ |
203 | 203 | public function is_available() { |
204 | - if ( is_add_payment_method_page() && ! $this->saved_cards ) { |
|
204 | + if (is_add_payment_method_page() && ! $this->saved_cards) { |
|
205 | 205 | return false; |
206 | 206 | } |
207 | 207 | |
@@ -215,13 +215,13 @@ discard block |
||
215 | 215 | * @param int $user_id |
216 | 216 | * @param array $load_address |
217 | 217 | */ |
218 | - public function show_update_card_notice( $user_id, $load_address ) { |
|
219 | - if ( ! $this->saved_cards || ! WC_Stripe_Payment_Tokens::customer_has_saved_methods( $user_id ) || 'billing' !== $load_address ) { |
|
218 | + public function show_update_card_notice($user_id, $load_address) { |
|
219 | + if ( ! $this->saved_cards || ! WC_Stripe_Payment_Tokens::customer_has_saved_methods($user_id) || 'billing' !== $load_address) { |
|
220 | 220 | return; |
221 | 221 | } |
222 | 222 | |
223 | 223 | /* translators: 1) Opening anchor tag 2) closing anchor tag */ |
224 | - wc_add_notice( sprintf( __( 'If your billing address has been changed for saved payment methods, be sure to remove any %1$ssaved payment methods%2$s on file and re-add them.', 'woocommerce-gateway-stripe' ), '<a href="' . esc_url( wc_get_endpoint_url( 'payment-methods' ) ) . '" class="wc-stripe-update-card-notice" style="text-decoration:underline;">', '</a>' ), 'notice' ); |
|
224 | + wc_add_notice(sprintf(__('If your billing address has been changed for saved payment methods, be sure to remove any %1$ssaved payment methods%2$s on file and re-add them.', 'woocommerce-gateway-stripe'), '<a href="' . esc_url(wc_get_endpoint_url('payment-methods')) . '" class="wc-stripe-update-card-notice" style="text-decoration:underline;">', '</a>'), 'notice'); |
|
225 | 225 | } |
226 | 226 | |
227 | 227 | /** |
@@ -240,20 +240,20 @@ discard block |
||
240 | 240 | $icons_str .= $icons['amex']; |
241 | 241 | $icons_str .= $icons['mastercard']; |
242 | 242 | |
243 | - if ( 'USD' === get_woocommerce_currency() ) { |
|
243 | + if ('USD' === get_woocommerce_currency()) { |
|
244 | 244 | $icons_str .= $icons['discover']; |
245 | 245 | $icons_str .= $icons['jcb']; |
246 | 246 | $icons_str .= $icons['diners']; |
247 | 247 | } |
248 | 248 | |
249 | - return apply_filters( 'woocommerce_gateway_icon', $icons_str, $this->id ); |
|
249 | + return apply_filters('woocommerce_gateway_icon', $icons_str, $this->id); |
|
250 | 250 | } |
251 | 251 | |
252 | 252 | /** |
253 | 253 | * Initialise Gateway Settings Form Fields |
254 | 254 | */ |
255 | 255 | public function init_form_fields() { |
256 | - $this->form_fields = require( dirname( __FILE__ ) . '/admin/stripe-settings.php' ); |
|
256 | + $this->form_fields = require(dirname(__FILE__) . '/admin/stripe-settings.php'); |
|
257 | 257 | } |
258 | 258 | |
259 | 259 | /** |
@@ -261,7 +261,7 @@ discard block |
||
261 | 261 | */ |
262 | 262 | public function payment_fields() { |
263 | 263 | $user = wp_get_current_user(); |
264 | - $display_tokenization = $this->supports( 'tokenization' ) && is_checkout() && $this->saved_cards; |
|
264 | + $display_tokenization = $this->supports('tokenization') && is_checkout() && $this->saved_cards; |
|
265 | 265 | $total = WC()->cart->total; |
266 | 266 | $user_email = ''; |
267 | 267 | $description = $this->get_description() ? $this->get_description() : ''; |
@@ -269,26 +269,26 @@ discard block |
||
269 | 269 | $lastname = ''; |
270 | 270 | |
271 | 271 | // If paying from order, we need to get total from order not cart. |
272 | - if ( isset( $_GET['pay_for_order'] ) && ! empty( $_GET['key'] ) ) { |
|
273 | - $order = wc_get_order( wc_get_order_id_by_order_key( wc_clean( $_GET['key'] ) ) ); |
|
272 | + if (isset($_GET['pay_for_order']) && ! empty($_GET['key'])) { |
|
273 | + $order = wc_get_order(wc_get_order_id_by_order_key(wc_clean($_GET['key']))); |
|
274 | 274 | $total = $order->get_total(); |
275 | 275 | $user_email = WC_Stripe_Helper::is_pre_30() ? $order->billing_email : $order->get_billing_email(); |
276 | 276 | } else { |
277 | - if ( $user->ID ) { |
|
278 | - $user_email = get_user_meta( $user->ID, 'billing_email', true ); |
|
277 | + if ($user->ID) { |
|
278 | + $user_email = get_user_meta($user->ID, 'billing_email', true); |
|
279 | 279 | $user_email = $user_email ? $user_email : $user->user_email; |
280 | 280 | } |
281 | 281 | } |
282 | 282 | |
283 | - if ( is_add_payment_method_page() ) { |
|
284 | - $pay_button_text = __( 'Add Card', 'woocommerce-gateway-stripe' ); |
|
283 | + if (is_add_payment_method_page()) { |
|
284 | + $pay_button_text = __('Add Card', 'woocommerce-gateway-stripe'); |
|
285 | 285 | $total = ''; |
286 | 286 | $firstname = $user->user_firstname; |
287 | 287 | $lastname = $user->user_lastname; |
288 | 288 | |
289 | - } elseif ( function_exists( 'wcs_order_contains_subscription' ) && isset( $_GET['change_payment_method'] ) ) { |
|
290 | - $pay_button_text = __( 'Change Payment Method', 'woocommerce-gateway-stripe' ); |
|
291 | - $total = ''; |
|
289 | + } elseif (function_exists('wcs_order_contains_subscription') && isset($_GET['change_payment_method'])) { |
|
290 | + $pay_button_text = __('Change Payment Method', 'woocommerce-gateway-stripe'); |
|
291 | + $total = ''; |
|
292 | 292 | } else { |
293 | 293 | $pay_button_text = ''; |
294 | 294 | } |
@@ -297,45 +297,45 @@ discard block |
||
297 | 297 | |
298 | 298 | echo '<div |
299 | 299 | id="stripe-payment-data" |
300 | - data-panel-label="' . esc_attr( $pay_button_text ) . '" |
|
301 | - data-description="' . esc_attr( strip_tags( $this->stripe_checkout_description ) ) . '" |
|
302 | - data-email="' . esc_attr( $user_email ) . '" |
|
303 | - data-verify-zip="' . esc_attr( apply_filters( 'wc_stripe_checkout_verify_zip', false ) ? 'true' : 'false' ) . '" |
|
304 | - data-billing-address="' . esc_attr( apply_filters( 'wc_stripe_checkout_require_billing_address', false ) ? 'true' : 'false' ) . '" |
|
305 | - data-shipping-address="' . esc_attr( apply_filters( 'wc_stripe_checkout_require_shipping_address', false ) ? 'true' : 'false' ) . '" |
|
306 | - data-amount="' . esc_attr( WC_Stripe_Helper::get_stripe_amount( $total ) ) . '" |
|
307 | - data-name="' . esc_attr( $this->statement_descriptor ) . '" |
|
308 | - data-full-name="' . esc_attr( $firstname . ' ' . $lastname ) . '" |
|
309 | - data-currency="' . esc_attr( strtolower( get_woocommerce_currency() ) ) . '" |
|
310 | - data-image="' . esc_attr( $this->stripe_checkout_image ) . '" |
|
311 | - data-locale="' . esc_attr( apply_filters( 'wc_stripe_checkout_locale', $this->get_locale() ) ) . '" |
|
312 | - data-three-d-secure="' . esc_attr( $this->three_d_secure ? 'true' : 'false' ) . '" |
|
313 | - data-allow-remember-me="' . esc_attr( apply_filters( 'wc_stripe_allow_remember_me', true ) ? 'true' : 'false' ) . '">'; |
|
314 | - |
|
315 | - if ( $description ) { |
|
316 | - if ( $this->testmode ) { |
|
300 | + data-panel-label="' . esc_attr($pay_button_text) . '" |
|
301 | + data-description="' . esc_attr(strip_tags($this->stripe_checkout_description)) . '" |
|
302 | + data-email="' . esc_attr($user_email) . '" |
|
303 | + data-verify-zip="' . esc_attr(apply_filters('wc_stripe_checkout_verify_zip', false) ? 'true' : 'false') . '" |
|
304 | + data-billing-address="' . esc_attr(apply_filters('wc_stripe_checkout_require_billing_address', false) ? 'true' : 'false') . '" |
|
305 | + data-shipping-address="' . esc_attr(apply_filters('wc_stripe_checkout_require_shipping_address', false) ? 'true' : 'false') . '" |
|
306 | + data-amount="' . esc_attr(WC_Stripe_Helper::get_stripe_amount($total)) . '" |
|
307 | + data-name="' . esc_attr($this->statement_descriptor) . '" |
|
308 | + data-full-name="' . esc_attr($firstname . ' ' . $lastname) . '" |
|
309 | + data-currency="' . esc_attr(strtolower(get_woocommerce_currency())) . '" |
|
310 | + data-image="' . esc_attr($this->stripe_checkout_image) . '" |
|
311 | + data-locale="' . esc_attr(apply_filters('wc_stripe_checkout_locale', $this->get_locale())) . '" |
|
312 | + data-three-d-secure="' . esc_attr($this->three_d_secure ? 'true' : 'false') . '" |
|
313 | + data-allow-remember-me="' . esc_attr(apply_filters('wc_stripe_allow_remember_me', true) ? 'true' : 'false') . '">'; |
|
314 | + |
|
315 | + if ($description) { |
|
316 | + if ($this->testmode) { |
|
317 | 317 | /* translators: link to Stripe testing page */ |
318 | - $description .= ' ' . sprintf( __( 'TEST MODE ENABLED. In test mode, you can use the card number 4242424242424242 with any CVC and a valid expiration date or check the <a href="%s" target="_blank">Testing Stripe documentation</a> for more card numbers.', 'woocommerce-gateway-stripe' ), 'https://stripe.com/docs/testing' ); |
|
319 | - $description = trim( $description ); |
|
318 | + $description .= ' ' . sprintf(__('TEST MODE ENABLED. In test mode, you can use the card number 4242424242424242 with any CVC and a valid expiration date or check the <a href="%s" target="_blank">Testing Stripe documentation</a> for more card numbers.', 'woocommerce-gateway-stripe'), 'https://stripe.com/docs/testing'); |
|
319 | + $description = trim($description); |
|
320 | 320 | } |
321 | 321 | |
322 | - echo apply_filters( 'wc_stripe_description', wpautop( wp_kses_post( $description ) ), $this->id ); |
|
322 | + echo apply_filters('wc_stripe_description', wpautop(wp_kses_post($description)), $this->id); |
|
323 | 323 | } |
324 | 324 | |
325 | - if ( $display_tokenization ) { |
|
325 | + if ($display_tokenization) { |
|
326 | 326 | $this->tokenization_script(); |
327 | 327 | $this->saved_payment_methods(); |
328 | 328 | } |
329 | 329 | |
330 | - if ( ! $this->stripe_checkout ) { |
|
330 | + if ( ! $this->stripe_checkout) { |
|
331 | 331 | $this->elements_form(); |
332 | 332 | } |
333 | 333 | |
334 | - if ( apply_filters( 'wc_stripe_display_save_payment_method_checkbox', $display_tokenization ) && ! is_add_payment_method_page() && ! isset( $_GET['change_payment_method'] ) ) { |
|
334 | + if (apply_filters('wc_stripe_display_save_payment_method_checkbox', $display_tokenization) && ! is_add_payment_method_page() && ! isset($_GET['change_payment_method'])) { |
|
335 | 335 | |
336 | - if ( ! $this->stripe_checkout ) { |
|
336 | + if ( ! $this->stripe_checkout) { |
|
337 | 337 | $this->save_payment_method_checkbox(); |
338 | - } elseif ( $this->stripe_checkout && isset( $_GET['pay_for_order'] ) && ! empty( $_GET['key'] ) ) { |
|
338 | + } elseif ($this->stripe_checkout && isset($_GET['pay_for_order']) && ! empty($_GET['key'])) { |
|
339 | 339 | $this->save_payment_method_checkbox(); |
340 | 340 | } |
341 | 341 | } |
@@ -353,12 +353,12 @@ discard block |
||
353 | 353 | */ |
354 | 354 | public function elements_form() { |
355 | 355 | ?> |
356 | - <fieldset id="wc-<?php echo esc_attr( $this->id ); ?>-cc-form" class="wc-credit-card-form wc-payment-form" style="background:transparent;"> |
|
357 | - <?php do_action( 'woocommerce_credit_card_form_start', $this->id ); ?> |
|
356 | + <fieldset id="wc-<?php echo esc_attr($this->id); ?>-cc-form" class="wc-credit-card-form wc-payment-form" style="background:transparent;"> |
|
357 | + <?php do_action('woocommerce_credit_card_form_start', $this->id); ?> |
|
358 | 358 | |
359 | - <?php if ( $this->inline_cc_form ) { ?> |
|
359 | + <?php if ($this->inline_cc_form) { ?> |
|
360 | 360 | <label for="card-element"> |
361 | - <?php esc_html_e( 'Credit or debit card', 'woocommerce-gateway-stripe' ); ?> |
|
361 | + <?php esc_html_e('Credit or debit card', 'woocommerce-gateway-stripe'); ?> |
|
362 | 362 | </label> |
363 | 363 | |
364 | 364 | <div id="stripe-card-element" class="wc-stripe-elements-field"> |
@@ -366,7 +366,7 @@ discard block |
||
366 | 366 | </div> |
367 | 367 | <?php } else { ?> |
368 | 368 | <div class="form-row form-row-wide"> |
369 | - <label for="stripe-card-element"><?php esc_html_e( 'Card Number', 'woocommerce-gateway-stripe' ); ?> <span class="required">*</span></label> |
|
369 | + <label for="stripe-card-element"><?php esc_html_e('Card Number', 'woocommerce-gateway-stripe'); ?> <span class="required">*</span></label> |
|
370 | 370 | <div class="stripe-card-group"> |
371 | 371 | <div id="stripe-card-element" class="wc-stripe-elements-field"> |
372 | 372 | <!-- a Stripe Element will be inserted here. --> |
@@ -377,7 +377,7 @@ discard block |
||
377 | 377 | </div> |
378 | 378 | |
379 | 379 | <div class="form-row form-row-first"> |
380 | - <label for="stripe-exp-element"><?php esc_html_e( 'Expiry Date', 'woocommerce-gateway-stripe' ); ?> <span class="required">*</span></label> |
|
380 | + <label for="stripe-exp-element"><?php esc_html_e('Expiry Date', 'woocommerce-gateway-stripe'); ?> <span class="required">*</span></label> |
|
381 | 381 | |
382 | 382 | <div id="stripe-exp-element" class="wc-stripe-elements-field"> |
383 | 383 | <!-- a Stripe Element will be inserted here. --> |
@@ -385,7 +385,7 @@ discard block |
||
385 | 385 | </div> |
386 | 386 | |
387 | 387 | <div class="form-row form-row-last"> |
388 | - <label for="stripe-cvc-element"><?php esc_html_e( 'Card Code (CVC)', 'woocommerce-gateway-stripe' ); ?> <span class="required">*</span></label> |
|
388 | + <label for="stripe-cvc-element"><?php esc_html_e('Card Code (CVC)', 'woocommerce-gateway-stripe'); ?> <span class="required">*</span></label> |
|
389 | 389 | <div id="stripe-cvc-element" class="wc-stripe-elements-field"> |
390 | 390 | <!-- a Stripe Element will be inserted here. --> |
391 | 391 | </div> |
@@ -395,7 +395,7 @@ discard block |
||
395 | 395 | |
396 | 396 | <!-- Used to display form errors --> |
397 | 397 | <div class="stripe-source-errors" role="alert"></div> |
398 | - <?php do_action( 'woocommerce_credit_card_form_end', $this->id ); ?> |
|
398 | + <?php do_action('woocommerce_credit_card_form_end', $this->id); ?> |
|
399 | 399 | <div class="clear"></div> |
400 | 400 | </fieldset> |
401 | 401 | <?php |
@@ -408,13 +408,13 @@ discard block |
||
408 | 408 | * @version 3.1.0 |
409 | 409 | */ |
410 | 410 | public function admin_scripts() { |
411 | - if ( 'woocommerce_page_wc-settings' !== get_current_screen()->id ) { |
|
411 | + if ('woocommerce_page_wc-settings' !== get_current_screen()->id) { |
|
412 | 412 | return; |
413 | 413 | } |
414 | 414 | |
415 | - $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'; |
|
415 | + $suffix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min'; |
|
416 | 416 | |
417 | - wp_enqueue_script( 'woocommerce_stripe_admin', plugins_url( 'assets/js/stripe-admin' . $suffix . '.js', WC_STRIPE_MAIN_FILE ), array(), WC_STRIPE_VERSION, true ); |
|
417 | + wp_enqueue_script('woocommerce_stripe_admin', plugins_url('assets/js/stripe-admin' . $suffix . '.js', WC_STRIPE_MAIN_FILE), array(), WC_STRIPE_VERSION, true); |
|
418 | 418 | } |
419 | 419 | |
420 | 420 | /** |
@@ -426,57 +426,57 @@ discard block |
||
426 | 426 | * @version 4.0.0 |
427 | 427 | */ |
428 | 428 | public function payment_scripts() { |
429 | - if ( ! is_cart() && ! is_checkout() && ! isset( $_GET['pay_for_order'] ) && ! is_add_payment_method_page() && ! isset( $_GET['change_payment_method'] ) ) { |
|
429 | + if ( ! is_cart() && ! is_checkout() && ! isset($_GET['pay_for_order']) && ! is_add_payment_method_page() && ! isset($_GET['change_payment_method'])) { |
|
430 | 430 | return; |
431 | 431 | } |
432 | 432 | |
433 | 433 | // If Stripe is not enabled bail. |
434 | - if ( 'no' === $this->enabled ) { |
|
434 | + if ('no' === $this->enabled) { |
|
435 | 435 | return; |
436 | 436 | } |
437 | 437 | |
438 | 438 | // If keys are not set bail. |
439 | - if ( ! $this->are_keys_set() ) { |
|
440 | - WC_Stripe_Logger::log( 'Keys are not set correctly.' ); |
|
439 | + if ( ! $this->are_keys_set()) { |
|
440 | + WC_Stripe_Logger::log('Keys are not set correctly.'); |
|
441 | 441 | return; |
442 | 442 | } |
443 | 443 | |
444 | 444 | // If no SSL bail. |
445 | - if ( ! $this->testmode && ! is_ssl() ) { |
|
446 | - WC_Stripe_Logger::log( 'Stripe live mode requires SSL.' ); |
|
445 | + if ( ! $this->testmode && ! is_ssl()) { |
|
446 | + WC_Stripe_Logger::log('Stripe live mode requires SSL.'); |
|
447 | 447 | } |
448 | 448 | |
449 | 449 | $current_theme = wp_get_theme(); |
450 | 450 | |
451 | - $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'; |
|
451 | + $suffix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min'; |
|
452 | 452 | |
453 | - wp_register_style( 'stripe_styles', plugins_url( 'assets/css/stripe-styles.css', WC_STRIPE_MAIN_FILE ), array(), WC_STRIPE_VERSION ); |
|
454 | - wp_enqueue_style( 'stripe_styles' ); |
|
453 | + wp_register_style('stripe_styles', plugins_url('assets/css/stripe-styles.css', WC_STRIPE_MAIN_FILE), array(), WC_STRIPE_VERSION); |
|
454 | + wp_enqueue_style('stripe_styles'); |
|
455 | 455 | |
456 | - if ( 'storefront' === $current_theme->get_template() ) { |
|
457 | - wp_register_style( 'stripe_storefront_styles', plugins_url( 'assets/css/stripe-storefront-styles.css', WC_STRIPE_MAIN_FILE ), array(), WC_STRIPE_VERSION ); |
|
458 | - wp_enqueue_style( 'stripe_storefront_styles' ); |
|
456 | + if ('storefront' === $current_theme->get_template()) { |
|
457 | + wp_register_style('stripe_storefront_styles', plugins_url('assets/css/stripe-storefront-styles.css', WC_STRIPE_MAIN_FILE), array(), WC_STRIPE_VERSION); |
|
458 | + wp_enqueue_style('stripe_storefront_styles'); |
|
459 | 459 | } |
460 | 460 | |
461 | - if ( 'twentyseventeen' === $current_theme->get_template() ) { |
|
462 | - wp_register_style( 'stripe_twentyseventeen_styles', plugins_url( 'assets/css/stripe-twentyseventeen-styles.css', WC_STRIPE_MAIN_FILE ), array(), WC_STRIPE_VERSION ); |
|
463 | - wp_enqueue_style( 'stripe_twentyseventeen_styles' ); |
|
461 | + if ('twentyseventeen' === $current_theme->get_template()) { |
|
462 | + wp_register_style('stripe_twentyseventeen_styles', plugins_url('assets/css/stripe-twentyseventeen-styles.css', WC_STRIPE_MAIN_FILE), array(), WC_STRIPE_VERSION); |
|
463 | + wp_enqueue_style('stripe_twentyseventeen_styles'); |
|
464 | 464 | } |
465 | 465 | |
466 | - wp_register_script( 'stripe_checkout', 'https://checkout.stripe.com/checkout.js', '', WC_STRIPE_VERSION, true ); |
|
467 | - wp_register_script( 'stripe', 'https://js.stripe.com/v3/', '', '3.0', true ); |
|
468 | - wp_register_script( 'woocommerce_stripe', plugins_url( 'assets/js/stripe' . $suffix . '.js', WC_STRIPE_MAIN_FILE ), array( 'jquery-payment', 'stripe' ), WC_STRIPE_VERSION, true ); |
|
466 | + wp_register_script('stripe_checkout', 'https://checkout.stripe.com/checkout.js', '', WC_STRIPE_VERSION, true); |
|
467 | + wp_register_script('stripe', 'https://js.stripe.com/v3/', '', '3.0', true); |
|
468 | + wp_register_script('woocommerce_stripe', plugins_url('assets/js/stripe' . $suffix . '.js', WC_STRIPE_MAIN_FILE), array('jquery-payment', 'stripe'), WC_STRIPE_VERSION, true); |
|
469 | 469 | |
470 | 470 | $stripe_params = array( |
471 | 471 | 'key' => $this->publishable_key, |
472 | - 'i18n_terms' => __( 'Please accept the terms and conditions first', 'woocommerce-gateway-stripe' ), |
|
473 | - 'i18n_required_fields' => __( 'Please fill in required checkout fields first', 'woocommerce-gateway-stripe' ), |
|
472 | + 'i18n_terms' => __('Please accept the terms and conditions first', 'woocommerce-gateway-stripe'), |
|
473 | + 'i18n_required_fields' => __('Please fill in required checkout fields first', 'woocommerce-gateway-stripe'), |
|
474 | 474 | ); |
475 | 475 | |
476 | 476 | // If we're on the pay page we need to pass stripe.js the address of the order. |
477 | - if ( isset( $_GET['pay_for_order'] ) && 'true' === $_GET['pay_for_order'] ) { |
|
478 | - $order_id = wc_get_order_id_by_order_key( urldecode( $_GET['key'] ) ); |
|
479 | - $order = wc_get_order( $order_id ); |
|
477 | + if (isset($_GET['pay_for_order']) && 'true' === $_GET['pay_for_order']) { |
|
478 | + $order_id = wc_get_order_id_by_order_key(urldecode($_GET['key'])); |
|
479 | + $order = wc_get_order($order_id); |
|
480 | 480 | |
481 | 481 | $stripe_params['billing_first_name'] = WC_Stripe_Helper::is_pre_30() ? $order->billing_first_name : $order->get_billing_first_name(); |
482 | 482 | $stripe_params['billing_last_name'] = WC_Stripe_Helper::is_pre_30() ? $order->billing_last_name : $order->get_billing_last_name(); |
@@ -488,38 +488,38 @@ discard block |
||
488 | 488 | $stripe_params['billing_country'] = WC_Stripe_Helper::is_pre_30() ? $order->billing_country : $order->get_billing_country(); |
489 | 489 | } |
490 | 490 | |
491 | - $stripe_params['no_prepaid_card_msg'] = __( 'Sorry, we\'re not accepting prepaid cards at this time. Your credit card has not been charge. Please try with alternative payment method.', 'woocommerce-gateway-stripe' ); |
|
492 | - $stripe_params['no_sepa_owner_msg'] = __( 'Please enter your IBAN account name.', 'woocommerce-gateway-stripe' ); |
|
493 | - $stripe_params['no_sepa_iban_msg'] = __( 'Please enter your IBAN account number.', 'woocommerce-gateway-stripe' ); |
|
494 | - $stripe_params['sepa_mandate_notification'] = apply_filters( 'wc_stripe_sepa_mandate_notification', 'email' ); |
|
495 | - $stripe_params['allow_prepaid_card'] = apply_filters( 'wc_stripe_allow_prepaid_card', true ) ? 'yes' : 'no'; |
|
491 | + $stripe_params['no_prepaid_card_msg'] = __('Sorry, we\'re not accepting prepaid cards at this time. Your credit card has not been charge. Please try with alternative payment method.', 'woocommerce-gateway-stripe'); |
|
492 | + $stripe_params['no_sepa_owner_msg'] = __('Please enter your IBAN account name.', 'woocommerce-gateway-stripe'); |
|
493 | + $stripe_params['no_sepa_iban_msg'] = __('Please enter your IBAN account number.', 'woocommerce-gateway-stripe'); |
|
494 | + $stripe_params['sepa_mandate_notification'] = apply_filters('wc_stripe_sepa_mandate_notification', 'email'); |
|
495 | + $stripe_params['allow_prepaid_card'] = apply_filters('wc_stripe_allow_prepaid_card', true) ? 'yes' : 'no'; |
|
496 | 496 | $stripe_params['inline_cc_form'] = $this->inline_cc_form ? 'yes' : 'no'; |
497 | - $stripe_params['stripe_checkout_require_billing_address'] = apply_filters( 'wc_stripe_checkout_require_billing_address', false ) ? 'yes' : 'no'; |
|
498 | - $stripe_params['is_checkout'] = ( is_checkout() && empty( $_GET['pay_for_order'] ) ) ? 'yes' : 'no'; |
|
497 | + $stripe_params['stripe_checkout_require_billing_address'] = apply_filters('wc_stripe_checkout_require_billing_address', false) ? 'yes' : 'no'; |
|
498 | + $stripe_params['is_checkout'] = (is_checkout() && empty($_GET['pay_for_order'])) ? 'yes' : 'no'; |
|
499 | 499 | $stripe_params['return_url'] = $this->get_stripe_return_url(); |
500 | - $stripe_params['ajaxurl'] = WC_AJAX::get_endpoint( '%%endpoint%%' ); |
|
501 | - $stripe_params['stripe_nonce'] = wp_create_nonce( '_wc_stripe_nonce' ); |
|
500 | + $stripe_params['ajaxurl'] = WC_AJAX::get_endpoint('%%endpoint%%'); |
|
501 | + $stripe_params['stripe_nonce'] = wp_create_nonce('_wc_stripe_nonce'); |
|
502 | 502 | $stripe_params['statement_descriptor'] = $this->statement_descriptor; |
503 | - $stripe_params['elements_options'] = apply_filters( 'wc_stripe_elements_options', array() ); |
|
503 | + $stripe_params['elements_options'] = apply_filters('wc_stripe_elements_options', array()); |
|
504 | 504 | $stripe_params['is_stripe_checkout'] = $this->stripe_checkout ? 'yes' : 'no'; |
505 | - $stripe_params['is_change_payment_page'] = isset( $_GET['change_payment_method'] ) ? 'yes' : 'no'; |
|
506 | - $stripe_params['is_add_payment_page'] = is_wc_endpoint_url( 'add-payment-method' ) ? 'yes' : 'no'; |
|
507 | - $stripe_params['is_pay_for_order_page'] = is_wc_endpoint_url( 'order-pay' ) ? 'yes' : 'no'; |
|
508 | - $stripe_params['elements_styling'] = apply_filters( 'wc_stripe_elements_styling', false ); |
|
509 | - $stripe_params['elements_classes'] = apply_filters( 'wc_stripe_elements_classes', false ); |
|
505 | + $stripe_params['is_change_payment_page'] = isset($_GET['change_payment_method']) ? 'yes' : 'no'; |
|
506 | + $stripe_params['is_add_payment_page'] = is_wc_endpoint_url('add-payment-method') ? 'yes' : 'no'; |
|
507 | + $stripe_params['is_pay_for_order_page'] = is_wc_endpoint_url('order-pay') ? 'yes' : 'no'; |
|
508 | + $stripe_params['elements_styling'] = apply_filters('wc_stripe_elements_styling', false); |
|
509 | + $stripe_params['elements_classes'] = apply_filters('wc_stripe_elements_classes', false); |
|
510 | 510 | |
511 | 511 | // merge localized messages to be use in JS |
512 | - $stripe_params = array_merge( $stripe_params, WC_Stripe_Helper::get_localized_messages() ); |
|
512 | + $stripe_params = array_merge($stripe_params, WC_Stripe_Helper::get_localized_messages()); |
|
513 | 513 | |
514 | - wp_localize_script( 'woocommerce_stripe', 'wc_stripe_params', apply_filters( 'wc_stripe_params', $stripe_params ) ); |
|
515 | - wp_localize_script( 'woocommerce_stripe_checkout', 'wc_stripe_params', apply_filters( 'wc_stripe_params', $stripe_params ) ); |
|
514 | + wp_localize_script('woocommerce_stripe', 'wc_stripe_params', apply_filters('wc_stripe_params', $stripe_params)); |
|
515 | + wp_localize_script('woocommerce_stripe_checkout', 'wc_stripe_params', apply_filters('wc_stripe_params', $stripe_params)); |
|
516 | 516 | |
517 | - if ( $this->stripe_checkout ) { |
|
518 | - wp_enqueue_script( 'stripe_checkout' ); |
|
517 | + if ($this->stripe_checkout) { |
|
518 | + wp_enqueue_script('stripe_checkout'); |
|
519 | 519 | } |
520 | 520 | |
521 | 521 | $this->tokenization_script(); |
522 | - wp_enqueue_script( 'woocommerce_stripe' ); |
|
522 | + wp_enqueue_script('woocommerce_stripe'); |
|
523 | 523 | } |
524 | 524 | |
525 | 525 | /** |
@@ -527,70 +527,70 @@ discard block |
||
527 | 527 | * |
528 | 528 | * @since 4.1.0 |
529 | 529 | */ |
530 | - public function stripe_checkout_receipt_page( $order_id ) { |
|
531 | - if ( ! $this->stripe_checkout ) { |
|
530 | + public function stripe_checkout_receipt_page($order_id) { |
|
531 | + if ( ! $this->stripe_checkout) { |
|
532 | 532 | return; |
533 | 533 | } |
534 | 534 | |
535 | 535 | $user = wp_get_current_user(); |
536 | 536 | $total = WC()->cart->total; |
537 | 537 | $user_email = ''; |
538 | - $display_tokenization = $this->supports( 'tokenization' ) && $this->saved_cards; |
|
538 | + $display_tokenization = $this->supports('tokenization') && $this->saved_cards; |
|
539 | 539 | |
540 | 540 | // If paying from order, we need to get total from order not cart. |
541 | - if ( ! empty( $_GET['key'] ) ) { |
|
542 | - $order = wc_get_order( wc_get_order_id_by_order_key( wc_clean( $_GET['key'] ) ) ); |
|
541 | + if ( ! empty($_GET['key'])) { |
|
542 | + $order = wc_get_order(wc_get_order_id_by_order_key(wc_clean($_GET['key']))); |
|
543 | 543 | $total = $order->get_total(); |
544 | 544 | $user_email = WC_Stripe_Helper::is_pre_30() ? $order->billing_email : $order->get_billing_email(); |
545 | 545 | } else { |
546 | - if ( $user->ID ) { |
|
547 | - $user_email = get_user_meta( $user->ID, 'billing_email', true ); |
|
546 | + if ($user->ID) { |
|
547 | + $user_email = get_user_meta($user->ID, 'billing_email', true); |
|
548 | 548 | $user_email = $user_email ? $user_email : $user->user_email; |
549 | 549 | } |
550 | 550 | } |
551 | 551 | |
552 | 552 | ob_start(); |
553 | 553 | |
554 | - do_action( 'wc_stripe_checkout_receipt_page_before_form' ); |
|
554 | + do_action('wc_stripe_checkout_receipt_page_before_form'); |
|
555 | 555 | |
556 | - echo '<form method="post" class="woocommerce-checkout" action="' . WC()->api_request_url( get_class( $this ) ) . '">'; |
|
556 | + echo '<form method="post" class="woocommerce-checkout" action="' . WC()->api_request_url(get_class($this)) . '">'; |
|
557 | 557 | echo '<div |
558 | 558 | id="stripe-payment-data" |
559 | - data-panel-label="' . esc_attr( apply_filters( 'wc_stripe_checkout_label', '' ) ) . '" |
|
560 | - data-description="' . esc_attr( strip_tags( $this->stripe_checkout_description ) ) . '" |
|
561 | - data-email="' . esc_attr( $user_email ) . '" |
|
562 | - data-verify-zip="' . esc_attr( apply_filters( 'wc_stripe_checkout_verify_zip', false ) ? 'true' : 'false' ) . '" |
|
563 | - data-billing-address="' . esc_attr( apply_filters( 'wc_stripe_checkout_require_billing_address', false ) ? 'true' : 'false' ) . '" |
|
564 | - data-shipping-address="' . esc_attr( apply_filters( 'wc_stripe_checkout_require_shipping_address', false ) ? 'true' : 'false' ) . '" |
|
565 | - data-amount="' . esc_attr( WC_Stripe_Helper::get_stripe_amount( $total ) ) . '" |
|
566 | - data-name="' . esc_attr( $this->statement_descriptor ) . '" |
|
567 | - data-currency="' . esc_attr( strtolower( get_woocommerce_currency() ) ) . '" |
|
568 | - data-image="' . esc_attr( $this->stripe_checkout_image ) . '" |
|
569 | - data-locale="' . esc_attr( apply_filters( 'wc_stripe_checkout_locale', $this->get_locale() ) ) . '" |
|
570 | - data-three-d-secure="' . esc_attr( $this->three_d_secure ? 'true' : 'false' ) . '" |
|
571 | - data-allow-remember-me="' . esc_attr( apply_filters( 'wc_stripe_allow_remember_me', true ) ? 'true' : 'false' ) . '">'; |
|
572 | - echo '<input type="hidden" name="order_id" value="' . esc_attr( $order_id ) . '" />'; |
|
559 | + data-panel-label="' . esc_attr(apply_filters('wc_stripe_checkout_label', '')) . '" |
|
560 | + data-description="' . esc_attr(strip_tags($this->stripe_checkout_description)) . '" |
|
561 | + data-email="' . esc_attr($user_email) . '" |
|
562 | + data-verify-zip="' . esc_attr(apply_filters('wc_stripe_checkout_verify_zip', false) ? 'true' : 'false') . '" |
|
563 | + data-billing-address="' . esc_attr(apply_filters('wc_stripe_checkout_require_billing_address', false) ? 'true' : 'false') . '" |
|
564 | + data-shipping-address="' . esc_attr(apply_filters('wc_stripe_checkout_require_shipping_address', false) ? 'true' : 'false') . '" |
|
565 | + data-amount="' . esc_attr(WC_Stripe_Helper::get_stripe_amount($total)) . '" |
|
566 | + data-name="' . esc_attr($this->statement_descriptor) . '" |
|
567 | + data-currency="' . esc_attr(strtolower(get_woocommerce_currency())) . '" |
|
568 | + data-image="' . esc_attr($this->stripe_checkout_image) . '" |
|
569 | + data-locale="' . esc_attr(apply_filters('wc_stripe_checkout_locale', $this->get_locale())) . '" |
|
570 | + data-three-d-secure="' . esc_attr($this->three_d_secure ? 'true' : 'false') . '" |
|
571 | + data-allow-remember-me="' . esc_attr(apply_filters('wc_stripe_allow_remember_me', true) ? 'true' : 'false') . '">'; |
|
572 | + echo '<input type="hidden" name="order_id" value="' . esc_attr($order_id) . '" />'; |
|
573 | 573 | echo '<input type="hidden" name="stripe_checkout_order" value="yes" />'; |
574 | 574 | |
575 | 575 | if ( |
576 | - apply_filters( 'wc_stripe_display_save_payment_method_checkbox', $display_tokenization ) && |
|
577 | - ( ! function_exists( 'wcs_order_contains_subscription' ) || ( function_exists( 'wcs_order_contains_subscription' ) && ! WC_Subscriptions_Cart::cart_contains_subscription() ) ) && |
|
578 | - ( ! WC_Stripe_Helper::is_pre_orders_exists() || ( WC_Stripe_Helper::is_pre_orders_exists() && ! $this->pre_orders->is_pre_order( $order_id ) ) ) |
|
576 | + apply_filters('wc_stripe_display_save_payment_method_checkbox', $display_tokenization) && |
|
577 | + ( ! function_exists('wcs_order_contains_subscription') || (function_exists('wcs_order_contains_subscription') && ! WC_Subscriptions_Cart::cart_contains_subscription())) && |
|
578 | + ( ! WC_Stripe_Helper::is_pre_orders_exists() || (WC_Stripe_Helper::is_pre_orders_exists() && ! $this->pre_orders->is_pre_order($order_id))) |
|
579 | 579 | ) { |
580 | 580 | $this->save_payment_method_checkbox(); |
581 | 581 | } |
582 | 582 | |
583 | - wp_nonce_field( 'stripe-checkout-process', 'stripe_checkout_process_nonce' ); |
|
583 | + wp_nonce_field('stripe-checkout-process', 'stripe_checkout_process_nonce'); |
|
584 | 584 | |
585 | - do_action( 'wc_stripe_checkout_receipt_page_before_form_submit' ); |
|
585 | + do_action('wc_stripe_checkout_receipt_page_before_form_submit'); |
|
586 | 586 | |
587 | - echo '<button type="submit" class="wc-stripe-checkout-button">' . __( 'Place Order', 'woocommerce-gateway-stripe' ) . '</button>'; |
|
587 | + echo '<button type="submit" class="wc-stripe-checkout-button">' . __('Place Order', 'woocommerce-gateway-stripe') . '</button>'; |
|
588 | 588 | |
589 | - do_action( 'wc_stripe_checkout_receipt_page_after_form_submit' ); |
|
589 | + do_action('wc_stripe_checkout_receipt_page_after_form_submit'); |
|
590 | 590 | |
591 | 591 | echo '</form>'; |
592 | 592 | |
593 | - do_action( 'wc_stripe_checkout_receipt_page_after_form' ); |
|
593 | + do_action('wc_stripe_checkout_receipt_page_after_form'); |
|
594 | 594 | |
595 | 595 | echo '</div>'; |
596 | 596 | |
@@ -603,32 +603,32 @@ discard block |
||
603 | 603 | * @since 4.1.0 |
604 | 604 | */ |
605 | 605 | public function stripe_checkout_return_handler() { |
606 | - if ( ! $this->stripe_checkout ) { |
|
606 | + if ( ! $this->stripe_checkout) { |
|
607 | 607 | return; |
608 | 608 | } |
609 | 609 | |
610 | - if ( ! wp_verify_nonce( $_POST['stripe_checkout_process_nonce'], 'stripe-checkout-process' ) ) { |
|
610 | + if ( ! wp_verify_nonce($_POST['stripe_checkout_process_nonce'], 'stripe-checkout-process')) { |
|
611 | 611 | return; |
612 | 612 | } |
613 | 613 | |
614 | - $order_id = wc_clean( $_POST['order_id'] ); |
|
615 | - $order = wc_get_order( $order_id ); |
|
614 | + $order_id = wc_clean($_POST['order_id']); |
|
615 | + $order = wc_get_order($order_id); |
|
616 | 616 | |
617 | - do_action( 'wc_stripe_checkout_return_handler', $order ); |
|
617 | + do_action('wc_stripe_checkout_return_handler', $order); |
|
618 | 618 | |
619 | - if ( WC_Stripe_Helper::is_pre_orders_exists() && $this->pre_orders->is_pre_order( $order_id ) && WC_Pre_Orders_Order::order_requires_payment_tokenization( $order_id ) ) { |
|
620 | - $result = $this->pre_orders->process_pre_order( $order_id ); |
|
619 | + if (WC_Stripe_Helper::is_pre_orders_exists() && $this->pre_orders->is_pre_order($order_id) && WC_Pre_Orders_Order::order_requires_payment_tokenization($order_id)) { |
|
620 | + $result = $this->pre_orders->process_pre_order($order_id); |
|
621 | 621 | } else { |
622 | - $result = $this->process_payment( $order_id ); |
|
622 | + $result = $this->process_payment($order_id); |
|
623 | 623 | } |
624 | 624 | |
625 | - if ( 'success' === $result['result'] ) { |
|
626 | - wp_redirect( $result['redirect'] ); |
|
625 | + if ('success' === $result['result']) { |
|
626 | + wp_redirect($result['redirect']); |
|
627 | 627 | exit; |
628 | 628 | } |
629 | 629 | |
630 | 630 | // Redirects back to pay order page. |
631 | - wp_safe_redirect( $order->get_checkout_payment_url( true ) ); |
|
631 | + wp_safe_redirect($order->get_checkout_payment_url(true)); |
|
632 | 632 | exit; |
633 | 633 | } |
634 | 634 | |
@@ -639,13 +639,13 @@ discard block |
||
639 | 639 | * @return bool |
640 | 640 | */ |
641 | 641 | public function maybe_redirect_stripe_checkout() { |
642 | - $is_payment_request = ( isset( $_POST ) && isset( $_POST['payment_request_type'] ) ); |
|
642 | + $is_payment_request = (isset($_POST) && isset($_POST['payment_request_type'])); |
|
643 | 643 | |
644 | 644 | return ( |
645 | 645 | $this->stripe_checkout && |
646 | - ! isset( $_POST['stripe_checkout_order'] ) && |
|
646 | + ! isset($_POST['stripe_checkout_order']) && |
|
647 | 647 | ! $this->is_using_saved_payment_method() && |
648 | - ! is_wc_endpoint_url( 'order-pay' ) && |
|
648 | + ! is_wc_endpoint_url('order-pay') && |
|
649 | 649 | ! $is_payment_request |
650 | 650 | ); |
651 | 651 | } |
@@ -664,54 +664,54 @@ discard block |
||
664 | 664 | * |
665 | 665 | * @return array|void |
666 | 666 | */ |
667 | - public function process_payment( $order_id, $retry = true, $force_save_source = false, $previous_error = false ) { |
|
667 | + public function process_payment($order_id, $retry = true, $force_save_source = false, $previous_error = false) { |
|
668 | 668 | try { |
669 | - $order = wc_get_order( $order_id ); |
|
669 | + $order = wc_get_order($order_id); |
|
670 | 670 | |
671 | - if ( $this->maybe_redirect_stripe_checkout() ) { |
|
672 | - WC_Stripe_Logger::log( sprintf( 'Redirecting to Stripe Checkout page for order %s', $order_id ) ); |
|
671 | + if ($this->maybe_redirect_stripe_checkout()) { |
|
672 | + WC_Stripe_Logger::log(sprintf('Redirecting to Stripe Checkout page for order %s', $order_id)); |
|
673 | 673 | |
674 | 674 | return array( |
675 | 675 | 'result' => 'success', |
676 | - 'redirect' => $order->get_checkout_payment_url( true ), |
|
676 | + 'redirect' => $order->get_checkout_payment_url(true), |
|
677 | 677 | ); |
678 | 678 | } |
679 | 679 | |
680 | - if ( $this->maybe_process_pre_orders( $order_id ) ) { |
|
681 | - return $this->pre_orders->process_pre_order( $order_id ); |
|
680 | + if ($this->maybe_process_pre_orders($order_id)) { |
|
681 | + return $this->pre_orders->process_pre_order($order_id); |
|
682 | 682 | } |
683 | 683 | |
684 | 684 | // This comes from the create account checkbox in the checkout page. |
685 | - $create_account = ! empty( $_POST['createaccount'] ) ? true : false; |
|
685 | + $create_account = ! empty($_POST['createaccount']) ? true : false; |
|
686 | 686 | |
687 | - if ( $create_account ) { |
|
687 | + if ($create_account) { |
|
688 | 688 | $new_customer_id = WC_Stripe_Helper::is_pre_30() ? $order->customer_user : $order->get_customer_id(); |
689 | - $new_stripe_customer = new WC_Stripe_Customer( $new_customer_id ); |
|
689 | + $new_stripe_customer = new WC_Stripe_Customer($new_customer_id); |
|
690 | 690 | $new_stripe_customer->create_customer(); |
691 | 691 | } |
692 | 692 | |
693 | - $prepared_source = $this->prepare_source( get_current_user_id(), $force_save_source ); |
|
693 | + $prepared_source = $this->prepare_source(get_current_user_id(), $force_save_source); |
|
694 | 694 | $source_object = $prepared_source->source_object; |
695 | 695 | |
696 | 696 | // Check if we don't allow prepaid credit cards. |
697 | - if ( ! apply_filters( 'wc_stripe_allow_prepaid_card', true ) && $this->is_prepaid_card( $source_object ) ) { |
|
698 | - $localized_message = __( 'Sorry, we\'re not accepting prepaid cards at this time. Your credit card has not been charge. Please try with alternative payment method.', 'woocommerce-gateway-stripe' ); |
|
699 | - throw new WC_Stripe_Exception( print_r( $source_object, true ), $localized_message ); |
|
697 | + if ( ! apply_filters('wc_stripe_allow_prepaid_card', true) && $this->is_prepaid_card($source_object)) { |
|
698 | + $localized_message = __('Sorry, we\'re not accepting prepaid cards at this time. Your credit card has not been charge. Please try with alternative payment method.', 'woocommerce-gateway-stripe'); |
|
699 | + throw new WC_Stripe_Exception(print_r($source_object, true), $localized_message); |
|
700 | 700 | } |
701 | 701 | |
702 | - if ( empty( $prepared_source->source ) ) { |
|
703 | - $localized_message = __( 'Payment processing failed. Please retry.', 'woocommerce-gateway-stripe' ); |
|
704 | - throw new WC_Stripe_Exception( print_r( $prepared_source, true ), $localized_message ); |
|
702 | + if (empty($prepared_source->source)) { |
|
703 | + $localized_message = __('Payment processing failed. Please retry.', 'woocommerce-gateway-stripe'); |
|
704 | + throw new WC_Stripe_Exception(print_r($prepared_source, true), $localized_message); |
|
705 | 705 | } |
706 | 706 | |
707 | - $this->save_source_to_order( $order, $prepared_source ); |
|
707 | + $this->save_source_to_order($order, $prepared_source); |
|
708 | 708 | |
709 | 709 | // Result from Stripe API request. |
710 | 710 | $response = null; |
711 | 711 | |
712 | - if ( $order->get_total() > 0 ) { |
|
712 | + if ($order->get_total() > 0) { |
|
713 | 713 | // This will throw exception if not valid. |
714 | - $this->validate_minimum_order_amount( $order ); |
|
714 | + $this->validate_minimum_order_amount($order); |
|
715 | 715 | |
716 | 716 | /* |
717 | 717 | * Check if card 3DS is required or optional with 3DS setting. |
@@ -720,22 +720,22 @@ discard block |
||
720 | 720 | * Note that if we need to save source, the original source must be first |
721 | 721 | * attached to a customer in Stripe before it can be charged. |
722 | 722 | */ |
723 | - if ( $this->is_3ds_required( $source_object ) ) { |
|
724 | - $response = $this->create_3ds_source( $order, $source_object ); |
|
723 | + if ($this->is_3ds_required($source_object)) { |
|
724 | + $response = $this->create_3ds_source($order, $source_object); |
|
725 | 725 | |
726 | - if ( ! empty( $response->error ) ) { |
|
726 | + if ( ! empty($response->error)) { |
|
727 | 727 | $localized_message = $response->error->message; |
728 | 728 | |
729 | - $order->add_order_note( $localized_message ); |
|
729 | + $order->add_order_note($localized_message); |
|
730 | 730 | |
731 | - throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message ); |
|
731 | + throw new WC_Stripe_Exception(print_r($response, true), $localized_message); |
|
732 | 732 | } |
733 | 733 | |
734 | 734 | // Update order meta with 3DS source. |
735 | - if ( WC_Stripe_Helper::is_pre_30() ) { |
|
736 | - update_post_meta( $order_id, '_stripe_source_id', $response->id ); |
|
735 | + if (WC_Stripe_Helper::is_pre_30()) { |
|
736 | + update_post_meta($order_id, '_stripe_source_id', $response->id); |
|
737 | 737 | } else { |
738 | - $order->update_meta_data( '_stripe_source_id', $response->id ); |
|
738 | + $order->update_meta_data('_stripe_source_id', $response->id); |
|
739 | 739 | $order->save(); |
740 | 740 | } |
741 | 741 | |
@@ -743,87 +743,87 @@ discard block |
||
743 | 743 | * Make sure after creating 3DS object it is in pending status |
744 | 744 | * before redirecting. |
745 | 745 | */ |
746 | - if ( 'pending' === $response->redirect->status ) { |
|
747 | - WC_Stripe_Logger::log( 'Info: Redirecting to 3DS...' ); |
|
746 | + if ('pending' === $response->redirect->status) { |
|
747 | + WC_Stripe_Logger::log('Info: Redirecting to 3DS...'); |
|
748 | 748 | |
749 | 749 | return array( |
750 | 750 | 'result' => 'success', |
751 | - 'redirect' => esc_url_raw( $response->redirect->url ), |
|
751 | + 'redirect' => esc_url_raw($response->redirect->url), |
|
752 | 752 | ); |
753 | 753 | } |
754 | 754 | } |
755 | 755 | |
756 | - WC_Stripe_Logger::log( "Info: Begin processing payment for order $order_id for the amount of {$order->get_total()}" ); |
|
756 | + WC_Stripe_Logger::log("Info: Begin processing payment for order $order_id for the amount of {$order->get_total()}"); |
|
757 | 757 | |
758 | 758 | /* If we're doing a retry and source is chargeable, we need to pass |
759 | 759 | * a different idempotency key and retry for success. |
760 | 760 | */ |
761 | - if ( $this->need_update_idempotency_key( $source_object, $previous_error ) ) { |
|
762 | - add_filter( 'wc_stripe_idempotency_key', array( $this, 'change_idempotency_key' ), 10, 2 ); |
|
761 | + if ($this->need_update_idempotency_key($source_object, $previous_error)) { |
|
762 | + add_filter('wc_stripe_idempotency_key', array($this, 'change_idempotency_key'), 10, 2); |
|
763 | 763 | } |
764 | 764 | |
765 | 765 | // Make the request. |
766 | - $response = WC_Stripe_API::request( $this->generate_payment_request( $order, $prepared_source ) ); |
|
766 | + $response = WC_Stripe_API::request($this->generate_payment_request($order, $prepared_source)); |
|
767 | 767 | |
768 | - if ( ! empty( $response->error ) ) { |
|
768 | + if ( ! empty($response->error)) { |
|
769 | 769 | // Customer param wrong? The user may have been deleted on stripe's end. Remove customer_id. Can be retried without. |
770 | - if ( $this->is_no_such_customer_error( $response->error ) ) { |
|
771 | - if ( WC_Stripe_Helper::is_pre_30() ) { |
|
772 | - delete_user_meta( $order->customer_user, '_stripe_customer_id' ); |
|
773 | - delete_post_meta( $order_id, '_stripe_customer_id' ); |
|
770 | + if ($this->is_no_such_customer_error($response->error)) { |
|
771 | + if (WC_Stripe_Helper::is_pre_30()) { |
|
772 | + delete_user_meta($order->customer_user, '_stripe_customer_id'); |
|
773 | + delete_post_meta($order_id, '_stripe_customer_id'); |
|
774 | 774 | } else { |
775 | - delete_user_meta( $order->get_customer_id(), '_stripe_customer_id' ); |
|
776 | - $order->delete_meta_data( '_stripe_customer_id' ); |
|
775 | + delete_user_meta($order->get_customer_id(), '_stripe_customer_id'); |
|
776 | + $order->delete_meta_data('_stripe_customer_id'); |
|
777 | 777 | $order->save(); |
778 | 778 | } |
779 | 779 | } |
780 | 780 | |
781 | - if ( $this->is_no_such_token_error( $response->error ) && $prepared_source->token_id ) { |
|
781 | + if ($this->is_no_such_token_error($response->error) && $prepared_source->token_id) { |
|
782 | 782 | // Source param wrong? The CARD may have been deleted on stripe's end. Remove token and show message. |
783 | - $wc_token = WC_Payment_Tokens::get( $prepared_source->token_id ); |
|
783 | + $wc_token = WC_Payment_Tokens::get($prepared_source->token_id); |
|
784 | 784 | $wc_token->delete(); |
785 | - $localized_message = __( 'This card is no longer available and has been removed.', 'woocommerce-gateway-stripe' ); |
|
786 | - $order->add_order_note( $localized_message ); |
|
787 | - throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message ); |
|
785 | + $localized_message = __('This card is no longer available and has been removed.', 'woocommerce-gateway-stripe'); |
|
786 | + $order->add_order_note($localized_message); |
|
787 | + throw new WC_Stripe_Exception(print_r($response, true), $localized_message); |
|
788 | 788 | } |
789 | 789 | |
790 | 790 | // We want to retry. |
791 | - if ( $this->is_retryable_error( $response->error ) ) { |
|
792 | - if ( $retry ) { |
|
791 | + if ($this->is_retryable_error($response->error)) { |
|
792 | + if ($retry) { |
|
793 | 793 | // Don't do anymore retries after this. |
794 | - if ( 5 <= $this->retry_interval ) { |
|
795 | - return $this->process_payment( $order_id, false, $force_save_source, $response->error ); |
|
794 | + if (5 <= $this->retry_interval) { |
|
795 | + return $this->process_payment($order_id, false, $force_save_source, $response->error); |
|
796 | 796 | } |
797 | 797 | |
798 | - sleep( $this->retry_interval ); |
|
798 | + sleep($this->retry_interval); |
|
799 | 799 | |
800 | 800 | $this->retry_interval++; |
801 | 801 | |
802 | - return $this->process_payment( $order_id, true, $force_save_source, $response->error ); |
|
802 | + return $this->process_payment($order_id, true, $force_save_source, $response->error); |
|
803 | 803 | } else { |
804 | - $localized_message = __( 'Sorry, we are unable to process your payment at this time. Please retry later.', 'woocommerce-gateway-stripe' ); |
|
805 | - $order->add_order_note( $localized_message ); |
|
806 | - throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message ); |
|
804 | + $localized_message = __('Sorry, we are unable to process your payment at this time. Please retry later.', 'woocommerce-gateway-stripe'); |
|
805 | + $order->add_order_note($localized_message); |
|
806 | + throw new WC_Stripe_Exception(print_r($response, true), $localized_message); |
|
807 | 807 | } |
808 | 808 | } |
809 | 809 | |
810 | 810 | $localized_messages = WC_Stripe_Helper::get_localized_messages(); |
811 | 811 | |
812 | - if ( 'card_error' === $response->error->type ) { |
|
813 | - $localized_message = isset( $localized_messages[ $response->error->code ] ) ? $localized_messages[ $response->error->code ] : $response->error->message; |
|
812 | + if ('card_error' === $response->error->type) { |
|
813 | + $localized_message = isset($localized_messages[$response->error->code]) ? $localized_messages[$response->error->code] : $response->error->message; |
|
814 | 814 | } else { |
815 | - $localized_message = isset( $localized_messages[ $response->error->type ] ) ? $localized_messages[ $response->error->type ] : $response->error->message; |
|
815 | + $localized_message = isset($localized_messages[$response->error->type]) ? $localized_messages[$response->error->type] : $response->error->message; |
|
816 | 816 | } |
817 | 817 | |
818 | - $order->add_order_note( $localized_message ); |
|
818 | + $order->add_order_note($localized_message); |
|
819 | 819 | |
820 | - throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message ); |
|
820 | + throw new WC_Stripe_Exception(print_r($response, true), $localized_message); |
|
821 | 821 | } |
822 | 822 | |
823 | - do_action( 'wc_gateway_stripe_process_payment', $response, $order ); |
|
823 | + do_action('wc_gateway_stripe_process_payment', $response, $order); |
|
824 | 824 | |
825 | 825 | // Process valid response. |
826 | - $this->process_response( $response, $order ); |
|
826 | + $this->process_response($response, $order); |
|
827 | 827 | } else { |
828 | 828 | $order->payment_complete(); |
829 | 829 | } |
@@ -834,17 +834,17 @@ discard block |
||
834 | 834 | // Return thank you page redirect. |
835 | 835 | return array( |
836 | 836 | 'result' => 'success', |
837 | - 'redirect' => $this->get_return_url( $order ), |
|
837 | + 'redirect' => $this->get_return_url($order), |
|
838 | 838 | ); |
839 | 839 | |
840 | - } catch ( WC_Stripe_Exception $e ) { |
|
841 | - wc_add_notice( $e->getLocalizedMessage(), 'error' ); |
|
842 | - WC_Stripe_Logger::log( 'Error: ' . $e->getMessage() ); |
|
840 | + } catch (WC_Stripe_Exception $e) { |
|
841 | + wc_add_notice($e->getLocalizedMessage(), 'error'); |
|
842 | + WC_Stripe_Logger::log('Error: ' . $e->getMessage()); |
|
843 | 843 | |
844 | - do_action( 'wc_gateway_stripe_process_payment_error', $e, $order ); |
|
844 | + do_action('wc_gateway_stripe_process_payment_error', $e, $order); |
|
845 | 845 | |
846 | 846 | /* translators: error message */ |
847 | - $order->update_status( 'failed' ); |
|
847 | + $order->update_status('failed'); |
|
848 | 848 | |
849 | 849 | return array( |
850 | 850 | 'result' => 'fail', |
@@ -860,17 +860,17 @@ discard block |
||
860 | 860 | * |
861 | 861 | * @param int $order_id |
862 | 862 | */ |
863 | - public function display_order_fee( $order_id ) { |
|
864 | - if ( apply_filters( 'wc_stripe_hide_display_order_fee', false, $order_id ) ) { |
|
863 | + public function display_order_fee($order_id) { |
|
864 | + if (apply_filters('wc_stripe_hide_display_order_fee', false, $order_id)) { |
|
865 | 865 | return; |
866 | 866 | } |
867 | 867 | |
868 | - $order = wc_get_order( $order_id ); |
|
868 | + $order = wc_get_order($order_id); |
|
869 | 869 | |
870 | - $fee = WC_Stripe_Helper::get_stripe_fee( $order ); |
|
871 | - $currency = WC_Stripe_Helper::get_stripe_currency( $order ); |
|
870 | + $fee = WC_Stripe_Helper::get_stripe_fee($order); |
|
871 | + $currency = WC_Stripe_Helper::get_stripe_currency($order); |
|
872 | 872 | |
873 | - if ( ! $fee || ! $currency ) { |
|
873 | + if ( ! $fee || ! $currency) { |
|
874 | 874 | return; |
875 | 875 | } |
876 | 876 | |
@@ -878,12 +878,12 @@ discard block |
||
878 | 878 | |
879 | 879 | <tr> |
880 | 880 | <td class="label stripe-fee"> |
881 | - <?php echo wc_help_tip( __( 'This represents the fee Stripe collects for the transaction.', 'woocommerce-gateway-stripe' ) ); ?> |
|
882 | - <?php esc_html_e( 'Stripe Fee:', 'woocommerce-gateway-stripe' ); ?> |
|
881 | + <?php echo wc_help_tip(__('This represents the fee Stripe collects for the transaction.', 'woocommerce-gateway-stripe')); ?> |
|
882 | + <?php esc_html_e('Stripe Fee:', 'woocommerce-gateway-stripe'); ?> |
|
883 | 883 | </td> |
884 | 884 | <td width="1%"></td> |
885 | 885 | <td class="total"> |
886 | - - <?php echo wc_price( $fee, array( 'currency' => $currency ) ); ?> |
|
886 | + - <?php echo wc_price($fee, array('currency' => $currency)); ?> |
|
887 | 887 | </td> |
888 | 888 | </tr> |
889 | 889 | |
@@ -897,17 +897,17 @@ discard block |
||
897 | 897 | * |
898 | 898 | * @param int $order_id |
899 | 899 | */ |
900 | - public function display_order_payout( $order_id ) { |
|
901 | - if ( apply_filters( 'wc_stripe_hide_display_order_payout', false, $order_id ) ) { |
|
900 | + public function display_order_payout($order_id) { |
|
901 | + if (apply_filters('wc_stripe_hide_display_order_payout', false, $order_id)) { |
|
902 | 902 | return; |
903 | 903 | } |
904 | 904 | |
905 | - $order = wc_get_order( $order_id ); |
|
905 | + $order = wc_get_order($order_id); |
|
906 | 906 | |
907 | - $net = WC_Stripe_Helper::get_stripe_net( $order ); |
|
908 | - $currency = WC_Stripe_Helper::get_stripe_currency( $order ); |
|
907 | + $net = WC_Stripe_Helper::get_stripe_net($order); |
|
908 | + $currency = WC_Stripe_Helper::get_stripe_currency($order); |
|
909 | 909 | |
910 | - if ( ! $net || ! $currency ) { |
|
910 | + if ( ! $net || ! $currency) { |
|
911 | 911 | return; |
912 | 912 | } |
913 | 913 | |
@@ -915,12 +915,12 @@ discard block |
||
915 | 915 | |
916 | 916 | <tr> |
917 | 917 | <td class="label stripe-payout"> |
918 | - <?php echo wc_help_tip( __( 'This represents the net total that will be credited to your Stripe bank account. This may be in the currency that is set in your Stripe account.', 'woocommerce-gateway-stripe' ) ); ?> |
|
919 | - <?php esc_html_e( 'Stripe Payout:', 'woocommerce-gateway-stripe' ); ?> |
|
918 | + <?php echo wc_help_tip(__('This represents the net total that will be credited to your Stripe bank account. This may be in the currency that is set in your Stripe account.', 'woocommerce-gateway-stripe')); ?> |
|
919 | + <?php esc_html_e('Stripe Payout:', 'woocommerce-gateway-stripe'); ?> |
|
920 | 920 | </td> |
921 | 921 | <td width="1%"></td> |
922 | 922 | <td class="total"> |
923 | - <?php echo wc_price( $net, array( 'currency' => $currency ) ); ?> |
|
923 | + <?php echo wc_price($net, array('currency' => $currency)); ?> |
|
924 | 924 | </td> |
925 | 925 | </tr> |
926 | 926 |