@@ -1,5 +1,5 @@ discard block |
||
1 | 1 | <?php |
2 | -if ( ! defined( 'ABSPATH' ) ) { |
|
2 | +if ( ! defined('ABSPATH')) { |
|
3 | 3 | exit; |
4 | 4 | } |
5 | 5 | |
@@ -21,9 +21,9 @@ discard block |
||
21 | 21 | * @since 4.1.0 |
22 | 22 | */ |
23 | 23 | public function __construct() { |
24 | - add_action( 'admin_notices', array( $this, 'admin_notices' ) ); |
|
25 | - add_action( 'wp_loaded', array( $this, 'hide_notices' ) ); |
|
26 | - add_action( 'woocommerce_stripe_updated', array( $this, 'stripe_updated' ) ); |
|
24 | + add_action('admin_notices', array($this, 'admin_notices')); |
|
25 | + add_action('wp_loaded', array($this, 'hide_notices')); |
|
26 | + add_action('woocommerce_stripe_updated', array($this, 'stripe_updated')); |
|
27 | 27 | } |
28 | 28 | |
29 | 29 | /** |
@@ -32,8 +32,8 @@ discard block |
||
32 | 32 | * @since 1.0.0 |
33 | 33 | * @version 4.0.0 |
34 | 34 | */ |
35 | - public function add_admin_notice( $slug, $class, $message, $dismissible = false ) { |
|
36 | - $this->notices[ $slug ] = array( |
|
35 | + public function add_admin_notice($slug, $class, $message, $dismissible = false) { |
|
36 | + $this->notices[$slug] = array( |
|
37 | 37 | 'class' => $class, |
38 | 38 | 'message' => $message, |
39 | 39 | 'dismissible' => $dismissible, |
@@ -47,7 +47,7 @@ discard block |
||
47 | 47 | * @version 4.0.0 |
48 | 48 | */ |
49 | 49 | public function admin_notices() { |
50 | - if ( ! current_user_can( 'manage_woocommerce' ) ) { |
|
50 | + if ( ! current_user_can('manage_woocommerce')) { |
|
51 | 51 | return; |
52 | 52 | } |
53 | 53 | |
@@ -57,17 +57,17 @@ discard block |
||
57 | 57 | // All other payment methods. |
58 | 58 | $this->payment_methods_check_environment(); |
59 | 59 | |
60 | - foreach ( (array) $this->notices as $notice_key => $notice ) { |
|
61 | - echo '<div class="' . esc_attr( $notice['class'] ) . '" style="position:relative;">'; |
|
60 | + foreach ((array) $this->notices as $notice_key => $notice) { |
|
61 | + echo '<div class="' . esc_attr($notice['class']) . '" style="position:relative;">'; |
|
62 | 62 | |
63 | - if ( $notice['dismissible'] ) { |
|
63 | + if ($notice['dismissible']) { |
|
64 | 64 | ?> |
65 | - <a href="<?php echo esc_url( wp_nonce_url( add_query_arg( 'wc-stripe-hide-notice', $notice_key ), 'wc_stripe_hide_notices_nonce', '_wc_stripe_notice_nonce' ) ); ?>" class="woocommerce-message-close notice-dismiss" style="position:relative;float:right;padding:9px 0px 9px 9px 9px;text-decoration:none;"></a> |
|
65 | + <a href="<?php echo esc_url(wp_nonce_url(add_query_arg('wc-stripe-hide-notice', $notice_key), 'wc_stripe_hide_notices_nonce', '_wc_stripe_notice_nonce')); ?>" class="woocommerce-message-close notice-dismiss" style="position:relative;float:right;padding:9px 0px 9px 9px 9px;text-decoration:none;"></a> |
|
66 | 66 | <?php |
67 | 67 | } |
68 | 68 | |
69 | 69 | echo '<p>'; |
70 | - echo wp_kses( $notice['message'], array( 'a' => array( 'href' => array(), 'target' => array() ) ) ); |
|
70 | + echo wp_kses($notice['message'], array('a' => array('href' => array(), 'target' => array()))); |
|
71 | 71 | echo '</p></div>'; |
72 | 72 | } |
73 | 73 | } |
@@ -100,110 +100,110 @@ discard block |
||
100 | 100 | * @version 4.0.0 |
101 | 101 | */ |
102 | 102 | public function stripe_check_environment() { |
103 | - $show_style_notice = get_option( 'wc_stripe_show_style_notice' ); |
|
104 | - $show_ssl_notice = get_option( 'wc_stripe_show_ssl_notice' ); |
|
105 | - $show_keys_notice = get_option( 'wc_stripe_show_keys_notice' ); |
|
106 | - $show_3ds_notice = get_option( 'wc_stripe_show_3ds_notice' ); |
|
107 | - $show_phpver_notice = get_option( 'wc_stripe_show_phpver_notice' ); |
|
108 | - $show_wcver_notice = get_option( 'wc_stripe_show_wcver_notice' ); |
|
109 | - $show_curl_notice = get_option( 'wc_stripe_show_curl_notice' ); |
|
110 | - $show_sca_notice = get_option( 'wc_stripe_show_sca_notice' ); |
|
111 | - $options = get_option( 'woocommerce_stripe_settings' ); |
|
112 | - $testmode = ( isset( $options['testmode'] ) && 'yes' === $options['testmode'] ) ? true : false; |
|
113 | - $test_pub_key = isset( $options['test_publishable_key'] ) ? $options['test_publishable_key'] : ''; |
|
114 | - $test_secret_key = isset( $options['test_secret_key'] ) ? $options['test_secret_key'] : ''; |
|
115 | - $live_pub_key = isset( $options['publishable_key'] ) ? $options['publishable_key'] : ''; |
|
116 | - $live_secret_key = isset( $options['secret_key'] ) ? $options['secret_key'] : ''; |
|
117 | - $three_d_secure = isset( $options['three_d_secure'] ) && 'yes' === $options['three_d_secure']; |
|
118 | - |
|
119 | - if ( isset( $options['enabled'] ) && 'yes' === $options['enabled'] ) { |
|
120 | - if ( empty( $show_3ds_notice ) && $three_d_secure ) { |
|
103 | + $show_style_notice = get_option('wc_stripe_show_style_notice'); |
|
104 | + $show_ssl_notice = get_option('wc_stripe_show_ssl_notice'); |
|
105 | + $show_keys_notice = get_option('wc_stripe_show_keys_notice'); |
|
106 | + $show_3ds_notice = get_option('wc_stripe_show_3ds_notice'); |
|
107 | + $show_phpver_notice = get_option('wc_stripe_show_phpver_notice'); |
|
108 | + $show_wcver_notice = get_option('wc_stripe_show_wcver_notice'); |
|
109 | + $show_curl_notice = get_option('wc_stripe_show_curl_notice'); |
|
110 | + $show_sca_notice = get_option('wc_stripe_show_sca_notice'); |
|
111 | + $options = get_option('woocommerce_stripe_settings'); |
|
112 | + $testmode = (isset($options['testmode']) && 'yes' === $options['testmode']) ? true : false; |
|
113 | + $test_pub_key = isset($options['test_publishable_key']) ? $options['test_publishable_key'] : ''; |
|
114 | + $test_secret_key = isset($options['test_secret_key']) ? $options['test_secret_key'] : ''; |
|
115 | + $live_pub_key = isset($options['publishable_key']) ? $options['publishable_key'] : ''; |
|
116 | + $live_secret_key = isset($options['secret_key']) ? $options['secret_key'] : ''; |
|
117 | + $three_d_secure = isset($options['three_d_secure']) && 'yes' === $options['three_d_secure']; |
|
118 | + |
|
119 | + if (isset($options['enabled']) && 'yes' === $options['enabled']) { |
|
120 | + if (empty($show_3ds_notice) && $three_d_secure) { |
|
121 | 121 | $url = 'https://stripe.com/docs/payments/3d-secure#three-ds-radar'; |
122 | 122 | |
123 | 123 | /* translators: 1) A URL that explains Stripe Radar. */ |
124 | - $message = __( 'WooCommerce Stripe - We see that you had the "Require 3D secure when applicable" setting turned on. This setting is not available here anymore, because it is now replaced by Stripe Radar. You can learn more about it <a href="%s" target="_blank">here</a>.', 'woocommerce-gateway-stripe' ); |
|
124 | + $message = __('WooCommerce Stripe - We see that you had the "Require 3D secure when applicable" setting turned on. This setting is not available here anymore, because it is now replaced by Stripe Radar. You can learn more about it <a href="%s" target="_blank">here</a>.', 'woocommerce-gateway-stripe'); |
|
125 | 125 | |
126 | - $this->add_admin_notice( '3ds', 'notice notice-warning', sprintf( $message, $url ), true ); |
|
126 | + $this->add_admin_notice('3ds', 'notice notice-warning', sprintf($message, $url), true); |
|
127 | 127 | } |
128 | 128 | |
129 | - if ( empty( $show_style_notice ) ) { |
|
129 | + if (empty($show_style_notice)) { |
|
130 | 130 | /* translators: 1) int version 2) int version */ |
131 | - $message = __( 'WooCommerce Stripe - We recently made changes to Stripe that may impact the appearance of your checkout. If your checkout has changed unexpectedly, please follow these <a href="https://docs.woocommerce.com/document/stripe/#section-48" target="_blank">instructions</a> to fix.', 'woocommerce-gateway-stripe' ); |
|
131 | + $message = __('WooCommerce Stripe - We recently made changes to Stripe that may impact the appearance of your checkout. If your checkout has changed unexpectedly, please follow these <a href="https://docs.woocommerce.com/document/stripe/#section-48" target="_blank">instructions</a> to fix.', 'woocommerce-gateway-stripe'); |
|
132 | 132 | |
133 | - $this->add_admin_notice( 'style', 'notice notice-warning', $message, true ); |
|
133 | + $this->add_admin_notice('style', 'notice notice-warning', $message, true); |
|
134 | 134 | |
135 | 135 | return; |
136 | 136 | } |
137 | 137 | |
138 | - if ( empty( $show_phpver_notice ) ) { |
|
139 | - if ( version_compare( phpversion(), WC_STRIPE_MIN_PHP_VER, '<' ) ) { |
|
138 | + if (empty($show_phpver_notice)) { |
|
139 | + if (version_compare(phpversion(), WC_STRIPE_MIN_PHP_VER, '<')) { |
|
140 | 140 | /* translators: 1) int version 2) int version */ |
141 | - $message = __( 'WooCommerce Stripe - The minimum PHP version required for this plugin is %1$s. You are running %2$s.', 'woocommerce-gateway-stripe' ); |
|
141 | + $message = __('WooCommerce Stripe - The minimum PHP version required for this plugin is %1$s. You are running %2$s.', 'woocommerce-gateway-stripe'); |
|
142 | 142 | |
143 | - $this->add_admin_notice( 'phpver', 'error', sprintf( $message, WC_STRIPE_MIN_PHP_VER, phpversion() ), true ); |
|
143 | + $this->add_admin_notice('phpver', 'error', sprintf($message, WC_STRIPE_MIN_PHP_VER, phpversion()), true); |
|
144 | 144 | |
145 | 145 | return; |
146 | 146 | } |
147 | 147 | } |
148 | 148 | |
149 | - if ( empty( $show_wcver_notice ) ) { |
|
150 | - if ( version_compare( WC_VERSION, WC_STRIPE_MIN_WC_VER, '<' ) ) { |
|
149 | + if (empty($show_wcver_notice)) { |
|
150 | + if (version_compare(WC_VERSION, WC_STRIPE_MIN_WC_VER, '<')) { |
|
151 | 151 | /* translators: 1) int version 2) int version */ |
152 | - $message = __( 'WooCommerce Stripe - The minimum WooCommerce version required for this plugin is %1$s. You are running %2$s.', 'woocommerce-gateway-stripe' ); |
|
152 | + $message = __('WooCommerce Stripe - The minimum WooCommerce version required for this plugin is %1$s. You are running %2$s.', 'woocommerce-gateway-stripe'); |
|
153 | 153 | |
154 | - $this->add_admin_notice( 'wcver', 'notice notice-warning', sprintf( $message, WC_STRIPE_MIN_WC_VER, WC_VERSION ), true ); |
|
154 | + $this->add_admin_notice('wcver', 'notice notice-warning', sprintf($message, WC_STRIPE_MIN_WC_VER, WC_VERSION), true); |
|
155 | 155 | |
156 | 156 | return; |
157 | 157 | } |
158 | 158 | } |
159 | 159 | |
160 | - if ( empty( $show_curl_notice ) ) { |
|
161 | - if ( ! function_exists( 'curl_init' ) ) { |
|
162 | - $this->add_admin_notice( 'curl', 'notice notice-warning', __( 'WooCommerce Stripe - cURL is not installed.', 'woocommerce-gateway-stripe' ), true ); |
|
160 | + if (empty($show_curl_notice)) { |
|
161 | + if ( ! function_exists('curl_init')) { |
|
162 | + $this->add_admin_notice('curl', 'notice notice-warning', __('WooCommerce Stripe - cURL is not installed.', 'woocommerce-gateway-stripe'), true); |
|
163 | 163 | } |
164 | 164 | } |
165 | 165 | |
166 | - if ( empty( $show_keys_notice ) ) { |
|
166 | + if (empty($show_keys_notice)) { |
|
167 | 167 | $secret = WC_Stripe_API::get_secret_key(); |
168 | 168 | |
169 | - if ( empty( $secret ) && ! ( isset( $_GET['page'], $_GET['section'] ) && 'wc-settings' === $_GET['page'] && 'stripe' === $_GET['section'] ) ) { |
|
169 | + if (empty($secret) && ! (isset($_GET['page'], $_GET['section']) && 'wc-settings' === $_GET['page'] && 'stripe' === $_GET['section'])) { |
|
170 | 170 | $setting_link = $this->get_setting_link(); |
171 | 171 | /* translators: 1) link */ |
172 | - $this->add_admin_notice( 'keys', 'notice notice-warning', sprintf( __( 'Stripe is almost ready. To get started, <a href="%s">set your Stripe account keys</a>.', 'woocommerce-gateway-stripe' ), $setting_link ), true ); |
|
172 | + $this->add_admin_notice('keys', 'notice notice-warning', sprintf(__('Stripe is almost ready. To get started, <a href="%s">set your Stripe account keys</a>.', 'woocommerce-gateway-stripe'), $setting_link), true); |
|
173 | 173 | } |
174 | 174 | |
175 | 175 | // Check if keys are entered properly per live/test mode. |
176 | - if ( $testmode ) { |
|
176 | + if ($testmode) { |
|
177 | 177 | if ( |
178 | - ! empty( $test_pub_key ) && ! preg_match( '/^pk_test_/', $test_pub_key ) |
|
179 | - || ( ! empty( $test_secret_key ) && ! preg_match( '/^sk_test_/', $test_secret_key ) |
|
180 | - && ! empty( $test_secret_key ) && ! preg_match( '/^rk_test_/', $test_secret_key ) ) ) { |
|
178 | + ! empty($test_pub_key) && ! preg_match('/^pk_test_/', $test_pub_key) |
|
179 | + || ( ! empty($test_secret_key) && ! preg_match('/^sk_test_/', $test_secret_key) |
|
180 | + && ! empty($test_secret_key) && ! preg_match('/^rk_test_/', $test_secret_key)) ) { |
|
181 | 181 | $setting_link = $this->get_setting_link(); |
182 | 182 | /* translators: 1) link */ |
183 | - $this->add_admin_notice( 'keys', 'notice notice-error', sprintf( __( 'Stripe is in test mode however your test keys may not be valid. Test keys start with pk_test and sk_test or rk_test. Please go to your settings and, <a href="%s">set your Stripe account keys</a>.', 'woocommerce-gateway-stripe' ), $setting_link ), true ); |
|
183 | + $this->add_admin_notice('keys', 'notice notice-error', sprintf(__('Stripe is in test mode however your test keys may not be valid. Test keys start with pk_test and sk_test or rk_test. Please go to your settings and, <a href="%s">set your Stripe account keys</a>.', 'woocommerce-gateway-stripe'), $setting_link), true); |
|
184 | 184 | } |
185 | 185 | } else { |
186 | 186 | if ( |
187 | - ! empty( $live_pub_key ) && ! preg_match( '/^pk_live_/', $live_pub_key ) |
|
188 | - || ( ! empty( $live_secret_key ) && ! preg_match( '/^sk_live_/', $live_secret_key ) |
|
189 | - && ! empty( $live_secret_key ) && ! preg_match( '/^rk_live_/', $live_secret_key ) ) ) { |
|
187 | + ! empty($live_pub_key) && ! preg_match('/^pk_live_/', $live_pub_key) |
|
188 | + || ( ! empty($live_secret_key) && ! preg_match('/^sk_live_/', $live_secret_key) |
|
189 | + && ! empty($live_secret_key) && ! preg_match('/^rk_live_/', $live_secret_key)) ) { |
|
190 | 190 | $setting_link = $this->get_setting_link(); |
191 | 191 | /* translators: 1) link */ |
192 | - $this->add_admin_notice( 'keys', 'notice notice-error', sprintf( __( 'Stripe is in live mode however your test keys may not be valid. Live keys start with pk_live and sk_live or rk_live. Please go to your settings and, <a href="%s">set your Stripe account keys</a>.', 'woocommerce-gateway-stripe' ), $setting_link ), true ); |
|
192 | + $this->add_admin_notice('keys', 'notice notice-error', sprintf(__('Stripe is in live mode however your test keys may not be valid. Live keys start with pk_live and sk_live or rk_live. Please go to your settings and, <a href="%s">set your Stripe account keys</a>.', 'woocommerce-gateway-stripe'), $setting_link), true); |
|
193 | 193 | } |
194 | 194 | } |
195 | 195 | } |
196 | 196 | |
197 | - if ( empty( $show_ssl_notice ) ) { |
|
197 | + if (empty($show_ssl_notice)) { |
|
198 | 198 | // Show message if enabled and FORCE SSL is disabled and WordpressHTTPS plugin is not detected. |
199 | - if ( ! wc_checkout_is_https() ) { |
|
199 | + if ( ! wc_checkout_is_https()) { |
|
200 | 200 | /* translators: 1) link */ |
201 | - $this->add_admin_notice( 'ssl', 'notice notice-warning', sprintf( __( 'Stripe is enabled, but a SSL certificate is not detected. Your checkout may not be secure! Please ensure your server has a valid <a href="%1$s" target="_blank">SSL certificate</a>', 'woocommerce-gateway-stripe' ), 'https://en.wikipedia.org/wiki/Transport_Layer_Security' ), true ); |
|
201 | + $this->add_admin_notice('ssl', 'notice notice-warning', sprintf(__('Stripe is enabled, but a SSL certificate is not detected. Your checkout may not be secure! Please ensure your server has a valid <a href="%1$s" target="_blank">SSL certificate</a>', 'woocommerce-gateway-stripe'), 'https://en.wikipedia.org/wiki/Transport_Layer_Security'), true); |
|
202 | 202 | } |
203 | 203 | } |
204 | 204 | |
205 | - if ( empty( $show_sca_notice ) ) { |
|
206 | - $this->add_admin_notice( 'sca', 'notice notice-success', sprintf( __( 'Stripe is now ready for Strong Customer Authentication (SCA) and 3D Secure 2! <a href="%1$s" target="_blank">Read about SCA</a>', 'woocommerce-gateway-stripe' ), 'https://woocommerce.com/posts/introducing-strong-customer-authentication-sca/' ), true ); |
|
205 | + if (empty($show_sca_notice)) { |
|
206 | + $this->add_admin_notice('sca', 'notice notice-success', sprintf(__('Stripe is now ready for Strong Customer Authentication (SCA) and 3D Secure 2! <a href="%1$s" target="_blank">Read about SCA</a>', 'woocommerce-gateway-stripe'), 'https://woocommerce.com/posts/introducing-strong-customer-authentication-sca/'), true); |
|
207 | 207 | } |
208 | 208 | } |
209 | 209 | } |
@@ -216,17 +216,17 @@ discard block |
||
216 | 216 | public function payment_methods_check_environment() { |
217 | 217 | $payment_methods = $this->get_payment_methods(); |
218 | 218 | |
219 | - foreach ( $payment_methods as $method => $class ) { |
|
220 | - $show_notice = get_option( 'wc_stripe_show_' . strtolower( $method ) . '_notice' ); |
|
219 | + foreach ($payment_methods as $method => $class) { |
|
220 | + $show_notice = get_option('wc_stripe_show_' . strtolower($method) . '_notice'); |
|
221 | 221 | $gateway = new $class(); |
222 | 222 | |
223 | - if ( 'yes' !== $gateway->enabled || 'no' === $show_notice ) { |
|
223 | + if ('yes' !== $gateway->enabled || 'no' === $show_notice) { |
|
224 | 224 | continue; |
225 | 225 | } |
226 | 226 | |
227 | - if ( ! in_array( get_woocommerce_currency(), $gateway->get_supported_currency() ) ) { |
|
227 | + if ( ! in_array(get_woocommerce_currency(), $gateway->get_supported_currency())) { |
|
228 | 228 | /* translators: %1$s Payment method, %2$s List of supported currencies */ |
229 | - $this->add_admin_notice( $method, 'notice notice-error', sprintf( __( '%1$s is enabled - it requires store currency to be set to %2$s', 'woocommerce-gateway-stripe' ), $method, implode( ', ', $gateway->get_supported_currency() ) ), true ); |
|
229 | + $this->add_admin_notice($method, 'notice notice-error', sprintf(__('%1$s is enabled - it requires store currency to be set to %2$s', 'woocommerce-gateway-stripe'), $method, implode(', ', $gateway->get_supported_currency())), true); |
|
230 | 230 | } |
231 | 231 | } |
232 | 232 | } |
@@ -238,68 +238,68 @@ discard block |
||
238 | 238 | * @version 4.0.0 |
239 | 239 | */ |
240 | 240 | public function hide_notices() { |
241 | - if ( isset( $_GET['wc-stripe-hide-notice'] ) && isset( $_GET['_wc_stripe_notice_nonce'] ) ) { |
|
242 | - if ( ! wp_verify_nonce( $_GET['_wc_stripe_notice_nonce'], 'wc_stripe_hide_notices_nonce' ) ) { |
|
243 | - wp_die( __( 'Action failed. Please refresh the page and retry.', 'woocommerce-gateway-stripe' ) ); |
|
241 | + if (isset($_GET['wc-stripe-hide-notice']) && isset($_GET['_wc_stripe_notice_nonce'])) { |
|
242 | + if ( ! wp_verify_nonce($_GET['_wc_stripe_notice_nonce'], 'wc_stripe_hide_notices_nonce')) { |
|
243 | + wp_die(__('Action failed. Please refresh the page and retry.', 'woocommerce-gateway-stripe')); |
|
244 | 244 | } |
245 | 245 | |
246 | - if ( ! current_user_can( 'manage_woocommerce' ) ) { |
|
247 | - wp_die( __( 'Cheatin’ huh?', 'woocommerce-gateway-stripe' ) ); |
|
246 | + if ( ! current_user_can('manage_woocommerce')) { |
|
247 | + wp_die(__('Cheatin’ huh?', 'woocommerce-gateway-stripe')); |
|
248 | 248 | } |
249 | 249 | |
250 | - $notice = wc_clean( $_GET['wc-stripe-hide-notice'] ); |
|
250 | + $notice = wc_clean($_GET['wc-stripe-hide-notice']); |
|
251 | 251 | |
252 | - switch ( $notice ) { |
|
252 | + switch ($notice) { |
|
253 | 253 | case 'style': |
254 | - update_option( 'wc_stripe_show_style_notice', 'no' ); |
|
254 | + update_option('wc_stripe_show_style_notice', 'no'); |
|
255 | 255 | break; |
256 | 256 | case 'phpver': |
257 | - update_option( 'wc_stripe_show_phpver_notice', 'no' ); |
|
257 | + update_option('wc_stripe_show_phpver_notice', 'no'); |
|
258 | 258 | break; |
259 | 259 | case 'wcver': |
260 | - update_option( 'wc_stripe_show_wcver_notice', 'no' ); |
|
260 | + update_option('wc_stripe_show_wcver_notice', 'no'); |
|
261 | 261 | break; |
262 | 262 | case 'curl': |
263 | - update_option( 'wc_stripe_show_curl_notice', 'no' ); |
|
263 | + update_option('wc_stripe_show_curl_notice', 'no'); |
|
264 | 264 | break; |
265 | 265 | case 'ssl': |
266 | - update_option( 'wc_stripe_show_ssl_notice', 'no' ); |
|
266 | + update_option('wc_stripe_show_ssl_notice', 'no'); |
|
267 | 267 | break; |
268 | 268 | case 'keys': |
269 | - update_option( 'wc_stripe_show_keys_notice', 'no' ); |
|
269 | + update_option('wc_stripe_show_keys_notice', 'no'); |
|
270 | 270 | break; |
271 | 271 | case '3ds': |
272 | - update_option( 'wc_stripe_show_3ds_notice', 'no' ); |
|
272 | + update_option('wc_stripe_show_3ds_notice', 'no'); |
|
273 | 273 | break; |
274 | 274 | case 'Alipay': |
275 | - update_option( 'wc_stripe_show_alipay_notice', 'no' ); |
|
275 | + update_option('wc_stripe_show_alipay_notice', 'no'); |
|
276 | 276 | break; |
277 | 277 | case 'Bancontact': |
278 | - update_option( 'wc_stripe_show_bancontact_notice', 'no' ); |
|
278 | + update_option('wc_stripe_show_bancontact_notice', 'no'); |
|
279 | 279 | break; |
280 | 280 | case 'EPS': |
281 | - update_option( 'wc_stripe_show_eps_notice', 'no' ); |
|
281 | + update_option('wc_stripe_show_eps_notice', 'no'); |
|
282 | 282 | break; |
283 | 283 | case 'Giropay': |
284 | - update_option( 'wc_stripe_show_giropay_notice', 'no' ); |
|
284 | + update_option('wc_stripe_show_giropay_notice', 'no'); |
|
285 | 285 | break; |
286 | 286 | case 'iDeal': |
287 | - update_option( 'wc_stripe_show_ideal_notice', 'no' ); |
|
287 | + update_option('wc_stripe_show_ideal_notice', 'no'); |
|
288 | 288 | break; |
289 | 289 | case 'Multibanco': |
290 | - update_option( 'wc_stripe_show_multibanco_notice', 'no' ); |
|
290 | + update_option('wc_stripe_show_multibanco_notice', 'no'); |
|
291 | 291 | break; |
292 | 292 | case 'P24': |
293 | - update_option( 'wc_stripe_show_p24_notice', 'no' ); |
|
293 | + update_option('wc_stripe_show_p24_notice', 'no'); |
|
294 | 294 | break; |
295 | 295 | case 'SEPA': |
296 | - update_option( 'wc_stripe_show_sepa_notice', 'no' ); |
|
296 | + update_option('wc_stripe_show_sepa_notice', 'no'); |
|
297 | 297 | break; |
298 | 298 | case 'SOFORT': |
299 | - update_option( 'wc_stripe_show_sofort_notice', 'no' ); |
|
299 | + update_option('wc_stripe_show_sofort_notice', 'no'); |
|
300 | 300 | break; |
301 | 301 | case 'sca': |
302 | - update_option( 'wc_stripe_show_sca_notice', 'no' ); |
|
302 | + update_option('wc_stripe_show_sca_notice', 'no'); |
|
303 | 303 | break; |
304 | 304 | } |
305 | 305 | } |
@@ -313,11 +313,11 @@ discard block |
||
313 | 313 | * @return string Setting link |
314 | 314 | */ |
315 | 315 | public function get_setting_link() { |
316 | - $use_id_as_section = function_exists( 'WC' ) ? version_compare( WC()->version, '2.6', '>=' ) : false; |
|
316 | + $use_id_as_section = function_exists('WC') ? version_compare(WC()->version, '2.6', '>=') : false; |
|
317 | 317 | |
318 | - $section_slug = $use_id_as_section ? 'stripe' : strtolower( 'WC_Gateway_Stripe' ); |
|
318 | + $section_slug = $use_id_as_section ? 'stripe' : strtolower('WC_Gateway_Stripe'); |
|
319 | 319 | |
320 | - return admin_url( 'admin.php?page=wc-settings&tab=checkout§ion=' . $section_slug ); |
|
320 | + return admin_url('admin.php?page=wc-settings&tab=checkout§ion=' . $section_slug); |
|
321 | 321 | } |
322 | 322 | |
323 | 323 | /** |
@@ -326,16 +326,16 @@ discard block |
||
326 | 326 | * @since 4.3.0 |
327 | 327 | */ |
328 | 328 | public function stripe_updated() { |
329 | - $previous_version = get_option( 'wc_stripe_version' ); |
|
329 | + $previous_version = get_option('wc_stripe_version'); |
|
330 | 330 | |
331 | 331 | // Only show the style notice if the plugin was installed and older than 4.1.4. |
332 | - if ( empty( $previous_version ) || version_compare( $previous_version, '4.1.4', 'ge' ) ) { |
|
333 | - update_option( 'wc_stripe_show_style_notice', 'no' ); |
|
332 | + if (empty($previous_version) || version_compare($previous_version, '4.1.4', 'ge')) { |
|
333 | + update_option('wc_stripe_show_style_notice', 'no'); |
|
334 | 334 | } |
335 | 335 | |
336 | 336 | // Only show the SCA notice on pre-4.3.0 installs. |
337 | - if ( empty( $previous_version ) || version_compare( $previous_version, '4.3.0', 'ge' ) ) { |
|
338 | - update_option( 'wc_stripe_show_sca_notice', 'no' ); |
|
337 | + if (empty($previous_version) || version_compare($previous_version, '4.3.0', 'ge')) { |
|
338 | + update_option('wc_stripe_show_sca_notice', 'no'); |
|
339 | 339 | } |
340 | 340 | } |
341 | 341 | } |
@@ -1,5 +1,5 @@ discard block |
||
1 | 1 | <?php |
2 | -if ( ! defined( 'ABSPATH' ) ) { |
|
2 | +if ( ! defined('ABSPATH')) { |
|
3 | 3 | exit; |
4 | 4 | } |
5 | 5 | |
@@ -85,9 +85,9 @@ discard block |
||
85 | 85 | public function __construct() { |
86 | 86 | $this->retry_interval = 1; |
87 | 87 | $this->id = 'stripe'; |
88 | - $this->method_title = __( 'Stripe', 'woocommerce-gateway-stripe' ); |
|
88 | + $this->method_title = __('Stripe', 'woocommerce-gateway-stripe'); |
|
89 | 89 | /* translators: 1) link to Stripe register page 2) link to Stripe api keys page */ |
90 | - $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' ); |
|
90 | + $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'); |
|
91 | 91 | $this->has_fields = true; |
92 | 92 | $this->supports = array( |
93 | 93 | 'products', |
@@ -114,36 +114,36 @@ discard block |
||
114 | 114 | $this->init_settings(); |
115 | 115 | |
116 | 116 | // Get setting values. |
117 | - $this->title = $this->get_option( 'title' ); |
|
118 | - $this->description = $this->get_option( 'description' ); |
|
119 | - $this->enabled = $this->get_option( 'enabled' ); |
|
120 | - $this->testmode = 'yes' === $this->get_option( 'testmode' ); |
|
121 | - $this->inline_cc_form = 'yes' === $this->get_option( 'inline_cc_form' ); |
|
122 | - $this->capture = 'yes' === $this->get_option( 'capture', 'yes' ); |
|
123 | - $this->statement_descriptor = WC_Stripe_Helper::clean_statement_descriptor( $this->get_option( 'statement_descriptor' ) ); |
|
124 | - $this->saved_cards = 'yes' === $this->get_option( 'saved_cards' ); |
|
125 | - $this->secret_key = $this->testmode ? $this->get_option( 'test_secret_key' ) : $this->get_option( 'secret_key' ); |
|
126 | - $this->publishable_key = $this->testmode ? $this->get_option( 'test_publishable_key' ) : $this->get_option( 'publishable_key' ); |
|
127 | - $this->payment_request = 'yes' === $this->get_option( 'payment_request', 'yes' ); |
|
128 | - |
|
129 | - WC_Stripe_API::set_secret_key( $this->secret_key ); |
|
117 | + $this->title = $this->get_option('title'); |
|
118 | + $this->description = $this->get_option('description'); |
|
119 | + $this->enabled = $this->get_option('enabled'); |
|
120 | + $this->testmode = 'yes' === $this->get_option('testmode'); |
|
121 | + $this->inline_cc_form = 'yes' === $this->get_option('inline_cc_form'); |
|
122 | + $this->capture = 'yes' === $this->get_option('capture', 'yes'); |
|
123 | + $this->statement_descriptor = WC_Stripe_Helper::clean_statement_descriptor($this->get_option('statement_descriptor')); |
|
124 | + $this->saved_cards = 'yes' === $this->get_option('saved_cards'); |
|
125 | + $this->secret_key = $this->testmode ? $this->get_option('test_secret_key') : $this->get_option('secret_key'); |
|
126 | + $this->publishable_key = $this->testmode ? $this->get_option('test_publishable_key') : $this->get_option('publishable_key'); |
|
127 | + $this->payment_request = 'yes' === $this->get_option('payment_request', 'yes'); |
|
128 | + |
|
129 | + WC_Stripe_API::set_secret_key($this->secret_key); |
|
130 | 130 | |
131 | 131 | // Hooks. |
132 | - add_action( 'wp_enqueue_scripts', array( $this, 'payment_scripts' ) ); |
|
133 | - add_action( 'admin_enqueue_scripts', array( $this, 'admin_scripts' ) ); |
|
134 | - add_action( 'woocommerce_update_options_payment_gateways_' . $this->id, array( $this, 'process_admin_options' ) ); |
|
135 | - add_action( 'woocommerce_admin_order_totals_after_total', array( $this, 'display_order_fee' ) ); |
|
136 | - add_action( 'woocommerce_admin_order_totals_after_total', array( $this, 'display_order_payout' ), 20 ); |
|
137 | - add_action( 'woocommerce_customer_save_address', array( $this, 'show_update_card_notice' ), 10, 2 ); |
|
138 | - add_filter( 'woocommerce_available_payment_gateways', array( $this, 'prepare_order_pay_page' ) ); |
|
139 | - add_action( 'woocommerce_account_view-order_endpoint', array( $this, 'check_intent_status_on_order_page' ), 1 ); |
|
140 | - add_filter( 'woocommerce_payment_successful_result', array( $this, 'modify_successful_payment_result' ), 99999, 2 ); |
|
141 | - add_action( 'set_logged_in_cookie', array( $this, 'set_cookie_on_current_request' ) ); |
|
142 | - |
|
143 | - if ( WC_Stripe_Helper::is_pre_orders_exists() ) { |
|
132 | + add_action('wp_enqueue_scripts', array($this, 'payment_scripts')); |
|
133 | + add_action('admin_enqueue_scripts', array($this, 'admin_scripts')); |
|
134 | + add_action('woocommerce_update_options_payment_gateways_' . $this->id, array($this, 'process_admin_options')); |
|
135 | + add_action('woocommerce_admin_order_totals_after_total', array($this, 'display_order_fee')); |
|
136 | + add_action('woocommerce_admin_order_totals_after_total', array($this, 'display_order_payout'), 20); |
|
137 | + add_action('woocommerce_customer_save_address', array($this, 'show_update_card_notice'), 10, 2); |
|
138 | + add_filter('woocommerce_available_payment_gateways', array($this, 'prepare_order_pay_page')); |
|
139 | + add_action('woocommerce_account_view-order_endpoint', array($this, 'check_intent_status_on_order_page'), 1); |
|
140 | + add_filter('woocommerce_payment_successful_result', array($this, 'modify_successful_payment_result'), 99999, 2); |
|
141 | + add_action('set_logged_in_cookie', array($this, 'set_cookie_on_current_request')); |
|
142 | + |
|
143 | + if (WC_Stripe_Helper::is_pre_orders_exists()) { |
|
144 | 144 | $this->pre_orders = new WC_Stripe_Pre_Orders_Compat(); |
145 | 145 | |
146 | - add_action( 'wc_pre_orders_process_pre_order_completion_payment_' . $this->id, array( $this->pre_orders, 'process_pre_order_release_payment' ) ); |
|
146 | + add_action('wc_pre_orders_process_pre_order_completion_payment_' . $this->id, array($this->pre_orders, 'process_pre_order_release_payment')); |
|
147 | 147 | } |
148 | 148 | } |
149 | 149 | |
@@ -154,7 +154,7 @@ discard block |
||
154 | 154 | * @return bool |
155 | 155 | */ |
156 | 156 | public function are_keys_set() { |
157 | - if ( empty( $this->secret_key ) || empty( $this->publishable_key ) ) { |
|
157 | + if (empty($this->secret_key) || empty($this->publishable_key)) { |
|
158 | 158 | return false; |
159 | 159 | } |
160 | 160 | |
@@ -167,7 +167,7 @@ discard block |
||
167 | 167 | * @since 4.0.2 |
168 | 168 | */ |
169 | 169 | public function is_available() { |
170 | - if ( is_add_payment_method_page() && ! $this->saved_cards ) { |
|
170 | + if (is_add_payment_method_page() && ! $this->saved_cards) { |
|
171 | 171 | return false; |
172 | 172 | } |
173 | 173 | |
@@ -181,13 +181,13 @@ discard block |
||
181 | 181 | * @param int $user_id The ID of the current user. |
182 | 182 | * @param string $load_address The address to load. |
183 | 183 | */ |
184 | - public function show_update_card_notice( $user_id, $load_address ) { |
|
185 | - if ( ! $this->saved_cards || ! WC_Stripe_Payment_Tokens::customer_has_saved_methods( $user_id ) || 'billing' !== $load_address ) { |
|
184 | + public function show_update_card_notice($user_id, $load_address) { |
|
185 | + if ( ! $this->saved_cards || ! WC_Stripe_Payment_Tokens::customer_has_saved_methods($user_id) || 'billing' !== $load_address) { |
|
186 | 186 | return; |
187 | 187 | } |
188 | 188 | |
189 | 189 | /* translators: 1) Opening anchor tag 2) closing anchor tag */ |
190 | - 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' ); |
|
190 | + 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'); |
|
191 | 191 | } |
192 | 192 | |
193 | 193 | /** |
@@ -202,24 +202,24 @@ discard block |
||
202 | 202 | |
203 | 203 | $icons_str = ''; |
204 | 204 | |
205 | - $icons_str .= isset( $icons['visa'] ) ? $icons['visa'] : ''; |
|
206 | - $icons_str .= isset( $icons['amex'] ) ? $icons['amex'] : ''; |
|
207 | - $icons_str .= isset( $icons['mastercard'] ) ? $icons['mastercard'] : ''; |
|
205 | + $icons_str .= isset($icons['visa']) ? $icons['visa'] : ''; |
|
206 | + $icons_str .= isset($icons['amex']) ? $icons['amex'] : ''; |
|
207 | + $icons_str .= isset($icons['mastercard']) ? $icons['mastercard'] : ''; |
|
208 | 208 | |
209 | - if ( 'USD' === get_woocommerce_currency() ) { |
|
210 | - $icons_str .= isset( $icons['discover'] ) ? $icons['discover'] : ''; |
|
211 | - $icons_str .= isset( $icons['jcb'] ) ? $icons['jcb'] : ''; |
|
212 | - $icons_str .= isset( $icons['diners'] ) ? $icons['diners'] : ''; |
|
209 | + if ('USD' === get_woocommerce_currency()) { |
|
210 | + $icons_str .= isset($icons['discover']) ? $icons['discover'] : ''; |
|
211 | + $icons_str .= isset($icons['jcb']) ? $icons['jcb'] : ''; |
|
212 | + $icons_str .= isset($icons['diners']) ? $icons['diners'] : ''; |
|
213 | 213 | } |
214 | 214 | |
215 | - return apply_filters( 'woocommerce_gateway_icon', $icons_str, $this->id ); |
|
215 | + return apply_filters('woocommerce_gateway_icon', $icons_str, $this->id); |
|
216 | 216 | } |
217 | 217 | |
218 | 218 | /** |
219 | 219 | * Initialise Gateway Settings Form Fields |
220 | 220 | */ |
221 | 221 | public function init_form_fields() { |
222 | - $this->form_fields = require( dirname( __FILE__ ) . '/admin/stripe-settings.php' ); |
|
222 | + $this->form_fields = require(dirname(__FILE__) . '/admin/stripe-settings.php'); |
|
223 | 223 | } |
224 | 224 | |
225 | 225 | /** |
@@ -227,27 +227,27 @@ discard block |
||
227 | 227 | */ |
228 | 228 | public function payment_fields() { |
229 | 229 | $user = wp_get_current_user(); |
230 | - $display_tokenization = $this->supports( 'tokenization' ) && is_checkout() && $this->saved_cards; |
|
230 | + $display_tokenization = $this->supports('tokenization') && is_checkout() && $this->saved_cards; |
|
231 | 231 | $total = WC()->cart->total; |
232 | 232 | $user_email = ''; |
233 | 233 | $description = $this->get_description(); |
234 | - $description = ! empty( $description ) ? $description : ''; |
|
234 | + $description = ! empty($description) ? $description : ''; |
|
235 | 235 | $firstname = ''; |
236 | 236 | $lastname = ''; |
237 | 237 | |
238 | 238 | // If paying from order, we need to get total from order not cart. |
239 | - if ( isset( $_GET['pay_for_order'] ) && ! empty( $_GET['key'] ) ) { // wpcs: csrf ok. |
|
240 | - $order = wc_get_order( wc_get_order_id_by_order_key( wc_clean( $_GET['key'] ) ) ); // wpcs: csrf ok, sanitization ok. |
|
239 | + if (isset($_GET['pay_for_order']) && ! empty($_GET['key'])) { // wpcs: csrf ok. |
|
240 | + $order = wc_get_order(wc_get_order_id_by_order_key(wc_clean($_GET['key']))); // wpcs: csrf ok, sanitization ok. |
|
241 | 241 | $total = $order->get_total(); |
242 | - $user_email = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->billing_email : $order->get_billing_email(); |
|
242 | + $user_email = WC_Stripe_Helper::is_wc_lt('3.0') ? $order->billing_email : $order->get_billing_email(); |
|
243 | 243 | } else { |
244 | - if ( $user->ID ) { |
|
245 | - $user_email = get_user_meta( $user->ID, 'billing_email', true ); |
|
244 | + if ($user->ID) { |
|
245 | + $user_email = get_user_meta($user->ID, 'billing_email', true); |
|
246 | 246 | $user_email = $user_email ? $user_email : $user->user_email; |
247 | 247 | } |
248 | 248 | } |
249 | 249 | |
250 | - if ( is_add_payment_method_page() ) { |
|
250 | + if (is_add_payment_method_page()) { |
|
251 | 251 | $firstname = $user->user_firstname; |
252 | 252 | $lastname = $user->user_lastname; |
253 | 253 | } |
@@ -256,33 +256,33 @@ discard block |
||
256 | 256 | |
257 | 257 | echo '<div |
258 | 258 | id="stripe-payment-data" |
259 | - data-email="' . esc_attr( $user_email ) . '" |
|
260 | - data-full-name="' . esc_attr( $firstname . ' ' . $lastname ) . '" |
|
261 | - data-currency="' . esc_attr( strtolower( get_woocommerce_currency() ) ) . '" |
|
259 | + data-email="' . esc_attr($user_email) . '" |
|
260 | + data-full-name="' . esc_attr($firstname . ' ' . $lastname) . '" |
|
261 | + data-currency="' . esc_attr(strtolower(get_woocommerce_currency())) . '" |
|
262 | 262 | >'; |
263 | 263 | |
264 | - if ( $this->testmode ) { |
|
264 | + if ($this->testmode) { |
|
265 | 265 | /* translators: link to Stripe testing page */ |
266 | - $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' ); |
|
266 | + $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'); |
|
267 | 267 | } |
268 | 268 | |
269 | - $description = trim( $description ); |
|
269 | + $description = trim($description); |
|
270 | 270 | |
271 | - echo apply_filters( 'wc_stripe_description', wpautop( wp_kses_post( $description ) ), $this->id ); // wpcs: xss ok. |
|
271 | + echo apply_filters('wc_stripe_description', wpautop(wp_kses_post($description)), $this->id); // wpcs: xss ok. |
|
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->elements_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'] ) ) { // wpcs: csrf ok. |
|
280 | + if (apply_filters('wc_stripe_display_save_payment_method_checkbox', $display_tokenization) && ! is_add_payment_method_page() && ! isset($_GET['change_payment_method'])) { // wpcs: csrf ok. |
|
281 | 281 | |
282 | 282 | $this->save_payment_method_checkbox(); |
283 | 283 | } |
284 | 284 | |
285 | - do_action( 'wc_stripe_cards_payment_fields', $this->id ); |
|
285 | + do_action('wc_stripe_cards_payment_fields', $this->id); |
|
286 | 286 | |
287 | 287 | echo '</div>'; |
288 | 288 | |
@@ -297,12 +297,12 @@ discard block |
||
297 | 297 | */ |
298 | 298 | public function elements_form() { |
299 | 299 | ?> |
300 | - <fieldset id="wc-<?php echo esc_attr( $this->id ); ?>-cc-form" class="wc-credit-card-form wc-payment-form" style="background:transparent;"> |
|
301 | - <?php do_action( 'woocommerce_credit_card_form_start', $this->id ); ?> |
|
300 | + <fieldset id="wc-<?php echo esc_attr($this->id); ?>-cc-form" class="wc-credit-card-form wc-payment-form" style="background:transparent;"> |
|
301 | + <?php do_action('woocommerce_credit_card_form_start', $this->id); ?> |
|
302 | 302 | |
303 | - <?php if ( $this->inline_cc_form ) { ?> |
|
303 | + <?php if ($this->inline_cc_form) { ?> |
|
304 | 304 | <label for="card-element"> |
305 | - <?php esc_html_e( 'Credit or debit card', 'woocommerce-gateway-stripe' ); ?> |
|
305 | + <?php esc_html_e('Credit or debit card', 'woocommerce-gateway-stripe'); ?> |
|
306 | 306 | </label> |
307 | 307 | |
308 | 308 | <div id="stripe-card-element" class="wc-stripe-elements-field"> |
@@ -310,7 +310,7 @@ discard block |
||
310 | 310 | </div> |
311 | 311 | <?php } else { ?> |
312 | 312 | <div class="form-row form-row-wide"> |
313 | - <label for="stripe-card-element"><?php esc_html_e( 'Card Number', 'woocommerce-gateway-stripe' ); ?> <span class="required">*</span></label> |
|
313 | + <label for="stripe-card-element"><?php esc_html_e('Card Number', 'woocommerce-gateway-stripe'); ?> <span class="required">*</span></label> |
|
314 | 314 | <div class="stripe-card-group"> |
315 | 315 | <div id="stripe-card-element" class="wc-stripe-elements-field"> |
316 | 316 | <!-- a Stripe Element will be inserted here. --> |
@@ -321,7 +321,7 @@ discard block |
||
321 | 321 | </div> |
322 | 322 | |
323 | 323 | <div class="form-row form-row-first"> |
324 | - <label for="stripe-exp-element"><?php esc_html_e( 'Expiry Date', 'woocommerce-gateway-stripe' ); ?> <span class="required">*</span></label> |
|
324 | + <label for="stripe-exp-element"><?php esc_html_e('Expiry Date', 'woocommerce-gateway-stripe'); ?> <span class="required">*</span></label> |
|
325 | 325 | |
326 | 326 | <div id="stripe-exp-element" class="wc-stripe-elements-field"> |
327 | 327 | <!-- a Stripe Element will be inserted here. --> |
@@ -329,7 +329,7 @@ discard block |
||
329 | 329 | </div> |
330 | 330 | |
331 | 331 | <div class="form-row form-row-last"> |
332 | - <label for="stripe-cvc-element"><?php esc_html_e( 'Card Code (CVC)', 'woocommerce-gateway-stripe' ); ?> <span class="required">*</span></label> |
|
332 | + <label for="stripe-cvc-element"><?php esc_html_e('Card Code (CVC)', 'woocommerce-gateway-stripe'); ?> <span class="required">*</span></label> |
|
333 | 333 | <div id="stripe-cvc-element" class="wc-stripe-elements-field"> |
334 | 334 | <!-- a Stripe Element will be inserted here. --> |
335 | 335 | </div> |
@@ -340,7 +340,7 @@ discard block |
||
340 | 340 | <!-- Used to display form errors --> |
341 | 341 | <div class="stripe-source-errors" role="alert"></div> |
342 | 342 | <br /> |
343 | - <?php do_action( 'woocommerce_credit_card_form_end', $this->id ); ?> |
|
343 | + <?php do_action('woocommerce_credit_card_form_end', $this->id); ?> |
|
344 | 344 | <div class="clear"></div> |
345 | 345 | </fieldset> |
346 | 346 | <?php |
@@ -353,13 +353,13 @@ discard block |
||
353 | 353 | * @version 3.1.0 |
354 | 354 | */ |
355 | 355 | public function admin_scripts() { |
356 | - if ( 'woocommerce_page_wc-settings' !== get_current_screen()->id ) { |
|
356 | + if ('woocommerce_page_wc-settings' !== get_current_screen()->id) { |
|
357 | 357 | return; |
358 | 358 | } |
359 | 359 | |
360 | - $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'; |
|
360 | + $suffix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min'; |
|
361 | 361 | |
362 | - wp_enqueue_script( 'woocommerce_stripe_admin', plugins_url( 'assets/js/stripe-admin' . $suffix . '.js', WC_STRIPE_MAIN_FILE ), array(), WC_STRIPE_VERSION, true ); |
|
362 | + wp_enqueue_script('woocommerce_stripe_admin', plugins_url('assets/js/stripe-admin' . $suffix . '.js', WC_STRIPE_MAIN_FILE), array(), WC_STRIPE_VERSION, true); |
|
363 | 363 | } |
364 | 364 | |
365 | 365 | /** |
@@ -371,97 +371,97 @@ discard block |
||
371 | 371 | * @version 4.0.0 |
372 | 372 | */ |
373 | 373 | public function payment_scripts() { |
374 | - if ( ! is_product() && ! is_cart() && ! is_checkout() && ! isset( $_GET['pay_for_order'] ) && ! is_add_payment_method_page() && ! isset( $_GET['change_payment_method'] ) || ( is_order_received_page() ) ) { // wpcs: csrf ok. |
|
374 | + if ( ! is_product() && ! is_cart() && ! is_checkout() && ! isset($_GET['pay_for_order']) && ! is_add_payment_method_page() && ! isset($_GET['change_payment_method']) || (is_order_received_page())) { // wpcs: csrf ok. |
|
375 | 375 | return; |
376 | 376 | } |
377 | 377 | |
378 | 378 | // If Stripe is not enabled bail. |
379 | - if ( 'no' === $this->enabled ) { |
|
379 | + if ('no' === $this->enabled) { |
|
380 | 380 | return; |
381 | 381 | } |
382 | 382 | |
383 | 383 | // If keys are not set bail. |
384 | - if ( ! $this->are_keys_set() ) { |
|
385 | - WC_Stripe_Logger::log( 'Keys are not set correctly.' ); |
|
384 | + if ( ! $this->are_keys_set()) { |
|
385 | + WC_Stripe_Logger::log('Keys are not set correctly.'); |
|
386 | 386 | return; |
387 | 387 | } |
388 | 388 | |
389 | 389 | // If no SSL bail. |
390 | - if ( ! $this->testmode && ! is_ssl() ) { |
|
391 | - WC_Stripe_Logger::log( 'Stripe live mode requires SSL.' ); |
|
390 | + if ( ! $this->testmode && ! is_ssl()) { |
|
391 | + WC_Stripe_Logger::log('Stripe live mode requires SSL.'); |
|
392 | 392 | return; |
393 | 393 | } |
394 | 394 | |
395 | 395 | $current_theme = wp_get_theme(); |
396 | 396 | |
397 | - $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'; |
|
397 | + $suffix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min'; |
|
398 | 398 | |
399 | - wp_register_style( 'stripe_styles', plugins_url( 'assets/css/stripe-styles.css', WC_STRIPE_MAIN_FILE ), array(), WC_STRIPE_VERSION ); |
|
400 | - wp_enqueue_style( 'stripe_styles' ); |
|
399 | + wp_register_style('stripe_styles', plugins_url('assets/css/stripe-styles.css', WC_STRIPE_MAIN_FILE), array(), WC_STRIPE_VERSION); |
|
400 | + wp_enqueue_style('stripe_styles'); |
|
401 | 401 | |
402 | - wp_register_script( 'stripe', 'https://js.stripe.com/v3/', '', '3.0', true ); |
|
403 | - wp_register_script( 'woocommerce_stripe', plugins_url( 'assets/js/stripe' . $suffix . '.js', WC_STRIPE_MAIN_FILE ), array( 'jquery-payment', 'stripe' ), WC_STRIPE_VERSION, true ); |
|
402 | + wp_register_script('stripe', 'https://js.stripe.com/v3/', '', '3.0', true); |
|
403 | + wp_register_script('woocommerce_stripe', plugins_url('assets/js/stripe' . $suffix . '.js', WC_STRIPE_MAIN_FILE), array('jquery-payment', 'stripe'), WC_STRIPE_VERSION, true); |
|
404 | 404 | |
405 | 405 | $stripe_params = array( |
406 | 406 | 'key' => $this->publishable_key, |
407 | - 'i18n_terms' => __( 'Please accept the terms and conditions first', 'woocommerce-gateway-stripe' ), |
|
408 | - 'i18n_required_fields' => __( 'Please fill in required checkout fields first', 'woocommerce-gateway-stripe' ), |
|
407 | + 'i18n_terms' => __('Please accept the terms and conditions first', 'woocommerce-gateway-stripe'), |
|
408 | + 'i18n_required_fields' => __('Please fill in required checkout fields first', 'woocommerce-gateway-stripe'), |
|
409 | 409 | ); |
410 | 410 | |
411 | 411 | // If we're on the pay page we need to pass stripe.js the address of the order. |
412 | - if ( isset( $_GET['pay_for_order'] ) && 'true' === $_GET['pay_for_order'] ) { // wpcs: csrf ok. |
|
413 | - $order_id = wc_get_order_id_by_order_key( urldecode( $_GET['key'] ) ); // wpcs: csrf ok, sanitization ok, xss ok. |
|
414 | - $order = wc_get_order( $order_id ); |
|
415 | - |
|
416 | - if ( is_a( $order, 'WC_Order' ) ) { |
|
417 | - $stripe_params['billing_first_name'] = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->billing_first_name : $order->get_billing_first_name(); |
|
418 | - $stripe_params['billing_last_name'] = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->billing_last_name : $order->get_billing_last_name(); |
|
419 | - $stripe_params['billing_address_1'] = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->billing_address_1 : $order->get_billing_address_1(); |
|
420 | - $stripe_params['billing_address_2'] = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->billing_address_2 : $order->get_billing_address_2(); |
|
421 | - $stripe_params['billing_state'] = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->billing_state : $order->get_billing_state(); |
|
422 | - $stripe_params['billing_city'] = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->billing_city : $order->get_billing_city(); |
|
423 | - $stripe_params['billing_postcode'] = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->billing_postcode : $order->get_billing_postcode(); |
|
424 | - $stripe_params['billing_country'] = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->billing_country : $order->get_billing_country(); |
|
412 | + if (isset($_GET['pay_for_order']) && 'true' === $_GET['pay_for_order']) { // wpcs: csrf ok. |
|
413 | + $order_id = wc_get_order_id_by_order_key(urldecode($_GET['key'])); // wpcs: csrf ok, sanitization ok, xss ok. |
|
414 | + $order = wc_get_order($order_id); |
|
415 | + |
|
416 | + if (is_a($order, 'WC_Order')) { |
|
417 | + $stripe_params['billing_first_name'] = WC_Stripe_Helper::is_wc_lt('3.0') ? $order->billing_first_name : $order->get_billing_first_name(); |
|
418 | + $stripe_params['billing_last_name'] = WC_Stripe_Helper::is_wc_lt('3.0') ? $order->billing_last_name : $order->get_billing_last_name(); |
|
419 | + $stripe_params['billing_address_1'] = WC_Stripe_Helper::is_wc_lt('3.0') ? $order->billing_address_1 : $order->get_billing_address_1(); |
|
420 | + $stripe_params['billing_address_2'] = WC_Stripe_Helper::is_wc_lt('3.0') ? $order->billing_address_2 : $order->get_billing_address_2(); |
|
421 | + $stripe_params['billing_state'] = WC_Stripe_Helper::is_wc_lt('3.0') ? $order->billing_state : $order->get_billing_state(); |
|
422 | + $stripe_params['billing_city'] = WC_Stripe_Helper::is_wc_lt('3.0') ? $order->billing_city : $order->get_billing_city(); |
|
423 | + $stripe_params['billing_postcode'] = WC_Stripe_Helper::is_wc_lt('3.0') ? $order->billing_postcode : $order->get_billing_postcode(); |
|
424 | + $stripe_params['billing_country'] = WC_Stripe_Helper::is_wc_lt('3.0') ? $order->billing_country : $order->get_billing_country(); |
|
425 | 425 | } |
426 | 426 | } |
427 | 427 | |
428 | 428 | $sepa_elements_options = apply_filters( |
429 | 429 | 'wc_stripe_sepa_elements_options', |
430 | 430 | array( |
431 | - 'supportedCountries' => array( 'SEPA' ), |
|
431 | + 'supportedCountries' => array('SEPA'), |
|
432 | 432 | 'placeholderCountry' => WC()->countries->get_base_country(), |
433 | - 'style' => array( 'base' => array( 'fontSize' => '15px' ) ), |
|
433 | + 'style' => array('base' => array('fontSize' => '15px')), |
|
434 | 434 | ) |
435 | 435 | ); |
436 | 436 | |
437 | - $stripe_params['no_prepaid_card_msg'] = __( 'Sorry, we\'re not accepting prepaid cards at this time. Your credit card has not been charged. Please try with alternative payment method.', 'woocommerce-gateway-stripe' ); |
|
438 | - $stripe_params['no_sepa_owner_msg'] = __( 'Please enter your IBAN account name.', 'woocommerce-gateway-stripe' ); |
|
439 | - $stripe_params['no_sepa_iban_msg'] = __( 'Please enter your IBAN account number.', 'woocommerce-gateway-stripe' ); |
|
440 | - $stripe_params['payment_intent_error'] = __( 'We couldn\'t initiate the payment. Please try again.', 'woocommerce-gateway-stripe' ); |
|
441 | - $stripe_params['sepa_mandate_notification'] = apply_filters( 'wc_stripe_sepa_mandate_notification', 'email' ); |
|
442 | - $stripe_params['allow_prepaid_card'] = apply_filters( 'wc_stripe_allow_prepaid_card', true ) ? 'yes' : 'no'; |
|
437 | + $stripe_params['no_prepaid_card_msg'] = __('Sorry, we\'re not accepting prepaid cards at this time. Your credit card has not been charged. Please try with alternative payment method.', 'woocommerce-gateway-stripe'); |
|
438 | + $stripe_params['no_sepa_owner_msg'] = __('Please enter your IBAN account name.', 'woocommerce-gateway-stripe'); |
|
439 | + $stripe_params['no_sepa_iban_msg'] = __('Please enter your IBAN account number.', 'woocommerce-gateway-stripe'); |
|
440 | + $stripe_params['payment_intent_error'] = __('We couldn\'t initiate the payment. Please try again.', 'woocommerce-gateway-stripe'); |
|
441 | + $stripe_params['sepa_mandate_notification'] = apply_filters('wc_stripe_sepa_mandate_notification', 'email'); |
|
442 | + $stripe_params['allow_prepaid_card'] = apply_filters('wc_stripe_allow_prepaid_card', true) ? 'yes' : 'no'; |
|
443 | 443 | $stripe_params['inline_cc_form'] = $this->inline_cc_form ? 'yes' : 'no'; |
444 | - $stripe_params['is_checkout'] = ( is_checkout() && empty( $_GET['pay_for_order'] ) ) ? 'yes' : 'no'; // wpcs: csrf ok. |
|
444 | + $stripe_params['is_checkout'] = (is_checkout() && empty($_GET['pay_for_order'])) ? 'yes' : 'no'; // wpcs: csrf ok. |
|
445 | 445 | $stripe_params['return_url'] = $this->get_stripe_return_url(); |
446 | - $stripe_params['ajaxurl'] = WC_AJAX::get_endpoint( '%%endpoint%%' ); |
|
447 | - $stripe_params['stripe_nonce'] = wp_create_nonce( '_wc_stripe_nonce' ); |
|
446 | + $stripe_params['ajaxurl'] = WC_AJAX::get_endpoint('%%endpoint%%'); |
|
447 | + $stripe_params['stripe_nonce'] = wp_create_nonce('_wc_stripe_nonce'); |
|
448 | 448 | $stripe_params['statement_descriptor'] = $this->statement_descriptor; |
449 | - $stripe_params['elements_options'] = apply_filters( 'wc_stripe_elements_options', array() ); |
|
449 | + $stripe_params['elements_options'] = apply_filters('wc_stripe_elements_options', array()); |
|
450 | 450 | $stripe_params['sepa_elements_options'] = $sepa_elements_options; |
451 | - $stripe_params['invalid_owner_name'] = __( 'Billing First Name and Last Name are required.', 'woocommerce-gateway-stripe' ); |
|
452 | - $stripe_params['is_change_payment_page'] = isset( $_GET['change_payment_method'] ) ? 'yes' : 'no'; // wpcs: csrf ok. |
|
453 | - $stripe_params['is_add_payment_page'] = is_wc_endpoint_url( 'add-payment-method' ) ? 'yes' : 'no'; |
|
454 | - $stripe_params['is_pay_for_order_page'] = is_wc_endpoint_url( 'order-pay' ) ? 'yes' : 'no'; |
|
455 | - $stripe_params['elements_styling'] = apply_filters( 'wc_stripe_elements_styling', false ); |
|
456 | - $stripe_params['elements_classes'] = apply_filters( 'wc_stripe_elements_classes', false ); |
|
451 | + $stripe_params['invalid_owner_name'] = __('Billing First Name and Last Name are required.', 'woocommerce-gateway-stripe'); |
|
452 | + $stripe_params['is_change_payment_page'] = isset($_GET['change_payment_method']) ? 'yes' : 'no'; // wpcs: csrf ok. |
|
453 | + $stripe_params['is_add_payment_page'] = is_wc_endpoint_url('add-payment-method') ? 'yes' : 'no'; |
|
454 | + $stripe_params['is_pay_for_order_page'] = is_wc_endpoint_url('order-pay') ? 'yes' : 'no'; |
|
455 | + $stripe_params['elements_styling'] = apply_filters('wc_stripe_elements_styling', false); |
|
456 | + $stripe_params['elements_classes'] = apply_filters('wc_stripe_elements_classes', false); |
|
457 | 457 | |
458 | 458 | // Merge localized messages to be use in JS. |
459 | - $stripe_params = array_merge( $stripe_params, WC_Stripe_Helper::get_localized_messages() ); |
|
459 | + $stripe_params = array_merge($stripe_params, WC_Stripe_Helper::get_localized_messages()); |
|
460 | 460 | |
461 | - wp_localize_script( 'woocommerce_stripe', 'wc_stripe_params', apply_filters( 'wc_stripe_params', $stripe_params ) ); |
|
461 | + wp_localize_script('woocommerce_stripe', 'wc_stripe_params', apply_filters('wc_stripe_params', $stripe_params)); |
|
462 | 462 | |
463 | 463 | $this->tokenization_script(); |
464 | - wp_enqueue_script( 'woocommerce_stripe' ); |
|
464 | + wp_enqueue_script('woocommerce_stripe'); |
|
465 | 465 | } |
466 | 466 | |
467 | 467 | /** |
@@ -470,14 +470,14 @@ discard block |
||
470 | 470 | * @since 4.2.0 |
471 | 471 | * @param WC_Order $order The order that is being created. |
472 | 472 | */ |
473 | - public function maybe_create_customer( $order ) { |
|
473 | + public function maybe_create_customer($order) { |
|
474 | 474 | // This comes from the create account checkbox in the checkout page. |
475 | - if ( empty( $_POST['createaccount'] ) ) { // wpcs: csrf ok. |
|
475 | + if (empty($_POST['createaccount'])) { // wpcs: csrf ok. |
|
476 | 476 | return; |
477 | 477 | } |
478 | 478 | |
479 | - $new_customer_id = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->customer_user : $order->get_customer_id(); |
|
480 | - $new_stripe_customer = new WC_Stripe_Customer( $new_customer_id ); |
|
479 | + $new_customer_id = WC_Stripe_Helper::is_wc_lt('3.0') ? $order->customer_user : $order->get_customer_id(); |
|
480 | + $new_stripe_customer = new WC_Stripe_Customer($new_customer_id); |
|
481 | 481 | $new_stripe_customer->create_customer(); |
482 | 482 | } |
483 | 483 | |
@@ -489,14 +489,14 @@ discard block |
||
489 | 489 | * @param object $prepared_source The object with source details. |
490 | 490 | * @throws WC_Stripe_Exception An exception if the card is prepaid, but prepaid cards are not allowed. |
491 | 491 | */ |
492 | - public function maybe_disallow_prepaid_card( $prepared_source ) { |
|
492 | + public function maybe_disallow_prepaid_card($prepared_source) { |
|
493 | 493 | // Check if we don't allow prepaid credit cards. |
494 | - if ( apply_filters( 'wc_stripe_allow_prepaid_card', true ) || ! $this->is_prepaid_card( $prepared_source->source_object ) ) { |
|
494 | + if (apply_filters('wc_stripe_allow_prepaid_card', true) || ! $this->is_prepaid_card($prepared_source->source_object)) { |
|
495 | 495 | return; |
496 | 496 | } |
497 | 497 | |
498 | - $localized_message = __( 'Sorry, we\'re not accepting prepaid cards at this time. Your credit card has not been charged. Please try with alternative payment method.', 'woocommerce-gateway-stripe' ); |
|
499 | - throw new WC_Stripe_Exception( print_r( $prepared_source->source_object, true ), $localized_message ); |
|
498 | + $localized_message = __('Sorry, we\'re not accepting prepaid cards at this time. Your credit card has not been charged. Please try with alternative payment method.', 'woocommerce-gateway-stripe'); |
|
499 | + throw new WC_Stripe_Exception(print_r($prepared_source->source_object, true), $localized_message); |
|
500 | 500 | } |
501 | 501 | |
502 | 502 | /** |
@@ -506,10 +506,10 @@ discard block |
||
506 | 506 | * @param object $prepared_source The source that should be verified. |
507 | 507 | * @throws WC_Stripe_Exception An exception if the source ID is missing. |
508 | 508 | */ |
509 | - public function check_source( $prepared_source ) { |
|
510 | - if ( empty( $prepared_source->source ) ) { |
|
511 | - $localized_message = __( 'Payment processing failed. Please retry.', 'woocommerce-gateway-stripe' ); |
|
512 | - throw new WC_Stripe_Exception( print_r( $prepared_source, true ), $localized_message ); |
|
509 | + public function check_source($prepared_source) { |
|
510 | + if (empty($prepared_source->source)) { |
|
511 | + $localized_message = __('Payment processing failed. Please retry.', 'woocommerce-gateway-stripe'); |
|
512 | + throw new WC_Stripe_Exception(print_r($prepared_source, true), $localized_message); |
|
513 | 513 | } |
514 | 514 | } |
515 | 515 | |
@@ -521,17 +521,17 @@ discard block |
||
521 | 521 | * @param WC_Order $order The order those payment is being processed. |
522 | 522 | * @return bool A flag that indicates that the customer does not exist and should be removed. |
523 | 523 | */ |
524 | - public function maybe_remove_non_existent_customer( $error, $order ) { |
|
525 | - if ( ! $this->is_no_such_customer_error( $error ) ) { |
|
524 | + public function maybe_remove_non_existent_customer($error, $order) { |
|
525 | + if ( ! $this->is_no_such_customer_error($error)) { |
|
526 | 526 | return false; |
527 | 527 | } |
528 | 528 | |
529 | - if ( WC_Stripe_Helper::is_wc_lt( '3.0' ) ) { |
|
530 | - delete_user_meta( $order->customer_user, '_stripe_customer_id' ); |
|
531 | - delete_post_meta( $order->get_id(), '_stripe_customer_id' ); |
|
529 | + if (WC_Stripe_Helper::is_wc_lt('3.0')) { |
|
530 | + delete_user_meta($order->customer_user, '_stripe_customer_id'); |
|
531 | + delete_post_meta($order->get_id(), '_stripe_customer_id'); |
|
532 | 532 | } else { |
533 | - delete_user_meta( $order->get_customer_id(), '_stripe_customer_id' ); |
|
534 | - $order->delete_meta_data( '_stripe_customer_id' ); |
|
533 | + delete_user_meta($order->get_customer_id(), '_stripe_customer_id'); |
|
534 | + $order->delete_meta_data('_stripe_customer_id'); |
|
535 | 535 | $order->save(); |
536 | 536 | } |
537 | 537 | |
@@ -547,16 +547,16 @@ discard block |
||
547 | 547 | * @param boolean $force_save_source Whether the payment source must be saved, like when dealing with a Subscription setup. |
548 | 548 | * @return array Redirection data for `process_payment`. |
549 | 549 | */ |
550 | - public function complete_free_order( $order, $prepared_source, $force_save_source ) { |
|
550 | + public function complete_free_order($order, $prepared_source, $force_save_source) { |
|
551 | 551 | $response = array( |
552 | 552 | 'result' => 'success', |
553 | - 'redirect' => $this->get_return_url( $order ), |
|
553 | + 'redirect' => $this->get_return_url($order), |
|
554 | 554 | ); |
555 | 555 | |
556 | - if ( $force_save_source ) { |
|
557 | - $intent_secret = $this->setup_intent( $order, $prepared_source ); |
|
556 | + if ($force_save_source) { |
|
557 | + $intent_secret = $this->setup_intent($order, $prepared_source); |
|
558 | 558 | |
559 | - if ( ! empty( $intent_secret ) ) { |
|
559 | + if ( ! empty($intent_secret)) { |
|
560 | 560 | $response['setup_intent_secret'] = $intent_secret; |
561 | 561 | return $response; |
562 | 562 | } |
@@ -584,72 +584,72 @@ discard block |
||
584 | 584 | * @throws Exception If payment will not be accepted. |
585 | 585 | * @return array|void |
586 | 586 | */ |
587 | - public function process_payment( $order_id, $retry = true, $force_save_source = false, $previous_error = false ) { |
|
587 | + public function process_payment($order_id, $retry = true, $force_save_source = false, $previous_error = false) { |
|
588 | 588 | try { |
589 | - $order = wc_get_order( $order_id ); |
|
589 | + $order = wc_get_order($order_id); |
|
590 | 590 | |
591 | - $this->maybe_create_customer( $order ); |
|
591 | + $this->maybe_create_customer($order); |
|
592 | 592 | |
593 | 593 | // ToDo: `process_pre_order` saves the source to the order for a later payment. |
594 | 594 | // This might not work well with PaymentIntents. |
595 | - if ( $this->maybe_process_pre_orders( $order_id ) ) { |
|
596 | - return $this->pre_orders->process_pre_order( $order_id ); |
|
595 | + if ($this->maybe_process_pre_orders($order_id)) { |
|
596 | + return $this->pre_orders->process_pre_order($order_id); |
|
597 | 597 | } |
598 | 598 | |
599 | - $prepared_source = $this->prepare_source( get_current_user_id(), $force_save_source ); |
|
599 | + $prepared_source = $this->prepare_source(get_current_user_id(), $force_save_source); |
|
600 | 600 | |
601 | - $this->maybe_disallow_prepaid_card( $prepared_source ); |
|
602 | - $this->check_source( $prepared_source ); |
|
603 | - $this->save_source_to_order( $order, $prepared_source ); |
|
601 | + $this->maybe_disallow_prepaid_card($prepared_source); |
|
602 | + $this->check_source($prepared_source); |
|
603 | + $this->save_source_to_order($order, $prepared_source); |
|
604 | 604 | |
605 | - if ( 0 >= $order->get_total() ) { |
|
606 | - return $this->complete_free_order( $order, $prepared_source, $force_save_source ); |
|
605 | + if (0 >= $order->get_total()) { |
|
606 | + return $this->complete_free_order($order, $prepared_source, $force_save_source); |
|
607 | 607 | } |
608 | 608 | |
609 | 609 | // This will throw exception if not valid. |
610 | - $this->validate_minimum_order_amount( $order ); |
|
610 | + $this->validate_minimum_order_amount($order); |
|
611 | 611 | |
612 | - WC_Stripe_Logger::log( "Info: Begin processing payment for order $order_id for the amount of {$order->get_total()}" ); |
|
612 | + WC_Stripe_Logger::log("Info: Begin processing payment for order $order_id for the amount of {$order->get_total()}"); |
|
613 | 613 | |
614 | - $intent = $this->get_intent_from_order( $order ); |
|
615 | - if ( 'setup_intent' === $intent->object ) { |
|
614 | + $intent = $this->get_intent_from_order($order); |
|
615 | + if ('setup_intent' === $intent->object) { |
|
616 | 616 | $intent = false; // This function can only deal with *payment* intents |
617 | 617 | } |
618 | 618 | |
619 | - if ( $intent ) { |
|
620 | - $intent = $this->update_existing_intent( $intent, $order, $prepared_source ); |
|
619 | + if ($intent) { |
|
620 | + $intent = $this->update_existing_intent($intent, $order, $prepared_source); |
|
621 | 621 | } else { |
622 | - $intent = $this->create_intent( $order, $prepared_source ); |
|
622 | + $intent = $this->create_intent($order, $prepared_source); |
|
623 | 623 | } |
624 | 624 | |
625 | 625 | // Confirm the intent after locking the order to make sure webhooks will not interfere. |
626 | - if ( empty( $intent->error ) ) { |
|
627 | - $this->lock_order_payment( $order, $intent ); |
|
628 | - $intent = $this->confirm_intent( $intent, $order, $prepared_source ); |
|
626 | + if (empty($intent->error)) { |
|
627 | + $this->lock_order_payment($order, $intent); |
|
628 | + $intent = $this->confirm_intent($intent, $order, $prepared_source); |
|
629 | 629 | } |
630 | 630 | |
631 | - if ( ! empty( $intent->error ) ) { |
|
632 | - $this->maybe_remove_non_existent_customer( $intent->error, $order ); |
|
631 | + if ( ! empty($intent->error)) { |
|
632 | + $this->maybe_remove_non_existent_customer($intent->error, $order); |
|
633 | 633 | |
634 | 634 | // We want to retry. |
635 | - if ( $this->is_retryable_error( $intent->error ) ) { |
|
636 | - return $this->retry_after_error( $intent, $order, $retry, $force_save_source, $previous_error ); |
|
635 | + if ($this->is_retryable_error($intent->error)) { |
|
636 | + return $this->retry_after_error($intent, $order, $retry, $force_save_source, $previous_error); |
|
637 | 637 | } |
638 | 638 | |
639 | - $this->unlock_order_payment( $order ); |
|
640 | - $this->throw_localized_message( $intent, $order ); |
|
639 | + $this->unlock_order_payment($order); |
|
640 | + $this->throw_localized_message($intent, $order); |
|
641 | 641 | } |
642 | 642 | |
643 | - if ( ! empty( $intent ) ) { |
|
643 | + if ( ! empty($intent)) { |
|
644 | 644 | // Use the last charge within the intent to proceed. |
645 | - $response = end( $intent->charges->data ); |
|
645 | + $response = end($intent->charges->data); |
|
646 | 646 | |
647 | 647 | // If the intent requires a 3DS flow, redirect to it. |
648 | - if ( 'requires_action' === $intent->status ) { |
|
649 | - $this->unlock_order_payment( $order ); |
|
648 | + if ('requires_action' === $intent->status) { |
|
649 | + $this->unlock_order_payment($order); |
|
650 | 650 | |
651 | - if ( is_wc_endpoint_url( 'order-pay' ) ) { |
|
652 | - $redirect_url = add_query_arg( 'wc-stripe-confirmation', 1, $order->get_checkout_payment_url( false ) ); |
|
651 | + if (is_wc_endpoint_url('order-pay')) { |
|
652 | + $redirect_url = add_query_arg('wc-stripe-confirmation', 1, $order->get_checkout_payment_url(false)); |
|
653 | 653 | |
654 | 654 | return array( |
655 | 655 | 'result' => 'success', |
@@ -664,7 +664,7 @@ discard block |
||
664 | 664 | |
665 | 665 | return array( |
666 | 666 | 'result' => 'success', |
667 | - 'redirect' => $this->get_return_url( $order ), |
|
667 | + 'redirect' => $this->get_return_url($order), |
|
668 | 668 | 'payment_intent_secret' => $intent->client_secret, |
669 | 669 | ); |
670 | 670 | } |
@@ -672,30 +672,30 @@ discard block |
||
672 | 672 | } |
673 | 673 | |
674 | 674 | // Process valid response. |
675 | - $this->process_response( $response, $order ); |
|
675 | + $this->process_response($response, $order); |
|
676 | 676 | |
677 | 677 | // Remove cart. |
678 | - if ( isset( WC()->cart ) ) { |
|
678 | + if (isset(WC()->cart)) { |
|
679 | 679 | WC()->cart->empty_cart(); |
680 | 680 | } |
681 | 681 | |
682 | 682 | // Unlock the order. |
683 | - $this->unlock_order_payment( $order ); |
|
683 | + $this->unlock_order_payment($order); |
|
684 | 684 | |
685 | 685 | // Return thank you page redirect. |
686 | 686 | return array( |
687 | 687 | 'result' => 'success', |
688 | - 'redirect' => $this->get_return_url( $order ), |
|
688 | + 'redirect' => $this->get_return_url($order), |
|
689 | 689 | ); |
690 | 690 | |
691 | - } catch ( WC_Stripe_Exception $e ) { |
|
692 | - wc_add_notice( $e->getLocalizedMessage(), 'error' ); |
|
693 | - WC_Stripe_Logger::log( 'Error: ' . $e->getMessage() ); |
|
691 | + } catch (WC_Stripe_Exception $e) { |
|
692 | + wc_add_notice($e->getLocalizedMessage(), 'error'); |
|
693 | + WC_Stripe_Logger::log('Error: ' . $e->getMessage()); |
|
694 | 694 | |
695 | - do_action( 'wc_gateway_stripe_process_payment_error', $e, $order ); |
|
695 | + do_action('wc_gateway_stripe_process_payment_error', $e, $order); |
|
696 | 696 | |
697 | 697 | /* translators: error message */ |
698 | - $order->update_status( 'failed' ); |
|
698 | + $order->update_status('failed'); |
|
699 | 699 | |
700 | 700 | return array( |
701 | 701 | 'result' => 'fail', |
@@ -711,17 +711,17 @@ discard block |
||
711 | 711 | * |
712 | 712 | * @param int $order_id The ID of the order. |
713 | 713 | */ |
714 | - public function display_order_fee( $order_id ) { |
|
715 | - if ( apply_filters( 'wc_stripe_hide_display_order_fee', false, $order_id ) ) { |
|
714 | + public function display_order_fee($order_id) { |
|
715 | + if (apply_filters('wc_stripe_hide_display_order_fee', false, $order_id)) { |
|
716 | 716 | return; |
717 | 717 | } |
718 | 718 | |
719 | - $order = wc_get_order( $order_id ); |
|
719 | + $order = wc_get_order($order_id); |
|
720 | 720 | |
721 | - $fee = WC_Stripe_Helper::get_stripe_fee( $order ); |
|
722 | - $currency = WC_Stripe_Helper::get_stripe_currency( $order ); |
|
721 | + $fee = WC_Stripe_Helper::get_stripe_fee($order); |
|
722 | + $currency = WC_Stripe_Helper::get_stripe_currency($order); |
|
723 | 723 | |
724 | - if ( ! $fee || ! $currency ) { |
|
724 | + if ( ! $fee || ! $currency) { |
|
725 | 725 | return; |
726 | 726 | } |
727 | 727 | |
@@ -729,12 +729,12 @@ discard block |
||
729 | 729 | |
730 | 730 | <tr> |
731 | 731 | <td class="label stripe-fee"> |
732 | - <?php echo wc_help_tip( __( 'This represents the fee Stripe collects for the transaction.', 'woocommerce-gateway-stripe' ) ); // wpcs: xss ok. ?> |
|
733 | - <?php esc_html_e( 'Stripe Fee:', 'woocommerce-gateway-stripe' ); ?> |
|
732 | + <?php echo wc_help_tip(__('This represents the fee Stripe collects for the transaction.', 'woocommerce-gateway-stripe')); // wpcs: xss ok. ?> |
|
733 | + <?php esc_html_e('Stripe Fee:', 'woocommerce-gateway-stripe'); ?> |
|
734 | 734 | </td> |
735 | 735 | <td width="1%"></td> |
736 | 736 | <td class="total"> |
737 | - - <?php echo wc_price( $fee, array( 'currency' => $currency ) ); // wpcs: xss ok. ?> |
|
737 | + - <?php echo wc_price($fee, array('currency' => $currency)); // wpcs: xss ok. ?> |
|
738 | 738 | </td> |
739 | 739 | </tr> |
740 | 740 | |
@@ -748,17 +748,17 @@ discard block |
||
748 | 748 | * |
749 | 749 | * @param int $order_id The ID of the order. |
750 | 750 | */ |
751 | - public function display_order_payout( $order_id ) { |
|
752 | - if ( apply_filters( 'wc_stripe_hide_display_order_payout', false, $order_id ) ) { |
|
751 | + public function display_order_payout($order_id) { |
|
752 | + if (apply_filters('wc_stripe_hide_display_order_payout', false, $order_id)) { |
|
753 | 753 | return; |
754 | 754 | } |
755 | 755 | |
756 | - $order = wc_get_order( $order_id ); |
|
756 | + $order = wc_get_order($order_id); |
|
757 | 757 | |
758 | - $net = WC_Stripe_Helper::get_stripe_net( $order ); |
|
759 | - $currency = WC_Stripe_Helper::get_stripe_currency( $order ); |
|
758 | + $net = WC_Stripe_Helper::get_stripe_net($order); |
|
759 | + $currency = WC_Stripe_Helper::get_stripe_currency($order); |
|
760 | 760 | |
761 | - if ( ! $net || ! $currency ) { |
|
761 | + if ( ! $net || ! $currency) { |
|
762 | 762 | return; |
763 | 763 | } |
764 | 764 | |
@@ -766,12 +766,12 @@ discard block |
||
766 | 766 | |
767 | 767 | <tr> |
768 | 768 | <td class="label stripe-payout"> |
769 | - <?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' ) ); // wpcs: xss ok. ?> |
|
770 | - <?php esc_html_e( 'Stripe Payout:', 'woocommerce-gateway-stripe' ); ?> |
|
769 | + <?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')); // wpcs: xss ok. ?> |
|
770 | + <?php esc_html_e('Stripe Payout:', 'woocommerce-gateway-stripe'); ?> |
|
771 | 771 | </td> |
772 | 772 | <td width="1%"></td> |
773 | 773 | <td class="total"> |
774 | - <?php echo wc_price( $net, array( 'currency' => $currency ) ); // wpcs: xss ok. ?> |
|
774 | + <?php echo wc_price($net, array('currency' => $currency)); // wpcs: xss ok. ?> |
|
775 | 775 | </td> |
776 | 776 | </tr> |
777 | 777 | |
@@ -786,18 +786,18 @@ discard block |
||
786 | 786 | * @param WC_Order $order The order to add a note to. |
787 | 787 | * @throws WC_Stripe_Exception An exception with the right message. |
788 | 788 | */ |
789 | - public function throw_localized_message( $response, $order ) { |
|
789 | + public function throw_localized_message($response, $order) { |
|
790 | 790 | $localized_messages = WC_Stripe_Helper::get_localized_messages(); |
791 | 791 | |
792 | - if ( 'card_error' === $response->error->type ) { |
|
793 | - $localized_message = isset( $localized_messages[ $response->error->code ] ) ? $localized_messages[ $response->error->code ] : $response->error->message; |
|
792 | + if ('card_error' === $response->error->type) { |
|
793 | + $localized_message = isset($localized_messages[$response->error->code]) ? $localized_messages[$response->error->code] : $response->error->message; |
|
794 | 794 | } else { |
795 | - $localized_message = isset( $localized_messages[ $response->error->type ] ) ? $localized_messages[ $response->error->type ] : $response->error->message; |
|
795 | + $localized_message = isset($localized_messages[$response->error->type]) ? $localized_messages[$response->error->type] : $response->error->message; |
|
796 | 796 | } |
797 | 797 | |
798 | - $order->add_order_note( $localized_message ); |
|
798 | + $order->add_order_note($localized_message); |
|
799 | 799 | |
800 | - throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message ); |
|
800 | + throw new WC_Stripe_Exception(print_r($response, true), $localized_message); |
|
801 | 801 | } |
802 | 802 | |
803 | 803 | /** |
@@ -812,22 +812,22 @@ discard block |
||
812 | 812 | * @throws WC_Stripe_Exception If the payment is not accepted. |
813 | 813 | * @return array|void |
814 | 814 | */ |
815 | - public function retry_after_error( $response, $order, $retry, $force_save_source, $previous_error ) { |
|
816 | - if ( ! $retry ) { |
|
817 | - $localized_message = __( 'Sorry, we are unable to process your payment at this time. Please retry later.', 'woocommerce-gateway-stripe' ); |
|
818 | - $order->add_order_note( $localized_message ); |
|
819 | - throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message ); // phpcs:ignore WordPress.PHP.DevelopmentFunctions. |
|
815 | + public function retry_after_error($response, $order, $retry, $force_save_source, $previous_error) { |
|
816 | + if ( ! $retry) { |
|
817 | + $localized_message = __('Sorry, we are unable to process your payment at this time. Please retry later.', 'woocommerce-gateway-stripe'); |
|
818 | + $order->add_order_note($localized_message); |
|
819 | + throw new WC_Stripe_Exception(print_r($response, true), $localized_message); // phpcs:ignore WordPress.PHP.DevelopmentFunctions. |
|
820 | 820 | } |
821 | 821 | |
822 | 822 | // Don't do anymore retries after this. |
823 | - if ( 5 <= $this->retry_interval ) { |
|
824 | - return $this->process_payment( $order->get_id(), false, $force_save_source, $response->error, $previous_error ); |
|
823 | + if (5 <= $this->retry_interval) { |
|
824 | + return $this->process_payment($order->get_id(), false, $force_save_source, $response->error, $previous_error); |
|
825 | 825 | } |
826 | 826 | |
827 | - sleep( $this->retry_interval ); |
|
827 | + sleep($this->retry_interval); |
|
828 | 828 | $this->retry_interval++; |
829 | 829 | |
830 | - return $this->process_payment( $order->get_id(), true, $force_save_source, $response->error, $previous_error ); |
|
830 | + return $this->process_payment($order->get_id(), true, $force_save_source, $response->error, $previous_error); |
|
831 | 831 | } |
832 | 832 | |
833 | 833 | /** |
@@ -838,16 +838,16 @@ discard block |
||
838 | 838 | * @param WC_Payment_Gateway[] $gateways A list of all available gateways. |
839 | 839 | * @return WC_Payment_Gateway[] Either the same list or an empty one in the right conditions. |
840 | 840 | */ |
841 | - public function prepare_order_pay_page( $gateways ) { |
|
842 | - if ( ! is_wc_endpoint_url( 'order-pay' ) || ! isset( $_GET['wc-stripe-confirmation'] ) ) { // wpcs: csrf ok. |
|
841 | + public function prepare_order_pay_page($gateways) { |
|
842 | + if ( ! is_wc_endpoint_url('order-pay') || ! isset($_GET['wc-stripe-confirmation'])) { // wpcs: csrf ok. |
|
843 | 843 | return $gateways; |
844 | 844 | } |
845 | 845 | |
846 | - add_filter( 'woocommerce_checkout_show_terms', '__return_false' ); |
|
847 | - add_filter( 'woocommerce_pay_order_button_html', '__return_false' ); |
|
848 | - add_filter( 'woocommerce_available_payment_gateways', array( $this, '__return_empty_array' ) ); |
|
849 | - add_filter( 'woocommerce_no_available_payment_methods_message', array( $this, 'change_no_available_methods_message' ) ); |
|
850 | - add_action( 'woocommerce_pay_order_after_submit', array( $this, 'render_payment_intent_inputs' ) ); |
|
846 | + add_filter('woocommerce_checkout_show_terms', '__return_false'); |
|
847 | + add_filter('woocommerce_pay_order_button_html', '__return_false'); |
|
848 | + add_filter('woocommerce_available_payment_gateways', array($this, '__return_empty_array')); |
|
849 | + add_filter('woocommerce_no_available_payment_methods_message', array($this, 'change_no_available_methods_message')); |
|
850 | + add_action('woocommerce_pay_order_after_submit', array($this, 'render_payment_intent_inputs')); |
|
851 | 851 | |
852 | 852 | return array(); |
853 | 853 | } |
@@ -860,7 +860,7 @@ discard block |
||
860 | 860 | * @return string the new message. |
861 | 861 | */ |
862 | 862 | public function change_no_available_methods_message() { |
863 | - return wpautop( __( "Almost there!\n\nYour order has already been created, the only thing that still needs to be done is for you to authorize the payment with your bank.", 'woocommerce-gateway-stripe' ) ); |
|
863 | + return wpautop(__("Almost there!\n\nYour order has already been created, the only thing that still needs to be done is for you to authorize the payment with your bank.", 'woocommerce-gateway-stripe')); |
|
864 | 864 | } |
865 | 865 | |
866 | 866 | /** |
@@ -869,21 +869,21 @@ discard block |
||
869 | 869 | * @since 4.2 |
870 | 870 | */ |
871 | 871 | public function render_payment_intent_inputs() { |
872 | - $order = wc_get_order( absint( get_query_var( 'order-pay' ) ) ); |
|
873 | - $intent = $this->get_intent_from_order( $order ); |
|
872 | + $order = wc_get_order(absint(get_query_var('order-pay'))); |
|
873 | + $intent = $this->get_intent_from_order($order); |
|
874 | 874 | |
875 | 875 | $verification_url = add_query_arg( |
876 | 876 | array( |
877 | 877 | 'order' => $order->get_id(), |
878 | - 'nonce' => wp_create_nonce( 'wc_stripe_confirm_pi' ), |
|
879 | - 'redirect_to' => rawurlencode( $this->get_return_url( $order ) ), |
|
878 | + 'nonce' => wp_create_nonce('wc_stripe_confirm_pi'), |
|
879 | + 'redirect_to' => rawurlencode($this->get_return_url($order)), |
|
880 | 880 | 'is_pay_for_order' => true, |
881 | 881 | ), |
882 | - WC_AJAX::get_endpoint( 'wc_stripe_verify_intent' ) |
|
882 | + WC_AJAX::get_endpoint('wc_stripe_verify_intent') |
|
883 | 883 | ); |
884 | 884 | |
885 | - echo '<input type="hidden" id="stripe-intent-id" value="' . esc_attr( $intent->client_secret ) . '" />'; |
|
886 | - echo '<input type="hidden" id="stripe-intent-return" value="' . esc_attr( $verification_url ) . '" />'; |
|
885 | + echo '<input type="hidden" id="stripe-intent-id" value="' . esc_attr($intent->client_secret) . '" />'; |
|
886 | + echo '<input type="hidden" id="stripe-intent-return" value="' . esc_attr($verification_url) . '" />'; |
|
887 | 887 | } |
888 | 888 | |
889 | 889 | /** |
@@ -893,11 +893,11 @@ discard block |
||
893 | 893 | * @param WC_Payment_Token $token Payment Token. |
894 | 894 | * @return string Generated payment method HTML |
895 | 895 | */ |
896 | - public function get_saved_payment_method_option_html( $token ) { |
|
897 | - $html = parent::get_saved_payment_method_option_html( $token ); |
|
896 | + public function get_saved_payment_method_option_html($token) { |
|
897 | + $html = parent::get_saved_payment_method_option_html($token); |
|
898 | 898 | $error_wrapper = '<div class="stripe-source-errors" role="alert"></div>'; |
899 | 899 | |
900 | - return preg_replace( '~</(\w+)>\s*$~', "$error_wrapper</$1>", $html ); |
|
900 | + return preg_replace('~</(\w+)>\s*$~', "$error_wrapper</$1>", $html); |
|
901 | 901 | } |
902 | 902 | |
903 | 903 | /** |
@@ -907,18 +907,18 @@ discard block |
||
907 | 907 | * @since 4.2.0 |
908 | 908 | * @param int $order_id The ID that will be used for the thank you page. |
909 | 909 | */ |
910 | - public function check_intent_status_on_order_page( $order_id ) { |
|
911 | - if ( empty( $order_id ) || absint( $order_id ) <= 0 ) { |
|
910 | + public function check_intent_status_on_order_page($order_id) { |
|
911 | + if (empty($order_id) || absint($order_id) <= 0) { |
|
912 | 912 | return; |
913 | 913 | } |
914 | 914 | |
915 | - $order = wc_get_order( absint( $order_id ) ); |
|
915 | + $order = wc_get_order(absint($order_id)); |
|
916 | 916 | |
917 | - if ( ! $order ) { |
|
917 | + if ( ! $order) { |
|
918 | 918 | return; |
919 | 919 | } |
920 | 920 | |
921 | - $this->verify_intent_after_checkout( $order ); |
|
921 | + $this->verify_intent_after_checkout($order); |
|
922 | 922 | } |
923 | 923 | |
924 | 924 | /** |
@@ -932,8 +932,8 @@ discard block |
||
932 | 932 | * @param int $order_id The ID of the order which is being paid for. |
933 | 933 | * @return array |
934 | 934 | */ |
935 | - public function modify_successful_payment_result( $result, $order_id ) { |
|
936 | - if ( ! isset( $result['payment_intent_secret'] ) && ! isset( $result['setup_intent_secret'] ) ) { |
|
935 | + public function modify_successful_payment_result($result, $order_id) { |
|
936 | + if ( ! isset($result['payment_intent_secret']) && ! isset($result['setup_intent_secret'])) { |
|
937 | 937 | // Only redirects with intents need to be modified. |
938 | 938 | return $result; |
939 | 939 | } |
@@ -942,16 +942,16 @@ discard block |
||
942 | 942 | $verification_url = add_query_arg( |
943 | 943 | array( |
944 | 944 | 'order' => $order_id, |
945 | - 'nonce' => wp_create_nonce( 'wc_stripe_confirm_pi' ), |
|
946 | - 'redirect_to' => rawurlencode( $result['redirect'] ), |
|
945 | + 'nonce' => wp_create_nonce('wc_stripe_confirm_pi'), |
|
946 | + 'redirect_to' => rawurlencode($result['redirect']), |
|
947 | 947 | ), |
948 | - WC_AJAX::get_endpoint( 'wc_stripe_verify_intent' ) |
|
948 | + WC_AJAX::get_endpoint('wc_stripe_verify_intent') |
|
949 | 949 | ); |
950 | 950 | |
951 | - if ( isset( $result['payment_intent_secret'] ) ) { |
|
952 | - $redirect = sprintf( '#confirm-pi-%s:%s', $result['payment_intent_secret'], rawurlencode( $verification_url ) ); |
|
953 | - } else if ( isset( $result['setup_intent_secret'] ) ) { |
|
954 | - $redirect = sprintf( '#confirm-si-%s:%s', $result['setup_intent_secret'], rawurlencode( $verification_url ) ); |
|
951 | + if (isset($result['payment_intent_secret'])) { |
|
952 | + $redirect = sprintf('#confirm-pi-%s:%s', $result['payment_intent_secret'], rawurlencode($verification_url)); |
|
953 | + } else if (isset($result['setup_intent_secret'])) { |
|
954 | + $redirect = sprintf('#confirm-si-%s:%s', $result['setup_intent_secret'], rawurlencode($verification_url)); |
|
955 | 955 | } |
956 | 956 | |
957 | 957 | return array( |
@@ -963,8 +963,8 @@ discard block |
||
963 | 963 | /** |
964 | 964 | * Proceed with current request using new login session (to ensure consistent nonce). |
965 | 965 | */ |
966 | - public function set_cookie_on_current_request( $cookie ) { |
|
967 | - $_COOKIE[ LOGGED_IN_COOKIE ] = $cookie; |
|
966 | + public function set_cookie_on_current_request($cookie) { |
|
967 | + $_COOKIE[LOGGED_IN_COOKIE] = $cookie; |
|
968 | 968 | } |
969 | 969 | |
970 | 970 | /** |
@@ -974,48 +974,48 @@ discard block |
||
974 | 974 | * @since 4.2.0 |
975 | 975 | * @param WC_Order $order The order which is in a transitional state. |
976 | 976 | */ |
977 | - public function verify_intent_after_checkout( $order ) { |
|
978 | - $payment_method = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->payment_method : $order->get_payment_method(); |
|
979 | - if ( $payment_method !== $this->id ) { |
|
977 | + public function verify_intent_after_checkout($order) { |
|
978 | + $payment_method = WC_Stripe_Helper::is_wc_lt('3.0') ? $order->payment_method : $order->get_payment_method(); |
|
979 | + if ($payment_method !== $this->id) { |
|
980 | 980 | // If this is not the payment method, an intent would not be available. |
981 | 981 | return; |
982 | 982 | } |
983 | 983 | |
984 | - $intent = $this->get_intent_from_order( $order ); |
|
985 | - if ( ! $intent ) { |
|
984 | + $intent = $this->get_intent_from_order($order); |
|
985 | + if ( ! $intent) { |
|
986 | 986 | // No intent, redirect to the order received page for further actions. |
987 | 987 | return; |
988 | 988 | } |
989 | 989 | |
990 | 990 | // A webhook might have modified or locked the order while the intent was retreived. This ensures we are reading the right status. |
991 | - clean_post_cache( $order->get_id() ); |
|
992 | - $order = wc_get_order( $order->get_id() ); |
|
991 | + clean_post_cache($order->get_id()); |
|
992 | + $order = wc_get_order($order->get_id()); |
|
993 | 993 | |
994 | - if ( 'pending' !== $order->get_status() && 'failed' !== $order->get_status() ) { |
|
994 | + if ('pending' !== $order->get_status() && 'failed' !== $order->get_status()) { |
|
995 | 995 | // If payment has already been completed, this function is redundant. |
996 | 996 | return; |
997 | 997 | } |
998 | 998 | |
999 | - if ( $this->lock_order_payment( $order, $intent ) ) { |
|
999 | + if ($this->lock_order_payment($order, $intent)) { |
|
1000 | 1000 | return; |
1001 | 1001 | } |
1002 | 1002 | |
1003 | - if ( 'setup_intent' === $intent->object && 'succeeded' === $intent->status ) { |
|
1003 | + if ('setup_intent' === $intent->object && 'succeeded' === $intent->status) { |
|
1004 | 1004 | WC()->cart->empty_cart(); |
1005 | - if ( WC_Stripe_Helper::is_pre_orders_exists() && WC_Pre_Orders_Order::order_contains_pre_order( $order ) ) { |
|
1006 | - WC_Pre_Orders_Order::mark_order_as_pre_ordered( $order ); |
|
1005 | + if (WC_Stripe_Helper::is_pre_orders_exists() && WC_Pre_Orders_Order::order_contains_pre_order($order)) { |
|
1006 | + WC_Pre_Orders_Order::mark_order_as_pre_ordered($order); |
|
1007 | 1007 | } else { |
1008 | 1008 | $order->payment_complete(); |
1009 | 1009 | } |
1010 | - } else if ( 'succeeded' === $intent->status || 'requires_capture' === $intent->status ) { |
|
1010 | + } else if ('succeeded' === $intent->status || 'requires_capture' === $intent->status) { |
|
1011 | 1011 | // Proceed with the payment completion. |
1012 | - $this->process_response( end( $intent->charges->data ), $order ); |
|
1013 | - } else if ( 'requires_payment_method' === $intent->status ) { |
|
1012 | + $this->process_response(end($intent->charges->data), $order); |
|
1013 | + } else if ('requires_payment_method' === $intent->status) { |
|
1014 | 1014 | // `requires_payment_method` means that SCA got denied for the current payment method. |
1015 | - $this->failed_sca_auth( $order, $intent ); |
|
1015 | + $this->failed_sca_auth($order, $intent); |
|
1016 | 1016 | } |
1017 | 1017 | |
1018 | - $this->unlock_order_payment( $order ); |
|
1018 | + $this->unlock_order_payment($order); |
|
1019 | 1019 | } |
1020 | 1020 | |
1021 | 1021 | /** |
@@ -1025,19 +1025,19 @@ discard block |
||
1025 | 1025 | * @param WC_Order $order The order which should be checked. |
1026 | 1026 | * @param object $intent The intent, associated with the order. |
1027 | 1027 | */ |
1028 | - public function failed_sca_auth( $order, $intent ) { |
|
1028 | + public function failed_sca_auth($order, $intent) { |
|
1029 | 1029 | // If the order has already failed, do not repeat the same message. |
1030 | - if ( 'failed' === $order->get_status() ) { |
|
1030 | + if ('failed' === $order->get_status()) { |
|
1031 | 1031 | return; |
1032 | 1032 | } |
1033 | 1033 | |
1034 | 1034 | // Load the right message and update the status. |
1035 | - $status_message = isset( $intent->last_payment_error ) |
|
1035 | + $status_message = isset($intent->last_payment_error) |
|
1036 | 1036 | /* translators: 1) The error message that was received from Stripe. */ |
1037 | - ? sprintf( __( 'Stripe SCA authentication failed. Reason: %s', 'woocommerce-gateway-stripe' ), $intent->last_payment_error->message ) |
|
1038 | - : __( 'Stripe SCA authentication failed.', 'woocommerce-gateway-stripe' ); |
|
1039 | - $order->update_status( 'failed', $status_message ); |
|
1037 | + ? sprintf(__('Stripe SCA authentication failed. Reason: %s', 'woocommerce-gateway-stripe'), $intent->last_payment_error->message) |
|
1038 | + : __('Stripe SCA authentication failed.', 'woocommerce-gateway-stripe'); |
|
1039 | + $order->update_status('failed', $status_message); |
|
1040 | 1040 | |
1041 | - $this->send_failed_order_email( $order->get_id() ); |
|
1041 | + $this->send_failed_order_email($order->get_id()); |
|
1042 | 1042 | } |
1043 | 1043 | } |
@@ -1,5 +1,5 @@ discard block |
||
1 | 1 | <?php |
2 | -if ( ! defined( 'ABSPATH' ) ) { |
|
2 | +if ( ! defined('ABSPATH')) { |
|
3 | 3 | exit; |
4 | 4 | } |
5 | 5 | |
@@ -15,21 +15,21 @@ discard block |
||
15 | 15 | public function __construct() { |
16 | 16 | parent::__construct(); |
17 | 17 | |
18 | - if ( class_exists( 'WC_Subscriptions_Order' ) ) { |
|
19 | - add_action( 'woocommerce_scheduled_subscription_payment_' . $this->id, array( $this, 'scheduled_subscription_payment' ), 10, 2 ); |
|
20 | - add_action( 'wcs_resubscribe_order_created', array( $this, 'delete_resubscribe_meta' ), 10 ); |
|
21 | - add_action( 'wcs_renewal_order_created', array( $this, 'delete_renewal_meta' ), 10 ); |
|
22 | - add_action( 'woocommerce_subscription_failing_payment_method_updated_stripe', array( $this, 'update_failing_payment_method' ), 10, 2 ); |
|
23 | - add_action( 'wc_stripe_cards_payment_fields', array( $this, 'display_update_subs_payment_checkout' ) ); |
|
24 | - add_action( 'wc_stripe_add_payment_method_' . $this->id . '_success', array( $this, 'handle_add_payment_method_success' ), 10, 2 ); |
|
18 | + if (class_exists('WC_Subscriptions_Order')) { |
|
19 | + add_action('woocommerce_scheduled_subscription_payment_' . $this->id, array($this, 'scheduled_subscription_payment'), 10, 2); |
|
20 | + add_action('wcs_resubscribe_order_created', array($this, 'delete_resubscribe_meta'), 10); |
|
21 | + add_action('wcs_renewal_order_created', array($this, 'delete_renewal_meta'), 10); |
|
22 | + add_action('woocommerce_subscription_failing_payment_method_updated_stripe', array($this, 'update_failing_payment_method'), 10, 2); |
|
23 | + add_action('wc_stripe_cards_payment_fields', array($this, 'display_update_subs_payment_checkout')); |
|
24 | + add_action('wc_stripe_add_payment_method_' . $this->id . '_success', array($this, 'handle_add_payment_method_success'), 10, 2); |
|
25 | 25 | |
26 | 26 | // display the credit card used for a subscription in the "My Subscriptions" table |
27 | - add_filter( 'woocommerce_my_subscriptions_payment_method', array( $this, 'maybe_render_subscription_payment_method' ), 10, 2 ); |
|
27 | + add_filter('woocommerce_my_subscriptions_payment_method', array($this, 'maybe_render_subscription_payment_method'), 10, 2); |
|
28 | 28 | |
29 | 29 | // allow store managers to manually set Stripe as the payment method on a subscription |
30 | - add_filter( 'woocommerce_subscription_payment_meta', array( $this, 'add_subscription_payment_meta' ), 10, 2 ); |
|
31 | - add_filter( 'woocommerce_subscription_validate_payment_meta', array( $this, 'validate_subscription_payment_meta' ), 10, 2 ); |
|
32 | - add_filter( 'wc_stripe_display_save_payment_method_checkbox', array( $this, 'maybe_hide_save_checkbox' ) ); |
|
30 | + add_filter('woocommerce_subscription_payment_meta', array($this, 'add_subscription_payment_meta'), 10, 2); |
|
31 | + add_filter('woocommerce_subscription_validate_payment_meta', array($this, 'validate_subscription_payment_meta'), 10, 2); |
|
32 | + add_filter('wc_stripe_display_save_payment_method_checkbox', array($this, 'maybe_hide_save_checkbox')); |
|
33 | 33 | } |
34 | 34 | } |
35 | 35 | |
@@ -40,8 +40,8 @@ discard block |
||
40 | 40 | * @since 4.0.0 |
41 | 41 | * @version 4.0.0 |
42 | 42 | */ |
43 | - public function maybe_hide_save_checkbox( $display_tokenization ) { |
|
44 | - if ( WC_Subscriptions_Cart::cart_contains_subscription() ) { |
|
43 | + public function maybe_hide_save_checkbox($display_tokenization) { |
|
44 | + if (WC_Subscriptions_Cart::cart_contains_subscription()) { |
|
45 | 45 | return false; |
46 | 46 | } |
47 | 47 | |
@@ -53,8 +53,8 @@ discard block |
||
53 | 53 | * @param int $order_id |
54 | 54 | * @return boolean |
55 | 55 | */ |
56 | - public function has_subscription( $order_id ) { |
|
57 | - return ( function_exists( 'wcs_order_contains_subscription' ) && ( wcs_order_contains_subscription( $order_id ) || wcs_is_subscription( $order_id ) || wcs_order_contains_renewal( $order_id ) ) ); |
|
56 | + public function has_subscription($order_id) { |
|
57 | + return (function_exists('wcs_order_contains_subscription') && (wcs_order_contains_subscription($order_id) || wcs_is_subscription($order_id) || wcs_order_contains_renewal($order_id))); |
|
58 | 58 | } |
59 | 59 | |
60 | 60 | /** |
@@ -64,7 +64,7 @@ discard block |
||
64 | 64 | * @return bool |
65 | 65 | */ |
66 | 66 | public function is_subs_change_payment() { |
67 | - return ( isset( $_GET['pay_for_order'] ) && isset( $_GET['change_payment_method'] ) ); |
|
67 | + return (isset($_GET['pay_for_order']) && isset($_GET['change_payment_method'])); |
|
68 | 68 | } |
69 | 69 | |
70 | 70 | /** |
@@ -75,8 +75,8 @@ discard block |
||
75 | 75 | */ |
76 | 76 | public function display_update_subs_payment_checkout() { |
77 | 77 | if ( |
78 | - apply_filters( 'wc_stripe_display_update_subs_payment_method_card_checkbox', true ) && |
|
79 | - wcs_user_has_subscription( get_current_user_id(), '', 'active' ) && |
|
78 | + apply_filters('wc_stripe_display_update_subs_payment_method_card_checkbox', true) && |
|
79 | + wcs_user_has_subscription(get_current_user_id(), '', 'active') && |
|
80 | 80 | is_add_payment_method_page() |
81 | 81 | ) { |
82 | 82 | printf( |
@@ -84,8 +84,8 @@ discard block |
||
84 | 84 | <input id="wc-%1$s-update-subs-payment-method-card" name="wc-%1$s-update-subs-payment-method-card" type="checkbox" value="true" style="width:auto;" /> |
85 | 85 | <label for="wc-%1$s-update-subs-payment-method-card" style="display:inline;">%2$s</label> |
86 | 86 | </p>', |
87 | - esc_attr( $this->id ), |
|
88 | - esc_html( apply_filters( 'wc_stripe_save_to_subs_text', __( 'Update the Payment Method used for all of my active subscriptions (optional).', 'woocommerce-gateway-stripe' ) ) ) |
|
87 | + esc_attr($this->id), |
|
88 | + esc_html(apply_filters('wc_stripe_save_to_subs_text', __('Update the Payment Method used for all of my active subscriptions (optional).', 'woocommerce-gateway-stripe'))) |
|
89 | 89 | ); |
90 | 90 | } |
91 | 91 | } |
@@ -97,16 +97,16 @@ discard block |
||
97 | 97 | * @param string $source_id |
98 | 98 | * @param object $source_object |
99 | 99 | */ |
100 | - public function handle_add_payment_method_success( $source_id, $source_object ) { |
|
101 | - if ( isset( $_POST[ 'wc-' . $this->id . '-update-subs-payment-method-card' ] ) ) { |
|
100 | + public function handle_add_payment_method_success($source_id, $source_object) { |
|
101 | + if (isset($_POST['wc-' . $this->id . '-update-subs-payment-method-card'])) { |
|
102 | 102 | $all_subs = wcs_get_users_subscriptions(); |
103 | 103 | |
104 | - if ( ! empty( $all_subs ) ) { |
|
105 | - foreach ( $all_subs as $sub ) { |
|
106 | - if ( 'active' === $sub->get_status() ) { |
|
107 | - update_post_meta( $sub->get_id(), '_stripe_source_id', $source_id ); |
|
108 | - update_post_meta( $sub->get_id(), '_payment_method', $this->id ); |
|
109 | - update_post_meta( $sub->get_id(), '_payment_method_title', $this->method_title ); |
|
104 | + if ( ! empty($all_subs)) { |
|
105 | + foreach ($all_subs as $sub) { |
|
106 | + if ('active' === $sub->get_status()) { |
|
107 | + update_post_meta($sub->get_id(), '_stripe_source_id', $source_id); |
|
108 | + update_post_meta($sub->get_id(), '_payment_method', $this->id); |
|
109 | + update_post_meta($sub->get_id(), '_payment_method_title', $this->method_title); |
|
110 | 110 | } |
111 | 111 | } |
112 | 112 | } |
@@ -120,24 +120,24 @@ discard block |
||
120 | 120 | * @since 4.1.11 Remove 3DS check as it is not needed. |
121 | 121 | * @param int $order_id |
122 | 122 | */ |
123 | - public function change_subs_payment_method( $order_id ) { |
|
123 | + public function change_subs_payment_method($order_id) { |
|
124 | 124 | try { |
125 | - $subscription = wc_get_order( $order_id ); |
|
126 | - $prepared_source = $this->prepare_source( get_current_user_id(), true ); |
|
125 | + $subscription = wc_get_order($order_id); |
|
126 | + $prepared_source = $this->prepare_source(get_current_user_id(), true); |
|
127 | 127 | |
128 | - $this->maybe_disallow_prepaid_card( $prepared_source ); |
|
129 | - $this->check_source( $prepared_source ); |
|
130 | - $this->save_source_to_order( $subscription, $prepared_source ); |
|
128 | + $this->maybe_disallow_prepaid_card($prepared_source); |
|
129 | + $this->check_source($prepared_source); |
|
130 | + $this->save_source_to_order($subscription, $prepared_source); |
|
131 | 131 | |
132 | - do_action( 'wc_stripe_change_subs_payment_method_success', $prepared_source->source, $prepared_source ); |
|
132 | + do_action('wc_stripe_change_subs_payment_method_success', $prepared_source->source, $prepared_source); |
|
133 | 133 | |
134 | 134 | return array( |
135 | 135 | 'result' => 'success', |
136 | - 'redirect' => $this->get_return_url( $subscription ), |
|
136 | + 'redirect' => $this->get_return_url($subscription), |
|
137 | 137 | ); |
138 | - } catch ( WC_Stripe_Exception $e ) { |
|
139 | - wc_add_notice( $e->getLocalizedMessage(), 'error' ); |
|
140 | - WC_Stripe_Logger::log( 'Error: ' . $e->getMessage() ); |
|
138 | + } catch (WC_Stripe_Exception $e) { |
|
139 | + wc_add_notice($e->getLocalizedMessage(), 'error'); |
|
140 | + WC_Stripe_Logger::log('Error: ' . $e->getMessage()); |
|
141 | 141 | } |
142 | 142 | } |
143 | 143 | |
@@ -146,16 +146,16 @@ discard block |
||
146 | 146 | * @param int $order_id |
147 | 147 | * @return array |
148 | 148 | */ |
149 | - public function process_payment( $order_id, $retry = true, $force_save_source = false, $previous_error = false ) { |
|
150 | - if ( $this->has_subscription( $order_id ) ) { |
|
151 | - if ( $this->is_subs_change_payment() ) { |
|
152 | - return $this->change_subs_payment_method( $order_id ); |
|
149 | + public function process_payment($order_id, $retry = true, $force_save_source = false, $previous_error = false) { |
|
150 | + if ($this->has_subscription($order_id)) { |
|
151 | + if ($this->is_subs_change_payment()) { |
|
152 | + return $this->change_subs_payment_method($order_id); |
|
153 | 153 | } |
154 | 154 | |
155 | 155 | // Regular payment with force customer enabled |
156 | - return parent::process_payment( $order_id, $retry, true, $previous_error ); |
|
156 | + return parent::process_payment($order_id, $retry, true, $previous_error); |
|
157 | 157 | } else { |
158 | - return parent::process_payment( $order_id, $retry, $force_save_source, $previous_error ); |
|
158 | + return parent::process_payment($order_id, $retry, $force_save_source, $previous_error); |
|
159 | 159 | } |
160 | 160 | } |
161 | 161 | |
@@ -167,11 +167,11 @@ discard block |
||
167 | 167 | * @param object $prepared_source The source that is used for the payment. |
168 | 168 | * @return array The arguments for the request. |
169 | 169 | */ |
170 | - public function generate_create_intent_request( $order, $prepared_source ) { |
|
171 | - $request = parent::generate_create_intent_request( $order, $prepared_source ); |
|
170 | + public function generate_create_intent_request($order, $prepared_source) { |
|
171 | + $request = parent::generate_create_intent_request($order, $prepared_source); |
|
172 | 172 | |
173 | 173 | // Non-subscription orders do not need any additional parameters. |
174 | - if ( ! $this->has_subscription( $order ) ) { |
|
174 | + if ( ! $this->has_subscription($order)) { |
|
175 | 175 | return $request; |
176 | 176 | } |
177 | 177 | |
@@ -187,8 +187,8 @@ discard block |
||
187 | 187 | * @param $amount_to_charge float The amount to charge. |
188 | 188 | * @param $renewal_order WC_Order A WC_Order object created to record the renewal payment. |
189 | 189 | */ |
190 | - public function scheduled_subscription_payment( $amount_to_charge, $renewal_order ) { |
|
191 | - $this->process_subscription_payment( $amount_to_charge, $renewal_order, true, false ); |
|
190 | + public function scheduled_subscription_payment($amount_to_charge, $renewal_order) { |
|
191 | + $this->process_subscription_payment($amount_to_charge, $renewal_order, true, false); |
|
192 | 192 | } |
193 | 193 | |
194 | 194 | /** |
@@ -202,84 +202,84 @@ discard block |
||
202 | 202 | * @param bool $retry Should we retry the process? |
203 | 203 | * @param object $previous_error |
204 | 204 | */ |
205 | - public function process_subscription_payment( $amount = 0.0, $renewal_order, $retry = true, $previous_error ) { |
|
205 | + public function process_subscription_payment($amount = 0.0, $renewal_order, $retry = true, $previous_error) { |
|
206 | 206 | try { |
207 | - if ( $amount * 100 < WC_Stripe_Helper::get_minimum_amount() ) { |
|
207 | + if ($amount * 100 < WC_Stripe_Helper::get_minimum_amount()) { |
|
208 | 208 | /* translators: minimum amount */ |
209 | - 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 ) ) ); |
|
209 | + 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))); |
|
210 | 210 | } |
211 | 211 | |
212 | - $order_id = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $renewal_order->id : $renewal_order->get_id(); |
|
212 | + $order_id = WC_Stripe_Helper::is_wc_lt('3.0') ? $renewal_order->id : $renewal_order->get_id(); |
|
213 | 213 | |
214 | 214 | // Get source from order |
215 | - $prepared_source = $this->prepare_order_source( $renewal_order ); |
|
215 | + $prepared_source = $this->prepare_order_source($renewal_order); |
|
216 | 216 | $source_object = $prepared_source->source_object; |
217 | 217 | |
218 | - if ( ! $prepared_source->customer ) { |
|
219 | - return new WP_Error( 'stripe_error', __( 'Customer not found', 'woocommerce-gateway-stripe' ) ); |
|
218 | + if ( ! $prepared_source->customer) { |
|
219 | + return new WP_Error('stripe_error', __('Customer not found', 'woocommerce-gateway-stripe')); |
|
220 | 220 | } |
221 | 221 | |
222 | - WC_Stripe_Logger::log( "Info: Begin processing subscription payment for order {$order_id} for the amount of {$amount}" ); |
|
222 | + WC_Stripe_Logger::log("Info: Begin processing subscription payment for order {$order_id} for the amount of {$amount}"); |
|
223 | 223 | |
224 | 224 | /* If we're doing a retry and source is chargeable, we need to pass |
225 | 225 | * a different idempotency key and retry for success. |
226 | 226 | */ |
227 | - if ( is_object( $source_object ) && empty( $source_object->error ) && $this->need_update_idempotency_key( $source_object, $previous_error ) ) { |
|
228 | - add_filter( 'wc_stripe_idempotency_key', array( $this, 'change_idempotency_key' ), 10, 2 ); |
|
227 | + if (is_object($source_object) && empty($source_object->error) && $this->need_update_idempotency_key($source_object, $previous_error)) { |
|
228 | + add_filter('wc_stripe_idempotency_key', array($this, 'change_idempotency_key'), 10, 2); |
|
229 | 229 | } |
230 | 230 | |
231 | - 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 ) ) { |
|
231 | + 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)) { |
|
232 | 232 | // Passing empty source will charge customer default. |
233 | 233 | $prepared_source->source = ''; |
234 | 234 | } |
235 | 235 | |
236 | - $response = $this->create_and_confirm_intent_for_renewal( $amount, $renewal_order, $prepared_source ); |
|
236 | + $response = $this->create_and_confirm_intent_for_renewal($amount, $renewal_order, $prepared_source); |
|
237 | 237 | |
238 | - if ( ! empty( $response->error ) ) { |
|
238 | + if ( ! empty($response->error)) { |
|
239 | 239 | // We want to retry. |
240 | - if ( $this->is_retryable_error( $response->error ) ) { |
|
241 | - if ( $retry ) { |
|
240 | + if ($this->is_retryable_error($response->error)) { |
|
241 | + if ($retry) { |
|
242 | 242 | // Don't do anymore retries after this. |
243 | - if ( 5 <= $this->retry_interval ) { |
|
244 | - return $this->process_subscription_payment( $amount, $renewal_order, false, $response->error ); |
|
243 | + if (5 <= $this->retry_interval) { |
|
244 | + return $this->process_subscription_payment($amount, $renewal_order, false, $response->error); |
|
245 | 245 | } |
246 | 246 | |
247 | - sleep( $this->retry_interval ); |
|
247 | + sleep($this->retry_interval); |
|
248 | 248 | |
249 | 249 | $this->retry_interval++; |
250 | 250 | |
251 | - return $this->process_subscription_payment( $amount, $renewal_order, true, $response->error ); |
|
251 | + return $this->process_subscription_payment($amount, $renewal_order, true, $response->error); |
|
252 | 252 | } else { |
253 | - $localized_message = __( 'Sorry, we are unable to process your payment at this time. Please retry later.', 'woocommerce-gateway-stripe' ); |
|
254 | - $renewal_order->add_order_note( $localized_message ); |
|
255 | - throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message ); |
|
253 | + $localized_message = __('Sorry, we are unable to process your payment at this time. Please retry later.', 'woocommerce-gateway-stripe'); |
|
254 | + $renewal_order->add_order_note($localized_message); |
|
255 | + throw new WC_Stripe_Exception(print_r($response, true), $localized_message); |
|
256 | 256 | } |
257 | 257 | } |
258 | 258 | |
259 | 259 | $localized_messages = WC_Stripe_Helper::get_localized_messages(); |
260 | 260 | |
261 | - if ( 'card_error' === $response->error->type ) { |
|
262 | - $localized_message = isset( $localized_messages[ $response->error->code ] ) ? $localized_messages[ $response->error->code ] : $response->error->message; |
|
261 | + if ('card_error' === $response->error->type) { |
|
262 | + $localized_message = isset($localized_messages[$response->error->code]) ? $localized_messages[$response->error->code] : $response->error->message; |
|
263 | 263 | } else { |
264 | - $localized_message = isset( $localized_messages[ $response->error->type ] ) ? $localized_messages[ $response->error->type ] : $response->error->message; |
|
264 | + $localized_message = isset($localized_messages[$response->error->type]) ? $localized_messages[$response->error->type] : $response->error->message; |
|
265 | 265 | } |
266 | 266 | |
267 | - $renewal_order->add_order_note( $localized_message ); |
|
267 | + $renewal_order->add_order_note($localized_message); |
|
268 | 268 | |
269 | - throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message ); |
|
269 | + throw new WC_Stripe_Exception(print_r($response, true), $localized_message); |
|
270 | 270 | } |
271 | 271 | |
272 | - do_action( 'wc_gateway_stripe_process_payment', $response, $renewal_order ); |
|
272 | + do_action('wc_gateway_stripe_process_payment', $response, $renewal_order); |
|
273 | 273 | |
274 | 274 | |
275 | - $this->process_response( end( $response->charges->data ), $renewal_order ); |
|
276 | - } catch ( WC_Stripe_Exception $e ) { |
|
277 | - WC_Stripe_Logger::log( 'Error: ' . $e->getMessage() ); |
|
275 | + $this->process_response(end($response->charges->data), $renewal_order); |
|
276 | + } catch (WC_Stripe_Exception $e) { |
|
277 | + WC_Stripe_Logger::log('Error: ' . $e->getMessage()); |
|
278 | 278 | |
279 | - do_action( 'wc_gateway_stripe_process_payment_error', $e, $renewal_order ); |
|
279 | + do_action('wc_gateway_stripe_process_payment_error', $e, $renewal_order); |
|
280 | 280 | |
281 | 281 | /* translators: error message */ |
282 | - $renewal_order->update_status( 'failed' ); |
|
282 | + $renewal_order->update_status('failed'); |
|
283 | 283 | } |
284 | 284 | } |
285 | 285 | |
@@ -291,12 +291,12 @@ discard block |
||
291 | 291 | * @param object $prepared_source The source that is used for the payment. |
292 | 292 | * @return object An intent or an error. |
293 | 293 | */ |
294 | - public function create_and_confirm_intent_for_renewal( $amount, $order, $prepared_source ) { |
|
294 | + public function create_and_confirm_intent_for_renewal($amount, $order, $prepared_source) { |
|
295 | 295 | // The request for a charge contains metadata for the intent. |
296 | - $full_request = $this->generate_payment_request( $order, $prepared_source ); |
|
296 | + $full_request = $this->generate_payment_request($order, $prepared_source); |
|
297 | 297 | |
298 | 298 | $request = array( |
299 | - 'amount' => WC_Stripe_Helper::get_stripe_amount( $amount, $full_request['currency'] ), |
|
299 | + 'amount' => WC_Stripe_Helper::get_stripe_amount($amount, $full_request['currency']), |
|
300 | 300 | 'currency' => $full_request['currency'], |
301 | 301 | 'description' => $full_request['description'], |
302 | 302 | 'metadata' => $full_request['metadata'], |
@@ -308,28 +308,28 @@ discard block |
||
308 | 308 | 'confirmation_method' => 'automatic', |
309 | 309 | ); |
310 | 310 | |
311 | - if ( isset( $full_request['statement_descriptor'] ) ) { |
|
311 | + if (isset($full_request['statement_descriptor'])) { |
|
312 | 312 | $request['statement_descriptor'] = $full_request['statement_descriptor']; |
313 | 313 | } |
314 | 314 | |
315 | - if ( isset( $full_request['customer'] ) ) { |
|
315 | + if (isset($full_request['customer'])) { |
|
316 | 316 | $request['customer'] = $full_request['customer']; |
317 | 317 | } |
318 | 318 | |
319 | - if ( isset( $full_request['source'] ) ) { |
|
319 | + if (isset($full_request['source'])) { |
|
320 | 320 | $request['source'] = $full_request['source']; |
321 | 321 | } |
322 | 322 | |
323 | - $intent = WC_Stripe_API::request( $request, 'payment_intents' ); |
|
324 | - if ( ! empty( $intent->error ) ) { |
|
323 | + $intent = WC_Stripe_API::request($request, 'payment_intents'); |
|
324 | + if ( ! empty($intent->error)) { |
|
325 | 325 | return $intent; |
326 | 326 | } |
327 | 327 | |
328 | - $order_id = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->id : $order->get_id(); |
|
329 | - WC_Stripe_Logger::log( "Stripe PaymentIntent $intent->id initiated for order $order_id" ); |
|
328 | + $order_id = WC_Stripe_Helper::is_wc_lt('3.0') ? $order->id : $order->get_id(); |
|
329 | + WC_Stripe_Logger::log("Stripe PaymentIntent $intent->id initiated for order $order_id"); |
|
330 | 330 | |
331 | 331 | // Save the intent ID to the order. |
332 | - $this->save_intent_to_order( $order, $intent ); |
|
332 | + $this->save_intent_to_order($order, $intent); |
|
333 | 333 | |
334 | 334 | return $intent; |
335 | 335 | } |
@@ -340,24 +340,24 @@ discard block |
||
340 | 340 | * @since 3.1.0 |
341 | 341 | * @version 4.0.0 |
342 | 342 | */ |
343 | - public function save_source_to_order( $order, $source ) { |
|
344 | - parent::save_source_to_order( $order, $source ); |
|
343 | + public function save_source_to_order($order, $source) { |
|
344 | + parent::save_source_to_order($order, $source); |
|
345 | 345 | |
346 | - $order_id = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->id : $order->get_id(); |
|
346 | + $order_id = WC_Stripe_Helper::is_wc_lt('3.0') ? $order->id : $order->get_id(); |
|
347 | 347 | |
348 | 348 | // Also store it on the subscriptions being purchased or paid for in the order |
349 | - if ( function_exists( 'wcs_order_contains_subscription' ) && wcs_order_contains_subscription( $order_id ) ) { |
|
350 | - $subscriptions = wcs_get_subscriptions_for_order( $order_id ); |
|
351 | - } elseif ( function_exists( 'wcs_order_contains_renewal' ) && wcs_order_contains_renewal( $order_id ) ) { |
|
352 | - $subscriptions = wcs_get_subscriptions_for_renewal_order( $order_id ); |
|
349 | + if (function_exists('wcs_order_contains_subscription') && wcs_order_contains_subscription($order_id)) { |
|
350 | + $subscriptions = wcs_get_subscriptions_for_order($order_id); |
|
351 | + } elseif (function_exists('wcs_order_contains_renewal') && wcs_order_contains_renewal($order_id)) { |
|
352 | + $subscriptions = wcs_get_subscriptions_for_renewal_order($order_id); |
|
353 | 353 | } else { |
354 | 354 | $subscriptions = array(); |
355 | 355 | } |
356 | 356 | |
357 | - foreach ( $subscriptions as $subscription ) { |
|
358 | - $subscription_id = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $subscription->id : $subscription->get_id(); |
|
359 | - update_post_meta( $subscription_id, '_stripe_customer_id', $source->customer ); |
|
360 | - update_post_meta( $subscription_id, '_stripe_source_id', $source->source ); |
|
357 | + foreach ($subscriptions as $subscription) { |
|
358 | + $subscription_id = WC_Stripe_Helper::is_wc_lt('3.0') ? $subscription->id : $subscription->get_id(); |
|
359 | + update_post_meta($subscription_id, '_stripe_customer_id', $source->customer); |
|
360 | + update_post_meta($subscription_id, '_stripe_source_id', $source->source); |
|
361 | 361 | } |
362 | 362 | } |
363 | 363 | |
@@ -365,26 +365,26 @@ discard block |
||
365 | 365 | * Don't transfer Stripe customer/token meta to resubscribe orders. |
366 | 366 | * @param int $resubscribe_order The order created for the customer to resubscribe to the old expired/cancelled subscription |
367 | 367 | */ |
368 | - public function delete_resubscribe_meta( $resubscribe_order ) { |
|
369 | - delete_post_meta( ( WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $resubscribe_order->id : $resubscribe_order->get_id() ), '_stripe_customer_id' ); |
|
370 | - delete_post_meta( ( WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $resubscribe_order->id : $resubscribe_order->get_id() ), '_stripe_source_id' ); |
|
368 | + public function delete_resubscribe_meta($resubscribe_order) { |
|
369 | + delete_post_meta((WC_Stripe_Helper::is_wc_lt('3.0') ? $resubscribe_order->id : $resubscribe_order->get_id()), '_stripe_customer_id'); |
|
370 | + delete_post_meta((WC_Stripe_Helper::is_wc_lt('3.0') ? $resubscribe_order->id : $resubscribe_order->get_id()), '_stripe_source_id'); |
|
371 | 371 | // For BW compat will remove in future |
372 | - delete_post_meta( ( WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $resubscribe_order->id : $resubscribe_order->get_id() ), '_stripe_card_id' ); |
|
372 | + delete_post_meta((WC_Stripe_Helper::is_wc_lt('3.0') ? $resubscribe_order->id : $resubscribe_order->get_id()), '_stripe_card_id'); |
|
373 | 373 | // delete payment intent ID |
374 | - delete_post_meta( ( WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $resubscribe_order->id : $resubscribe_order->get_id() ), '_stripe_intent_id' ); |
|
375 | - $this->delete_renewal_meta( $resubscribe_order ); |
|
374 | + delete_post_meta((WC_Stripe_Helper::is_wc_lt('3.0') ? $resubscribe_order->id : $resubscribe_order->get_id()), '_stripe_intent_id'); |
|
375 | + $this->delete_renewal_meta($resubscribe_order); |
|
376 | 376 | } |
377 | 377 | |
378 | 378 | /** |
379 | 379 | * Don't transfer Stripe fee/ID meta to renewal orders. |
380 | 380 | * @param int $resubscribe_order The order created for the customer to resubscribe to the old expired/cancelled subscription |
381 | 381 | */ |
382 | - public function delete_renewal_meta( $renewal_order ) { |
|
383 | - WC_Stripe_Helper::delete_stripe_fee( $renewal_order ); |
|
384 | - WC_Stripe_Helper::delete_stripe_net( $renewal_order ); |
|
382 | + public function delete_renewal_meta($renewal_order) { |
|
383 | + WC_Stripe_Helper::delete_stripe_fee($renewal_order); |
|
384 | + WC_Stripe_Helper::delete_stripe_net($renewal_order); |
|
385 | 385 | |
386 | 386 | // delete payment intent ID |
387 | - delete_post_meta( ( WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $renewal_order->id : $renewal_order->get_id() ), '_stripe_intent_id' ); |
|
387 | + delete_post_meta((WC_Stripe_Helper::is_wc_lt('3.0') ? $renewal_order->id : $renewal_order->get_id()), '_stripe_intent_id'); |
|
388 | 388 | |
389 | 389 | return $renewal_order; |
390 | 390 | } |
@@ -398,14 +398,14 @@ discard block |
||
398 | 398 | * @param WC_Order $renewal_order The order which recorded the successful payment (to make up for the failed automatic payment). |
399 | 399 | * @return void |
400 | 400 | */ |
401 | - public function update_failing_payment_method( $subscription, $renewal_order ) { |
|
402 | - if ( WC_Stripe_Helper::is_wc_lt( '3.0' ) ) { |
|
403 | - update_post_meta( $subscription->id, '_stripe_customer_id', $renewal_order->stripe_customer_id ); |
|
404 | - update_post_meta( $subscription->id, '_stripe_source_id', $renewal_order->stripe_source_id ); |
|
401 | + public function update_failing_payment_method($subscription, $renewal_order) { |
|
402 | + if (WC_Stripe_Helper::is_wc_lt('3.0')) { |
|
403 | + update_post_meta($subscription->id, '_stripe_customer_id', $renewal_order->stripe_customer_id); |
|
404 | + update_post_meta($subscription->id, '_stripe_source_id', $renewal_order->stripe_source_id); |
|
405 | 405 | |
406 | 406 | } else { |
407 | - update_post_meta( $subscription->get_id(), '_stripe_customer_id', $renewal_order->get_meta( '_stripe_customer_id', true ) ); |
|
408 | - update_post_meta( $subscription->get_id(), '_stripe_source_id', $renewal_order->get_meta( '_stripe_source_id', true ) ); |
|
407 | + update_post_meta($subscription->get_id(), '_stripe_customer_id', $renewal_order->get_meta('_stripe_customer_id', true)); |
|
408 | + update_post_meta($subscription->get_id(), '_stripe_source_id', $renewal_order->get_meta('_stripe_source_id', true)); |
|
409 | 409 | } |
410 | 410 | } |
411 | 411 | |
@@ -418,23 +418,23 @@ discard block |
||
418 | 418 | * @param WC_Subscription $subscription An instance of a subscription object |
419 | 419 | * @return array |
420 | 420 | */ |
421 | - public function add_subscription_payment_meta( $payment_meta, $subscription ) { |
|
422 | - $subscription_id = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $subscription->id : $subscription->get_id(); |
|
423 | - $source_id = get_post_meta( $subscription_id, '_stripe_source_id', true ); |
|
421 | + public function add_subscription_payment_meta($payment_meta, $subscription) { |
|
422 | + $subscription_id = WC_Stripe_Helper::is_wc_lt('3.0') ? $subscription->id : $subscription->get_id(); |
|
423 | + $source_id = get_post_meta($subscription_id, '_stripe_source_id', true); |
|
424 | 424 | |
425 | 425 | // For BW compat will remove in future. |
426 | - if ( empty( $source_id ) ) { |
|
427 | - $source_id = get_post_meta( $subscription_id, '_stripe_card_id', true ); |
|
426 | + if (empty($source_id)) { |
|
427 | + $source_id = get_post_meta($subscription_id, '_stripe_card_id', true); |
|
428 | 428 | |
429 | 429 | // Take this opportunity to update the key name. |
430 | - update_post_meta( $subscription_id, '_stripe_source_id', $source_id ); |
|
431 | - delete_post_meta( $subscription_id, '_stripe_card_id', $source_id ); |
|
430 | + update_post_meta($subscription_id, '_stripe_source_id', $source_id); |
|
431 | + delete_post_meta($subscription_id, '_stripe_card_id', $source_id); |
|
432 | 432 | } |
433 | 433 | |
434 | - $payment_meta[ $this->id ] = array( |
|
434 | + $payment_meta[$this->id] = array( |
|
435 | 435 | 'post_meta' => array( |
436 | 436 | '_stripe_customer_id' => array( |
437 | - 'value' => get_post_meta( $subscription_id, '_stripe_customer_id', true ), |
|
437 | + 'value' => get_post_meta($subscription_id, '_stripe_customer_id', true), |
|
438 | 438 | 'label' => 'Stripe Customer ID', |
439 | 439 | ), |
440 | 440 | '_stripe_source_id' => array( |
@@ -457,22 +457,22 @@ discard block |
||
457 | 457 | * @param array $payment_meta associative array of meta data required for automatic payments |
458 | 458 | * @return array |
459 | 459 | */ |
460 | - public function validate_subscription_payment_meta( $payment_method_id, $payment_meta ) { |
|
461 | - if ( $this->id === $payment_method_id ) { |
|
460 | + public function validate_subscription_payment_meta($payment_method_id, $payment_meta) { |
|
461 | + if ($this->id === $payment_method_id) { |
|
462 | 462 | |
463 | - if ( ! isset( $payment_meta['post_meta']['_stripe_customer_id']['value'] ) || empty( $payment_meta['post_meta']['_stripe_customer_id']['value'] ) ) { |
|
464 | - throw new Exception( __( 'A "Stripe Customer ID" value is required.', 'woocommerce-gateway-stripe' ) ); |
|
465 | - } elseif ( 0 !== strpos( $payment_meta['post_meta']['_stripe_customer_id']['value'], 'cus_' ) ) { |
|
466 | - throw new Exception( __( 'Invalid customer ID. A valid "Stripe Customer ID" must begin with "cus_".', 'woocommerce-gateway-stripe' ) ); |
|
463 | + if ( ! isset($payment_meta['post_meta']['_stripe_customer_id']['value']) || empty($payment_meta['post_meta']['_stripe_customer_id']['value'])) { |
|
464 | + throw new Exception(__('A "Stripe Customer ID" value is required.', 'woocommerce-gateway-stripe')); |
|
465 | + } elseif (0 !== strpos($payment_meta['post_meta']['_stripe_customer_id']['value'], 'cus_')) { |
|
466 | + throw new Exception(__('Invalid customer ID. A valid "Stripe Customer ID" must begin with "cus_".', 'woocommerce-gateway-stripe')); |
|
467 | 467 | } |
468 | 468 | |
469 | 469 | if ( |
470 | - ( ! empty( $payment_meta['post_meta']['_stripe_source_id']['value'] ) |
|
471 | - && 0 !== strpos( $payment_meta['post_meta']['_stripe_source_id']['value'], 'card_' ) ) |
|
472 | - && ( ! empty( $payment_meta['post_meta']['_stripe_source_id']['value'] ) |
|
473 | - && 0 !== strpos( $payment_meta['post_meta']['_stripe_source_id']['value'], 'src_' ) ) ) { |
|
470 | + ( ! empty($payment_meta['post_meta']['_stripe_source_id']['value']) |
|
471 | + && 0 !== strpos($payment_meta['post_meta']['_stripe_source_id']['value'], 'card_')) |
|
472 | + && ( ! empty($payment_meta['post_meta']['_stripe_source_id']['value']) |
|
473 | + && 0 !== strpos($payment_meta['post_meta']['_stripe_source_id']['value'], 'src_')) ) { |
|
474 | 474 | |
475 | - throw new Exception( __( 'Invalid source ID. A valid source "Stripe Source ID" must begin with "src_" or "card_".', 'woocommerce-gateway-stripe' ) ); |
|
475 | + throw new Exception(__('Invalid source ID. A valid source "Stripe Source ID" must begin with "src_" or "card_".', 'woocommerce-gateway-stripe')); |
|
476 | 476 | } |
477 | 477 | } |
478 | 478 | } |
@@ -485,75 +485,75 @@ discard block |
||
485 | 485 | * @param WC_Subscription $subscription the subscription details |
486 | 486 | * @return string the subscription payment method |
487 | 487 | */ |
488 | - public function maybe_render_subscription_payment_method( $payment_method_to_display, $subscription ) { |
|
489 | - $customer_user = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $subscription->customer_user : $subscription->get_customer_id(); |
|
488 | + public function maybe_render_subscription_payment_method($payment_method_to_display, $subscription) { |
|
489 | + $customer_user = WC_Stripe_Helper::is_wc_lt('3.0') ? $subscription->customer_user : $subscription->get_customer_id(); |
|
490 | 490 | |
491 | 491 | // bail for other payment methods |
492 | - if ( ( WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $subscription->payment_method : $subscription->get_payment_method() ) !== $this->id || ! $customer_user ) { |
|
492 | + if ((WC_Stripe_Helper::is_wc_lt('3.0') ? $subscription->payment_method : $subscription->get_payment_method()) !== $this->id || ! $customer_user) { |
|
493 | 493 | return $payment_method_to_display; |
494 | 494 | } |
495 | 495 | |
496 | - $stripe_source_id = get_post_meta( ( WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $subscription->id : $subscription->get_id() ), '_stripe_source_id', true ); |
|
496 | + $stripe_source_id = get_post_meta((WC_Stripe_Helper::is_wc_lt('3.0') ? $subscription->id : $subscription->get_id()), '_stripe_source_id', true); |
|
497 | 497 | |
498 | 498 | // For BW compat will remove in future. |
499 | - if ( empty( $stripe_source_id ) ) { |
|
500 | - $stripe_source_id = get_post_meta( ( WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $subscription->id : $subscription->get_id() ), '_stripe_card_id', true ); |
|
499 | + if (empty($stripe_source_id)) { |
|
500 | + $stripe_source_id = get_post_meta((WC_Stripe_Helper::is_wc_lt('3.0') ? $subscription->id : $subscription->get_id()), '_stripe_card_id', true); |
|
501 | 501 | |
502 | 502 | // Take this opportunity to update the key name. |
503 | - WC_Stripe_Helper::is_wc_lt( '3.0' ) ? update_post_meta( $subscription->id, '_stripe_source_id', $stripe_source_id ) : update_post_meta( $subscription->get_id(), '_stripe_source_id', $stripe_source_id ); |
|
503 | + WC_Stripe_Helper::is_wc_lt('3.0') ? update_post_meta($subscription->id, '_stripe_source_id', $stripe_source_id) : update_post_meta($subscription->get_id(), '_stripe_source_id', $stripe_source_id); |
|
504 | 504 | } |
505 | 505 | |
506 | 506 | $stripe_customer = new WC_Stripe_Customer(); |
507 | - $stripe_customer_id = get_post_meta( ( WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $subscription->id : $subscription->get_id() ), '_stripe_customer_id', true ); |
|
507 | + $stripe_customer_id = get_post_meta((WC_Stripe_Helper::is_wc_lt('3.0') ? $subscription->id : $subscription->get_id()), '_stripe_customer_id', true); |
|
508 | 508 | |
509 | 509 | // If we couldn't find a Stripe customer linked to the subscription, fallback to the user meta data. |
510 | - if ( ! $stripe_customer_id || ! is_string( $stripe_customer_id ) ) { |
|
510 | + if ( ! $stripe_customer_id || ! is_string($stripe_customer_id)) { |
|
511 | 511 | $user_id = $customer_user; |
512 | - $stripe_customer_id = get_user_meta( $user_id, '_stripe_customer_id', true ); |
|
513 | - $stripe_source_id = get_user_meta( $user_id, '_stripe_source_id', true ); |
|
512 | + $stripe_customer_id = get_user_meta($user_id, '_stripe_customer_id', true); |
|
513 | + $stripe_source_id = get_user_meta($user_id, '_stripe_source_id', true); |
|
514 | 514 | |
515 | 515 | // For BW compat will remove in future. |
516 | - if ( empty( $stripe_source_id ) ) { |
|
517 | - $stripe_source_id = get_user_meta( $user_id, '_stripe_card_id', true ); |
|
516 | + if (empty($stripe_source_id)) { |
|
517 | + $stripe_source_id = get_user_meta($user_id, '_stripe_card_id', true); |
|
518 | 518 | |
519 | 519 | // Take this opportunity to update the key name. |
520 | - update_user_meta( $user_id, '_stripe_source_id', $stripe_source_id ); |
|
520 | + update_user_meta($user_id, '_stripe_source_id', $stripe_source_id); |
|
521 | 521 | } |
522 | 522 | } |
523 | 523 | |
524 | 524 | // If we couldn't find a Stripe customer linked to the account, fallback to the order meta data. |
525 | - if ( ( ! $stripe_customer_id || ! is_string( $stripe_customer_id ) ) && false !== $subscription->order ) { |
|
526 | - $stripe_customer_id = get_post_meta( ( WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $subscription->order->id : $subscription->get_parent_id() ), '_stripe_customer_id', true ); |
|
527 | - $stripe_source_id = get_post_meta( ( WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $subscription->order->id : $subscription->get_parent_id() ), '_stripe_source_id', true ); |
|
525 | + if (( ! $stripe_customer_id || ! is_string($stripe_customer_id)) && false !== $subscription->order) { |
|
526 | + $stripe_customer_id = get_post_meta((WC_Stripe_Helper::is_wc_lt('3.0') ? $subscription->order->id : $subscription->get_parent_id()), '_stripe_customer_id', true); |
|
527 | + $stripe_source_id = get_post_meta((WC_Stripe_Helper::is_wc_lt('3.0') ? $subscription->order->id : $subscription->get_parent_id()), '_stripe_source_id', true); |
|
528 | 528 | |
529 | 529 | // For BW compat will remove in future. |
530 | - if ( empty( $stripe_source_id ) ) { |
|
531 | - $stripe_source_id = get_post_meta( ( WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $subscription->order->id : $subscription->get_parent_id() ), '_stripe_card_id', true ); |
|
530 | + if (empty($stripe_source_id)) { |
|
531 | + $stripe_source_id = get_post_meta((WC_Stripe_Helper::is_wc_lt('3.0') ? $subscription->order->id : $subscription->get_parent_id()), '_stripe_card_id', true); |
|
532 | 532 | |
533 | 533 | // Take this opportunity to update the key name. |
534 | - WC_Stripe_Helper::is_wc_lt( '3.0' ) ? 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 ); |
|
534 | + WC_Stripe_Helper::is_wc_lt('3.0') ? 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); |
|
535 | 535 | } |
536 | 536 | } |
537 | 537 | |
538 | - $stripe_customer->set_id( $stripe_customer_id ); |
|
538 | + $stripe_customer->set_id($stripe_customer_id); |
|
539 | 539 | |
540 | 540 | $sources = $stripe_customer->get_sources(); |
541 | - $payment_method_to_display = __( 'N/A', 'woocommerce-gateway-stripe' ); |
|
541 | + $payment_method_to_display = __('N/A', 'woocommerce-gateway-stripe'); |
|
542 | 542 | |
543 | - if ( $sources ) { |
|
543 | + if ($sources) { |
|
544 | 544 | $card = false; |
545 | 545 | |
546 | - foreach ( $sources as $source ) { |
|
547 | - if ( isset( $source->type ) && 'card' === $source->type ) { |
|
546 | + foreach ($sources as $source) { |
|
547 | + if (isset($source->type) && 'card' === $source->type) { |
|
548 | 548 | $card = $source->card; |
549 | - } elseif ( isset( $source->object ) && 'card' === $source->object ) { |
|
549 | + } elseif (isset($source->object) && 'card' === $source->object) { |
|
550 | 550 | $card = $source; |
551 | 551 | } |
552 | 552 | |
553 | - if ( $source->id === $stripe_source_id ) { |
|
554 | - if ( $card ) { |
|
553 | + if ($source->id === $stripe_source_id) { |
|
554 | + if ($card) { |
|
555 | 555 | /* translators: 1) card brand 2) last 4 digits */ |
556 | - $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 ); |
|
556 | + $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); |
|
557 | 557 | } |
558 | 558 | |
559 | 559 | 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 | |
@@ -11,7 +11,7 @@ discard block |
||
11 | 11 | public $saved_cards; |
12 | 12 | |
13 | 13 | public function __construct() { |
14 | - $this->saved_cards = WC_Stripe_Helper::get_settings( 'stripe', 'saved_cards' ); |
|
14 | + $this->saved_cards = WC_Stripe_Helper::get_settings('stripe', 'saved_cards'); |
|
15 | 15 | } |
16 | 16 | |
17 | 17 | /** |
@@ -19,59 +19,59 @@ discard block |
||
19 | 19 | * @param int $order_id |
20 | 20 | * @return boolean |
21 | 21 | */ |
22 | - public function is_pre_order( $order_id ) { |
|
23 | - return WC_Pre_Orders_Order::order_contains_pre_order( $order_id ); |
|
22 | + public function is_pre_order($order_id) { |
|
23 | + return WC_Pre_Orders_Order::order_contains_pre_order($order_id); |
|
24 | 24 | } |
25 | 25 | |
26 | 26 | /** |
27 | 27 | * Remove order meta |
28 | 28 | * @param object $order |
29 | 29 | */ |
30 | - public function remove_order_source_before_retry( $order ) { |
|
31 | - $order_id = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->id : $order->get_id(); |
|
32 | - delete_post_meta( $order_id, '_stripe_source_id' ); |
|
30 | + public function remove_order_source_before_retry($order) { |
|
31 | + $order_id = WC_Stripe_Helper::is_wc_lt('3.0') ? $order->id : $order->get_id(); |
|
32 | + delete_post_meta($order_id, '_stripe_source_id'); |
|
33 | 33 | // For BW compat will remove in the future. |
34 | - delete_post_meta( $order_id, '_stripe_card_id' ); |
|
34 | + delete_post_meta($order_id, '_stripe_card_id'); |
|
35 | 35 | } |
36 | 36 | |
37 | 37 | /** |
38 | 38 | * Remove order meta |
39 | 39 | * @param object $order |
40 | 40 | */ |
41 | - public function remove_order_customer_before_retry( $order ) { |
|
42 | - $order_id = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->id : $order->get_id(); |
|
43 | - delete_post_meta( $order_id, '_stripe_customer_id' ); |
|
41 | + public function remove_order_customer_before_retry($order) { |
|
42 | + $order_id = WC_Stripe_Helper::is_wc_lt('3.0') ? $order->id : $order->get_id(); |
|
43 | + delete_post_meta($order_id, '_stripe_customer_id'); |
|
44 | 44 | } |
45 | 45 | |
46 | 46 | /** |
47 | 47 | * Process the pre-order when pay upon release is used. |
48 | 48 | * @param int $order_id |
49 | 49 | */ |
50 | - public function process_pre_order( $order_id ) { |
|
50 | + public function process_pre_order($order_id) { |
|
51 | 51 | try { |
52 | - $order = wc_get_order( $order_id ); |
|
52 | + $order = wc_get_order($order_id); |
|
53 | 53 | |
54 | 54 | // This will throw exception if not valid. |
55 | - $this->validate_minimum_order_amount( $order ); |
|
55 | + $this->validate_minimum_order_amount($order); |
|
56 | 56 | |
57 | - $prepared_source = $this->prepare_source( get_current_user_id(), true ); |
|
57 | + $prepared_source = $this->prepare_source(get_current_user_id(), true); |
|
58 | 58 | |
59 | 59 | // We need a source on file to continue. |
60 | - if ( empty( $prepared_source->customer ) || empty( $prepared_source->source ) ) { |
|
61 | - throw new WC_Stripe_Exception( __( 'Unable to store payment details. Please try again.', 'woocommerce-gateway-stripe' ) ); |
|
60 | + if (empty($prepared_source->customer) || empty($prepared_source->source)) { |
|
61 | + throw new WC_Stripe_Exception(__('Unable to store payment details. Please try again.', 'woocommerce-gateway-stripe')); |
|
62 | 62 | } |
63 | 63 | |
64 | 64 | // Setup the response early to allow later modifications. |
65 | 65 | $response = array( |
66 | 66 | 'result' => 'success', |
67 | - 'redirect' => $this->get_return_url( $order ), |
|
67 | + 'redirect' => $this->get_return_url($order), |
|
68 | 68 | ); |
69 | 69 | |
70 | - $this->save_source_to_order( $order, $prepared_source ); |
|
70 | + $this->save_source_to_order($order, $prepared_source); |
|
71 | 71 | |
72 | 72 | // Try setting up a payment intent. |
73 | - $intent_secret = $this->setup_intent( $order, $prepared_source ); |
|
74 | - if ( ! empty( $intent_secret ) ) { |
|
73 | + $intent_secret = $this->setup_intent($order, $prepared_source); |
|
74 | + if ( ! empty($intent_secret)) { |
|
75 | 75 | $response['setup_intent_secret'] = $intent_secret; |
76 | 76 | return $response; |
77 | 77 | } |
@@ -80,17 +80,17 @@ discard block |
||
80 | 80 | WC()->cart->empty_cart(); |
81 | 81 | |
82 | 82 | // Is pre ordered! |
83 | - WC_Pre_Orders_Order::mark_order_as_pre_ordered( $order ); |
|
83 | + WC_Pre_Orders_Order::mark_order_as_pre_ordered($order); |
|
84 | 84 | |
85 | 85 | // Return thank you page redirect |
86 | 86 | return $response; |
87 | - } catch ( WC_Stripe_Exception $e ) { |
|
88 | - wc_add_notice( $e->getLocalizedMessage(), 'error' ); |
|
89 | - WC_Stripe_Logger::log( 'Pre Orders Error: ' . $e->getMessage() ); |
|
87 | + } catch (WC_Stripe_Exception $e) { |
|
88 | + wc_add_notice($e->getLocalizedMessage(), 'error'); |
|
89 | + WC_Stripe_Logger::log('Pre Orders Error: ' . $e->getMessage()); |
|
90 | 90 | |
91 | 91 | return array( |
92 | 92 | 'result' => 'success', |
93 | - 'redirect' => $order->get_checkout_payment_url( true ), |
|
93 | + 'redirect' => $order->get_checkout_payment_url(true), |
|
94 | 94 | ); |
95 | 95 | } |
96 | 96 | } |
@@ -100,7 +100,7 @@ discard block |
||
100 | 100 | * @param WC_Order $order |
101 | 101 | * @return void |
102 | 102 | */ |
103 | - public function process_pre_order_release_payment( $order ) { |
|
103 | + public function process_pre_order_release_payment($order) { |
|
104 | 104 | try { |
105 | 105 | // Define some callbacks if the first attempt fails. |
106 | 106 | $retry_callbacks = array( |
@@ -108,33 +108,33 @@ discard block |
||
108 | 108 | 'remove_order_customer_before_retry', |
109 | 109 | ); |
110 | 110 | |
111 | - while ( 1 ) { |
|
112 | - $source = $this->prepare_order_source( $order ); |
|
113 | - $response = WC_Stripe_API::request( $this->generate_payment_request( $order, $source ) ); |
|
111 | + while (1) { |
|
112 | + $source = $this->prepare_order_source($order); |
|
113 | + $response = WC_Stripe_API::request($this->generate_payment_request($order, $source)); |
|
114 | 114 | |
115 | - if ( ! empty( $response->error ) ) { |
|
116 | - if ( 0 === sizeof( $retry_callbacks ) ) { |
|
117 | - throw new Exception( $response->error->message ); |
|
115 | + if ( ! empty($response->error)) { |
|
116 | + if (0 === sizeof($retry_callbacks)) { |
|
117 | + throw new Exception($response->error->message); |
|
118 | 118 | } else { |
119 | - $retry_callback = array_shift( $retry_callbacks ); |
|
120 | - call_user_func( array( $this, $retry_callback ), $order ); |
|
119 | + $retry_callback = array_shift($retry_callbacks); |
|
120 | + call_user_func(array($this, $retry_callback), $order); |
|
121 | 121 | } |
122 | 122 | } else { |
123 | 123 | // Successful |
124 | - $this->process_response( $response, $order ); |
|
124 | + $this->process_response($response, $order); |
|
125 | 125 | break; |
126 | 126 | } |
127 | 127 | } |
128 | - } catch ( Exception $e ) { |
|
128 | + } catch (Exception $e) { |
|
129 | 129 | /* translators: error message */ |
130 | - $order_note = sprintf( __( 'Stripe Transaction Failed (%s)', 'woocommerce-gateway-stripe' ), $e->getMessage() ); |
|
130 | + $order_note = sprintf(__('Stripe Transaction Failed (%s)', 'woocommerce-gateway-stripe'), $e->getMessage()); |
|
131 | 131 | |
132 | 132 | // Mark order as failed if not already set, |
133 | 133 | // otherwise, make sure we add the order note so we can detect when someone fails to check out multiple times |
134 | - if ( ! $order->has_status( 'failed' ) ) { |
|
135 | - $order->update_status( 'failed', $order_note ); |
|
134 | + if ( ! $order->has_status('failed')) { |
|
135 | + $order->update_status('failed', $order_note); |
|
136 | 136 | } else { |
137 | - $order->add_order_note( $order_note ); |
|
137 | + $order->add_order_note($order_note); |
|
138 | 138 | } |
139 | 139 | } |
140 | 140 | } |
@@ -1,5 +1,5 @@ discard block |
||
1 | 1 | <?php |
2 | -if ( ! defined( 'ABSPATH' ) ) { |
|
2 | +if ( ! defined('ABSPATH')) { |
|
3 | 3 | exit; |
4 | 4 | } |
5 | 5 | |
@@ -39,12 +39,12 @@ discard block |
||
39 | 39 | */ |
40 | 40 | public function __construct() { |
41 | 41 | $this->retry_interval = 2; |
42 | - $stripe_settings = get_option( 'woocommerce_stripe_settings', array() ); |
|
43 | - $this->testmode = ( ! empty( $stripe_settings['testmode'] ) && 'yes' === $stripe_settings['testmode'] ) ? true : false; |
|
44 | - $secret_key = ( $this->testmode ? 'test_' : '' ) . 'webhook_secret'; |
|
45 | - $this->secret = ! empty( $stripe_settings[ $secret_key ] ) ? $stripe_settings[ $secret_key ] : false; |
|
42 | + $stripe_settings = get_option('woocommerce_stripe_settings', array()); |
|
43 | + $this->testmode = ( ! empty($stripe_settings['testmode']) && 'yes' === $stripe_settings['testmode']) ? true : false; |
|
44 | + $secret_key = ($this->testmode ? 'test_' : '') . 'webhook_secret'; |
|
45 | + $this->secret = ! empty($stripe_settings[$secret_key]) ? $stripe_settings[$secret_key] : false; |
|
46 | 46 | |
47 | - add_action( 'woocommerce_api_wc_stripe', array( $this, 'check_for_webhook' ) ); |
|
47 | + add_action('woocommerce_api_wc_stripe', array($this, 'check_for_webhook')); |
|
48 | 48 | } |
49 | 49 | |
50 | 50 | /** |
@@ -54,24 +54,24 @@ discard block |
||
54 | 54 | * @version 4.0.0 |
55 | 55 | */ |
56 | 56 | public function check_for_webhook() { |
57 | - if ( ( 'POST' !== $_SERVER['REQUEST_METHOD'] ) |
|
58 | - || ! isset( $_GET['wc-api'] ) |
|
59 | - || ( 'wc_stripe' !== $_GET['wc-api'] ) |
|
57 | + if (('POST' !== $_SERVER['REQUEST_METHOD']) |
|
58 | + || ! isset($_GET['wc-api']) |
|
59 | + || ('wc_stripe' !== $_GET['wc-api']) |
|
60 | 60 | ) { |
61 | 61 | return; |
62 | 62 | } |
63 | 63 | |
64 | - $request_body = file_get_contents( 'php://input' ); |
|
65 | - $request_headers = array_change_key_case( $this->get_request_headers(), CASE_UPPER ); |
|
64 | + $request_body = file_get_contents('php://input'); |
|
65 | + $request_headers = array_change_key_case($this->get_request_headers(), CASE_UPPER); |
|
66 | 66 | |
67 | 67 | // Validate it to make sure it is legit. |
68 | - if ( $this->is_valid_request( $request_headers, $request_body ) ) { |
|
69 | - $this->process_webhook( $request_body ); |
|
70 | - status_header( 200 ); |
|
68 | + if ($this->is_valid_request($request_headers, $request_body)) { |
|
69 | + $this->process_webhook($request_body); |
|
70 | + status_header(200); |
|
71 | 71 | exit; |
72 | 72 | } else { |
73 | - WC_Stripe_Logger::log( 'Incoming webhook failed validation: ' . print_r( $request_body, true ) ); |
|
74 | - status_header( 400 ); |
|
73 | + WC_Stripe_Logger::log('Incoming webhook failed validation: ' . print_r($request_body, true)); |
|
74 | + status_header(400); |
|
75 | 75 | exit; |
76 | 76 | } |
77 | 77 | } |
@@ -85,34 +85,34 @@ discard block |
||
85 | 85 | * @param string $request_body The request body from Stripe. |
86 | 86 | * @return bool |
87 | 87 | */ |
88 | - public function is_valid_request( $request_headers = null, $request_body = null ) { |
|
89 | - if ( null === $request_headers || null === $request_body ) { |
|
88 | + public function is_valid_request($request_headers = null, $request_body = null) { |
|
89 | + if (null === $request_headers || null === $request_body) { |
|
90 | 90 | return false; |
91 | 91 | } |
92 | 92 | |
93 | - if ( ! empty( $request_headers['USER-AGENT'] ) && ! preg_match( '/Stripe/', $request_headers['USER-AGENT'] ) ) { |
|
93 | + if ( ! empty($request_headers['USER-AGENT']) && ! preg_match('/Stripe/', $request_headers['USER-AGENT'])) { |
|
94 | 94 | return false; |
95 | 95 | } |
96 | 96 | |
97 | - if ( ! empty( $this->secret ) ) { |
|
97 | + if ( ! empty($this->secret)) { |
|
98 | 98 | // Check for a valid signature. |
99 | 99 | $signature_format = '/^t=(?P<timestamp>\d+)(?P<signatures>(,v\d+=[a-z0-9]+){1,2})$/'; |
100 | - if ( empty( $request_headers['STRIPE-SIGNATURE'] ) || ! preg_match( $signature_format, $request_headers['STRIPE-SIGNATURE'], $matches ) ) { |
|
100 | + if (empty($request_headers['STRIPE-SIGNATURE']) || ! preg_match($signature_format, $request_headers['STRIPE-SIGNATURE'], $matches)) { |
|
101 | 101 | return false; |
102 | 102 | } |
103 | 103 | |
104 | 104 | // Verify the timestamp. |
105 | - $timestamp = intval( $matches['timestamp'] ); |
|
106 | - if ( abs( $timestamp - time() ) > 5 * MINUTE_IN_SECONDS ) { |
|
105 | + $timestamp = intval($matches['timestamp']); |
|
106 | + if (abs($timestamp - time()) > 5 * MINUTE_IN_SECONDS) { |
|
107 | 107 | return; |
108 | 108 | } |
109 | 109 | |
110 | 110 | // Generate the expected signature. |
111 | 111 | $signed_payload = $timestamp . '.' . $request_body; |
112 | - $expected_signature = hash_hmac( 'sha256', $signed_payload, $this->secret ); |
|
112 | + $expected_signature = hash_hmac('sha256', $signed_payload, $this->secret); |
|
113 | 113 | |
114 | 114 | // Check if the expected signature is present. |
115 | - if ( ! preg_match( '/,v\d+=' . preg_quote( $expected_signature, '/' ) . '/', $matches['signatures'] ) ) { |
|
115 | + if ( ! preg_match('/,v\d+=' . preg_quote($expected_signature, '/') . '/', $matches['signatures'])) { |
|
116 | 116 | return false; |
117 | 117 | } |
118 | 118 | } |
@@ -129,12 +129,12 @@ discard block |
||
129 | 129 | * @version 4.0.0 |
130 | 130 | */ |
131 | 131 | public function get_request_headers() { |
132 | - if ( ! function_exists( 'getallheaders' ) ) { |
|
132 | + if ( ! function_exists('getallheaders')) { |
|
133 | 133 | $headers = array(); |
134 | 134 | |
135 | - foreach ( $_SERVER as $name => $value ) { |
|
136 | - if ( 'HTTP_' === substr( $name, 0, 5 ) ) { |
|
137 | - $headers[ str_replace( ' ', '-', ucwords( strtolower( str_replace( '_', ' ', substr( $name, 5 ) ) ) ) ) ] = $value; |
|
135 | + foreach ($_SERVER as $name => $value) { |
|
136 | + if ('HTTP_' === substr($name, 0, 5)) { |
|
137 | + $headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value; |
|
138 | 138 | } |
139 | 139 | } |
140 | 140 | |
@@ -153,30 +153,30 @@ discard block |
||
153 | 153 | * @param object $notification |
154 | 154 | * @param bool $retry |
155 | 155 | */ |
156 | - public function process_webhook_payment( $notification, $retry = true ) { |
|
156 | + public function process_webhook_payment($notification, $retry = true) { |
|
157 | 157 | // The following 3 payment methods are synchronous so does not need to be handle via webhook. |
158 | - if ( 'card' === $notification->data->object->type || 'sepa_debit' === $notification->data->object->type || 'three_d_secure' === $notification->data->object->type ) { |
|
158 | + if ('card' === $notification->data->object->type || 'sepa_debit' === $notification->data->object->type || 'three_d_secure' === $notification->data->object->type) { |
|
159 | 159 | return; |
160 | 160 | } |
161 | 161 | |
162 | - $order = WC_Stripe_Helper::get_order_by_source_id( $notification->data->object->id ); |
|
162 | + $order = WC_Stripe_Helper::get_order_by_source_id($notification->data->object->id); |
|
163 | 163 | |
164 | - if ( ! $order ) { |
|
165 | - WC_Stripe_Logger::log( 'Could not find order via source ID: ' . $notification->data->object->id ); |
|
164 | + if ( ! $order) { |
|
165 | + WC_Stripe_Logger::log('Could not find order via source ID: ' . $notification->data->object->id); |
|
166 | 166 | return; |
167 | 167 | } |
168 | 168 | |
169 | - $order_id = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->id : $order->get_id(); |
|
169 | + $order_id = WC_Stripe_Helper::is_wc_lt('3.0') ? $order->id : $order->get_id(); |
|
170 | 170 | $source_id = $notification->data->object->id; |
171 | 171 | |
172 | - $is_pending_receiver = ( 'receiver' === $notification->data->object->flow ); |
|
172 | + $is_pending_receiver = ('receiver' === $notification->data->object->flow); |
|
173 | 173 | |
174 | 174 | try { |
175 | - if ( 'processing' === $order->get_status() || 'completed' === $order->get_status() ) { |
|
175 | + if ('processing' === $order->get_status() || 'completed' === $order->get_status()) { |
|
176 | 176 | return; |
177 | 177 | } |
178 | 178 | |
179 | - if ( 'on-hold' === $order->get_status() && ! $is_pending_receiver ) { |
|
179 | + if ('on-hold' === $order->get_status() && ! $is_pending_receiver) { |
|
180 | 180 | return; |
181 | 181 | } |
182 | 182 | |
@@ -184,94 +184,94 @@ discard block |
||
184 | 184 | $response = null; |
185 | 185 | |
186 | 186 | // This will throw exception if not valid. |
187 | - $this->validate_minimum_order_amount( $order ); |
|
187 | + $this->validate_minimum_order_amount($order); |
|
188 | 188 | |
189 | - WC_Stripe_Logger::log( "Info: (Webhook) Begin processing payment for order $order_id for the amount of {$order->get_total()}" ); |
|
189 | + WC_Stripe_Logger::log("Info: (Webhook) Begin processing payment for order $order_id for the amount of {$order->get_total()}"); |
|
190 | 190 | |
191 | 191 | // Prep source object. |
192 | 192 | $source_object = new stdClass(); |
193 | 193 | $source_object->token_id = ''; |
194 | - $source_object->customer = $this->get_stripe_customer_id( $order ); |
|
194 | + $source_object->customer = $this->get_stripe_customer_id($order); |
|
195 | 195 | $source_object->source = $source_id; |
196 | 196 | |
197 | 197 | // Make the request. |
198 | - $response = WC_Stripe_API::request( $this->generate_payment_request( $order, $source_object ), 'charges', 'POST', true ); |
|
198 | + $response = WC_Stripe_API::request($this->generate_payment_request($order, $source_object), 'charges', 'POST', true); |
|
199 | 199 | $headers = $response['headers']; |
200 | 200 | $response = $response['body']; |
201 | 201 | |
202 | - if ( ! empty( $response->error ) ) { |
|
202 | + if ( ! empty($response->error)) { |
|
203 | 203 | // Customer param wrong? The user may have been deleted on stripe's end. Remove customer_id. Can be retried without. |
204 | - if ( $this->is_no_such_customer_error( $response->error ) ) { |
|
205 | - if ( WC_Stripe_Helper::is_wc_lt( '3.0' ) ) { |
|
206 | - delete_user_meta( $order->customer_user, '_stripe_customer_id' ); |
|
207 | - delete_post_meta( $order_id, '_stripe_customer_id' ); |
|
204 | + if ($this->is_no_such_customer_error($response->error)) { |
|
205 | + if (WC_Stripe_Helper::is_wc_lt('3.0')) { |
|
206 | + delete_user_meta($order->customer_user, '_stripe_customer_id'); |
|
207 | + delete_post_meta($order_id, '_stripe_customer_id'); |
|
208 | 208 | } else { |
209 | - delete_user_meta( $order->get_customer_id(), '_stripe_customer_id' ); |
|
210 | - $order->delete_meta_data( '_stripe_customer_id' ); |
|
209 | + delete_user_meta($order->get_customer_id(), '_stripe_customer_id'); |
|
210 | + $order->delete_meta_data('_stripe_customer_id'); |
|
211 | 211 | $order->save(); |
212 | 212 | } |
213 | 213 | } |
214 | 214 | |
215 | - if ( $this->is_no_such_token_error( $response->error ) && $prepared_source->token_id ) { |
|
215 | + if ($this->is_no_such_token_error($response->error) && $prepared_source->token_id) { |
|
216 | 216 | // Source param wrong? The CARD may have been deleted on stripe's end. Remove token and show message. |
217 | - $wc_token = WC_Payment_Tokens::get( $prepared_source->token_id ); |
|
217 | + $wc_token = WC_Payment_Tokens::get($prepared_source->token_id); |
|
218 | 218 | $wc_token->delete(); |
219 | - $localized_message = __( 'This card is no longer available and has been removed.', 'woocommerce-gateway-stripe' ); |
|
220 | - $order->add_order_note( $localized_message ); |
|
221 | - throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message ); |
|
219 | + $localized_message = __('This card is no longer available and has been removed.', 'woocommerce-gateway-stripe'); |
|
220 | + $order->add_order_note($localized_message); |
|
221 | + throw new WC_Stripe_Exception(print_r($response, true), $localized_message); |
|
222 | 222 | } |
223 | 223 | |
224 | 224 | // We want to retry. |
225 | - if ( $this->is_retryable_error( $response->error ) ) { |
|
226 | - if ( $retry ) { |
|
225 | + if ($this->is_retryable_error($response->error)) { |
|
226 | + if ($retry) { |
|
227 | 227 | // Don't do anymore retries after this. |
228 | - if ( 5 <= $this->retry_interval ) { |
|
228 | + if (5 <= $this->retry_interval) { |
|
229 | 229 | |
230 | - return $this->process_webhook_payment( $notification, false ); |
|
230 | + return $this->process_webhook_payment($notification, false); |
|
231 | 231 | } |
232 | 232 | |
233 | - sleep( $this->retry_interval ); |
|
233 | + sleep($this->retry_interval); |
|
234 | 234 | |
235 | 235 | $this->retry_interval++; |
236 | - return $this->process_webhook_payment( $notification, true ); |
|
236 | + return $this->process_webhook_payment($notification, true); |
|
237 | 237 | } else { |
238 | - $localized_message = __( 'Sorry, we are unable to process your payment at this time. Please retry later.', 'woocommerce-gateway-stripe' ); |
|
239 | - $order->add_order_note( $localized_message ); |
|
240 | - throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message ); |
|
238 | + $localized_message = __('Sorry, we are unable to process your payment at this time. Please retry later.', 'woocommerce-gateway-stripe'); |
|
239 | + $order->add_order_note($localized_message); |
|
240 | + throw new WC_Stripe_Exception(print_r($response, true), $localized_message); |
|
241 | 241 | } |
242 | 242 | } |
243 | 243 | |
244 | 244 | $localized_messages = WC_Stripe_Helper::get_localized_messages(); |
245 | 245 | |
246 | - if ( 'card_error' === $response->error->type ) { |
|
247 | - $localized_message = isset( $localized_messages[ $response->error->code ] ) ? $localized_messages[ $response->error->code ] : $response->error->message; |
|
246 | + if ('card_error' === $response->error->type) { |
|
247 | + $localized_message = isset($localized_messages[$response->error->code]) ? $localized_messages[$response->error->code] : $response->error->message; |
|
248 | 248 | } else { |
249 | - $localized_message = isset( $localized_messages[ $response->error->type ] ) ? $localized_messages[ $response->error->type ] : $response->error->message; |
|
249 | + $localized_message = isset($localized_messages[$response->error->type]) ? $localized_messages[$response->error->type] : $response->error->message; |
|
250 | 250 | } |
251 | 251 | |
252 | - $order->add_order_note( $localized_message ); |
|
252 | + $order->add_order_note($localized_message); |
|
253 | 253 | |
254 | - throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message ); |
|
254 | + throw new WC_Stripe_Exception(print_r($response, true), $localized_message); |
|
255 | 255 | } |
256 | 256 | |
257 | 257 | // To prevent double processing the order on WC side. |
258 | - if ( ! $this->is_original_request( $headers ) ) { |
|
258 | + if ( ! $this->is_original_request($headers)) { |
|
259 | 259 | return; |
260 | 260 | } |
261 | 261 | |
262 | - do_action( 'wc_gateway_stripe_process_webhook_payment', $response, $order ); |
|
262 | + do_action('wc_gateway_stripe_process_webhook_payment', $response, $order); |
|
263 | 263 | |
264 | - $this->process_response( $response, $order ); |
|
264 | + $this->process_response($response, $order); |
|
265 | 265 | |
266 | - } catch ( WC_Stripe_Exception $e ) { |
|
267 | - WC_Stripe_Logger::log( 'Error: ' . $e->getMessage() ); |
|
266 | + } catch (WC_Stripe_Exception $e) { |
|
267 | + WC_Stripe_Logger::log('Error: ' . $e->getMessage()); |
|
268 | 268 | |
269 | - do_action( 'wc_gateway_stripe_process_webhook_payment_error', $order, $notification, $e ); |
|
269 | + do_action('wc_gateway_stripe_process_webhook_payment_error', $order, $notification, $e); |
|
270 | 270 | |
271 | - $statuses = array( 'pending', 'failed' ); |
|
271 | + $statuses = array('pending', 'failed'); |
|
272 | 272 | |
273 | - if ( $order->has_status( $statuses ) ) { |
|
274 | - $this->send_failed_order_email( $order_id ); |
|
273 | + if ($order->has_status($statuses)) { |
|
274 | + $this->send_failed_order_email($order_id); |
|
275 | 275 | } |
276 | 276 | } |
277 | 277 | } |
@@ -284,21 +284,21 @@ discard block |
||
284 | 284 | * @since 4.0.0 |
285 | 285 | * @param object $notification |
286 | 286 | */ |
287 | - public function process_webhook_dispute( $notification ) { |
|
288 | - $order = WC_Stripe_Helper::get_order_by_charge_id( $notification->data->object->charge ); |
|
287 | + public function process_webhook_dispute($notification) { |
|
288 | + $order = WC_Stripe_Helper::get_order_by_charge_id($notification->data->object->charge); |
|
289 | 289 | |
290 | - if ( ! $order ) { |
|
291 | - WC_Stripe_Logger::log( 'Could not find order via charge ID: ' . $notification->data->object->charge ); |
|
290 | + if ( ! $order) { |
|
291 | + WC_Stripe_Logger::log('Could not find order via charge ID: ' . $notification->data->object->charge); |
|
292 | 292 | return; |
293 | 293 | } |
294 | 294 | |
295 | 295 | /* translators: 1) The URL to the order. */ |
296 | - $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 ) ) ); |
|
296 | + $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))); |
|
297 | 297 | |
298 | - do_action( 'wc_gateway_stripe_process_webhook_payment_error', $order, $notification ); |
|
298 | + do_action('wc_gateway_stripe_process_webhook_payment_error', $order, $notification); |
|
299 | 299 | |
300 | - $order_id = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->id : $order->get_id(); |
|
301 | - $this->send_failed_order_email( $order_id ); |
|
300 | + $order_id = WC_Stripe_Helper::is_wc_lt('3.0') ? $order->id : $order->get_id(); |
|
301 | + $this->send_failed_order_email($order_id); |
|
302 | 302 | } |
303 | 303 | |
304 | 304 | /** |
@@ -309,45 +309,45 @@ discard block |
||
309 | 309 | * @version 4.0.0 |
310 | 310 | * @param object $notification |
311 | 311 | */ |
312 | - public function process_webhook_capture( $notification ) { |
|
313 | - $order = WC_Stripe_Helper::get_order_by_charge_id( $notification->data->object->id ); |
|
312 | + public function process_webhook_capture($notification) { |
|
313 | + $order = WC_Stripe_Helper::get_order_by_charge_id($notification->data->object->id); |
|
314 | 314 | |
315 | - if ( ! $order ) { |
|
316 | - WC_Stripe_Logger::log( 'Could not find order via charge ID: ' . $notification->data->object->id ); |
|
315 | + if ( ! $order) { |
|
316 | + WC_Stripe_Logger::log('Could not find order via charge ID: ' . $notification->data->object->id); |
|
317 | 317 | return; |
318 | 318 | } |
319 | 319 | |
320 | - $order_id = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->id : $order->get_id(); |
|
320 | + $order_id = WC_Stripe_Helper::is_wc_lt('3.0') ? $order->id : $order->get_id(); |
|
321 | 321 | |
322 | - if ( 'stripe' === ( WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->payment_method : $order->get_payment_method() ) ) { |
|
323 | - $charge = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? get_post_meta( $order_id, '_transaction_id', true ) : $order->get_transaction_id(); |
|
324 | - $captured = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? get_post_meta( $order_id, '_stripe_charge_captured', true ) : $order->get_meta( '_stripe_charge_captured', true ); |
|
322 | + if ('stripe' === (WC_Stripe_Helper::is_wc_lt('3.0') ? $order->payment_method : $order->get_payment_method())) { |
|
323 | + $charge = WC_Stripe_Helper::is_wc_lt('3.0') ? get_post_meta($order_id, '_transaction_id', true) : $order->get_transaction_id(); |
|
324 | + $captured = WC_Stripe_Helper::is_wc_lt('3.0') ? get_post_meta($order_id, '_stripe_charge_captured', true) : $order->get_meta('_stripe_charge_captured', true); |
|
325 | 325 | |
326 | - if ( $charge && 'no' === $captured ) { |
|
327 | - WC_Stripe_Helper::is_wc_lt( '3.0' ) ? update_post_meta( $order_id, '_stripe_charge_captured', 'yes' ) : $order->update_meta_data( '_stripe_charge_captured', 'yes' ); |
|
326 | + if ($charge && 'no' === $captured) { |
|
327 | + WC_Stripe_Helper::is_wc_lt('3.0') ? update_post_meta($order_id, '_stripe_charge_captured', 'yes') : $order->update_meta_data('_stripe_charge_captured', 'yes'); |
|
328 | 328 | |
329 | 329 | // Store other data such as fees |
330 | - WC_Stripe_Helper::is_wc_lt( '3.0' ) ? update_post_meta( $order_id, '_transaction_id', $notification->data->object->id ) : $order->set_transaction_id( $notification->data->object->id ); |
|
330 | + WC_Stripe_Helper::is_wc_lt('3.0') ? update_post_meta($order_id, '_transaction_id', $notification->data->object->id) : $order->set_transaction_id($notification->data->object->id); |
|
331 | 331 | |
332 | - if ( isset( $notification->data->object->balance_transaction ) ) { |
|
333 | - $this->update_fees( $order, $notification->data->object->balance_transaction ); |
|
332 | + if (isset($notification->data->object->balance_transaction)) { |
|
333 | + $this->update_fees($order, $notification->data->object->balance_transaction); |
|
334 | 334 | } |
335 | 335 | |
336 | 336 | // Check and see if capture is partial. |
337 | - if ( $this->is_partial_capture( $notification ) ) { |
|
338 | - $partial_amount = $this->get_partial_amount_to_charge( $notification ); |
|
339 | - $order->set_total( $partial_amount ); |
|
340 | - $this->update_fees( $order, $notification->data->object->refunds->data[0]->balance_transaction ); |
|
337 | + if ($this->is_partial_capture($notification)) { |
|
338 | + $partial_amount = $this->get_partial_amount_to_charge($notification); |
|
339 | + $order->set_total($partial_amount); |
|
340 | + $this->update_fees($order, $notification->data->object->refunds->data[0]->balance_transaction); |
|
341 | 341 | /* translators: partial captured amount */ |
342 | - $order->add_order_note( sprintf( __( 'This charge was partially captured via Stripe Dashboard in the amount of: %s', 'woocommerce-gateway-stripe' ), $partial_amount ) ); |
|
342 | + $order->add_order_note(sprintf(__('This charge was partially captured via Stripe Dashboard in the amount of: %s', 'woocommerce-gateway-stripe'), $partial_amount)); |
|
343 | 343 | } else { |
344 | - $order->payment_complete( $notification->data->object->id ); |
|
344 | + $order->payment_complete($notification->data->object->id); |
|
345 | 345 | |
346 | 346 | /* translators: transaction id */ |
347 | - $order->add_order_note( sprintf( __( 'Stripe charge complete (Charge ID: %s)', 'woocommerce-gateway-stripe' ), $notification->data->object->id ) ); |
|
347 | + $order->add_order_note(sprintf(__('Stripe charge complete (Charge ID: %s)', 'woocommerce-gateway-stripe'), $notification->data->object->id)); |
|
348 | 348 | } |
349 | 349 | |
350 | - if ( is_callable( array( $order, 'save' ) ) ) { |
|
350 | + if (is_callable(array($order, 'save'))) { |
|
351 | 351 | $order->save(); |
352 | 352 | } |
353 | 353 | } |
@@ -362,43 +362,43 @@ discard block |
||
362 | 362 | * @version 4.0.0 |
363 | 363 | * @param object $notification |
364 | 364 | */ |
365 | - public function process_webhook_charge_succeeded( $notification ) { |
|
365 | + public function process_webhook_charge_succeeded($notification) { |
|
366 | 366 | // Ignore the notification for charges, created through PaymentIntents. |
367 | - if ( isset( $notification->data->object->payment_intent ) && $notification->data->object->payment_intent ) { |
|
367 | + if (isset($notification->data->object->payment_intent) && $notification->data->object->payment_intent) { |
|
368 | 368 | return; |
369 | 369 | } |
370 | 370 | |
371 | 371 | // The following payment methods are synchronous so does not need to be handle via webhook. |
372 | - 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 ) ) { |
|
372 | + 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)) { |
|
373 | 373 | return; |
374 | 374 | } |
375 | 375 | |
376 | - $order = WC_Stripe_Helper::get_order_by_charge_id( $notification->data->object->id ); |
|
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 | - $order_id = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->id : $order->get_id(); |
|
383 | + $order_id = WC_Stripe_Helper::is_wc_lt('3.0') ? $order->id : $order->get_id(); |
|
384 | 384 | |
385 | - if ( 'on-hold' !== $order->get_status() ) { |
|
385 | + if ('on-hold' !== $order->get_status()) { |
|
386 | 386 | return; |
387 | 387 | } |
388 | 388 | |
389 | 389 | // Store other data such as fees |
390 | - WC_Stripe_Helper::is_wc_lt( '3.0' ) ? update_post_meta( $order_id, '_transaction_id', $notification->data->object->id ) : $order->set_transaction_id( $notification->data->object->id ); |
|
390 | + WC_Stripe_Helper::is_wc_lt('3.0') ? update_post_meta($order_id, '_transaction_id', $notification->data->object->id) : $order->set_transaction_id($notification->data->object->id); |
|
391 | 391 | |
392 | - if ( isset( $notification->data->object->balance_transaction ) ) { |
|
393 | - $this->update_fees( $order, $notification->data->object->balance_transaction ); |
|
392 | + if (isset($notification->data->object->balance_transaction)) { |
|
393 | + $this->update_fees($order, $notification->data->object->balance_transaction); |
|
394 | 394 | } |
395 | 395 | |
396 | - $order->payment_complete( $notification->data->object->id ); |
|
396 | + $order->payment_complete($notification->data->object->id); |
|
397 | 397 | |
398 | 398 | /* translators: transaction id */ |
399 | - $order->add_order_note( sprintf( __( 'Stripe charge complete (Charge ID: %s)', 'woocommerce-gateway-stripe' ), $notification->data->object->id ) ); |
|
399 | + $order->add_order_note(sprintf(__('Stripe charge complete (Charge ID: %s)', 'woocommerce-gateway-stripe'), $notification->data->object->id)); |
|
400 | 400 | |
401 | - if ( is_callable( array( $order, 'save' ) ) ) { |
|
401 | + if (is_callable(array($order, 'save'))) { |
|
402 | 402 | $order->save(); |
403 | 403 | } |
404 | 404 | } |
@@ -410,24 +410,24 @@ discard block |
||
410 | 410 | * @since 4.1.5 Can handle any fail payments from any methods. |
411 | 411 | * @param object $notification |
412 | 412 | */ |
413 | - public function process_webhook_charge_failed( $notification ) { |
|
414 | - $order = WC_Stripe_Helper::get_order_by_charge_id( $notification->data->object->id ); |
|
413 | + public function process_webhook_charge_failed($notification) { |
|
414 | + $order = WC_Stripe_Helper::get_order_by_charge_id($notification->data->object->id); |
|
415 | 415 | |
416 | - if ( ! $order ) { |
|
417 | - WC_Stripe_Logger::log( 'Could not find order via charge ID: ' . $notification->data->object->id ); |
|
416 | + if ( ! $order) { |
|
417 | + WC_Stripe_Logger::log('Could not find order via charge ID: ' . $notification->data->object->id); |
|
418 | 418 | return; |
419 | 419 | } |
420 | 420 | |
421 | - $order_id = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->id : $order->get_id(); |
|
421 | + $order_id = WC_Stripe_Helper::is_wc_lt('3.0') ? $order->id : $order->get_id(); |
|
422 | 422 | |
423 | 423 | // If order status is already in failed status don't continue. |
424 | - if ( 'failed' === $order->get_status() ) { |
|
424 | + if ('failed' === $order->get_status()) { |
|
425 | 425 | return; |
426 | 426 | } |
427 | 427 | |
428 | - $order->update_status( 'failed', __( 'This payment failed to clear.', 'woocommerce-gateway-stripe' ) ); |
|
428 | + $order->update_status('failed', __('This payment failed to clear.', 'woocommerce-gateway-stripe')); |
|
429 | 429 | |
430 | - do_action( 'wc_gateway_stripe_process_webhook_payment_error', $order, $notification ); |
|
430 | + do_action('wc_gateway_stripe_process_webhook_payment_error', $order, $notification); |
|
431 | 431 | } |
432 | 432 | |
433 | 433 | /** |
@@ -438,30 +438,30 @@ discard block |
||
438 | 438 | * @since 4.1.15 Add check to make sure order is processed by Stripe. |
439 | 439 | * @param object $notification |
440 | 440 | */ |
441 | - public function process_webhook_source_canceled( $notification ) { |
|
442 | - $order = WC_Stripe_Helper::get_order_by_charge_id( $notification->data->object->id ); |
|
441 | + public function process_webhook_source_canceled($notification) { |
|
442 | + $order = WC_Stripe_Helper::get_order_by_charge_id($notification->data->object->id); |
|
443 | 443 | |
444 | 444 | // If can't find order by charge ID, try source ID. |
445 | - if ( ! $order ) { |
|
446 | - $order = WC_Stripe_Helper::get_order_by_source_id( $notification->data->object->id ); |
|
445 | + if ( ! $order) { |
|
446 | + $order = WC_Stripe_Helper::get_order_by_source_id($notification->data->object->id); |
|
447 | 447 | |
448 | - if ( ! $order ) { |
|
449 | - WC_Stripe_Logger::log( 'Could not find order via charge/source ID: ' . $notification->data->object->id ); |
|
448 | + if ( ! $order) { |
|
449 | + WC_Stripe_Logger::log('Could not find order via charge/source ID: ' . $notification->data->object->id); |
|
450 | 450 | return; |
451 | 451 | } |
452 | 452 | } |
453 | 453 | |
454 | 454 | // Don't proceed if payment method isn't Stripe. |
455 | - if ( 'stripe' !== $order->get_payment_method() ) { |
|
456 | - WC_Stripe_Logger::log( 'Canceled webhook abort: Order was not processed by Stripe: ' . $order->get_id() ); |
|
455 | + if ('stripe' !== $order->get_payment_method()) { |
|
456 | + WC_Stripe_Logger::log('Canceled webhook abort: Order was not processed by Stripe: ' . $order->get_id()); |
|
457 | 457 | return; |
458 | 458 | } |
459 | 459 | |
460 | - if ( 'cancelled' !== $order->get_status() ) { |
|
461 | - $order->update_status( 'cancelled', __( 'This payment has cancelled.', 'woocommerce-gateway-stripe' ) ); |
|
460 | + if ('cancelled' !== $order->get_status()) { |
|
461 | + $order->update_status('cancelled', __('This payment has cancelled.', 'woocommerce-gateway-stripe')); |
|
462 | 462 | } |
463 | 463 | |
464 | - do_action( 'wc_gateway_stripe_process_webhook_payment_error', $order, $notification ); |
|
464 | + do_action('wc_gateway_stripe_process_webhook_payment_error', $order, $notification); |
|
465 | 465 | } |
466 | 466 | |
467 | 467 | /** |
@@ -471,59 +471,59 @@ discard block |
||
471 | 471 | * @version 4.0.0 |
472 | 472 | * @param object $notification |
473 | 473 | */ |
474 | - public function process_webhook_refund( $notification ) { |
|
475 | - $order = WC_Stripe_Helper::get_order_by_charge_id( $notification->data->object->id ); |
|
474 | + public function process_webhook_refund($notification) { |
|
475 | + $order = WC_Stripe_Helper::get_order_by_charge_id($notification->data->object->id); |
|
476 | 476 | |
477 | - if ( ! $order ) { |
|
478 | - WC_Stripe_Logger::log( 'Could not find order via charge ID: ' . $notification->data->object->id ); |
|
477 | + if ( ! $order) { |
|
478 | + WC_Stripe_Logger::log('Could not find order via charge ID: ' . $notification->data->object->id); |
|
479 | 479 | return; |
480 | 480 | } |
481 | 481 | |
482 | - $order_id = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->id : $order->get_id(); |
|
482 | + $order_id = WC_Stripe_Helper::is_wc_lt('3.0') ? $order->id : $order->get_id(); |
|
483 | 483 | |
484 | - if ( 'stripe' === ( WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->payment_method : $order->get_payment_method() ) ) { |
|
485 | - $charge = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? get_post_meta( $order_id, '_transaction_id', true ) : $order->get_transaction_id(); |
|
486 | - $captured = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? get_post_meta( $order_id, '_stripe_charge_captured', true ) : $order->get_meta( '_stripe_charge_captured', true ); |
|
487 | - $refund_id = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? get_post_meta( $order_id, '_stripe_refund_id', true ) : $order->get_meta( '_stripe_refund_id', true ); |
|
484 | + if ('stripe' === (WC_Stripe_Helper::is_wc_lt('3.0') ? $order->payment_method : $order->get_payment_method())) { |
|
485 | + $charge = WC_Stripe_Helper::is_wc_lt('3.0') ? get_post_meta($order_id, '_transaction_id', true) : $order->get_transaction_id(); |
|
486 | + $captured = WC_Stripe_Helper::is_wc_lt('3.0') ? get_post_meta($order_id, '_stripe_charge_captured', true) : $order->get_meta('_stripe_charge_captured', true); |
|
487 | + $refund_id = WC_Stripe_Helper::is_wc_lt('3.0') ? get_post_meta($order_id, '_stripe_refund_id', true) : $order->get_meta('_stripe_refund_id', true); |
|
488 | 488 | |
489 | 489 | // If the refund ID matches, don't continue to prevent double refunding. |
490 | - if ( $notification->data->object->refunds->data[0]->id === $refund_id ) { |
|
490 | + if ($notification->data->object->refunds->data[0]->id === $refund_id) { |
|
491 | 491 | return; |
492 | 492 | } |
493 | 493 | |
494 | 494 | // Only refund captured charge. |
495 | - if ( $charge ) { |
|
496 | - $reason = ( isset( $captured ) && 'yes' === $captured ) ? __( 'Refunded via Stripe Dashboard', 'woocommerce-gateway-stripe' ) : __( 'Pre-Authorization Released via Stripe Dashboard', 'woocommerce-gateway-stripe' ); |
|
495 | + if ($charge) { |
|
496 | + $reason = (isset($captured) && 'yes' === $captured) ? __('Refunded via Stripe Dashboard', 'woocommerce-gateway-stripe') : __('Pre-Authorization Released via Stripe Dashboard', 'woocommerce-gateway-stripe'); |
|
497 | 497 | |
498 | 498 | // Create the refund. |
499 | 499 | $refund = wc_create_refund( |
500 | 500 | array( |
501 | 501 | 'order_id' => $order_id, |
502 | - 'amount' => $this->get_refund_amount( $notification ), |
|
502 | + 'amount' => $this->get_refund_amount($notification), |
|
503 | 503 | 'reason' => $reason, |
504 | 504 | ) |
505 | 505 | ); |
506 | 506 | |
507 | - if ( is_wp_error( $refund ) ) { |
|
508 | - WC_Stripe_Logger::log( $refund->get_error_message() ); |
|
507 | + if (is_wp_error($refund)) { |
|
508 | + WC_Stripe_Logger::log($refund->get_error_message()); |
|
509 | 509 | } |
510 | 510 | |
511 | - WC_Stripe_Helper::is_wc_lt( '3.0' ) ? update_post_meta( $order_id, '_stripe_refund_id', $notification->data->object->refunds->data[0]->id ) : $order->update_meta_data( '_stripe_refund_id', $notification->data->object->refunds->data[0]->id ); |
|
511 | + WC_Stripe_Helper::is_wc_lt('3.0') ? update_post_meta($order_id, '_stripe_refund_id', $notification->data->object->refunds->data[0]->id) : $order->update_meta_data('_stripe_refund_id', $notification->data->object->refunds->data[0]->id); |
|
512 | 512 | |
513 | - $amount = wc_price( $notification->data->object->refunds->data[0]->amount / 100 ); |
|
513 | + $amount = wc_price($notification->data->object->refunds->data[0]->amount / 100); |
|
514 | 514 | |
515 | - if ( in_array( strtolower( WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->get_order_currency() : $order->get_currency() ), WC_Stripe_Helper::no_decimal_currencies() ) ) { |
|
516 | - $amount = wc_price( $notification->data->object->refunds->data[0]->amount ); |
|
515 | + if (in_array(strtolower(WC_Stripe_Helper::is_wc_lt('3.0') ? $order->get_order_currency() : $order->get_currency()), WC_Stripe_Helper::no_decimal_currencies())) { |
|
516 | + $amount = wc_price($notification->data->object->refunds->data[0]->amount); |
|
517 | 517 | } |
518 | 518 | |
519 | - if ( isset( $notification->data->object->refunds->data[0]->balance_transaction ) ) { |
|
520 | - $this->update_fees( $order, $notification->data->object->refunds->data[0]->balance_transaction ); |
|
519 | + if (isset($notification->data->object->refunds->data[0]->balance_transaction)) { |
|
520 | + $this->update_fees($order, $notification->data->object->refunds->data[0]->balance_transaction); |
|
521 | 521 | } |
522 | 522 | |
523 | 523 | /* translators: 1) dollar amount 2) transaction id 3) refund message */ |
524 | - $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' ); |
|
524 | + $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'); |
|
525 | 525 | |
526 | - $order->add_order_note( $refund_message ); |
|
526 | + $order->add_order_note($refund_message); |
|
527 | 527 | } |
528 | 528 | } |
529 | 529 | } |
@@ -534,30 +534,30 @@ discard block |
||
534 | 534 | * @since 4.0.6 |
535 | 535 | * @param object $notification |
536 | 536 | */ |
537 | - public function process_review_opened( $notification ) { |
|
538 | - if ( isset( $notification->data->object->payment_intent ) ) { |
|
539 | - $order = WC_Stripe_Helper::get_order_by_intent_id( $notification->data->object->payment_intent ); |
|
537 | + public function process_review_opened($notification) { |
|
538 | + if (isset($notification->data->object->payment_intent)) { |
|
539 | + $order = WC_Stripe_Helper::get_order_by_intent_id($notification->data->object->payment_intent); |
|
540 | 540 | |
541 | - if ( ! $order ) { |
|
542 | - WC_Stripe_Logger::log( '[Review Opened] Could not find order via intent ID: ' . $notification->data->object->payment_intent ); |
|
541 | + if ( ! $order) { |
|
542 | + WC_Stripe_Logger::log('[Review Opened] Could not find order via intent ID: ' . $notification->data->object->payment_intent); |
|
543 | 543 | return; |
544 | 544 | } |
545 | 545 | } else { |
546 | - $order = WC_Stripe_Helper::get_order_by_charge_id( $notification->data->object->charge ); |
|
546 | + $order = WC_Stripe_Helper::get_order_by_charge_id($notification->data->object->charge); |
|
547 | 547 | |
548 | - if ( ! $order ) { |
|
549 | - WC_Stripe_Logger::log( '[Review Opened] Could not find order via charge ID: ' . $notification->data->object->charge ); |
|
548 | + if ( ! $order) { |
|
549 | + WC_Stripe_Logger::log('[Review Opened] Could not find order via charge ID: ' . $notification->data->object->charge); |
|
550 | 550 | return; |
551 | 551 | } |
552 | 552 | } |
553 | 553 | |
554 | 554 | /* translators: 1) The URL to the order. 2) The reason type. */ |
555 | - $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 ); |
|
555 | + $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); |
|
556 | 556 | |
557 | - if ( apply_filters( 'wc_stripe_webhook_review_change_order_status', true, $order, $notification ) ) { |
|
558 | - $order->update_status( 'on-hold', $message ); |
|
557 | + if (apply_filters('wc_stripe_webhook_review_change_order_status', true, $order, $notification)) { |
|
558 | + $order->update_status('on-hold', $message); |
|
559 | 559 | } else { |
560 | - $order->add_order_note( $message ); |
|
560 | + $order->add_order_note($message); |
|
561 | 561 | } |
562 | 562 | } |
563 | 563 | |
@@ -567,34 +567,34 @@ discard block |
||
567 | 567 | * @since 4.0.6 |
568 | 568 | * @param object $notification |
569 | 569 | */ |
570 | - public function process_review_closed( $notification ) { |
|
571 | - if ( isset( $notification->data->object->payment_intent ) ) { |
|
572 | - $order = WC_Stripe_Helper::get_order_by_intent_id( $notification->data->object->payment_intent ); |
|
570 | + public function process_review_closed($notification) { |
|
571 | + if (isset($notification->data->object->payment_intent)) { |
|
572 | + $order = WC_Stripe_Helper::get_order_by_intent_id($notification->data->object->payment_intent); |
|
573 | 573 | |
574 | - if ( ! $order ) { |
|
575 | - WC_Stripe_Logger::log( '[Review Closed] Could not find order via intent ID: ' . $notification->data->object->payment_intent ); |
|
574 | + if ( ! $order) { |
|
575 | + WC_Stripe_Logger::log('[Review Closed] Could not find order via intent ID: ' . $notification->data->object->payment_intent); |
|
576 | 576 | return; |
577 | 577 | } |
578 | 578 | } else { |
579 | - $order = WC_Stripe_Helper::get_order_by_charge_id( $notification->data->object->charge ); |
|
579 | + $order = WC_Stripe_Helper::get_order_by_charge_id($notification->data->object->charge); |
|
580 | 580 | |
581 | - if ( ! $order ) { |
|
582 | - WC_Stripe_Logger::log( '[Review Closed] Could not find order via charge ID: ' . $notification->data->object->charge ); |
|
581 | + if ( ! $order) { |
|
582 | + WC_Stripe_Logger::log('[Review Closed] Could not find order via charge ID: ' . $notification->data->object->charge); |
|
583 | 583 | return; |
584 | 584 | } |
585 | 585 | } |
586 | 586 | |
587 | 587 | /* translators: 1) The reason type. */ |
588 | - $message = sprintf( __( 'The opened review for this order is now closed. Reason: (%s)', 'woocommerce-gateway-stripe' ), $notification->data->object->reason ); |
|
588 | + $message = sprintf(__('The opened review for this order is now closed. Reason: (%s)', 'woocommerce-gateway-stripe'), $notification->data->object->reason); |
|
589 | 589 | |
590 | - if ( 'on-hold' === $order->get_status() ) { |
|
591 | - if ( apply_filters( 'wc_stripe_webhook_review_change_order_status', true, $order, $notification ) ) { |
|
592 | - $order->update_status( 'processing', $message ); |
|
590 | + if ('on-hold' === $order->get_status()) { |
|
591 | + if (apply_filters('wc_stripe_webhook_review_change_order_status', true, $order, $notification)) { |
|
592 | + $order->update_status('processing', $message); |
|
593 | 593 | } else { |
594 | - $order->add_order_note( $message ); |
|
594 | + $order->add_order_note($message); |
|
595 | 595 | } |
596 | 596 | } else { |
597 | - $order->add_order_note( $message ); |
|
597 | + $order->add_order_note($message); |
|
598 | 598 | } |
599 | 599 | } |
600 | 600 | |
@@ -605,7 +605,7 @@ discard block |
||
605 | 605 | * @version 4.0.0 |
606 | 606 | * @param object $notification |
607 | 607 | */ |
608 | - public function is_partial_capture( $notification ) { |
|
608 | + public function is_partial_capture($notification) { |
|
609 | 609 | return 0 < $notification->data->object->amount_refunded; |
610 | 610 | } |
611 | 611 | |
@@ -616,11 +616,11 @@ discard block |
||
616 | 616 | * @version 4.0.0 |
617 | 617 | * @param object $notification |
618 | 618 | */ |
619 | - public function get_refund_amount( $notification ) { |
|
620 | - if ( $this->is_partial_capture( $notification ) ) { |
|
619 | + public function get_refund_amount($notification) { |
|
620 | + if ($this->is_partial_capture($notification)) { |
|
621 | 621 | $amount = $notification->data->object->refunds->data[0]->amount / 100; |
622 | 622 | |
623 | - if ( in_array( strtolower( $notification->data->object->currency ), WC_Stripe_Helper::no_decimal_currencies() ) ) { |
|
623 | + if (in_array(strtolower($notification->data->object->currency), WC_Stripe_Helper::no_decimal_currencies())) { |
|
624 | 624 | $amount = $notification->data->object->refunds->data[0]->amount; |
625 | 625 | } |
626 | 626 | |
@@ -637,12 +637,12 @@ discard block |
||
637 | 637 | * @version 4.0.0 |
638 | 638 | * @param object $notification |
639 | 639 | */ |
640 | - public function get_partial_amount_to_charge( $notification ) { |
|
641 | - if ( $this->is_partial_capture( $notification ) ) { |
|
642 | - $amount = ( $notification->data->object->amount - $notification->data->object->amount_refunded ) / 100; |
|
640 | + public function get_partial_amount_to_charge($notification) { |
|
641 | + if ($this->is_partial_capture($notification)) { |
|
642 | + $amount = ($notification->data->object->amount - $notification->data->object->amount_refunded) / 100; |
|
643 | 643 | |
644 | - if ( in_array( strtolower( $notification->data->object->currency ), WC_Stripe_Helper::no_decimal_currencies() ) ) { |
|
645 | - $amount = ( $notification->data->object->amount - $notification->data->object->amount_refunded ); |
|
644 | + if (in_array(strtolower($notification->data->object->currency), WC_Stripe_Helper::no_decimal_currencies())) { |
|
645 | + $amount = ($notification->data->object->amount - $notification->data->object->amount_refunded); |
|
646 | 646 | } |
647 | 647 | |
648 | 648 | return $amount; |
@@ -651,69 +651,69 @@ discard block |
||
651 | 651 | return false; |
652 | 652 | } |
653 | 653 | |
654 | - public function process_payment_intent_success( $notification ) { |
|
654 | + public function process_payment_intent_success($notification) { |
|
655 | 655 | $intent = $notification->data->object; |
656 | - $order = WC_Stripe_Helper::get_order_by_intent_id( $intent->id ); |
|
656 | + $order = WC_Stripe_Helper::get_order_by_intent_id($intent->id); |
|
657 | 657 | |
658 | - if ( ! $order ) { |
|
659 | - WC_Stripe_Logger::log( 'Could not find order via intent ID: ' . $intent->id ); |
|
658 | + if ( ! $order) { |
|
659 | + WC_Stripe_Logger::log('Could not find order via intent ID: ' . $intent->id); |
|
660 | 660 | return; |
661 | 661 | } |
662 | 662 | |
663 | - if ( 'pending' !== $order->get_status() && 'failed' !== $order->get_status() ) { |
|
663 | + if ('pending' !== $order->get_status() && 'failed' !== $order->get_status()) { |
|
664 | 664 | return; |
665 | 665 | } |
666 | 666 | |
667 | - if ( $this->lock_order_payment( $order, $intent ) ) { |
|
667 | + if ($this->lock_order_payment($order, $intent)) { |
|
668 | 668 | return; |
669 | 669 | } |
670 | 670 | |
671 | - $order_id = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->id : $order->get_id(); |
|
672 | - if ( 'payment_intent.succeeded' === $notification->type || 'payment_intent.amount_capturable_updated' === $notification->type ) { |
|
673 | - $charge = end( $intent->charges->data ); |
|
674 | - WC_Stripe_Logger::log( "Stripe PaymentIntent $intent->id succeeded for order $order_id" ); |
|
671 | + $order_id = WC_Stripe_Helper::is_wc_lt('3.0') ? $order->id : $order->get_id(); |
|
672 | + if ('payment_intent.succeeded' === $notification->type || 'payment_intent.amount_capturable_updated' === $notification->type) { |
|
673 | + $charge = end($intent->charges->data); |
|
674 | + WC_Stripe_Logger::log("Stripe PaymentIntent $intent->id succeeded for order $order_id"); |
|
675 | 675 | |
676 | - do_action( 'wc_gateway_stripe_process_payment', $charge, $order ); |
|
676 | + do_action('wc_gateway_stripe_process_payment', $charge, $order); |
|
677 | 677 | |
678 | 678 | // Process valid response. |
679 | - $this->process_response( $charge, $order ); |
|
679 | + $this->process_response($charge, $order); |
|
680 | 680 | |
681 | 681 | } else { |
682 | 682 | $error_message = $intent->last_payment_error ? $intent->last_payment_error->message : ""; |
683 | 683 | |
684 | 684 | /* translators: 1) The error message that was received from Stripe. */ |
685 | - $order->update_status( 'failed', sprintf( __( 'Stripe SCA authentication failed. Reason: %s', 'woocommerce-gateway-stripe' ), $error_message ) ); |
|
685 | + $order->update_status('failed', sprintf(__('Stripe SCA authentication failed. Reason: %s', 'woocommerce-gateway-stripe'), $error_message)); |
|
686 | 686 | |
687 | - do_action( 'wc_gateway_stripe_process_webhook_payment_error', $order, $notification ); |
|
687 | + do_action('wc_gateway_stripe_process_webhook_payment_error', $order, $notification); |
|
688 | 688 | |
689 | - $this->send_failed_order_email( $order_id ); |
|
689 | + $this->send_failed_order_email($order_id); |
|
690 | 690 | } |
691 | 691 | |
692 | - $this->unlock_order_payment( $order ); |
|
692 | + $this->unlock_order_payment($order); |
|
693 | 693 | } |
694 | 694 | |
695 | - public function process_setup_intent( $notification ) { |
|
695 | + public function process_setup_intent($notification) { |
|
696 | 696 | $intent = $notification->data->object; |
697 | - $order = WC_Stripe_Helper::get_order_by_setup_intent_id( $intent->id ); |
|
697 | + $order = WC_Stripe_Helper::get_order_by_setup_intent_id($intent->id); |
|
698 | 698 | |
699 | - if ( ! $order ) { |
|
700 | - WC_Stripe_Logger::log( 'Could not find order via setup intent ID: ' . $intent->id ); |
|
699 | + if ( ! $order) { |
|
700 | + WC_Stripe_Logger::log('Could not find order via setup intent ID: ' . $intent->id); |
|
701 | 701 | return; |
702 | 702 | } |
703 | 703 | |
704 | - if ( 'pending' !== $order->get_status() && 'failed' !== $order->get_status() ) { |
|
704 | + if ('pending' !== $order->get_status() && 'failed' !== $order->get_status()) { |
|
705 | 705 | return; |
706 | 706 | } |
707 | 707 | |
708 | - if ( $this->lock_order_payment( $order, $intent ) ) { |
|
708 | + if ($this->lock_order_payment($order, $intent)) { |
|
709 | 709 | return; |
710 | 710 | } |
711 | 711 | |
712 | - $order_id = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->id : $order->get_id(); |
|
713 | - if ( 'setup_intent.succeeded' === $notification->type ) { |
|
714 | - WC_Stripe_Logger::log( "Stripe SetupIntent $intent->id succeeded for order $order_id" ); |
|
715 | - if ( WC_Stripe_Helper::is_pre_orders_exists() && WC_Pre_Orders_Order::order_contains_pre_order( $order ) ) { |
|
716 | - WC_Pre_Orders_Order::mark_order_as_pre_ordered( $order ); |
|
712 | + $order_id = WC_Stripe_Helper::is_wc_lt('3.0') ? $order->id : $order->get_id(); |
|
713 | + if ('setup_intent.succeeded' === $notification->type) { |
|
714 | + WC_Stripe_Logger::log("Stripe SetupIntent $intent->id succeeded for order $order_id"); |
|
715 | + if (WC_Stripe_Helper::is_pre_orders_exists() && WC_Pre_Orders_Order::order_contains_pre_order($order)) { |
|
716 | + WC_Pre_Orders_Order::mark_order_as_pre_ordered($order); |
|
717 | 717 | } else { |
718 | 718 | $order->payment_complete(); |
719 | 719 | } |
@@ -721,12 +721,12 @@ discard block |
||
721 | 721 | $error_message = $intent->last_setup_error ? $intent->last_setup_error->message : ""; |
722 | 722 | |
723 | 723 | /* translators: 1) The error message that was received from Stripe. */ |
724 | - $order->update_status( 'failed', sprintf( __( 'Stripe SCA authentication failed. Reason: %s', 'woocommerce-gateway-stripe' ), $error_message ) ); |
|
724 | + $order->update_status('failed', sprintf(__('Stripe SCA authentication failed. Reason: %s', 'woocommerce-gateway-stripe'), $error_message)); |
|
725 | 725 | |
726 | - $this->send_failed_order_email( $order_id ); |
|
726 | + $this->send_failed_order_email($order_id); |
|
727 | 727 | } |
728 | 728 | |
729 | - $this->unlock_order_payment( $order ); |
|
729 | + $this->unlock_order_payment($order); |
|
730 | 730 | } |
731 | 731 | |
732 | 732 | /** |
@@ -736,54 +736,54 @@ discard block |
||
736 | 736 | * @version 4.0.0 |
737 | 737 | * @param string $request_body |
738 | 738 | */ |
739 | - public function process_webhook( $request_body ) { |
|
740 | - $notification = json_decode( $request_body ); |
|
739 | + public function process_webhook($request_body) { |
|
740 | + $notification = json_decode($request_body); |
|
741 | 741 | |
742 | - switch ( $notification->type ) { |
|
742 | + switch ($notification->type) { |
|
743 | 743 | case 'source.chargeable': |
744 | - $this->process_webhook_payment( $notification ); |
|
744 | + $this->process_webhook_payment($notification); |
|
745 | 745 | break; |
746 | 746 | |
747 | 747 | case 'source.canceled': |
748 | - $this->process_webhook_source_canceled( $notification ); |
|
748 | + $this->process_webhook_source_canceled($notification); |
|
749 | 749 | break; |
750 | 750 | |
751 | 751 | case 'charge.succeeded': |
752 | - $this->process_webhook_charge_succeeded( $notification ); |
|
752 | + $this->process_webhook_charge_succeeded($notification); |
|
753 | 753 | break; |
754 | 754 | |
755 | 755 | case 'charge.failed': |
756 | - $this->process_webhook_charge_failed( $notification ); |
|
756 | + $this->process_webhook_charge_failed($notification); |
|
757 | 757 | break; |
758 | 758 | |
759 | 759 | case 'charge.captured': |
760 | - $this->process_webhook_capture( $notification ); |
|
760 | + $this->process_webhook_capture($notification); |
|
761 | 761 | break; |
762 | 762 | |
763 | 763 | case 'charge.dispute.created': |
764 | - $this->process_webhook_dispute( $notification ); |
|
764 | + $this->process_webhook_dispute($notification); |
|
765 | 765 | break; |
766 | 766 | |
767 | 767 | case 'charge.refunded': |
768 | - $this->process_webhook_refund( $notification ); |
|
768 | + $this->process_webhook_refund($notification); |
|
769 | 769 | break; |
770 | 770 | |
771 | 771 | case 'review.opened': |
772 | - $this->process_review_opened( $notification ); |
|
772 | + $this->process_review_opened($notification); |
|
773 | 773 | break; |
774 | 774 | |
775 | 775 | case 'review.closed': |
776 | - $this->process_review_closed( $notification ); |
|
776 | + $this->process_review_closed($notification); |
|
777 | 777 | break; |
778 | 778 | |
779 | 779 | case 'payment_intent.succeeded': |
780 | 780 | case 'payment_intent.payment_failed': |
781 | 781 | case 'payment_intent.amount_capturable_updated': |
782 | - $this->process_payment_intent_success( $notification ); |
|
782 | + $this->process_payment_intent_success($notification); |
|
783 | 783 | |
784 | 784 | case 'setup_intent.succeeded': |
785 | 785 | case 'setup_intent.setup_failed': |
786 | - $this->process_setup_intent( $notification ); |
|
786 | + $this->process_setup_intent($notification); |
|
787 | 787 | |
788 | 788 | } |
789 | 789 | } |