@@ -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,111 +100,111 @@ 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 | - $changed_keys_notice = get_option( 'wc_stripe_show_changed_keys_notice' ); |
|
112 | - $options = get_option( 'woocommerce_stripe_settings' ); |
|
113 | - $testmode = ( isset( $options['testmode'] ) && 'yes' === $options['testmode'] ) ? true : false; |
|
114 | - $test_pub_key = isset( $options['test_publishable_key'] ) ? $options['test_publishable_key'] : ''; |
|
115 | - $test_secret_key = isset( $options['test_secret_key'] ) ? $options['test_secret_key'] : ''; |
|
116 | - $live_pub_key = isset( $options['publishable_key'] ) ? $options['publishable_key'] : ''; |
|
117 | - $live_secret_key = isset( $options['secret_key'] ) ? $options['secret_key'] : ''; |
|
118 | - $three_d_secure = isset( $options['three_d_secure'] ) && 'yes' === $options['three_d_secure']; |
|
119 | - |
|
120 | - if ( isset( $options['enabled'] ) && 'yes' === $options['enabled'] ) { |
|
121 | - 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 | + $changed_keys_notice = get_option('wc_stripe_show_changed_keys_notice'); |
|
112 | + $options = get_option('woocommerce_stripe_settings'); |
|
113 | + $testmode = (isset($options['testmode']) && 'yes' === $options['testmode']) ? true : false; |
|
114 | + $test_pub_key = isset($options['test_publishable_key']) ? $options['test_publishable_key'] : ''; |
|
115 | + $test_secret_key = isset($options['test_secret_key']) ? $options['test_secret_key'] : ''; |
|
116 | + $live_pub_key = isset($options['publishable_key']) ? $options['publishable_key'] : ''; |
|
117 | + $live_secret_key = isset($options['secret_key']) ? $options['secret_key'] : ''; |
|
118 | + $three_d_secure = isset($options['three_d_secure']) && 'yes' === $options['three_d_secure']; |
|
119 | + |
|
120 | + if (isset($options['enabled']) && 'yes' === $options['enabled']) { |
|
121 | + if (empty($show_3ds_notice) && $three_d_secure) { |
|
122 | 122 | $url = 'https://stripe.com/docs/payments/3d-secure#three-ds-radar'; |
123 | 123 | |
124 | 124 | /* translators: 1) A URL that explains Stripe Radar. */ |
125 | - $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 | + $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'); |
|
126 | 126 | |
127 | - $this->add_admin_notice( '3ds', 'notice notice-warning', sprintf( $message, $url ), true ); |
|
127 | + $this->add_admin_notice('3ds', 'notice notice-warning', sprintf($message, $url), true); |
|
128 | 128 | } |
129 | 129 | |
130 | - if ( empty( $show_style_notice ) ) { |
|
130 | + if (empty($show_style_notice)) { |
|
131 | 131 | /* translators: 1) int version 2) int version */ |
132 | - $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/#styling" target="_blank">instructions</a> to fix.', 'woocommerce-gateway-stripe' ); |
|
132 | + $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/#styling" target="_blank">instructions</a> to fix.', 'woocommerce-gateway-stripe'); |
|
133 | 133 | |
134 | - $this->add_admin_notice( 'style', 'notice notice-warning', $message, true ); |
|
134 | + $this->add_admin_notice('style', 'notice notice-warning', $message, true); |
|
135 | 135 | |
136 | 136 | return; |
137 | 137 | } |
138 | 138 | |
139 | - if ( empty( $show_phpver_notice ) ) { |
|
140 | - if ( version_compare( phpversion(), WC_STRIPE_MIN_PHP_VER, '<' ) ) { |
|
139 | + if (empty($show_phpver_notice)) { |
|
140 | + if (version_compare(phpversion(), WC_STRIPE_MIN_PHP_VER, '<')) { |
|
141 | 141 | /* translators: 1) int version 2) int version */ |
142 | - $message = __( 'WooCommerce Stripe - The minimum PHP version required for this plugin is %1$s. You are running %2$s.', 'woocommerce-gateway-stripe' ); |
|
142 | + $message = __('WooCommerce Stripe - The minimum PHP version required for this plugin is %1$s. You are running %2$s.', 'woocommerce-gateway-stripe'); |
|
143 | 143 | |
144 | - $this->add_admin_notice( 'phpver', 'error', sprintf( $message, WC_STRIPE_MIN_PHP_VER, phpversion() ), true ); |
|
144 | + $this->add_admin_notice('phpver', 'error', sprintf($message, WC_STRIPE_MIN_PHP_VER, phpversion()), true); |
|
145 | 145 | |
146 | 146 | return; |
147 | 147 | } |
148 | 148 | } |
149 | 149 | |
150 | - if ( empty( $show_wcver_notice ) ) { |
|
151 | - if ( WC_Stripe_Helper::is_wc_lt( WC_STRIPE_FUTURE_MIN_WC_VER ) ) { |
|
150 | + if (empty($show_wcver_notice)) { |
|
151 | + if (WC_Stripe_Helper::is_wc_lt(WC_STRIPE_FUTURE_MIN_WC_VER)) { |
|
152 | 152 | /* translators: 1) int version 2) int version */ |
153 | - $message = __( 'WooCommerce Stripe - This is the last version of the plugin compatible with WooCommerce %1$s. All furture versions of the plugin will require WooCommerce %2$s or greater.', 'woocommerce-gateway-stripe' ); |
|
154 | - $this->add_admin_notice( 'wcver', 'notice notice-warning', sprintf( $message, WC_VERSION, WC_STRIPE_FUTURE_MIN_WC_VER ), true ); |
|
153 | + $message = __('WooCommerce Stripe - This is the last version of the plugin compatible with WooCommerce %1$s. All furture versions of the plugin will require WooCommerce %2$s or greater.', 'woocommerce-gateway-stripe'); |
|
154 | + $this->add_admin_notice('wcver', 'notice notice-warning', sprintf($message, WC_VERSION, WC_STRIPE_FUTURE_MIN_WC_VER), true); |
|
155 | 155 | } |
156 | 156 | } |
157 | 157 | |
158 | - if ( empty( $show_curl_notice ) ) { |
|
159 | - if ( ! function_exists( 'curl_init' ) ) { |
|
160 | - $this->add_admin_notice( 'curl', 'notice notice-warning', __( 'WooCommerce Stripe - cURL is not installed.', 'woocommerce-gateway-stripe' ), true ); |
|
158 | + if (empty($show_curl_notice)) { |
|
159 | + if ( ! function_exists('curl_init')) { |
|
160 | + $this->add_admin_notice('curl', 'notice notice-warning', __('WooCommerce Stripe - cURL is not installed.', 'woocommerce-gateway-stripe'), true); |
|
161 | 161 | } |
162 | 162 | } |
163 | 163 | |
164 | - if ( empty( $show_keys_notice ) ) { |
|
164 | + if (empty($show_keys_notice)) { |
|
165 | 165 | $secret = WC_Stripe_API::get_secret_key(); |
166 | 166 | |
167 | - if ( empty( $secret ) && ! ( isset( $_GET['page'], $_GET['section'] ) && 'wc-settings' === $_GET['page'] && 'stripe' === $_GET['section'] ) ) { |
|
167 | + if (empty($secret) && ! (isset($_GET['page'], $_GET['section']) && 'wc-settings' === $_GET['page'] && 'stripe' === $_GET['section'])) { |
|
168 | 168 | $setting_link = $this->get_setting_link(); |
169 | 169 | /* translators: 1) link */ |
170 | - $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 ); |
|
170 | + $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); |
|
171 | 171 | } |
172 | 172 | |
173 | 173 | // Check if keys are entered properly per live/test mode. |
174 | - if ( $testmode ) { |
|
174 | + if ($testmode) { |
|
175 | 175 | if ( |
176 | - ! empty( $test_pub_key ) && ! preg_match( '/^pk_test_/', $test_pub_key ) |
|
177 | - || ! empty( $test_secret_key ) && ! preg_match( '/^[rs]k_test_/', $test_secret_key ) ) { |
|
176 | + ! empty($test_pub_key) && ! preg_match('/^pk_test_/', $test_pub_key) |
|
177 | + || ! empty($test_secret_key) && ! preg_match('/^[rs]k_test_/', $test_secret_key) ) { |
|
178 | 178 | $setting_link = $this->get_setting_link(); |
179 | 179 | /* translators: 1) link */ |
180 | - $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 ); |
|
180 | + $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); |
|
181 | 181 | } |
182 | 182 | } else { |
183 | 183 | if ( |
184 | - ! empty( $live_pub_key ) && ! preg_match( '/^pk_live_/', $live_pub_key ) |
|
185 | - || ! empty( $live_secret_key ) && ! preg_match( '/^[rs]k_live_/', $live_secret_key ) ) { |
|
184 | + ! empty($live_pub_key) && ! preg_match('/^pk_live_/', $live_pub_key) |
|
185 | + || ! empty($live_secret_key) && ! preg_match('/^[rs]k_live_/', $live_secret_key) ) { |
|
186 | 186 | $setting_link = $this->get_setting_link(); |
187 | 187 | /* translators: 1) link */ |
188 | - $this->add_admin_notice( 'keys', 'notice notice-error', sprintf( __( 'Stripe is in live mode however your live 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 ); |
|
188 | + $this->add_admin_notice('keys', 'notice notice-error', sprintf(__('Stripe is in live mode however your live 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); |
|
189 | 189 | } |
190 | 190 | } |
191 | 191 | } |
192 | 192 | |
193 | - if ( empty( $show_ssl_notice ) ) { |
|
193 | + if (empty($show_ssl_notice)) { |
|
194 | 194 | // Show message if enabled and FORCE SSL is disabled and WordpressHTTPS plugin is not detected. |
195 | - if ( ! wc_checkout_is_https() ) { |
|
195 | + if ( ! wc_checkout_is_https()) { |
|
196 | 196 | /* translators: 1) link */ |
197 | - $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 ); |
|
197 | + $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); |
|
198 | 198 | } |
199 | 199 | } |
200 | 200 | |
201 | - if ( empty( $show_sca_notice ) ) { |
|
202 | - $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 ); |
|
201 | + if (empty($show_sca_notice)) { |
|
202 | + $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); |
|
203 | 203 | } |
204 | 204 | |
205 | - if ( 'yes' === $changed_keys_notice ) { |
|
205 | + if ('yes' === $changed_keys_notice) { |
|
206 | 206 | // translators: %s is a the URL for the link. |
207 | - $this->add_admin_notice( 'changed_keys', 'notice notice-warning', sprintf( __( 'The public and/or secret keys for the Stripe gateway have been changed. This might cause errors for existing customers and saved payment methods. <a href="%s" target="_blank">Click here to learn more</a>.', 'woocommerce-gateway-stripe' ), 'https://docs.woocommerce.com/document/stripe-fixing-customer-errors/' ), true ); |
|
207 | + $this->add_admin_notice('changed_keys', 'notice notice-warning', sprintf(__('The public and/or secret keys for the Stripe gateway have been changed. This might cause errors for existing customers and saved payment methods. <a href="%s" target="_blank">Click here to learn more</a>.', 'woocommerce-gateway-stripe'), 'https://docs.woocommerce.com/document/stripe-fixing-customer-errors/'), true); |
|
208 | 208 | } |
209 | 209 | } |
210 | 210 | } |
@@ -217,17 +217,17 @@ discard block |
||
217 | 217 | public function payment_methods_check_environment() { |
218 | 218 | $payment_methods = $this->get_payment_methods(); |
219 | 219 | |
220 | - foreach ( $payment_methods as $method => $class ) { |
|
221 | - $show_notice = get_option( 'wc_stripe_show_' . strtolower( $method ) . '_notice' ); |
|
220 | + foreach ($payment_methods as $method => $class) { |
|
221 | + $show_notice = get_option('wc_stripe_show_' . strtolower($method) . '_notice'); |
|
222 | 222 | $gateway = new $class(); |
223 | 223 | |
224 | - if ( 'yes' !== $gateway->enabled || 'no' === $show_notice ) { |
|
224 | + if ('yes' !== $gateway->enabled || 'no' === $show_notice) { |
|
225 | 225 | continue; |
226 | 226 | } |
227 | 227 | |
228 | - if ( ! in_array( get_woocommerce_currency(), $gateway->get_supported_currency() ) ) { |
|
228 | + if ( ! in_array(get_woocommerce_currency(), $gateway->get_supported_currency())) { |
|
229 | 229 | /* translators: %1$s Payment method, %2$s List of supported currencies */ |
230 | - $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 | + $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); |
|
231 | 231 | } |
232 | 232 | } |
233 | 233 | } |
@@ -239,71 +239,71 @@ discard block |
||
239 | 239 | * @version 4.0.0 |
240 | 240 | */ |
241 | 241 | public function hide_notices() { |
242 | - if ( isset( $_GET['wc-stripe-hide-notice'] ) && isset( $_GET['_wc_stripe_notice_nonce'] ) ) { |
|
243 | - if ( ! wp_verify_nonce( $_GET['_wc_stripe_notice_nonce'], 'wc_stripe_hide_notices_nonce' ) ) { |
|
244 | - wp_die( __( 'Action failed. Please refresh the page and retry.', 'woocommerce-gateway-stripe' ) ); |
|
242 | + if (isset($_GET['wc-stripe-hide-notice']) && isset($_GET['_wc_stripe_notice_nonce'])) { |
|
243 | + if ( ! wp_verify_nonce($_GET['_wc_stripe_notice_nonce'], 'wc_stripe_hide_notices_nonce')) { |
|
244 | + wp_die(__('Action failed. Please refresh the page and retry.', 'woocommerce-gateway-stripe')); |
|
245 | 245 | } |
246 | 246 | |
247 | - if ( ! current_user_can( 'manage_woocommerce' ) ) { |
|
248 | - wp_die( __( 'Cheatin’ huh?', 'woocommerce-gateway-stripe' ) ); |
|
247 | + if ( ! current_user_can('manage_woocommerce')) { |
|
248 | + wp_die(__('Cheatin’ huh?', 'woocommerce-gateway-stripe')); |
|
249 | 249 | } |
250 | 250 | |
251 | - $notice = wc_clean( $_GET['wc-stripe-hide-notice'] ); |
|
251 | + $notice = wc_clean($_GET['wc-stripe-hide-notice']); |
|
252 | 252 | |
253 | - switch ( $notice ) { |
|
253 | + switch ($notice) { |
|
254 | 254 | case 'style': |
255 | - update_option( 'wc_stripe_show_style_notice', 'no' ); |
|
255 | + update_option('wc_stripe_show_style_notice', 'no'); |
|
256 | 256 | break; |
257 | 257 | case 'phpver': |
258 | - update_option( 'wc_stripe_show_phpver_notice', 'no' ); |
|
258 | + update_option('wc_stripe_show_phpver_notice', 'no'); |
|
259 | 259 | break; |
260 | 260 | case 'wcver': |
261 | - update_option( 'wc_stripe_show_wcver_notice', 'no' ); |
|
261 | + update_option('wc_stripe_show_wcver_notice', 'no'); |
|
262 | 262 | break; |
263 | 263 | case 'curl': |
264 | - update_option( 'wc_stripe_show_curl_notice', 'no' ); |
|
264 | + update_option('wc_stripe_show_curl_notice', 'no'); |
|
265 | 265 | break; |
266 | 266 | case 'ssl': |
267 | - update_option( 'wc_stripe_show_ssl_notice', 'no' ); |
|
267 | + update_option('wc_stripe_show_ssl_notice', 'no'); |
|
268 | 268 | break; |
269 | 269 | case 'keys': |
270 | - update_option( 'wc_stripe_show_keys_notice', 'no' ); |
|
270 | + update_option('wc_stripe_show_keys_notice', 'no'); |
|
271 | 271 | break; |
272 | 272 | case '3ds': |
273 | - update_option( 'wc_stripe_show_3ds_notice', 'no' ); |
|
273 | + update_option('wc_stripe_show_3ds_notice', 'no'); |
|
274 | 274 | break; |
275 | 275 | case 'Alipay': |
276 | - update_option( 'wc_stripe_show_alipay_notice', 'no' ); |
|
276 | + update_option('wc_stripe_show_alipay_notice', 'no'); |
|
277 | 277 | break; |
278 | 278 | case 'Bancontact': |
279 | - update_option( 'wc_stripe_show_bancontact_notice', 'no' ); |
|
279 | + update_option('wc_stripe_show_bancontact_notice', 'no'); |
|
280 | 280 | break; |
281 | 281 | case 'EPS': |
282 | - update_option( 'wc_stripe_show_eps_notice', 'no' ); |
|
282 | + update_option('wc_stripe_show_eps_notice', 'no'); |
|
283 | 283 | break; |
284 | 284 | case 'Giropay': |
285 | - update_option( 'wc_stripe_show_giropay_notice', 'no' ); |
|
285 | + update_option('wc_stripe_show_giropay_notice', 'no'); |
|
286 | 286 | break; |
287 | 287 | case 'iDeal': |
288 | - update_option( 'wc_stripe_show_ideal_notice', 'no' ); |
|
288 | + update_option('wc_stripe_show_ideal_notice', 'no'); |
|
289 | 289 | break; |
290 | 290 | case 'Multibanco': |
291 | - update_option( 'wc_stripe_show_multibanco_notice', 'no' ); |
|
291 | + update_option('wc_stripe_show_multibanco_notice', 'no'); |
|
292 | 292 | break; |
293 | 293 | case 'P24': |
294 | - update_option( 'wc_stripe_show_p24_notice', 'no' ); |
|
294 | + update_option('wc_stripe_show_p24_notice', 'no'); |
|
295 | 295 | break; |
296 | 296 | case 'SEPA': |
297 | - update_option( 'wc_stripe_show_sepa_notice', 'no' ); |
|
297 | + update_option('wc_stripe_show_sepa_notice', 'no'); |
|
298 | 298 | break; |
299 | 299 | case 'SOFORT': |
300 | - update_option( 'wc_stripe_show_sofort_notice', 'no' ); |
|
300 | + update_option('wc_stripe_show_sofort_notice', 'no'); |
|
301 | 301 | break; |
302 | 302 | case 'sca': |
303 | - update_option( 'wc_stripe_show_sca_notice', 'no' ); |
|
303 | + update_option('wc_stripe_show_sca_notice', 'no'); |
|
304 | 304 | break; |
305 | 305 | case 'changed_keys': |
306 | - update_option( 'wc_stripe_show_changed_keys_notice', 'no' ); |
|
306 | + update_option('wc_stripe_show_changed_keys_notice', 'no'); |
|
307 | 307 | } |
308 | 308 | } |
309 | 309 | } |
@@ -316,7 +316,7 @@ discard block |
||
316 | 316 | * @return string Setting link |
317 | 317 | */ |
318 | 318 | public function get_setting_link() { |
319 | - return admin_url( 'admin.php?page=wc-settings&tab=checkout§ion=stripe' ); |
|
319 | + return admin_url('admin.php?page=wc-settings&tab=checkout§ion=stripe'); |
|
320 | 320 | } |
321 | 321 | |
322 | 322 | /** |
@@ -325,16 +325,16 @@ discard block |
||
325 | 325 | * @since 4.3.0 |
326 | 326 | */ |
327 | 327 | public function stripe_updated() { |
328 | - $previous_version = get_option( 'wc_stripe_version' ); |
|
328 | + $previous_version = get_option('wc_stripe_version'); |
|
329 | 329 | |
330 | 330 | // Only show the style notice if the plugin was installed and older than 4.1.4. |
331 | - if ( empty( $previous_version ) || version_compare( $previous_version, '4.1.4', 'ge' ) ) { |
|
332 | - update_option( 'wc_stripe_show_style_notice', 'no' ); |
|
331 | + if (empty($previous_version) || version_compare($previous_version, '4.1.4', 'ge')) { |
|
332 | + update_option('wc_stripe_show_style_notice', 'no'); |
|
333 | 333 | } |
334 | 334 | |
335 | 335 | // Only show the SCA notice on pre-4.3.0 installs. |
336 | - if ( empty( $previous_version ) || version_compare( $previous_version, '4.3.0', 'ge' ) ) { |
|
337 | - update_option( 'wc_stripe_show_sca_notice', 'no' ); |
|
336 | + if (empty($previous_version) || version_compare($previous_version, '4.3.0', 'ge')) { |
|
337 | + update_option('wc_stripe_show_sca_notice', 'no'); |
|
338 | 338 | } |
339 | 339 | } |
340 | 340 | } |
@@ -63,21 +63,21 @@ discard block |
||
63 | 63 | $this->simple_product = WC_Helper_Product::create_simple_product(); |
64 | 64 | |
65 | 65 | $zone = new WC_Shipping_Zone(); |
66 | - $zone->set_zone_name( 'Worldwide' ); |
|
67 | - $zone->set_zone_order( 1 ); |
|
66 | + $zone->set_zone_name('Worldwide'); |
|
67 | + $zone->set_zone_order(1); |
|
68 | 68 | $zone->save(); |
69 | 69 | |
70 | - $this->flat_rate_id = $zone->add_shipping_method( 'flat_rate' ); |
|
71 | - self::set_shipping_method_cost( $this->flat_rate_id, '5' ); |
|
70 | + $this->flat_rate_id = $zone->add_shipping_method('flat_rate'); |
|
71 | + self::set_shipping_method_cost($this->flat_rate_id, '5'); |
|
72 | 72 | |
73 | - $this->local_pickup_id = $zone->add_shipping_method( 'local_pickup' ); |
|
74 | - self::set_shipping_method_cost( $this->local_pickup_id, '1' ); |
|
73 | + $this->local_pickup_id = $zone->add_shipping_method('local_pickup'); |
|
74 | + self::set_shipping_method_cost($this->local_pickup_id, '1'); |
|
75 | 75 | |
76 | 76 | $this->zone = $zone; |
77 | 77 | |
78 | 78 | WC()->session->init(); |
79 | - WC()->cart->add_to_cart( $this->simple_product->get_id(), 1 ); |
|
80 | - $this->pr->update_shipping_method( [ self::get_shipping_option_rate_id( $this->flat_rate_id ) ] ); |
|
79 | + WC()->cart->add_to_cart($this->simple_product->get_id(), 1); |
|
80 | + $this->pr->update_shipping_method([self::get_shipping_option_rate_id($this->flat_rate_id)]); |
|
81 | 81 | WC()->cart->calculate_totals(); |
82 | 82 | } |
83 | 83 | |
@@ -94,12 +94,12 @@ discard block |
||
94 | 94 | * @param string $instance_id Shipping method instance id |
95 | 95 | * @param string $cost Shipping method cost in USD |
96 | 96 | */ |
97 | - private static function set_shipping_method_cost( $instance_id, $cost ) { |
|
98 | - $method = WC_Shipping_Zones::get_shipping_method( $instance_id ); |
|
97 | + private static function set_shipping_method_cost($instance_id, $cost) { |
|
98 | + $method = WC_Shipping_Zones::get_shipping_method($instance_id); |
|
99 | 99 | $option_key = $method->get_instance_option_key(); |
100 | - $options = get_option( $option_key ); |
|
100 | + $options = get_option($option_key); |
|
101 | 101 | $options['cost'] = $cost; |
102 | - update_option( $option_key, $options ); |
|
102 | + update_option($option_key, $options); |
|
103 | 103 | } |
104 | 104 | |
105 | 105 | /** |
@@ -109,13 +109,13 @@ discard block |
||
109 | 109 | * |
110 | 110 | * @return array Shipping option. |
111 | 111 | */ |
112 | - private static function get_shipping_option( $instance_id ) { |
|
113 | - $method = WC_Shipping_Zones::get_shipping_method( $instance_id ); |
|
112 | + private static function get_shipping_option($instance_id) { |
|
113 | + $method = WC_Shipping_Zones::get_shipping_method($instance_id); |
|
114 | 114 | return [ |
115 | 115 | 'id' => $method->get_rate_id(), |
116 | 116 | 'label' => $method->title, |
117 | 117 | 'detail' => '', |
118 | - 'amount' => WC_Stripe_Helper::get_stripe_amount( $method->get_instance_option( 'cost' ) ), |
|
118 | + 'amount' => WC_Stripe_Helper::get_stripe_amount($method->get_instance_option('cost')), |
|
119 | 119 | ]; |
120 | 120 | } |
121 | 121 | |
@@ -126,28 +126,28 @@ discard block |
||
126 | 126 | * |
127 | 127 | * @return string Shipping option instance rate id. |
128 | 128 | */ |
129 | - private static function get_shipping_option_rate_id( $instance_id ) { |
|
130 | - $method = WC_Shipping_Zones::get_shipping_method( $instance_id ); |
|
129 | + private static function get_shipping_option_rate_id($instance_id) { |
|
130 | + $method = WC_Shipping_Zones::get_shipping_method($instance_id); |
|
131 | 131 | return $method->get_rate_id(); |
132 | 132 | } |
133 | 133 | |
134 | 134 | |
135 | 135 | public function test_get_shipping_options_returns_shipping_options() { |
136 | - $data = $this->pr->get_shipping_options( self::SHIPPING_ADDRESS ); |
|
136 | + $data = $this->pr->get_shipping_options(self::SHIPPING_ADDRESS); |
|
137 | 137 | |
138 | 138 | $expected_shipping_options = array_map( |
139 | 139 | 'self::get_shipping_option', |
140 | - [ $this->flat_rate_id, $this->local_pickup_id ] |
|
140 | + [$this->flat_rate_id, $this->local_pickup_id] |
|
141 | 141 | ); |
142 | 142 | |
143 | - $this->assertEquals( 'success', $data['result'] ); |
|
144 | - $this->assertEquals( $expected_shipping_options, $data['shipping_options'], 'Shipping options mismatch' ); |
|
143 | + $this->assertEquals('success', $data['result']); |
|
144 | + $this->assertEquals($expected_shipping_options, $data['shipping_options'], 'Shipping options mismatch'); |
|
145 | 145 | } |
146 | 146 | |
147 | 147 | public function test_get_shipping_options_returns_chosen_option() { |
148 | - $data = $this->pr->get_shipping_options( self::SHIPPING_ADDRESS ); |
|
148 | + $data = $this->pr->get_shipping_options(self::SHIPPING_ADDRESS); |
|
149 | 149 | |
150 | - $flat_rate = $this->get_shipping_option( $this->flat_rate_id ); |
|
150 | + $flat_rate = $this->get_shipping_option($this->flat_rate_id); |
|
151 | 151 | $expected_display_items = [ |
152 | 152 | [ |
153 | 153 | 'label' => 'Shipping', |
@@ -155,22 +155,22 @@ discard block |
||
155 | 155 | ], |
156 | 156 | ]; |
157 | 157 | |
158 | - $this->assertEquals( 1500, $data['total']['amount'], 'Total amount mismatch' ); |
|
159 | - $this->assertEquals( $expected_display_items, $data['displayItems'], 'Display items mismatch' ); |
|
158 | + $this->assertEquals(1500, $data['total']['amount'], 'Total amount mismatch'); |
|
159 | + $this->assertEquals($expected_display_items, $data['displayItems'], 'Display items mismatch'); |
|
160 | 160 | } |
161 | 161 | |
162 | 162 | public function test_get_shipping_options_keeps_chosen_option() { |
163 | - $method_id = self::get_shipping_option_rate_id( $this->local_pickup_id ); |
|
164 | - $this->pr->update_shipping_method( [ $method_id ] ); |
|
163 | + $method_id = self::get_shipping_option_rate_id($this->local_pickup_id); |
|
164 | + $this->pr->update_shipping_method([$method_id]); |
|
165 | 165 | |
166 | - $data = $this->pr->get_shipping_options( self::SHIPPING_ADDRESS ); |
|
166 | + $data = $this->pr->get_shipping_options(self::SHIPPING_ADDRESS); |
|
167 | 167 | |
168 | 168 | $expected_shipping_options = array_map( |
169 | 169 | 'self::get_shipping_option', |
170 | - [ $this->local_pickup_id, $this->flat_rate_id ] |
|
170 | + [$this->local_pickup_id, $this->flat_rate_id] |
|
171 | 171 | ); |
172 | 172 | |
173 | - $this->assertEquals( 'success', $data['result'] ); |
|
174 | - $this->assertEquals( $expected_shipping_options, $data['shipping_options'], 'Shipping options mismatch' ); |
|
173 | + $this->assertEquals('success', $data['result']); |
|
174 | + $this->assertEquals($expected_shipping_options, $data['shipping_options'], 'Shipping options mismatch'); |
|
175 | 175 | } |
176 | 176 | } |
@@ -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,7 +21,7 @@ discard block |
||
21 | 21 | */ |
22 | 22 | public function display_admin_settings_webhook_description() { |
23 | 23 | /* translators: 1) webhook url */ |
24 | - return sprintf( __( 'You must add the following webhook endpoint <strong style="background-color:#ddd;"> %s </strong> to your <a href="https://dashboard.stripe.com/account/webhooks" target="_blank">Stripe account settings</a>. This will enable you to receive notifications on the charge statuses.', 'woocommerce-gateway-stripe' ), WC_Stripe_Helper::get_webhook_url() ); |
|
24 | + return sprintf(__('You must add the following webhook endpoint <strong style="background-color:#ddd;"> %s </strong> to your <a href="https://dashboard.stripe.com/account/webhooks" target="_blank">Stripe account settings</a>. This will enable you to receive notifications on the charge statuses.', 'woocommerce-gateway-stripe'), WC_Stripe_Helper::get_webhook_url()); |
|
25 | 25 | } |
26 | 26 | |
27 | 27 | /** |
@@ -35,8 +35,8 @@ discard block |
||
35 | 35 | <input id="wc-%1$s-new-payment-method" name="wc-%1$s-new-payment-method" type="checkbox" value="true" style="width:auto;" /> |
36 | 36 | <label for="wc-%1$s-new-payment-method" style="display:inline;">%2$s</label> |
37 | 37 | </p>', |
38 | - esc_attr( $this->id ), |
|
39 | - esc_html( apply_filters( 'wc_stripe_save_to_account_text', __( 'Save payment information to my account for future purchases.', 'woocommerce-gateway-stripe' ) ) ) |
|
38 | + esc_attr($this->id), |
|
39 | + esc_html(apply_filters('wc_stripe_save_to_account_text', __('Save payment information to my account for future purchases.', 'woocommerce-gateway-stripe'))) |
|
40 | 40 | ); |
41 | 41 | } |
42 | 42 | |
@@ -47,7 +47,7 @@ discard block |
||
47 | 47 | * @since 4.0.5 |
48 | 48 | * @param array $error |
49 | 49 | */ |
50 | - public function is_retryable_error( $error ) { |
|
50 | + public function is_retryable_error($error) { |
|
51 | 51 | return ( |
52 | 52 | 'invalid_request_error' === $error->type || |
53 | 53 | 'idempotency_error' === $error->type || |
@@ -64,11 +64,11 @@ discard block |
||
64 | 64 | * @since 4.1.0 |
65 | 65 | * @param array $error |
66 | 66 | */ |
67 | - public function is_same_idempotency_error( $error ) { |
|
67 | + public function is_same_idempotency_error($error) { |
|
68 | 68 | return ( |
69 | 69 | $error && |
70 | 70 | 'idempotency_error' === $error->type && |
71 | - preg_match( '/Keys for idempotent requests can only be used with the same parameters they were first used with./i', $error->message ) |
|
71 | + preg_match('/Keys for idempotent requests can only be used with the same parameters they were first used with./i', $error->message) |
|
72 | 72 | ); |
73 | 73 | } |
74 | 74 | |
@@ -79,11 +79,11 @@ discard block |
||
79 | 79 | * @since 4.1.0 |
80 | 80 | * @param array $error |
81 | 81 | */ |
82 | - public function is_no_such_customer_error( $error ) { |
|
82 | + public function is_no_such_customer_error($error) { |
|
83 | 83 | return ( |
84 | 84 | $error && |
85 | 85 | 'invalid_request_error' === $error->type && |
86 | - preg_match( '/No such customer/i', $error->message ) |
|
86 | + preg_match('/No such customer/i', $error->message) |
|
87 | 87 | ); |
88 | 88 | } |
89 | 89 | |
@@ -94,11 +94,11 @@ discard block |
||
94 | 94 | * @since 4.1.0 |
95 | 95 | * @param array $error |
96 | 96 | */ |
97 | - public function is_no_such_token_error( $error ) { |
|
97 | + public function is_no_such_token_error($error) { |
|
98 | 98 | return ( |
99 | 99 | $error && |
100 | 100 | 'invalid_request_error' === $error->type && |
101 | - preg_match( '/No such token/i', $error->message ) |
|
101 | + preg_match('/No such token/i', $error->message) |
|
102 | 102 | ); |
103 | 103 | } |
104 | 104 | |
@@ -109,11 +109,11 @@ discard block |
||
109 | 109 | * @since 4.1.0 |
110 | 110 | * @param array $error |
111 | 111 | */ |
112 | - public function is_no_such_source_error( $error ) { |
|
112 | + public function is_no_such_source_error($error) { |
|
113 | 113 | return ( |
114 | 114 | $error && |
115 | 115 | 'invalid_request_error' === $error->type && |
116 | - preg_match( '/No such source/i', $error->message ) |
|
116 | + preg_match('/No such source/i', $error->message) |
|
117 | 117 | ); |
118 | 118 | } |
119 | 119 | |
@@ -124,11 +124,11 @@ discard block |
||
124 | 124 | * @since 4.1.0 |
125 | 125 | * @param array $error |
126 | 126 | */ |
127 | - public function is_no_linked_source_error( $error ) { |
|
127 | + public function is_no_linked_source_error($error) { |
|
128 | 128 | return ( |
129 | 129 | $error && |
130 | 130 | 'invalid_request_error' === $error->type && |
131 | - preg_match( '/does not have a linked source with ID/i', $error->message ) |
|
131 | + preg_match('/does not have a linked source with ID/i', $error->message) |
|
132 | 132 | ); |
133 | 133 | } |
134 | 134 | |
@@ -141,13 +141,13 @@ discard block |
||
141 | 141 | * @param object $error |
142 | 142 | * @return bool |
143 | 143 | */ |
144 | - public function need_update_idempotency_key( $source_object, $error ) { |
|
144 | + public function need_update_idempotency_key($source_object, $error) { |
|
145 | 145 | return ( |
146 | 146 | $error && |
147 | 147 | 1 < $this->retry_interval && |
148 | - ! empty( $source_object ) && |
|
148 | + ! empty($source_object) && |
|
149 | 149 | 'chargeable' === $source_object->status && |
150 | - self::is_same_idempotency_error( $error ) |
|
150 | + self::is_same_idempotency_error($error) |
|
151 | 151 | ); |
152 | 152 | } |
153 | 153 | |
@@ -161,12 +161,12 @@ discard block |
||
161 | 161 | // NOTE: updates to this function should be added to are_keys_set() |
162 | 162 | // in includes/payment-methods/class-wc-stripe-payment-request.php |
163 | 163 | |
164 | - if ( $this->testmode ) { |
|
165 | - return preg_match( '/^pk_test_/', $this->publishable_key ) |
|
166 | - && preg_match( '/^[rs]k_test_/', $this->secret_key ); |
|
164 | + if ($this->testmode) { |
|
165 | + return preg_match('/^pk_test_/', $this->publishable_key) |
|
166 | + && preg_match('/^[rs]k_test_/', $this->secret_key); |
|
167 | 167 | } else { |
168 | - return preg_match( '/^pk_live_/', $this->publishable_key ) |
|
169 | - && preg_match( '/^[rs]k_live_/', $this->secret_key ); |
|
168 | + return preg_match('/^pk_live_/', $this->publishable_key) |
|
169 | + && preg_match('/^[rs]k_live_/', $this->secret_key); |
|
170 | 170 | } |
171 | 171 | } |
172 | 172 | |
@@ -176,7 +176,7 @@ discard block |
||
176 | 176 | * @since 4.1.3 |
177 | 177 | */ |
178 | 178 | public function is_available() { |
179 | - if ( 'yes' === $this->enabled ) { |
|
179 | + if ('yes' === $this->enabled) { |
|
180 | 180 | return $this->are_keys_set(); |
181 | 181 | } |
182 | 182 | |
@@ -191,12 +191,12 @@ discard block |
||
191 | 191 | * @param int $order_id |
192 | 192 | * @return bool |
193 | 193 | */ |
194 | - public function maybe_process_pre_orders( $order_id ) { |
|
194 | + public function maybe_process_pre_orders($order_id) { |
|
195 | 195 | return ( |
196 | 196 | WC_Stripe_Helper::is_pre_orders_exists() && |
197 | - $this->pre_orders->is_pre_order( $order_id ) && |
|
198 | - WC_Pre_Orders_Order::order_requires_payment_tokenization( $order_id ) && |
|
199 | - ! is_wc_endpoint_url( 'order-pay' ) |
|
197 | + $this->pre_orders->is_pre_order($order_id) && |
|
198 | + WC_Pre_Orders_Order::order_requires_payment_tokenization($order_id) && |
|
199 | + ! is_wc_endpoint_url('order-pay') |
|
200 | 200 | ); |
201 | 201 | } |
202 | 202 | |
@@ -240,10 +240,10 @@ discard block |
||
240 | 240 | * @version 4.0.0 |
241 | 241 | * @param object $order |
242 | 242 | */ |
243 | - public function validate_minimum_order_amount( $order ) { |
|
244 | - if ( $order->get_total() * 100 < WC_Stripe_Helper::get_minimum_amount() ) { |
|
243 | + public function validate_minimum_order_amount($order) { |
|
244 | + if ($order->get_total() * 100 < WC_Stripe_Helper::get_minimum_amount()) { |
|
245 | 245 | /* translators: 1) dollar amount */ |
246 | - throw new WC_Stripe_Exception( 'Did not meet minimum amount', 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 ) ) ); |
|
246 | + throw new WC_Stripe_Exception('Did not meet minimum amount', 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))); |
|
247 | 247 | } |
248 | 248 | } |
249 | 249 | |
@@ -253,14 +253,14 @@ discard block |
||
253 | 253 | * @since 4.0.0 |
254 | 254 | * @version 4.0.0 |
255 | 255 | */ |
256 | - public function get_transaction_url( $order ) { |
|
257 | - if ( $this->testmode ) { |
|
256 | + public function get_transaction_url($order) { |
|
257 | + if ($this->testmode) { |
|
258 | 258 | $this->view_transaction_url = 'https://dashboard.stripe.com/test/payments/%s'; |
259 | 259 | } else { |
260 | 260 | $this->view_transaction_url = 'https://dashboard.stripe.com/payments/%s'; |
261 | 261 | } |
262 | 262 | |
263 | - return parent::get_transaction_url( $order ); |
|
263 | + return parent::get_transaction_url($order); |
|
264 | 264 | } |
265 | 265 | |
266 | 266 | /** |
@@ -269,12 +269,12 @@ discard block |
||
269 | 269 | * @since 4.0.0 |
270 | 270 | * @version 4.0.0 |
271 | 271 | */ |
272 | - public function get_stripe_customer_id( $order ) { |
|
273 | - $customer = get_user_option( '_stripe_customer_id', $order->get_customer_id() ); |
|
272 | + public function get_stripe_customer_id($order) { |
|
273 | + $customer = get_user_option('_stripe_customer_id', $order->get_customer_id()); |
|
274 | 274 | |
275 | - if ( empty( $customer ) ) { |
|
275 | + if (empty($customer)) { |
|
276 | 276 | // Try to get it via the order. |
277 | - return $order->get_meta( '_stripe_customer_id', true ); |
|
277 | + return $order->get_meta('_stripe_customer_id', true); |
|
278 | 278 | } else { |
279 | 279 | return $customer; |
280 | 280 | } |
@@ -290,9 +290,9 @@ discard block |
||
290 | 290 | * @param object $order |
291 | 291 | * @param int $id Stripe session id. |
292 | 292 | */ |
293 | - public function get_stripe_return_url( $order = null, $id = null ) { |
|
294 | - if ( is_object( $order ) ) { |
|
295 | - if ( empty( $id ) ) { |
|
293 | + public function get_stripe_return_url($order = null, $id = null) { |
|
294 | + if (is_object($order)) { |
|
295 | + if (empty($id)) { |
|
296 | 296 | $id = uniqid(); |
297 | 297 | } |
298 | 298 | |
@@ -303,10 +303,10 @@ discard block |
||
303 | 303 | 'order_id' => $order_id, |
304 | 304 | ); |
305 | 305 | |
306 | - return wp_sanitize_redirect( esc_url_raw( add_query_arg( $args, $this->get_return_url( $order ) ) ) ); |
|
306 | + return wp_sanitize_redirect(esc_url_raw(add_query_arg($args, $this->get_return_url($order)))); |
|
307 | 307 | } |
308 | 308 | |
309 | - return wp_sanitize_redirect( esc_url_raw( add_query_arg( array( 'utm_nooverride' => '1' ), $this->get_return_url() ) ) ); |
|
309 | + return wp_sanitize_redirect(esc_url_raw(add_query_arg(array('utm_nooverride' => '1'), $this->get_return_url()))); |
|
310 | 310 | } |
311 | 311 | |
312 | 312 | /** |
@@ -314,8 +314,8 @@ discard block |
||
314 | 314 | * @param int $order_id |
315 | 315 | * @return boolean |
316 | 316 | */ |
317 | - public function has_subscription( $order_id ) { |
|
318 | - return ( function_exists( 'wcs_order_contains_subscription' ) && ( wcs_order_contains_subscription( $order_id ) || wcs_is_subscription( $order_id ) || wcs_order_contains_renewal( $order_id ) ) ); |
|
317 | + public function has_subscription($order_id) { |
|
318 | + return (function_exists('wcs_order_contains_subscription') && (wcs_order_contains_subscription($order_id) || wcs_is_subscription($order_id) || wcs_order_contains_renewal($order_id))); |
|
319 | 319 | } |
320 | 320 | |
321 | 321 | /** |
@@ -327,34 +327,34 @@ discard block |
||
327 | 327 | * @param object $prepared_source |
328 | 328 | * @return array() |
329 | 329 | */ |
330 | - public function generate_payment_request( $order, $prepared_source ) { |
|
331 | - $settings = get_option( 'woocommerce_stripe_settings', array() ); |
|
332 | - $statement_descriptor = ! empty( $settings['statement_descriptor'] ) ? str_replace( "'", '', $settings['statement_descriptor'] ) : ''; |
|
333 | - $capture = ! empty( $settings['capture'] ) && 'yes' === $settings['capture'] ? true : false; |
|
330 | + public function generate_payment_request($order, $prepared_source) { |
|
331 | + $settings = get_option('woocommerce_stripe_settings', array()); |
|
332 | + $statement_descriptor = ! empty($settings['statement_descriptor']) ? str_replace("'", '', $settings['statement_descriptor']) : ''; |
|
333 | + $capture = ! empty($settings['capture']) && 'yes' === $settings['capture'] ? true : false; |
|
334 | 334 | $post_data = array(); |
335 | - $post_data['currency'] = strtolower( $order->get_currency() ); |
|
336 | - $post_data['amount'] = WC_Stripe_Helper::get_stripe_amount( $order->get_total(), $post_data['currency'] ); |
|
335 | + $post_data['currency'] = strtolower($order->get_currency()); |
|
336 | + $post_data['amount'] = WC_Stripe_Helper::get_stripe_amount($order->get_total(), $post_data['currency']); |
|
337 | 337 | /* translators: 1) blog name 2) order number */ |
338 | - $post_data['description'] = sprintf( __( '%1$s - Order %2$s', 'woocommerce-gateway-stripe' ), wp_specialchars_decode( get_bloginfo( 'name' ), ENT_QUOTES ), $order->get_order_number() ); |
|
338 | + $post_data['description'] = sprintf(__('%1$s - Order %2$s', 'woocommerce-gateway-stripe'), wp_specialchars_decode(get_bloginfo('name'), ENT_QUOTES), $order->get_order_number()); |
|
339 | 339 | $billing_email = $order->get_billing_email(); |
340 | 340 | $billing_first_name = $order->get_billing_first_name(); |
341 | 341 | $billing_last_name = $order->get_billing_last_name(); |
342 | 342 | |
343 | - if ( ! empty( $billing_email ) && apply_filters( 'wc_stripe_send_stripe_receipt', false ) ) { |
|
343 | + if ( ! empty($billing_email) && apply_filters('wc_stripe_send_stripe_receipt', false)) { |
|
344 | 344 | $post_data['receipt_email'] = $billing_email; |
345 | 345 | } |
346 | 346 | |
347 | - switch ( $order->get_payment_method() ) { |
|
347 | + switch ($order->get_payment_method()) { |
|
348 | 348 | case 'stripe': |
349 | - if ( ! empty( $statement_descriptor ) ) { |
|
350 | - $post_data['statement_descriptor'] = WC_Stripe_Helper::clean_statement_descriptor( $statement_descriptor ); |
|
349 | + if ( ! empty($statement_descriptor)) { |
|
350 | + $post_data['statement_descriptor'] = WC_Stripe_Helper::clean_statement_descriptor($statement_descriptor); |
|
351 | 351 | } |
352 | 352 | |
353 | 353 | $post_data['capture'] = $capture ? 'true' : 'false'; |
354 | 354 | break; |
355 | 355 | case 'stripe_sepa': |
356 | - if ( ! empty( $statement_descriptor ) ) { |
|
357 | - $post_data['statement_descriptor'] = WC_Stripe_Helper::clean_statement_descriptor( $statement_descriptor ); |
|
356 | + if ( ! empty($statement_descriptor)) { |
|
357 | + $post_data['statement_descriptor'] = WC_Stripe_Helper::clean_statement_descriptor($statement_descriptor); |
|
358 | 358 | } |
359 | 359 | break; |
360 | 360 | } |
@@ -362,25 +362,25 @@ discard block |
||
362 | 362 | $post_data['expand[]'] = 'balance_transaction'; |
363 | 363 | |
364 | 364 | $metadata = array( |
365 | - __( 'customer_name', 'woocommerce-gateway-stripe' ) => sanitize_text_field( $billing_first_name ) . ' ' . sanitize_text_field( $billing_last_name ), |
|
366 | - __( 'customer_email', 'woocommerce-gateway-stripe' ) => sanitize_email( $billing_email ), |
|
365 | + __('customer_name', 'woocommerce-gateway-stripe') => sanitize_text_field($billing_first_name) . ' ' . sanitize_text_field($billing_last_name), |
|
366 | + __('customer_email', 'woocommerce-gateway-stripe') => sanitize_email($billing_email), |
|
367 | 367 | 'order_id' => $order->get_order_number(), |
368 | 368 | ); |
369 | 369 | |
370 | - if ( $this->has_subscription( $order->get_id() ) ) { |
|
370 | + if ($this->has_subscription($order->get_id())) { |
|
371 | 371 | $metadata += array( |
372 | 372 | 'payment_type' => 'recurring', |
373 | - 'site_url' => esc_url( get_site_url() ), |
|
373 | + 'site_url' => esc_url(get_site_url()), |
|
374 | 374 | ); |
375 | 375 | } |
376 | 376 | |
377 | - $post_data['metadata'] = apply_filters( 'wc_stripe_payment_metadata', $metadata, $order, $prepared_source ); |
|
377 | + $post_data['metadata'] = apply_filters('wc_stripe_payment_metadata', $metadata, $order, $prepared_source); |
|
378 | 378 | |
379 | - if ( $prepared_source->customer ) { |
|
379 | + if ($prepared_source->customer) { |
|
380 | 380 | $post_data['customer'] = $prepared_source->customer; |
381 | 381 | } |
382 | 382 | |
383 | - if ( $prepared_source->source ) { |
|
383 | + if ($prepared_source->source) { |
|
384 | 384 | $post_data['source'] = $prepared_source->source; |
385 | 385 | } |
386 | 386 | |
@@ -392,72 +392,72 @@ discard block |
||
392 | 392 | * @param WC_Order $order |
393 | 393 | * @param object $source |
394 | 394 | */ |
395 | - return apply_filters( 'wc_stripe_generate_payment_request', $post_data, $order, $prepared_source ); |
|
395 | + return apply_filters('wc_stripe_generate_payment_request', $post_data, $order, $prepared_source); |
|
396 | 396 | } |
397 | 397 | |
398 | 398 | /** |
399 | 399 | * Store extra meta data for an order from a Stripe Response. |
400 | 400 | */ |
401 | - public function process_response( $response, $order ) { |
|
402 | - WC_Stripe_Logger::log( 'Processing response: ' . print_r( $response, true ) ); |
|
401 | + public function process_response($response, $order) { |
|
402 | + WC_Stripe_Logger::log('Processing response: ' . print_r($response, true)); |
|
403 | 403 | |
404 | 404 | $order_id = $order->get_id(); |
405 | - $captured = ( isset( $response->captured ) && $response->captured ) ? 'yes' : 'no'; |
|
405 | + $captured = (isset($response->captured) && $response->captured) ? 'yes' : 'no'; |
|
406 | 406 | |
407 | 407 | // Store charge data. |
408 | - $order->update_meta_data( '_stripe_charge_captured', $captured ); |
|
408 | + $order->update_meta_data('_stripe_charge_captured', $captured); |
|
409 | 409 | |
410 | - if ( isset( $response->balance_transaction ) ) { |
|
411 | - $this->update_fees( $order, is_string( $response->balance_transaction ) ? $response->balance_transaction : $response->balance_transaction->id ); |
|
410 | + if (isset($response->balance_transaction)) { |
|
411 | + $this->update_fees($order, is_string($response->balance_transaction) ? $response->balance_transaction : $response->balance_transaction->id); |
|
412 | 412 | } |
413 | 413 | |
414 | - if ( 'yes' === $captured ) { |
|
414 | + if ('yes' === $captured) { |
|
415 | 415 | /** |
416 | 416 | * Charge can be captured but in a pending state. Payment methods |
417 | 417 | * that are asynchronous may take couple days to clear. Webhook will |
418 | 418 | * take care of the status changes. |
419 | 419 | */ |
420 | - if ( 'pending' === $response->status ) { |
|
421 | - $order_stock_reduced = $order->get_meta( '_order_stock_reduced', true ); |
|
420 | + if ('pending' === $response->status) { |
|
421 | + $order_stock_reduced = $order->get_meta('_order_stock_reduced', true); |
|
422 | 422 | |
423 | - if ( ! $order_stock_reduced ) { |
|
424 | - wc_reduce_stock_levels( $order_id ); |
|
423 | + if ( ! $order_stock_reduced) { |
|
424 | + wc_reduce_stock_levels($order_id); |
|
425 | 425 | } |
426 | 426 | |
427 | - $order->set_transaction_id( $response->id ); |
|
427 | + $order->set_transaction_id($response->id); |
|
428 | 428 | /* translators: transaction id */ |
429 | - $order->update_status( 'on-hold', sprintf( __( 'Stripe charge awaiting payment: %s.', 'woocommerce-gateway-stripe' ), $response->id ) ); |
|
429 | + $order->update_status('on-hold', sprintf(__('Stripe charge awaiting payment: %s.', 'woocommerce-gateway-stripe'), $response->id)); |
|
430 | 430 | } |
431 | 431 | |
432 | - if ( 'succeeded' === $response->status ) { |
|
433 | - $order->payment_complete( $response->id ); |
|
432 | + if ('succeeded' === $response->status) { |
|
433 | + $order->payment_complete($response->id); |
|
434 | 434 | |
435 | 435 | /* translators: transaction id */ |
436 | - $message = sprintf( __( 'Stripe charge complete (Charge ID: %s)', 'woocommerce-gateway-stripe' ), $response->id ); |
|
437 | - $order->add_order_note( $message ); |
|
436 | + $message = sprintf(__('Stripe charge complete (Charge ID: %s)', 'woocommerce-gateway-stripe'), $response->id); |
|
437 | + $order->add_order_note($message); |
|
438 | 438 | } |
439 | 439 | |
440 | - if ( 'failed' === $response->status ) { |
|
441 | - $localized_message = __( 'Payment processing failed. Please retry.', 'woocommerce-gateway-stripe' ); |
|
442 | - $order->add_order_note( $localized_message ); |
|
443 | - throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message ); |
|
440 | + if ('failed' === $response->status) { |
|
441 | + $localized_message = __('Payment processing failed. Please retry.', 'woocommerce-gateway-stripe'); |
|
442 | + $order->add_order_note($localized_message); |
|
443 | + throw new WC_Stripe_Exception(print_r($response, true), $localized_message); |
|
444 | 444 | } |
445 | 445 | } else { |
446 | - $order->set_transaction_id( $response->id ); |
|
446 | + $order->set_transaction_id($response->id); |
|
447 | 447 | |
448 | - if ( $order->has_status( array( 'pending', 'failed' ) ) ) { |
|
449 | - wc_reduce_stock_levels( $order_id ); |
|
448 | + if ($order->has_status(array('pending', 'failed'))) { |
|
449 | + wc_reduce_stock_levels($order_id); |
|
450 | 450 | } |
451 | 451 | |
452 | 452 | /* translators: transaction id */ |
453 | - $order->update_status( 'on-hold', sprintf( __( 'Stripe charge authorized (Charge ID: %s). Process order to take payment, or cancel to remove the pre-authorization.', 'woocommerce-gateway-stripe' ), $response->id ) ); |
|
453 | + $order->update_status('on-hold', sprintf(__('Stripe charge authorized (Charge ID: %s). Process order to take payment, or cancel to remove the pre-authorization.', 'woocommerce-gateway-stripe'), $response->id)); |
|
454 | 454 | } |
455 | 455 | |
456 | - if ( is_callable( array( $order, 'save' ) ) ) { |
|
456 | + if (is_callable(array($order, 'save'))) { |
|
457 | 457 | $order->save(); |
458 | 458 | } |
459 | 459 | |
460 | - do_action( 'wc_gateway_stripe_process_response', $response, $order ); |
|
460 | + do_action('wc_gateway_stripe_process_response', $response, $order); |
|
461 | 461 | |
462 | 462 | return $response; |
463 | 463 | } |
@@ -470,10 +470,10 @@ discard block |
||
470 | 470 | * @param int $order_id |
471 | 471 | * @return null |
472 | 472 | */ |
473 | - public function send_failed_order_email( $order_id ) { |
|
473 | + public function send_failed_order_email($order_id) { |
|
474 | 474 | $emails = WC()->mailer()->get_emails(); |
475 | - if ( ! empty( $emails ) && ! empty( $order_id ) ) { |
|
476 | - $emails['WC_Email_Failed_Order']->trigger( $order_id ); |
|
475 | + if ( ! empty($emails) && ! empty($order_id)) { |
|
476 | + $emails['WC_Email_Failed_Order']->trigger($order_id); |
|
477 | 477 | } |
478 | 478 | } |
479 | 479 | |
@@ -485,7 +485,7 @@ discard block |
||
485 | 485 | * @param object $order |
486 | 486 | * @return object $details |
487 | 487 | */ |
488 | - public function get_owner_details( $order ) { |
|
488 | + public function get_owner_details($order) { |
|
489 | 489 | $billing_first_name = $order->get_billing_first_name(); |
490 | 490 | $billing_last_name = $order->get_billing_last_name(); |
491 | 491 | |
@@ -495,15 +495,15 @@ discard block |
||
495 | 495 | $email = $order->get_billing_email(); |
496 | 496 | $phone = $order->get_billing_phone(); |
497 | 497 | |
498 | - if ( ! empty( $phone ) ) { |
|
498 | + if ( ! empty($phone)) { |
|
499 | 499 | $details['phone'] = $phone; |
500 | 500 | } |
501 | 501 | |
502 | - if ( ! empty( $name ) ) { |
|
502 | + if ( ! empty($name)) { |
|
503 | 503 | $details['name'] = $name; |
504 | 504 | } |
505 | 505 | |
506 | - if ( ! empty( $email ) ) { |
|
506 | + if ( ! empty($email)) { |
|
507 | 507 | $details['email'] = $email; |
508 | 508 | } |
509 | 509 | |
@@ -514,7 +514,7 @@ discard block |
||
514 | 514 | $details['address']['postal_code'] = $order->get_billing_postcode(); |
515 | 515 | $details['address']['country'] = $order->get_billing_country(); |
516 | 516 | |
517 | - return (object) apply_filters( 'wc_stripe_owner_details', $details, $order ); |
|
517 | + return (object) apply_filters('wc_stripe_owner_details', $details, $order); |
|
518 | 518 | } |
519 | 519 | |
520 | 520 | /** |
@@ -523,15 +523,15 @@ discard block |
||
523 | 523 | * @since 4.0.3 |
524 | 524 | * @param string $source_id The source ID to get source object for. |
525 | 525 | */ |
526 | - public function get_source_object( $source_id = '' ) { |
|
527 | - if ( empty( $source_id ) ) { |
|
526 | + public function get_source_object($source_id = '') { |
|
527 | + if (empty($source_id)) { |
|
528 | 528 | return ''; |
529 | 529 | } |
530 | 530 | |
531 | - $source_object = WC_Stripe_API::retrieve( 'sources/' . $source_id ); |
|
531 | + $source_object = WC_Stripe_API::retrieve('sources/' . $source_id); |
|
532 | 532 | |
533 | - if ( ! empty( $source_object->error ) ) { |
|
534 | - throw new WC_Stripe_Exception( print_r( $source_object, true ), $source_object->error->message ); |
|
533 | + if ( ! empty($source_object->error)) { |
|
534 | + throw new WC_Stripe_Exception(print_r($source_object, true), $source_object->error->message); |
|
535 | 535 | } |
536 | 536 | |
537 | 537 | return $source_object; |
@@ -544,10 +544,10 @@ discard block |
||
544 | 544 | * @param object $source_object |
545 | 545 | * @return bool |
546 | 546 | */ |
547 | - public function is_prepaid_card( $source_object ) { |
|
547 | + public function is_prepaid_card($source_object) { |
|
548 | 548 | return ( |
549 | 549 | $source_object |
550 | - && ( 'token' === $source_object->object || 'source' === $source_object->object ) |
|
550 | + && ('token' === $source_object->object || 'source' === $source_object->object) |
|
551 | 551 | && 'prepaid' === $source_object->card->funding |
552 | 552 | ); |
553 | 553 | } |
@@ -559,8 +559,8 @@ discard block |
||
559 | 559 | * @param string $source_id |
560 | 560 | * @return bool |
561 | 561 | */ |
562 | - public function is_type_legacy_card( $source_id ) { |
|
563 | - return ( preg_match( '/^card_/', $source_id ) ); |
|
562 | + public function is_type_legacy_card($source_id) { |
|
563 | + return (preg_match('/^card_/', $source_id)); |
|
564 | 564 | } |
565 | 565 | |
566 | 566 | /** |
@@ -570,9 +570,9 @@ discard block |
||
570 | 570 | * @return bool |
571 | 571 | */ |
572 | 572 | public function is_using_saved_payment_method() { |
573 | - $payment_method = isset( $_POST['payment_method'] ) ? wc_clean( $_POST['payment_method'] ) : 'stripe'; |
|
573 | + $payment_method = isset($_POST['payment_method']) ? wc_clean($_POST['payment_method']) : 'stripe'; |
|
574 | 574 | |
575 | - return ( isset( $_POST[ 'wc-' . $payment_method . '-payment-token' ] ) && 'new' !== $_POST[ 'wc-' . $payment_method . '-payment-token' ] ); |
|
575 | + return (isset($_POST['wc-' . $payment_method . '-payment-token']) && 'new' !== $_POST['wc-' . $payment_method . '-payment-token']); |
|
576 | 576 | } |
577 | 577 | |
578 | 578 | /** |
@@ -588,64 +588,64 @@ discard block |
||
588 | 588 | * @throws Exception When card was not added or for and invalid card. |
589 | 589 | * @return object |
590 | 590 | */ |
591 | - public function prepare_source( $user_id, $force_save_source = false, $existing_customer_id = null ) { |
|
592 | - $customer = new WC_Stripe_Customer( $user_id ); |
|
593 | - if ( ! empty( $existing_customer_id ) ) { |
|
594 | - $customer->set_id( $existing_customer_id ); |
|
591 | + public function prepare_source($user_id, $force_save_source = false, $existing_customer_id = null) { |
|
592 | + $customer = new WC_Stripe_Customer($user_id); |
|
593 | + if ( ! empty($existing_customer_id)) { |
|
594 | + $customer->set_id($existing_customer_id); |
|
595 | 595 | } |
596 | 596 | |
597 | - $force_save_source = apply_filters( 'wc_stripe_force_save_source', $force_save_source, $customer ); |
|
597 | + $force_save_source = apply_filters('wc_stripe_force_save_source', $force_save_source, $customer); |
|
598 | 598 | $source_object = ''; |
599 | 599 | $source_id = ''; |
600 | 600 | $wc_token_id = false; |
601 | - $payment_method = isset( $_POST['payment_method'] ) ? wc_clean( $_POST['payment_method'] ) : 'stripe'; |
|
601 | + $payment_method = isset($_POST['payment_method']) ? wc_clean($_POST['payment_method']) : 'stripe'; |
|
602 | 602 | $is_token = false; |
603 | 603 | |
604 | 604 | // New CC info was entered and we have a new source to process. |
605 | - if ( ! empty( $_POST['stripe_source'] ) ) { |
|
606 | - $source_object = self::get_source_object( wc_clean( $_POST['stripe_source'] ) ); |
|
605 | + if ( ! empty($_POST['stripe_source'])) { |
|
606 | + $source_object = self::get_source_object(wc_clean($_POST['stripe_source'])); |
|
607 | 607 | $source_id = $source_object->id; |
608 | 608 | |
609 | 609 | // This checks to see if customer opted to save the payment method to file. |
610 | - $maybe_saved_card = isset( $_POST[ 'wc-' . $payment_method . '-new-payment-method' ] ) && ! empty( $_POST[ 'wc-' . $payment_method . '-new-payment-method' ] ); |
|
610 | + $maybe_saved_card = isset($_POST['wc-' . $payment_method . '-new-payment-method']) && ! empty($_POST['wc-' . $payment_method . '-new-payment-method']); |
|
611 | 611 | |
612 | 612 | /** |
613 | 613 | * This is true if the user wants to store the card to their account. |
614 | 614 | * Criteria to save to file is they are logged in, they opted to save or product requirements and the source is |
615 | 615 | * actually reusable. Either that or force_save_source is true. |
616 | 616 | */ |
617 | - if ( ( $user_id && $this->saved_cards && $maybe_saved_card && 'reusable' === $source_object->usage ) || $force_save_source ) { |
|
618 | - $response = $customer->add_source( $source_object->id ); |
|
617 | + if (($user_id && $this->saved_cards && $maybe_saved_card && 'reusable' === $source_object->usage) || $force_save_source) { |
|
618 | + $response = $customer->add_source($source_object->id); |
|
619 | 619 | |
620 | - if ( ! empty( $response->error ) ) { |
|
621 | - throw new WC_Stripe_Exception( print_r( $response, true ), $this->get_localized_error_message_from_response( $response ) ); |
|
620 | + if ( ! empty($response->error)) { |
|
621 | + throw new WC_Stripe_Exception(print_r($response, true), $this->get_localized_error_message_from_response($response)); |
|
622 | 622 | } |
623 | 623 | } |
624 | - } elseif ( $this->is_using_saved_payment_method() ) { |
|
624 | + } elseif ($this->is_using_saved_payment_method()) { |
|
625 | 625 | // Use an existing token, and then process the payment. |
626 | - $wc_token_id = wc_clean( $_POST[ 'wc-' . $payment_method . '-payment-token' ] ); |
|
627 | - $wc_token = WC_Payment_Tokens::get( $wc_token_id ); |
|
626 | + $wc_token_id = wc_clean($_POST['wc-' . $payment_method . '-payment-token']); |
|
627 | + $wc_token = WC_Payment_Tokens::get($wc_token_id); |
|
628 | 628 | |
629 | - if ( ! $wc_token || $wc_token->get_user_id() !== get_current_user_id() ) { |
|
630 | - WC()->session->set( 'refresh_totals', true ); |
|
631 | - throw new WC_Stripe_Exception( 'Invalid payment method', __( 'Invalid payment method. Please input a new card number.', 'woocommerce-gateway-stripe' ) ); |
|
629 | + if ( ! $wc_token || $wc_token->get_user_id() !== get_current_user_id()) { |
|
630 | + WC()->session->set('refresh_totals', true); |
|
631 | + throw new WC_Stripe_Exception('Invalid payment method', __('Invalid payment method. Please input a new card number.', 'woocommerce-gateway-stripe')); |
|
632 | 632 | } |
633 | 633 | |
634 | 634 | $source_id = $wc_token->get_token(); |
635 | 635 | |
636 | - if ( $this->is_type_legacy_card( $source_id ) ) { |
|
636 | + if ($this->is_type_legacy_card($source_id)) { |
|
637 | 637 | $is_token = true; |
638 | 638 | } |
639 | - } elseif ( isset( $_POST['stripe_token'] ) && 'new' !== $_POST['stripe_token'] ) { |
|
640 | - $stripe_token = wc_clean( $_POST['stripe_token'] ); |
|
641 | - $maybe_saved_card = isset( $_POST[ 'wc-' . $payment_method . '-new-payment-method' ] ) && ! empty( $_POST[ 'wc-' . $payment_method . '-new-payment-method' ] ); |
|
639 | + } elseif (isset($_POST['stripe_token']) && 'new' !== $_POST['stripe_token']) { |
|
640 | + $stripe_token = wc_clean($_POST['stripe_token']); |
|
641 | + $maybe_saved_card = isset($_POST['wc-' . $payment_method . '-new-payment-method']) && ! empty($_POST['wc-' . $payment_method . '-new-payment-method']); |
|
642 | 642 | |
643 | 643 | // This is true if the user wants to store the card to their account. |
644 | - if ( ( $user_id && $this->saved_cards && $maybe_saved_card ) || $force_save_source ) { |
|
645 | - $response = $customer->add_source( $stripe_token ); |
|
644 | + if (($user_id && $this->saved_cards && $maybe_saved_card) || $force_save_source) { |
|
645 | + $response = $customer->add_source($stripe_token); |
|
646 | 646 | |
647 | - if ( ! empty( $response->error ) ) { |
|
648 | - throw new WC_Stripe_Exception( print_r( $response, true ), $response->error->message ); |
|
647 | + if ( ! empty($response->error)) { |
|
648 | + throw new WC_Stripe_Exception(print_r($response, true), $response->error->message); |
|
649 | 649 | } |
650 | 650 | $source_id = $response; |
651 | 651 | } else { |
@@ -655,15 +655,15 @@ discard block |
||
655 | 655 | } |
656 | 656 | |
657 | 657 | $customer_id = $customer->get_id(); |
658 | - if ( ! $customer_id ) { |
|
659 | - $customer->set_id( $customer->create_customer() ); |
|
658 | + if ( ! $customer_id) { |
|
659 | + $customer->set_id($customer->create_customer()); |
|
660 | 660 | $customer_id = $customer->get_id(); |
661 | 661 | } else { |
662 | 662 | $customer_id = $customer->update_customer(); |
663 | 663 | } |
664 | 664 | |
665 | - if ( empty( $source_object ) && ! $is_token ) { |
|
666 | - $source_object = self::get_source_object( $source_id ); |
|
665 | + if (empty($source_object) && ! $is_token) { |
|
666 | + $source_object = self::get_source_object($source_id); |
|
667 | 667 | } |
668 | 668 | |
669 | 669 | return (object) array( |
@@ -687,39 +687,39 @@ discard block |
||
687 | 687 | * @param object $order |
688 | 688 | * @return object |
689 | 689 | */ |
690 | - public function prepare_order_source( $order = null ) { |
|
690 | + public function prepare_order_source($order = null) { |
|
691 | 691 | $stripe_customer = new WC_Stripe_Customer(); |
692 | 692 | $stripe_source = false; |
693 | 693 | $token_id = false; |
694 | 694 | $source_object = false; |
695 | 695 | |
696 | - if ( $order ) { |
|
696 | + if ($order) { |
|
697 | 697 | $order_id = $order->get_id(); |
698 | 698 | |
699 | - $stripe_customer_id = get_post_meta( $order_id, '_stripe_customer_id', true ); |
|
699 | + $stripe_customer_id = get_post_meta($order_id, '_stripe_customer_id', true); |
|
700 | 700 | |
701 | - if ( $stripe_customer_id ) { |
|
702 | - $stripe_customer->set_id( $stripe_customer_id ); |
|
701 | + if ($stripe_customer_id) { |
|
702 | + $stripe_customer->set_id($stripe_customer_id); |
|
703 | 703 | } |
704 | 704 | |
705 | - $source_id = $order->get_meta( '_stripe_source_id', true ); |
|
705 | + $source_id = $order->get_meta('_stripe_source_id', true); |
|
706 | 706 | |
707 | 707 | // Since 4.0.0, we changed card to source so we need to account for that. |
708 | - if ( empty( $source_id ) ) { |
|
709 | - $source_id = $order->get_meta( '_stripe_card_id', true ); |
|
708 | + if (empty($source_id)) { |
|
709 | + $source_id = $order->get_meta('_stripe_card_id', true); |
|
710 | 710 | |
711 | 711 | // Take this opportunity to update the key name. |
712 | - $order->update_meta_data( '_stripe_source_id', $source_id ); |
|
712 | + $order->update_meta_data('_stripe_source_id', $source_id); |
|
713 | 713 | |
714 | - if ( is_callable( array( $order, 'save' ) ) ) { |
|
714 | + if (is_callable(array($order, 'save'))) { |
|
715 | 715 | $order->save(); |
716 | 716 | } |
717 | 717 | } |
718 | 718 | |
719 | - if ( $source_id ) { |
|
719 | + if ($source_id) { |
|
720 | 720 | $stripe_source = $source_id; |
721 | - $source_object = WC_Stripe_API::retrieve( 'sources/' . $source_id ); |
|
722 | - } elseif ( apply_filters( 'wc_stripe_use_default_customer_source', true ) ) { |
|
721 | + $source_object = WC_Stripe_API::retrieve('sources/' . $source_id); |
|
722 | + } elseif (apply_filters('wc_stripe_use_default_customer_source', true)) { |
|
723 | 723 | /* |
724 | 724 | * We can attempt to charge the customer's default source |
725 | 725 | * by sending empty source id. |
@@ -744,17 +744,17 @@ discard block |
||
744 | 744 | * @param WC_Order $order For to which the source applies. |
745 | 745 | * @param stdClass $source Source information. |
746 | 746 | */ |
747 | - public function save_source_to_order( $order, $source ) { |
|
747 | + public function save_source_to_order($order, $source) { |
|
748 | 748 | // Store source in the order. |
749 | - if ( $source->customer ) { |
|
750 | - $order->update_meta_data( '_stripe_customer_id', $source->customer ); |
|
749 | + if ($source->customer) { |
|
750 | + $order->update_meta_data('_stripe_customer_id', $source->customer); |
|
751 | 751 | } |
752 | 752 | |
753 | - if ( $source->source ) { |
|
754 | - $order->update_meta_data( '_stripe_source_id', $source->source ); |
|
753 | + if ($source->source) { |
|
754 | + $order->update_meta_data('_stripe_source_id', $source->source); |
|
755 | 755 | } |
756 | 756 | |
757 | - if ( is_callable( array( $order, 'save' ) ) ) { |
|
757 | + if (is_callable(array($order, 'save'))) { |
|
758 | 758 | $order->save(); |
759 | 759 | } |
760 | 760 | } |
@@ -768,36 +768,36 @@ discard block |
||
768 | 768 | * @param object $order The order object |
769 | 769 | * @param int $balance_transaction_id |
770 | 770 | */ |
771 | - public function update_fees( $order, $balance_transaction_id ) { |
|
772 | - $balance_transaction = WC_Stripe_API::retrieve( 'balance/history/' . $balance_transaction_id ); |
|
771 | + public function update_fees($order, $balance_transaction_id) { |
|
772 | + $balance_transaction = WC_Stripe_API::retrieve('balance/history/' . $balance_transaction_id); |
|
773 | 773 | |
774 | - if ( empty( $balance_transaction->error ) ) { |
|
775 | - if ( isset( $balance_transaction ) && isset( $balance_transaction->fee ) ) { |
|
774 | + if (empty($balance_transaction->error)) { |
|
775 | + if (isset($balance_transaction) && isset($balance_transaction->fee)) { |
|
776 | 776 | // Fees and Net needs to both come from Stripe to be accurate as the returned |
777 | 777 | // values are in the local currency of the Stripe account, not from WC. |
778 | - $fee_refund = ! empty( $balance_transaction->fee ) ? WC_Stripe_Helper::format_balance_fee( $balance_transaction, 'fee' ) : 0; |
|
779 | - $net_refund = ! empty( $balance_transaction->net ) ? WC_Stripe_Helper::format_balance_fee( $balance_transaction, 'net' ) : 0; |
|
778 | + $fee_refund = ! empty($balance_transaction->fee) ? WC_Stripe_Helper::format_balance_fee($balance_transaction, 'fee') : 0; |
|
779 | + $net_refund = ! empty($balance_transaction->net) ? WC_Stripe_Helper::format_balance_fee($balance_transaction, 'net') : 0; |
|
780 | 780 | |
781 | 781 | // Current data fee & net. |
782 | - $fee_current = WC_Stripe_Helper::get_stripe_fee( $order ); |
|
783 | - $net_current = WC_Stripe_Helper::get_stripe_net( $order ); |
|
782 | + $fee_current = WC_Stripe_Helper::get_stripe_fee($order); |
|
783 | + $net_current = WC_Stripe_Helper::get_stripe_net($order); |
|
784 | 784 | |
785 | 785 | // Calculation. |
786 | 786 | $fee = (float) $fee_current + (float) $fee_refund; |
787 | 787 | $net = (float) $net_current + (float) $net_refund; |
788 | 788 | |
789 | - WC_Stripe_Helper::update_stripe_fee( $order, $fee ); |
|
790 | - WC_Stripe_Helper::update_stripe_net( $order, $net ); |
|
789 | + WC_Stripe_Helper::update_stripe_fee($order, $fee); |
|
790 | + WC_Stripe_Helper::update_stripe_net($order, $net); |
|
791 | 791 | |
792 | - $currency = ! empty( $balance_transaction->currency ) ? strtoupper( $balance_transaction->currency ) : null; |
|
793 | - WC_Stripe_Helper::update_stripe_currency( $order, $currency ); |
|
792 | + $currency = ! empty($balance_transaction->currency) ? strtoupper($balance_transaction->currency) : null; |
|
793 | + WC_Stripe_Helper::update_stripe_currency($order, $currency); |
|
794 | 794 | |
795 | - if ( is_callable( array( $order, 'save' ) ) ) { |
|
795 | + if (is_callable(array($order, 'save'))) { |
|
796 | 796 | $order->save(); |
797 | 797 | } |
798 | 798 | } |
799 | 799 | } else { |
800 | - WC_Stripe_Logger::log( 'Unable to update fees/net meta for order: ' . $order->get_id() ); |
|
800 | + WC_Stripe_Logger::log('Unable to update fees/net meta for order: ' . $order->get_id()); |
|
801 | 801 | } |
802 | 802 | } |
803 | 803 | |
@@ -810,93 +810,93 @@ discard block |
||
810 | 810 | * @param float $amount |
811 | 811 | * @return bool |
812 | 812 | */ |
813 | - public function process_refund( $order_id, $amount = null, $reason = '' ) { |
|
814 | - $order = wc_get_order( $order_id ); |
|
813 | + public function process_refund($order_id, $amount = null, $reason = '') { |
|
814 | + $order = wc_get_order($order_id); |
|
815 | 815 | |
816 | - if ( ! $order ) { |
|
816 | + if ( ! $order) { |
|
817 | 817 | return false; |
818 | 818 | } |
819 | 819 | |
820 | 820 | $request = array(); |
821 | 821 | |
822 | 822 | $order_currency = $order->get_currency(); |
823 | - $captured = $order->get_meta( '_stripe_charge_captured', true ); |
|
823 | + $captured = $order->get_meta('_stripe_charge_captured', true); |
|
824 | 824 | $charge_id = $order->get_transaction_id(); |
825 | 825 | |
826 | - if ( ! $charge_id ) { |
|
826 | + if ( ! $charge_id) { |
|
827 | 827 | return false; |
828 | 828 | } |
829 | 829 | |
830 | - if ( ! is_null( $amount ) ) { |
|
831 | - $request['amount'] = WC_Stripe_Helper::get_stripe_amount( $amount, $order_currency ); |
|
830 | + if ( ! is_null($amount)) { |
|
831 | + $request['amount'] = WC_Stripe_Helper::get_stripe_amount($amount, $order_currency); |
|
832 | 832 | } |
833 | 833 | |
834 | 834 | // If order is only authorized, don't pass amount. |
835 | - if ( 'yes' !== $captured ) { |
|
836 | - unset( $request['amount'] ); |
|
835 | + if ('yes' !== $captured) { |
|
836 | + unset($request['amount']); |
|
837 | 837 | } |
838 | 838 | |
839 | - if ( $reason ) { |
|
839 | + if ($reason) { |
|
840 | 840 | $request['metadata'] = array( |
841 | 841 | 'reason' => $reason, |
842 | 842 | ); |
843 | 843 | } |
844 | 844 | |
845 | 845 | $request['charge'] = $charge_id; |
846 | - WC_Stripe_Logger::log( "Info: Beginning refund for order {$charge_id} for the amount of {$amount}" ); |
|
846 | + WC_Stripe_Logger::log("Info: Beginning refund for order {$charge_id} for the amount of {$amount}"); |
|
847 | 847 | |
848 | - $request = apply_filters( 'wc_stripe_refund_request', $request, $order ); |
|
848 | + $request = apply_filters('wc_stripe_refund_request', $request, $order); |
|
849 | 849 | |
850 | - $intent = $this->get_intent_from_order( $order ); |
|
850 | + $intent = $this->get_intent_from_order($order); |
|
851 | 851 | $intent_cancelled = false; |
852 | - if ( $intent ) { |
|
852 | + if ($intent) { |
|
853 | 853 | // If the order has a Payment Intent pending capture, then the Intent itself must be refunded (cancelled), not the Charge |
854 | - if ( ! empty( $intent->error ) ) { |
|
854 | + if ( ! empty($intent->error)) { |
|
855 | 855 | $response = $intent; |
856 | 856 | $intent_cancelled = true; |
857 | - } elseif ( 'requires_capture' === $intent->status ) { |
|
857 | + } elseif ('requires_capture' === $intent->status) { |
|
858 | 858 | $result = WC_Stripe_API::request( |
859 | 859 | array(), |
860 | 860 | 'payment_intents/' . $intent->id . '/cancel' |
861 | 861 | ); |
862 | 862 | $intent_cancelled = true; |
863 | 863 | |
864 | - if ( ! empty( $result->error ) ) { |
|
864 | + if ( ! empty($result->error)) { |
|
865 | 865 | $response = $result; |
866 | 866 | } else { |
867 | - $charge = end( $result->charges->data ); |
|
868 | - $response = end( $charge->refunds->data ); |
|
867 | + $charge = end($result->charges->data); |
|
868 | + $response = end($charge->refunds->data); |
|
869 | 869 | } |
870 | 870 | } |
871 | 871 | } |
872 | 872 | |
873 | - if ( ! $intent_cancelled ) { |
|
874 | - $response = WC_Stripe_API::request( $request, 'refunds' ); |
|
873 | + if ( ! $intent_cancelled) { |
|
874 | + $response = WC_Stripe_API::request($request, 'refunds'); |
|
875 | 875 | } |
876 | 876 | |
877 | - if ( ! empty( $response->error ) ) { |
|
878 | - WC_Stripe_Logger::log( 'Error: ' . $response->error->message ); |
|
877 | + if ( ! empty($response->error)) { |
|
878 | + WC_Stripe_Logger::log('Error: ' . $response->error->message); |
|
879 | 879 | |
880 | 880 | return $response; |
881 | 881 | |
882 | - } elseif ( ! empty( $response->id ) ) { |
|
883 | - $order->update_meta_data( '_stripe_refund_id', $response->id ); |
|
882 | + } elseif ( ! empty($response->id)) { |
|
883 | + $order->update_meta_data('_stripe_refund_id', $response->id); |
|
884 | 884 | |
885 | - $amount = wc_price( $response->amount / 100 ); |
|
885 | + $amount = wc_price($response->amount / 100); |
|
886 | 886 | |
887 | - if ( in_array( strtolower( $order->get_currency() ), WC_Stripe_Helper::no_decimal_currencies() ) ) { |
|
888 | - $amount = wc_price( $response->amount ); |
|
887 | + if (in_array(strtolower($order->get_currency()), WC_Stripe_Helper::no_decimal_currencies())) { |
|
888 | + $amount = wc_price($response->amount); |
|
889 | 889 | } |
890 | 890 | |
891 | - if ( isset( $response->balance_transaction ) ) { |
|
892 | - $this->update_fees( $order, $response->balance_transaction ); |
|
891 | + if (isset($response->balance_transaction)) { |
|
892 | + $this->update_fees($order, $response->balance_transaction); |
|
893 | 893 | } |
894 | 894 | |
895 | 895 | /* translators: 1) dollar amount 2) transaction id 3) refund message */ |
896 | - $refund_message = ( isset( $captured ) && 'yes' === $captured ) ? sprintf( __( 'Refunded %1$s - Refund ID: %2$s - Reason: %3$s', 'woocommerce-gateway-stripe' ), $amount, $response->id, $reason ) : __( 'Pre-Authorization Released', 'woocommerce-gateway-stripe' ); |
|
896 | + $refund_message = (isset($captured) && 'yes' === $captured) ? sprintf(__('Refunded %1$s - Refund ID: %2$s - Reason: %3$s', 'woocommerce-gateway-stripe'), $amount, $response->id, $reason) : __('Pre-Authorization Released', 'woocommerce-gateway-stripe'); |
|
897 | 897 | |
898 | - $order->add_order_note( $refund_message ); |
|
899 | - WC_Stripe_Logger::log( 'Success: ' . html_entity_decode( wp_strip_all_tags( $refund_message ) ) ); |
|
898 | + $order->add_order_note($refund_message); |
|
899 | + WC_Stripe_Logger::log('Success: ' . html_entity_decode(wp_strip_all_tags($refund_message))); |
|
900 | 900 | |
901 | 901 | return true; |
902 | 902 | } |
@@ -911,46 +911,46 @@ discard block |
||
911 | 911 | */ |
912 | 912 | public function add_payment_method() { |
913 | 913 | $error = false; |
914 | - $error_msg = __( 'There was a problem adding the payment method.', 'woocommerce-gateway-stripe' ); |
|
914 | + $error_msg = __('There was a problem adding the payment method.', 'woocommerce-gateway-stripe'); |
|
915 | 915 | $source_id = ''; |
916 | 916 | |
917 | - if ( empty( $_POST['stripe_source'] ) && empty( $_POST['stripe_token'] ) || ! is_user_logged_in() ) { |
|
917 | + if (empty($_POST['stripe_source']) && empty($_POST['stripe_token']) || ! is_user_logged_in()) { |
|
918 | 918 | $error = true; |
919 | 919 | } |
920 | 920 | |
921 | - $stripe_customer = new WC_Stripe_Customer( get_current_user_id() ); |
|
921 | + $stripe_customer = new WC_Stripe_Customer(get_current_user_id()); |
|
922 | 922 | |
923 | - $source = ! empty( $_POST['stripe_source'] ) ? wc_clean( $_POST['stripe_source'] ) : ''; |
|
923 | + $source = ! empty($_POST['stripe_source']) ? wc_clean($_POST['stripe_source']) : ''; |
|
924 | 924 | |
925 | - $source_object = WC_Stripe_API::retrieve( 'sources/' . $source ); |
|
925 | + $source_object = WC_Stripe_API::retrieve('sources/' . $source); |
|
926 | 926 | |
927 | - if ( isset( $source_object ) ) { |
|
928 | - if ( ! empty( $source_object->error ) ) { |
|
927 | + if (isset($source_object)) { |
|
928 | + if ( ! empty($source_object->error)) { |
|
929 | 929 | $error = true; |
930 | 930 | } |
931 | 931 | |
932 | 932 | $source_id = $source_object->id; |
933 | - } elseif ( isset( $_POST['stripe_token'] ) ) { |
|
934 | - $source_id = wc_clean( $_POST['stripe_token'] ); |
|
933 | + } elseif (isset($_POST['stripe_token'])) { |
|
934 | + $source_id = wc_clean($_POST['stripe_token']); |
|
935 | 935 | } |
936 | 936 | |
937 | - $response = $stripe_customer->add_source( $source_id ); |
|
937 | + $response = $stripe_customer->add_source($source_id); |
|
938 | 938 | |
939 | - if ( ! $response || is_wp_error( $response ) || ! empty( $response->error ) ) { |
|
939 | + if ( ! $response || is_wp_error($response) || ! empty($response->error)) { |
|
940 | 940 | $error = true; |
941 | 941 | } |
942 | 942 | |
943 | - if ( $error ) { |
|
944 | - wc_add_notice( $error_msg, 'error' ); |
|
945 | - WC_Stripe_Logger::log( 'Add payment method Error: ' . $error_msg ); |
|
943 | + if ($error) { |
|
944 | + wc_add_notice($error_msg, 'error'); |
|
945 | + WC_Stripe_Logger::log('Add payment method Error: ' . $error_msg); |
|
946 | 946 | return; |
947 | 947 | } |
948 | 948 | |
949 | - do_action( 'wc_stripe_add_payment_method_' . $_POST['payment_method'] . '_success', $source_id, $source_object ); |
|
949 | + do_action('wc_stripe_add_payment_method_' . $_POST['payment_method'] . '_success', $source_id, $source_object); |
|
950 | 950 | |
951 | 951 | return array( |
952 | 952 | 'result' => 'success', |
953 | - 'redirect' => wc_get_endpoint_url( 'payment-methods' ), |
|
953 | + 'redirect' => wc_get_endpoint_url('payment-methods'), |
|
954 | 954 | ); |
955 | 955 | } |
956 | 956 | |
@@ -967,10 +967,10 @@ discard block |
||
967 | 967 | * Stripe expects Norwegian to only be passed NO. |
968 | 968 | * But WP has different dialects. |
969 | 969 | */ |
970 | - if ( 'NO' === substr( $locale, 3, 2 ) ) { |
|
970 | + if ('NO' === substr($locale, 3, 2)) { |
|
971 | 971 | $locale = 'no'; |
972 | 972 | } else { |
973 | - $locale = substr( get_locale(), 0, 2 ); |
|
973 | + $locale = substr(get_locale(), 0, 2); |
|
974 | 974 | } |
975 | 975 | |
976 | 976 | return $locale; |
@@ -984,9 +984,9 @@ discard block |
||
984 | 984 | * @param string $idempotency_key |
985 | 985 | * @param array $request |
986 | 986 | */ |
987 | - public function change_idempotency_key( $idempotency_key, $request ) { |
|
988 | - $customer = ! empty( $request['customer'] ) ? $request['customer'] : ''; |
|
989 | - $source = ! empty( $request['source'] ) ? $request['source'] : $customer; |
|
987 | + public function change_idempotency_key($idempotency_key, $request) { |
|
988 | + $customer = ! empty($request['customer']) ? $request['customer'] : ''; |
|
989 | + $source = ! empty($request['source']) ? $request['source'] : $customer; |
|
990 | 990 | $count = $this->retry_interval; |
991 | 991 | |
992 | 992 | return $request['metadata']['order_id'] . '-' . $count . '-' . $source; |
@@ -1000,8 +1000,8 @@ discard block |
||
1000 | 1000 | * @since 4.0.6 |
1001 | 1001 | * @param array $headers |
1002 | 1002 | */ |
1003 | - public function is_original_request( $headers ) { |
|
1004 | - if ( $headers['original-request'] === $headers['request-id'] ) { |
|
1003 | + public function is_original_request($headers) { |
|
1004 | + if ($headers['original-request'] === $headers['request-id']) { |
|
1005 | 1005 | return true; |
1006 | 1006 | } |
1007 | 1007 | |
@@ -1015,27 +1015,27 @@ discard block |
||
1015 | 1015 | * @param object $prepared_source The source that is used for the payment. |
1016 | 1016 | * @return array The arguments for the request. |
1017 | 1017 | */ |
1018 | - public function generate_create_intent_request( $order, $prepared_source ) { |
|
1018 | + public function generate_create_intent_request($order, $prepared_source) { |
|
1019 | 1019 | // The request for a charge contains metadata for the intent. |
1020 | - $full_request = $this->generate_payment_request( $order, $prepared_source ); |
|
1020 | + $full_request = $this->generate_payment_request($order, $prepared_source); |
|
1021 | 1021 | |
1022 | 1022 | $request = array( |
1023 | 1023 | 'source' => $prepared_source->source, |
1024 | - 'amount' => WC_Stripe_Helper::get_stripe_amount( $order->get_total() ), |
|
1025 | - 'currency' => strtolower( $order->get_currency() ), |
|
1024 | + 'amount' => WC_Stripe_Helper::get_stripe_amount($order->get_total()), |
|
1025 | + 'currency' => strtolower($order->get_currency()), |
|
1026 | 1026 | 'description' => $full_request['description'], |
1027 | 1027 | 'metadata' => $full_request['metadata'], |
1028 | - 'capture_method' => ( 'true' === $full_request['capture'] ) ? 'automatic' : 'manual', |
|
1028 | + 'capture_method' => ('true' === $full_request['capture']) ? 'automatic' : 'manual', |
|
1029 | 1029 | 'payment_method_types' => array( |
1030 | 1030 | 'card', |
1031 | 1031 | ), |
1032 | 1032 | ); |
1033 | 1033 | |
1034 | - if ( $prepared_source->customer ) { |
|
1034 | + if ($prepared_source->customer) { |
|
1035 | 1035 | $request['customer'] = $prepared_source->customer; |
1036 | 1036 | } |
1037 | 1037 | |
1038 | - if ( isset( $full_request['statement_descriptor'] ) ) { |
|
1038 | + if (isset($full_request['statement_descriptor'])) { |
|
1039 | 1039 | $request['statement_descriptor'] = $full_request['statement_descriptor']; |
1040 | 1040 | } |
1041 | 1041 | |
@@ -1047,7 +1047,7 @@ discard block |
||
1047 | 1047 | * @param WC_Order $order |
1048 | 1048 | * @param object $source |
1049 | 1049 | */ |
1050 | - return apply_filters( 'wc_stripe_generate_create_intent_request', $request, $order, $prepared_source ); |
|
1050 | + return apply_filters('wc_stripe_generate_create_intent_request', $request, $order, $prepared_source); |
|
1051 | 1051 | } |
1052 | 1052 | |
1053 | 1053 | /** |
@@ -1056,21 +1056,21 @@ discard block |
||
1056 | 1056 | * @param WC_Order $order The order that is being paid for. |
1057 | 1057 | * @return array The level 3 data to send to Stripe. |
1058 | 1058 | */ |
1059 | - public function get_level3_data_from_order( $order ) { |
|
1059 | + public function get_level3_data_from_order($order) { |
|
1060 | 1060 | // Get the order items. Don't need their keys, only their values. |
1061 | 1061 | // Order item IDs are used as keys in the original order items array. |
1062 | - $order_items = array_values( $order->get_items() ); |
|
1062 | + $order_items = array_values($order->get_items()); |
|
1063 | 1063 | $currency = $order->get_currency(); |
1064 | 1064 | |
1065 | - $stripe_line_items = array_map(function( $item ) use ( $currency ) { |
|
1065 | + $stripe_line_items = array_map(function($item) use ($currency) { |
|
1066 | 1066 | $product_id = $item->get_variation_id() |
1067 | 1067 | ? $item->get_variation_id() |
1068 | 1068 | : $item->get_product_id(); |
1069 | - $product_description = substr( $item->get_name(), 0, 26 ); |
|
1069 | + $product_description = substr($item->get_name(), 0, 26); |
|
1070 | 1070 | $quantity = $item->get_quantity(); |
1071 | - $unit_cost = WC_Stripe_Helper::get_stripe_amount( ( $item->get_subtotal() / $quantity ), $currency ); |
|
1072 | - $tax_amount = WC_Stripe_Helper::get_stripe_amount( $item->get_total_tax(), $currency ); |
|
1073 | - $discount_amount = WC_Stripe_Helper::get_stripe_amount( $item->get_subtotal() - $item->get_total(), $currency ); |
|
1071 | + $unit_cost = WC_Stripe_Helper::get_stripe_amount(($item->get_subtotal() / $quantity), $currency); |
|
1072 | + $tax_amount = WC_Stripe_Helper::get_stripe_amount($item->get_total_tax(), $currency); |
|
1073 | + $discount_amount = WC_Stripe_Helper::get_stripe_amount($item->get_subtotal() - $item->get_total(), $currency); |
|
1074 | 1074 | |
1075 | 1075 | return (object) array( |
1076 | 1076 | 'product_code' => (string) $product_id, // Up to 12 characters that uniquely identify the product. |
@@ -1084,19 +1084,19 @@ discard block |
||
1084 | 1084 | |
1085 | 1085 | $level3_data = array( |
1086 | 1086 | 'merchant_reference' => $order->get_id(), // An alphanumeric string of up to characters in length. This unique value is assigned by the merchant to identify the order. Also known as an “Order ID”. |
1087 | - 'shipping_amount' => WC_Stripe_Helper::get_stripe_amount( (float) $order->get_shipping_total() + (float) $order->get_shipping_tax(), $currency), // The shipping cost, in cents, as a non-negative integer. |
|
1087 | + 'shipping_amount' => WC_Stripe_Helper::get_stripe_amount((float) $order->get_shipping_total() + (float) $order->get_shipping_tax(), $currency), // The shipping cost, in cents, as a non-negative integer. |
|
1088 | 1088 | 'line_items' => $stripe_line_items, |
1089 | 1089 | ); |
1090 | 1090 | |
1091 | 1091 | // The customer’s U.S. shipping ZIP code. |
1092 | 1092 | $shipping_address_zip = $order->get_shipping_postcode(); |
1093 | - if ( $this->is_valid_us_zip_code( $shipping_address_zip ) ) { |
|
1093 | + if ($this->is_valid_us_zip_code($shipping_address_zip)) { |
|
1094 | 1094 | $level3_data['shipping_address_zip'] = $shipping_address_zip; |
1095 | 1095 | } |
1096 | 1096 | |
1097 | 1097 | // The merchant’s U.S. shipping ZIP code. |
1098 | - $store_postcode = get_option( 'woocommerce_store_postcode' ); |
|
1099 | - if ( $this->is_valid_us_zip_code( $store_postcode ) ) { |
|
1098 | + $store_postcode = get_option('woocommerce_store_postcode'); |
|
1099 | + if ($this->is_valid_us_zip_code($store_postcode)) { |
|
1100 | 1100 | $level3_data['shipping_from_zip'] = $store_postcode; |
1101 | 1101 | } |
1102 | 1102 | |
@@ -1110,20 +1110,20 @@ discard block |
||
1110 | 1110 | * @param object $prepared_source The source that is used for the payment. |
1111 | 1111 | * @return object An intent or an error. |
1112 | 1112 | */ |
1113 | - public function create_intent( $order, $prepared_source ) { |
|
1114 | - $request = $this->generate_create_intent_request( $order, $prepared_source ); |
|
1113 | + public function create_intent($order, $prepared_source) { |
|
1114 | + $request = $this->generate_create_intent_request($order, $prepared_source); |
|
1115 | 1115 | |
1116 | 1116 | // Create an intent that awaits an action. |
1117 | - $intent = WC_Stripe_API::request( $request, 'payment_intents' ); |
|
1118 | - if ( ! empty( $intent->error ) ) { |
|
1117 | + $intent = WC_Stripe_API::request($request, 'payment_intents'); |
|
1118 | + if ( ! empty($intent->error)) { |
|
1119 | 1119 | return $intent; |
1120 | 1120 | } |
1121 | 1121 | |
1122 | 1122 | $order_id = $order->get_id(); |
1123 | - WC_Stripe_Logger::log( "Stripe PaymentIntent $intent->id initiated for order $order_id" ); |
|
1123 | + WC_Stripe_Logger::log("Stripe PaymentIntent $intent->id initiated for order $order_id"); |
|
1124 | 1124 | |
1125 | 1125 | // Save the intent ID to the order. |
1126 | - $this->save_intent_to_order( $order, $intent ); |
|
1126 | + $this->save_intent_to_order($order, $intent); |
|
1127 | 1127 | |
1128 | 1128 | return $intent; |
1129 | 1129 | } |
@@ -1136,27 +1136,27 @@ discard block |
||
1136 | 1136 | * @param object $prepared_source Currently selected source. |
1137 | 1137 | * @return object An updated intent. |
1138 | 1138 | */ |
1139 | - public function update_existing_intent( $intent, $order, $prepared_source ) { |
|
1139 | + public function update_existing_intent($intent, $order, $prepared_source) { |
|
1140 | 1140 | $request = array(); |
1141 | 1141 | |
1142 | - if ( $prepared_source->source !== $intent->source ) { |
|
1142 | + if ($prepared_source->source !== $intent->source) { |
|
1143 | 1143 | $request['source'] = $prepared_source->source; |
1144 | 1144 | } |
1145 | 1145 | |
1146 | - $new_amount = WC_Stripe_Helper::get_stripe_amount( $order->get_total() ); |
|
1147 | - if ( $intent->amount !== $new_amount ) { |
|
1146 | + $new_amount = WC_Stripe_Helper::get_stripe_amount($order->get_total()); |
|
1147 | + if ($intent->amount !== $new_amount) { |
|
1148 | 1148 | $request['amount'] = $new_amount; |
1149 | 1149 | } |
1150 | 1150 | |
1151 | - if ( $prepared_source->customer && $intent->customer !== $prepared_source->customer ) { |
|
1151 | + if ($prepared_source->customer && $intent->customer !== $prepared_source->customer) { |
|
1152 | 1152 | $request['customer'] = $prepared_source->customer; |
1153 | 1153 | } |
1154 | 1154 | |
1155 | - if ( empty( $request ) ) { |
|
1155 | + if (empty($request)) { |
|
1156 | 1156 | return $intent; |
1157 | 1157 | } |
1158 | 1158 | |
1159 | - $level3_data = $this->get_level3_data_from_order( $order ); |
|
1159 | + $level3_data = $this->get_level3_data_from_order($order); |
|
1160 | 1160 | return WC_Stripe_API::request_with_level3_data( |
1161 | 1161 | $request, |
1162 | 1162 | "payment_intents/$intent->id", |
@@ -1174,8 +1174,8 @@ discard block |
||
1174 | 1174 | * @param object $prepared_source The source that is being charged. |
1175 | 1175 | * @return object Either an error or the updated intent. |
1176 | 1176 | */ |
1177 | - public function confirm_intent( $intent, $order, $prepared_source ) { |
|
1178 | - if ( 'requires_confirmation' !== $intent->status ) { |
|
1177 | + public function confirm_intent($intent, $order, $prepared_source) { |
|
1178 | + if ('requires_confirmation' !== $intent->status) { |
|
1179 | 1179 | return $intent; |
1180 | 1180 | } |
1181 | 1181 | |
@@ -1184,7 +1184,7 @@ discard block |
||
1184 | 1184 | 'source' => $prepared_source->source, |
1185 | 1185 | ); |
1186 | 1186 | |
1187 | - $level3_data = $this->get_level3_data_from_order( $order ); |
|
1187 | + $level3_data = $this->get_level3_data_from_order($order); |
|
1188 | 1188 | $confirmed_intent = WC_Stripe_API::request_with_level3_data( |
1189 | 1189 | $confirm_request, |
1190 | 1190 | "payment_intents/$intent->id/confirm", |
@@ -1192,16 +1192,16 @@ discard block |
||
1192 | 1192 | $order |
1193 | 1193 | ); |
1194 | 1194 | |
1195 | - if ( ! empty( $confirmed_intent->error ) ) { |
|
1195 | + if ( ! empty($confirmed_intent->error)) { |
|
1196 | 1196 | return $confirmed_intent; |
1197 | 1197 | } |
1198 | 1198 | |
1199 | 1199 | // Save a note about the status of the intent. |
1200 | 1200 | $order_id = $order->get_id(); |
1201 | - if ( 'succeeded' === $confirmed_intent->status ) { |
|
1202 | - WC_Stripe_Logger::log( "Stripe PaymentIntent $intent->id succeeded for order $order_id" ); |
|
1203 | - } elseif ( 'requires_action' === $confirmed_intent->status ) { |
|
1204 | - WC_Stripe_Logger::log( "Stripe PaymentIntent $intent->id requires authentication for order $order_id" ); |
|
1201 | + if ('succeeded' === $confirmed_intent->status) { |
|
1202 | + WC_Stripe_Logger::log("Stripe PaymentIntent $intent->id succeeded for order $order_id"); |
|
1203 | + } elseif ('requires_action' === $confirmed_intent->status) { |
|
1204 | + WC_Stripe_Logger::log("Stripe PaymentIntent $intent->id requires authentication for order $order_id"); |
|
1205 | 1205 | } |
1206 | 1206 | |
1207 | 1207 | return $confirmed_intent; |
@@ -1214,10 +1214,10 @@ discard block |
||
1214 | 1214 | * @param WC_Order $order For to which the source applies. |
1215 | 1215 | * @param stdClass $intent Payment intent information. |
1216 | 1216 | */ |
1217 | - public function save_intent_to_order( $order, $intent ) { |
|
1218 | - $order->update_meta_data( '_stripe_intent_id', $intent->id ); |
|
1217 | + public function save_intent_to_order($order, $intent) { |
|
1218 | + $order->update_meta_data('_stripe_intent_id', $intent->id); |
|
1219 | 1219 | |
1220 | - if ( is_callable( array( $order, 'save' ) ) ) { |
|
1220 | + if (is_callable(array($order, 'save'))) { |
|
1221 | 1221 | $order->save(); |
1222 | 1222 | } |
1223 | 1223 | } |
@@ -1229,18 +1229,18 @@ discard block |
||
1229 | 1229 | * @param WC_Order $order The order to retrieve an intent for. |
1230 | 1230 | * @return obect|bool Either the intent object or `false`. |
1231 | 1231 | */ |
1232 | - public function get_intent_from_order( $order ) { |
|
1233 | - $intent_id = $order->get_meta( '_stripe_intent_id' ); |
|
1232 | + public function get_intent_from_order($order) { |
|
1233 | + $intent_id = $order->get_meta('_stripe_intent_id'); |
|
1234 | 1234 | |
1235 | - if ( $intent_id ) { |
|
1236 | - return $this->get_intent( 'payment_intents', $intent_id ); |
|
1235 | + if ($intent_id) { |
|
1236 | + return $this->get_intent('payment_intents', $intent_id); |
|
1237 | 1237 | } |
1238 | 1238 | |
1239 | 1239 | // The order doesn't have a payment intent, but it may have a setup intent. |
1240 | - $intent_id = $order->get_meta( '_stripe_setup_intent' ); |
|
1240 | + $intent_id = $order->get_meta('_stripe_setup_intent'); |
|
1241 | 1241 | |
1242 | - if ( $intent_id ) { |
|
1243 | - return $this->get_intent( 'setup_intents', $intent_id ); |
|
1242 | + if ($intent_id) { |
|
1243 | + return $this->get_intent('setup_intents', $intent_id); |
|
1244 | 1244 | } |
1245 | 1245 | |
1246 | 1246 | return false; |
@@ -1254,15 +1254,15 @@ discard block |
||
1254 | 1254 | * @return object|bool Either the intent object or `false`. |
1255 | 1255 | * @throws Exception Throws exception for unknown $intent_type. |
1256 | 1256 | */ |
1257 | - private function get_intent( $intent_type, $intent_id ) { |
|
1258 | - if ( ! in_array( $intent_type, [ 'payment_intents', 'setup_intents' ] ) ) { |
|
1259 | - throw new Exception( "Failed to get intent of type $intent_type. Type is not allowed" ); |
|
1257 | + private function get_intent($intent_type, $intent_id) { |
|
1258 | + if ( ! in_array($intent_type, ['payment_intents', 'setup_intents'])) { |
|
1259 | + throw new Exception("Failed to get intent of type $intent_type. Type is not allowed"); |
|
1260 | 1260 | } |
1261 | 1261 | |
1262 | - $response = WC_Stripe_API::request( array(), "$intent_type/$intent_id", 'GET' ); |
|
1262 | + $response = WC_Stripe_API::request(array(), "$intent_type/$intent_id", 'GET'); |
|
1263 | 1263 | |
1264 | - if ( $response && isset( $response->{ 'error' } ) ) { |
|
1265 | - $error_response_message = print_r( $response, true ); |
|
1264 | + if ($response && isset($response->{ 'error' } )) { |
|
1265 | + $error_response_message = print_r($response, true); |
|
1266 | 1266 | WC_Stripe_Logger::log("Failed to get Stripe intent $intent_type/$intent_id."); |
1267 | 1267 | WC_Stripe_Logger::log("Response: $error_response_message"); |
1268 | 1268 | return false; |
@@ -1279,18 +1279,18 @@ discard block |
||
1279 | 1279 | * @param stdClass $intent The intent that is being processed. |
1280 | 1280 | * @return bool A flag that indicates whether the order is already locked. |
1281 | 1281 | */ |
1282 | - public function lock_order_payment( $order, $intent = null ) { |
|
1282 | + public function lock_order_payment($order, $intent = null) { |
|
1283 | 1283 | $order_id = $order->get_id(); |
1284 | 1284 | $transient_name = 'wc_stripe_processing_intent_' . $order_id; |
1285 | - $processing = get_transient( $transient_name ); |
|
1285 | + $processing = get_transient($transient_name); |
|
1286 | 1286 | |
1287 | 1287 | // Block the process if the same intent is already being handled. |
1288 | - if ( "-1" === $processing || ( isset( $intent->id ) && $processing === $intent->id ) ) { |
|
1288 | + if ("-1" === $processing || (isset($intent->id) && $processing === $intent->id)) { |
|
1289 | 1289 | return true; |
1290 | 1290 | } |
1291 | 1291 | |
1292 | 1292 | // Save the new intent as a transient, eventually overwriting another one. |
1293 | - set_transient( $transient_name, empty( $intent ) ? '-1' : $intent->id, 5 * MINUTE_IN_SECONDS ); |
|
1293 | + set_transient($transient_name, empty($intent) ? '-1' : $intent->id, 5 * MINUTE_IN_SECONDS); |
|
1294 | 1294 | |
1295 | 1295 | return false; |
1296 | 1296 | } |
@@ -1301,9 +1301,9 @@ discard block |
||
1301 | 1301 | * @since 4.2 |
1302 | 1302 | * @param WC_Order $order The order that is being unlocked. |
1303 | 1303 | */ |
1304 | - public function unlock_order_payment( $order ) { |
|
1304 | + public function unlock_order_payment($order) { |
|
1305 | 1305 | $order_id = $order->get_id(); |
1306 | - delete_transient( 'wc_stripe_processing_intent_' . $order_id ); |
|
1306 | + delete_transient('wc_stripe_processing_intent_' . $order_id); |
|
1307 | 1307 | } |
1308 | 1308 | |
1309 | 1309 | /** |
@@ -1313,9 +1313,9 @@ discard block |
||
1313 | 1313 | * @param object $response The response from Stripe. |
1314 | 1314 | * @return boolean Whether or not it's a 'authentication_required' error |
1315 | 1315 | */ |
1316 | - public function is_authentication_required_for_payment( $response ) { |
|
1317 | - return ( ! empty( $response->error ) && 'authentication_required' === $response->error->code ) |
|
1318 | - || ( ! empty( $response->last_payment_error ) && 'authentication_required' === $response->last_payment_error->code ); |
|
1316 | + public function is_authentication_required_for_payment($response) { |
|
1317 | + return ( ! empty($response->error) && 'authentication_required' === $response->error->code) |
|
1318 | + || ( ! empty($response->last_payment_error) && 'authentication_required' === $response->last_payment_error->code); |
|
1319 | 1319 | } |
1320 | 1320 | |
1321 | 1321 | /** |
@@ -1325,18 +1325,18 @@ discard block |
||
1325 | 1325 | * @param object $prepared_source The source, entered/chosen by the customer. |
1326 | 1326 | * @return string The client secret of the intent, used for confirmation in JS. |
1327 | 1327 | */ |
1328 | - public function setup_intent( $order, $prepared_source ) { |
|
1328 | + public function setup_intent($order, $prepared_source) { |
|
1329 | 1329 | $order_id = $order->get_id(); |
1330 | - $setup_intent = WC_Stripe_API::request( array( |
|
1330 | + $setup_intent = WC_Stripe_API::request(array( |
|
1331 | 1331 | 'payment_method' => $prepared_source->source, |
1332 | 1332 | 'customer' => $prepared_source->customer, |
1333 | 1333 | 'confirm' => 'true', |
1334 | - ), 'setup_intents' ); |
|
1334 | + ), 'setup_intents'); |
|
1335 | 1335 | |
1336 | - if ( is_wp_error( $setup_intent ) ) { |
|
1337 | - WC_Stripe_Logger::log( "Unable to create SetupIntent for Order #$order_id: " . print_r( $setup_intent, true ) ); |
|
1338 | - } elseif ( 'requires_action' === $setup_intent->status ) { |
|
1339 | - $order->update_meta_data( '_stripe_setup_intent', $setup_intent->id ); |
|
1336 | + if (is_wp_error($setup_intent)) { |
|
1337 | + WC_Stripe_Logger::log("Unable to create SetupIntent for Order #$order_id: " . print_r($setup_intent, true)); |
|
1338 | + } elseif ('requires_action' === $setup_intent->status) { |
|
1339 | + $order->update_meta_data('_stripe_setup_intent', $setup_intent->id); |
|
1340 | 1340 | $order->save(); |
1341 | 1341 | |
1342 | 1342 | return $setup_intent->client_secret; |
@@ -1351,12 +1351,12 @@ discard block |
||
1351 | 1351 | * @param float $amount The amount to charge. If not specified, it will be read from the order. |
1352 | 1352 | * @return object An intent or an error. |
1353 | 1353 | */ |
1354 | - public function create_and_confirm_intent_for_off_session( $order, $prepared_source, $amount = NULL ) { |
|
1354 | + public function create_and_confirm_intent_for_off_session($order, $prepared_source, $amount = NULL) { |
|
1355 | 1355 | // The request for a charge contains metadata for the intent. |
1356 | - $full_request = $this->generate_payment_request( $order, $prepared_source ); |
|
1356 | + $full_request = $this->generate_payment_request($order, $prepared_source); |
|
1357 | 1357 | |
1358 | 1358 | $request = array( |
1359 | - 'amount' => $amount ? WC_Stripe_Helper::get_stripe_amount( $amount, $full_request['currency'] ) : $full_request['amount'], |
|
1359 | + 'amount' => $amount ? WC_Stripe_Helper::get_stripe_amount($amount, $full_request['currency']) : $full_request['amount'], |
|
1360 | 1360 | 'currency' => $full_request['currency'], |
1361 | 1361 | 'description' => $full_request['description'], |
1362 | 1362 | 'metadata' => $full_request['metadata'], |
@@ -1368,44 +1368,44 @@ discard block |
||
1368 | 1368 | 'confirmation_method' => 'automatic', |
1369 | 1369 | ); |
1370 | 1370 | |
1371 | - if ( isset( $full_request['statement_descriptor'] ) ) { |
|
1371 | + if (isset($full_request['statement_descriptor'])) { |
|
1372 | 1372 | $request['statement_descriptor'] = $full_request['statement_descriptor']; |
1373 | 1373 | } |
1374 | 1374 | |
1375 | - if ( isset( $full_request['customer'] ) ) { |
|
1375 | + if (isset($full_request['customer'])) { |
|
1376 | 1376 | $request['customer'] = $full_request['customer']; |
1377 | 1377 | } |
1378 | 1378 | |
1379 | - if ( isset( $full_request['source'] ) ) { |
|
1379 | + if (isset($full_request['source'])) { |
|
1380 | 1380 | $request['source'] = $full_request['source']; |
1381 | 1381 | } |
1382 | 1382 | |
1383 | - $level3_data = $this->get_level3_data_from_order( $order ); |
|
1383 | + $level3_data = $this->get_level3_data_from_order($order); |
|
1384 | 1384 | $intent = WC_Stripe_API::request_with_level3_data( |
1385 | 1385 | $request, |
1386 | 1386 | 'payment_intents', |
1387 | 1387 | $level3_data, |
1388 | 1388 | $order |
1389 | 1389 | ); |
1390 | - $is_authentication_required = $this->is_authentication_required_for_payment( $intent ); |
|
1390 | + $is_authentication_required = $this->is_authentication_required_for_payment($intent); |
|
1391 | 1391 | |
1392 | - if ( ! empty( $intent->error ) && ! $is_authentication_required ) { |
|
1392 | + if ( ! empty($intent->error) && ! $is_authentication_required) { |
|
1393 | 1393 | return $intent; |
1394 | 1394 | } |
1395 | 1395 | |
1396 | - $intent_id = ( ! empty( $intent->error ) |
|
1396 | + $intent_id = ( ! empty($intent->error) |
|
1397 | 1397 | ? $intent->error->payment_intent->id |
1398 | 1398 | : $intent->id |
1399 | 1399 | ); |
1400 | - $payment_intent = ( ! empty( $intent->error ) |
|
1400 | + $payment_intent = ( ! empty($intent->error) |
|
1401 | 1401 | ? $intent->error->payment_intent |
1402 | 1402 | : $intent |
1403 | 1403 | ); |
1404 | - $order_id = $order->get_id(); |
|
1405 | - WC_Stripe_Logger::log( "Stripe PaymentIntent $intent_id initiated for order $order_id" ); |
|
1404 | + $order_id = $order->get_id(); |
|
1405 | + WC_Stripe_Logger::log("Stripe PaymentIntent $intent_id initiated for order $order_id"); |
|
1406 | 1406 | |
1407 | 1407 | // Save the intent ID to the order. |
1408 | - $this->save_intent_to_order( $order, $payment_intent ); |
|
1408 | + $this->save_intent_to_order($order, $payment_intent); |
|
1409 | 1409 | |
1410 | 1410 | return $intent; |
1411 | 1411 | } |
@@ -1416,13 +1416,13 @@ discard block |
||
1416 | 1416 | * Fix renewal for existing subscriptions affected by https://github.com/woocommerce/woocommerce-gateway-stripe/issues/1072. |
1417 | 1417 | * @param int $order_id subscription renewal order id. |
1418 | 1418 | */ |
1419 | - public function ensure_subscription_has_customer_id( $order_id ) { |
|
1420 | - $subscriptions_ids = wcs_get_subscriptions_for_order( $order_id, array( 'order_type' => 'any' ) ); |
|
1421 | - foreach( $subscriptions_ids as $subscription_id => $subscription ) { |
|
1422 | - if ( ! metadata_exists( 'post', $subscription_id, '_stripe_customer_id' ) ) { |
|
1423 | - $stripe_customer = new WC_Stripe_Customer( $subscription->get_user_id() ); |
|
1424 | - update_post_meta( $subscription_id, '_stripe_customer_id', $stripe_customer->get_id() ); |
|
1425 | - update_post_meta( $order_id, '_stripe_customer_id', $stripe_customer->get_id() ); |
|
1419 | + public function ensure_subscription_has_customer_id($order_id) { |
|
1420 | + $subscriptions_ids = wcs_get_subscriptions_for_order($order_id, array('order_type' => 'any')); |
|
1421 | + foreach ($subscriptions_ids as $subscription_id => $subscription) { |
|
1422 | + if ( ! metadata_exists('post', $subscription_id, '_stripe_customer_id')) { |
|
1423 | + $stripe_customer = new WC_Stripe_Customer($subscription->get_user_id()); |
|
1424 | + update_post_meta($subscription_id, '_stripe_customer_id', $stripe_customer->get_id()); |
|
1425 | + update_post_meta($order_id, '_stripe_customer_id', $stripe_customer->get_id()); |
|
1426 | 1426 | } |
1427 | 1427 | } |
1428 | 1428 | } |
@@ -1432,7 +1432,7 @@ discard block |
||
1432 | 1432 | * @param string $zip The ZIP code to verify. |
1433 | 1433 | * @return boolean |
1434 | 1434 | */ |
1435 | - public function is_valid_us_zip_code( $zip ) { |
|
1436 | - return ! empty( $zip ) && preg_match( '/^\d{5,5}(-\d{4,4})?$/', $zip ); |
|
1435 | + public function is_valid_us_zip_code($zip) { |
|
1436 | + return ! empty($zip) && preg_match('/^\d{5,5}(-\d{4,4})?$/', $zip); |
|
1437 | 1437 | } |
1438 | 1438 | } |
@@ -1,5 +1,5 @@ discard block |
||
1 | 1 | <?php |
2 | -if ( ! defined( 'ABSPATH' ) ) { |
|
2 | +if ( ! defined('ABSPATH')) { |
|
3 | 3 | exit; |
4 | 4 | } |
5 | 5 | |
@@ -7,182 +7,182 @@ discard block |
||
7 | 7 | 'wc_stripe_settings', |
8 | 8 | array( |
9 | 9 | 'enabled' => array( |
10 | - 'title' => __( 'Enable/Disable', 'woocommerce-gateway-stripe' ), |
|
11 | - 'label' => __( 'Enable Stripe', 'woocommerce-gateway-stripe' ), |
|
10 | + 'title' => __('Enable/Disable', 'woocommerce-gateway-stripe'), |
|
11 | + 'label' => __('Enable Stripe', 'woocommerce-gateway-stripe'), |
|
12 | 12 | 'type' => 'checkbox', |
13 | 13 | 'description' => '', |
14 | 14 | 'default' => 'no', |
15 | 15 | ), |
16 | 16 | 'title' => array( |
17 | - 'title' => __( 'Title', 'woocommerce-gateway-stripe' ), |
|
17 | + 'title' => __('Title', 'woocommerce-gateway-stripe'), |
|
18 | 18 | 'type' => 'text', |
19 | - 'description' => __( 'This controls the title which the user sees during checkout.', 'woocommerce-gateway-stripe' ), |
|
20 | - 'default' => __( 'Credit Card (Stripe)', 'woocommerce-gateway-stripe' ), |
|
19 | + 'description' => __('This controls the title which the user sees during checkout.', 'woocommerce-gateway-stripe'), |
|
20 | + 'default' => __('Credit Card (Stripe)', 'woocommerce-gateway-stripe'), |
|
21 | 21 | 'desc_tip' => true, |
22 | 22 | ), |
23 | 23 | 'description' => array( |
24 | - 'title' => __( 'Description', 'woocommerce-gateway-stripe' ), |
|
24 | + 'title' => __('Description', 'woocommerce-gateway-stripe'), |
|
25 | 25 | 'type' => 'text', |
26 | - 'description' => __( 'This controls the description which the user sees during checkout.', 'woocommerce-gateway-stripe' ), |
|
27 | - 'default' => __( 'Pay with your credit card via Stripe.', 'woocommerce-gateway-stripe' ), |
|
26 | + 'description' => __('This controls the description which the user sees during checkout.', 'woocommerce-gateway-stripe'), |
|
27 | + 'default' => __('Pay with your credit card via Stripe.', 'woocommerce-gateway-stripe'), |
|
28 | 28 | 'desc_tip' => true, |
29 | 29 | ), |
30 | 30 | 'webhook' => array( |
31 | - 'title' => __( 'Webhook Endpoints', 'woocommerce-gateway-stripe' ), |
|
31 | + 'title' => __('Webhook Endpoints', 'woocommerce-gateway-stripe'), |
|
32 | 32 | 'type' => 'title', |
33 | 33 | /* translators: webhook URL */ |
34 | 34 | 'description' => $this->display_admin_settings_webhook_description(), |
35 | 35 | ), |
36 | 36 | 'testmode' => array( |
37 | - 'title' => __( 'Test mode', 'woocommerce-gateway-stripe' ), |
|
38 | - 'label' => __( 'Enable Test Mode', 'woocommerce-gateway-stripe' ), |
|
37 | + 'title' => __('Test mode', 'woocommerce-gateway-stripe'), |
|
38 | + 'label' => __('Enable Test Mode', 'woocommerce-gateway-stripe'), |
|
39 | 39 | 'type' => 'checkbox', |
40 | - 'description' => __( 'Place the payment gateway in test mode using test API keys.', 'woocommerce-gateway-stripe' ), |
|
40 | + 'description' => __('Place the payment gateway in test mode using test API keys.', 'woocommerce-gateway-stripe'), |
|
41 | 41 | 'default' => 'yes', |
42 | 42 | 'desc_tip' => true, |
43 | 43 | ), |
44 | 44 | 'test_publishable_key' => array( |
45 | - 'title' => __( 'Test Publishable Key', 'woocommerce-gateway-stripe' ), |
|
45 | + 'title' => __('Test Publishable Key', 'woocommerce-gateway-stripe'), |
|
46 | 46 | 'type' => 'text', |
47 | - 'description' => __( 'Get your API keys from your stripe account. Invalid values will be rejected. Only values starting with "pk_test_" will be saved.', 'woocommerce-gateway-stripe' ), |
|
47 | + 'description' => __('Get your API keys from your stripe account. Invalid values will be rejected. Only values starting with "pk_test_" will be saved.', 'woocommerce-gateway-stripe'), |
|
48 | 48 | 'default' => '', |
49 | 49 | 'desc_tip' => true, |
50 | 50 | ), |
51 | 51 | 'test_secret_key' => array( |
52 | - 'title' => __( 'Test Secret Key', 'woocommerce-gateway-stripe' ), |
|
52 | + 'title' => __('Test Secret Key', 'woocommerce-gateway-stripe'), |
|
53 | 53 | 'type' => 'password', |
54 | - 'description' => __( 'Get your API keys from your stripe account. Invalid values will be rejected. Only values starting with "sk_test_" or "rk_test_" will be saved.', 'woocommerce-gateway-stripe' ), |
|
54 | + 'description' => __('Get your API keys from your stripe account. Invalid values will be rejected. Only values starting with "sk_test_" or "rk_test_" will be saved.', 'woocommerce-gateway-stripe'), |
|
55 | 55 | 'default' => '', |
56 | 56 | 'desc_tip' => true, |
57 | 57 | ), |
58 | 58 | 'test_webhook_secret' => array( |
59 | - 'title' => __( 'Test Webhook Secret', 'woocommerce-gateway-stripe' ), |
|
59 | + 'title' => __('Test Webhook Secret', 'woocommerce-gateway-stripe'), |
|
60 | 60 | 'type' => 'password', |
61 | - 'description' => __( 'Get your webhook signing secret from the webhooks section in your stripe account.', 'woocommerce-gateway-stripe' ), |
|
61 | + 'description' => __('Get your webhook signing secret from the webhooks section in your stripe account.', 'woocommerce-gateway-stripe'), |
|
62 | 62 | 'default' => '', |
63 | 63 | 'desc_tip' => true, |
64 | 64 | ), |
65 | 65 | 'publishable_key' => array( |
66 | - 'title' => __( 'Live Publishable Key', 'woocommerce-gateway-stripe' ), |
|
66 | + 'title' => __('Live Publishable Key', 'woocommerce-gateway-stripe'), |
|
67 | 67 | 'type' => 'text', |
68 | - 'description' => __( 'Get your API keys from your stripe account. Invalid values will be rejected. Only values starting with "pk_live_" will be saved.', 'woocommerce-gateway-stripe' ), |
|
68 | + 'description' => __('Get your API keys from your stripe account. Invalid values will be rejected. Only values starting with "pk_live_" will be saved.', 'woocommerce-gateway-stripe'), |
|
69 | 69 | 'default' => '', |
70 | 70 | 'desc_tip' => true, |
71 | 71 | ), |
72 | 72 | 'secret_key' => array( |
73 | - 'title' => __( 'Live Secret Key', 'woocommerce-gateway-stripe' ), |
|
73 | + 'title' => __('Live Secret Key', 'woocommerce-gateway-stripe'), |
|
74 | 74 | 'type' => 'password', |
75 | - 'description' => __( 'Get your API keys from your stripe account. Invalid values will be rejected. Only values starting with "sk_live_" or "rk_live_" will be saved.', 'woocommerce-gateway-stripe' ), |
|
75 | + 'description' => __('Get your API keys from your stripe account. Invalid values will be rejected. Only values starting with "sk_live_" or "rk_live_" will be saved.', 'woocommerce-gateway-stripe'), |
|
76 | 76 | 'default' => '', |
77 | 77 | 'desc_tip' => true, |
78 | 78 | ), |
79 | 79 | 'webhook_secret' => array( |
80 | - 'title' => __( 'Webhook Secret', 'woocommerce-gateway-stripe' ), |
|
80 | + 'title' => __('Webhook Secret', 'woocommerce-gateway-stripe'), |
|
81 | 81 | 'type' => 'password', |
82 | - 'description' => __( 'Get your webhook signing secret from the webhooks section in your stripe account.', 'woocommerce-gateway-stripe' ), |
|
82 | + 'description' => __('Get your webhook signing secret from the webhooks section in your stripe account.', 'woocommerce-gateway-stripe'), |
|
83 | 83 | 'default' => '', |
84 | 84 | 'desc_tip' => true, |
85 | 85 | ), |
86 | 86 | 'inline_cc_form' => array( |
87 | - 'title' => __( 'Inline Credit Card Form', 'woocommerce-gateway-stripe' ), |
|
87 | + 'title' => __('Inline Credit Card Form', 'woocommerce-gateway-stripe'), |
|
88 | 88 | 'type' => 'checkbox', |
89 | - 'description' => __( 'Choose the style you want to show for your credit card form. When unchecked, the credit card form will display separate credit card number field, expiry date field and cvc field.', 'woocommerce-gateway-stripe' ), |
|
89 | + 'description' => __('Choose the style you want to show for your credit card form. When unchecked, the credit card form will display separate credit card number field, expiry date field and cvc field.', 'woocommerce-gateway-stripe'), |
|
90 | 90 | 'default' => 'no', |
91 | 91 | 'desc_tip' => true, |
92 | 92 | ), |
93 | 93 | 'statement_descriptor' => array( |
94 | - 'title' => __( 'Statement Descriptor', 'woocommerce-gateway-stripe' ), |
|
94 | + 'title' => __('Statement Descriptor', 'woocommerce-gateway-stripe'), |
|
95 | 95 | 'type' => 'text', |
96 | - 'description' => __( 'Statement descriptors are limited to 22 characters, cannot use the special characters >, <, ", \, \', *, and must not consist solely of numbers. This will appear on your customer\'s statement in capital letters.', 'woocommerce-gateway-stripe' ), |
|
96 | + 'description' => __('Statement descriptors are limited to 22 characters, cannot use the special characters >, <, ", \, \', *, and must not consist solely of numbers. This will appear on your customer\'s statement in capital letters.', 'woocommerce-gateway-stripe'), |
|
97 | 97 | 'default' => '', |
98 | 98 | 'desc_tip' => true, |
99 | 99 | ), |
100 | 100 | 'capture' => array( |
101 | - 'title' => __( 'Capture', 'woocommerce-gateway-stripe' ), |
|
102 | - 'label' => __( 'Capture charge immediately', 'woocommerce-gateway-stripe' ), |
|
101 | + 'title' => __('Capture', 'woocommerce-gateway-stripe'), |
|
102 | + 'label' => __('Capture charge immediately', 'woocommerce-gateway-stripe'), |
|
103 | 103 | 'type' => 'checkbox', |
104 | - 'description' => __( 'Whether or not to immediately capture the charge. When unchecked, the charge issues an authorization and will need to be captured later. Uncaptured charges expire in 7 days.', 'woocommerce-gateway-stripe' ), |
|
104 | + 'description' => __('Whether or not to immediately capture the charge. When unchecked, the charge issues an authorization and will need to be captured later. Uncaptured charges expire in 7 days.', 'woocommerce-gateway-stripe'), |
|
105 | 105 | 'default' => 'yes', |
106 | 106 | 'desc_tip' => true, |
107 | 107 | ), |
108 | 108 | 'payment_request' => array( |
109 | - 'title' => __( 'Payment Request Buttons', 'woocommerce-gateway-stripe' ), |
|
109 | + 'title' => __('Payment Request Buttons', 'woocommerce-gateway-stripe'), |
|
110 | 110 | /* translators: 1) br tag 2) opening anchor tag 3) closing anchor tag */ |
111 | - 'label' => sprintf( __( 'Enable Payment Request Buttons. (Apple Pay/Chrome Payment Request API) %1$sBy using Apple Pay, you agree to %2$s and %3$s\'s terms of service.', 'woocommerce-gateway-stripe' ), '<br />', '<a href="https://stripe.com/apple-pay/legal" target="_blank">Stripe</a>', '<a href="https://developer.apple.com/apple-pay/acceptable-use-guidelines-for-websites/" target="_blank">Apple</a>' ), |
|
111 | + 'label' => sprintf(__('Enable Payment Request Buttons. (Apple Pay/Chrome Payment Request API) %1$sBy using Apple Pay, you agree to %2$s and %3$s\'s terms of service.', 'woocommerce-gateway-stripe'), '<br />', '<a href="https://stripe.com/apple-pay/legal" target="_blank">Stripe</a>', '<a href="https://developer.apple.com/apple-pay/acceptable-use-guidelines-for-websites/" target="_blank">Apple</a>'), |
|
112 | 112 | 'type' => 'checkbox', |
113 | - 'description' => __( 'If enabled, users will be able to pay using Apple Pay or Chrome Payment Request if supported by the browser.', 'woocommerce-gateway-stripe' ), |
|
113 | + 'description' => __('If enabled, users will be able to pay using Apple Pay or Chrome Payment Request if supported by the browser.', 'woocommerce-gateway-stripe'), |
|
114 | 114 | 'default' => 'yes', |
115 | 115 | 'desc_tip' => true, |
116 | 116 | ), |
117 | 117 | 'payment_request_button_type' => array( |
118 | - 'title' => __( 'Payment Request Button Type', 'woocommerce-gateway-stripe' ), |
|
119 | - 'label' => __( 'Button Type', 'woocommerce-gateway-stripe' ), |
|
118 | + 'title' => __('Payment Request Button Type', 'woocommerce-gateway-stripe'), |
|
119 | + 'label' => __('Button Type', 'woocommerce-gateway-stripe'), |
|
120 | 120 | 'type' => 'select', |
121 | - 'description' => __( 'Select the button type you would like to show.', 'woocommerce-gateway-stripe' ), |
|
121 | + 'description' => __('Select the button type you would like to show.', 'woocommerce-gateway-stripe'), |
|
122 | 122 | 'default' => 'buy', |
123 | 123 | 'desc_tip' => true, |
124 | 124 | 'options' => array( |
125 | - 'default' => __( 'Default', 'woocommerce-gateway-stripe' ), |
|
126 | - 'buy' => __( 'Buy', 'woocommerce-gateway-stripe' ), |
|
127 | - 'donate' => __( 'Donate', 'woocommerce-gateway-stripe' ), |
|
128 | - 'branded' => __( 'Branded', 'woocommerce-gateway-stripe' ), |
|
129 | - 'custom' => __( 'Custom', 'woocommerce-gateway-stripe' ), |
|
125 | + 'default' => __('Default', 'woocommerce-gateway-stripe'), |
|
126 | + 'buy' => __('Buy', 'woocommerce-gateway-stripe'), |
|
127 | + 'donate' => __('Donate', 'woocommerce-gateway-stripe'), |
|
128 | + 'branded' => __('Branded', 'woocommerce-gateway-stripe'), |
|
129 | + 'custom' => __('Custom', 'woocommerce-gateway-stripe'), |
|
130 | 130 | ), |
131 | 131 | ), |
132 | 132 | 'payment_request_button_theme' => array( |
133 | - 'title' => __( 'Payment Request Button Theme', 'woocommerce-gateway-stripe' ), |
|
134 | - 'label' => __( 'Button Theme', 'woocommerce-gateway-stripe' ), |
|
133 | + 'title' => __('Payment Request Button Theme', 'woocommerce-gateway-stripe'), |
|
134 | + 'label' => __('Button Theme', 'woocommerce-gateway-stripe'), |
|
135 | 135 | 'type' => 'select', |
136 | - 'description' => __( 'Select the button theme you would like to show.', 'woocommerce-gateway-stripe' ), |
|
136 | + 'description' => __('Select the button theme you would like to show.', 'woocommerce-gateway-stripe'), |
|
137 | 137 | 'default' => 'dark', |
138 | 138 | 'desc_tip' => true, |
139 | 139 | 'options' => array( |
140 | - 'dark' => __( 'Dark', 'woocommerce-gateway-stripe' ), |
|
141 | - 'light' => __( 'Light', 'woocommerce-gateway-stripe' ), |
|
142 | - 'light-outline' => __( 'Light-Outline', 'woocommerce-gateway-stripe' ), |
|
140 | + 'dark' => __('Dark', 'woocommerce-gateway-stripe'), |
|
141 | + 'light' => __('Light', 'woocommerce-gateway-stripe'), |
|
142 | + 'light-outline' => __('Light-Outline', 'woocommerce-gateway-stripe'), |
|
143 | 143 | ), |
144 | 144 | ), |
145 | 145 | 'payment_request_button_height' => array( |
146 | - 'title' => __( 'Payment Request Button Height', 'woocommerce-gateway-stripe' ), |
|
147 | - 'label' => __( 'Button Height', 'woocommerce-gateway-stripe' ), |
|
146 | + 'title' => __('Payment Request Button Height', 'woocommerce-gateway-stripe'), |
|
147 | + 'label' => __('Button Height', 'woocommerce-gateway-stripe'), |
|
148 | 148 | 'type' => 'text', |
149 | - 'description' => __( 'Enter the height you would like the button to be in pixels. Width will always be 100%.', 'woocommerce-gateway-stripe' ), |
|
149 | + 'description' => __('Enter the height you would like the button to be in pixels. Width will always be 100%.', 'woocommerce-gateway-stripe'), |
|
150 | 150 | 'default' => '44', |
151 | 151 | 'desc_tip' => true, |
152 | 152 | ), |
153 | 153 | 'payment_request_button_label' => array( |
154 | - 'title' => __( 'Payment Request Button Label', 'woocommerce-gateway-stripe' ), |
|
155 | - 'label' => __( 'Button Label', 'woocommerce-gateway-stripe' ), |
|
154 | + 'title' => __('Payment Request Button Label', 'woocommerce-gateway-stripe'), |
|
155 | + 'label' => __('Button Label', 'woocommerce-gateway-stripe'), |
|
156 | 156 | 'type' => 'text', |
157 | - 'description' => __( 'Enter the custom text you would like the button to have.', 'woocommerce-gateway-stripe' ), |
|
158 | - 'default' => __( 'Buy now', 'woocommerce-gateway-stripe' ), |
|
157 | + 'description' => __('Enter the custom text you would like the button to have.', 'woocommerce-gateway-stripe'), |
|
158 | + 'default' => __('Buy now', 'woocommerce-gateway-stripe'), |
|
159 | 159 | 'desc_tip' => true, |
160 | 160 | ), |
161 | 161 | 'payment_request_button_branded_type' => array( |
162 | - 'title' => __( 'Payment Request Branded Button Label Format', 'woocommerce-gateway-stripe' ), |
|
163 | - 'label' => __( 'Branded Button Label Format', 'woocommerce-gateway-stripe' ), |
|
162 | + 'title' => __('Payment Request Branded Button Label Format', 'woocommerce-gateway-stripe'), |
|
163 | + 'label' => __('Branded Button Label Format', 'woocommerce-gateway-stripe'), |
|
164 | 164 | 'type' => 'select', |
165 | - 'description' => __( 'Select the branded button label format.', 'woocommerce-gateway-stripe' ), |
|
165 | + 'description' => __('Select the branded button label format.', 'woocommerce-gateway-stripe'), |
|
166 | 166 | 'default' => 'long', |
167 | 167 | 'desc_tip' => true, |
168 | 168 | 'options' => array( |
169 | - 'short' => __( 'Logo only', 'woocommerce-gateway-stripe' ), |
|
170 | - 'long' => __( 'Text and logo', 'woocommerce-gateway-stripe' ), |
|
169 | + 'short' => __('Logo only', 'woocommerce-gateway-stripe'), |
|
170 | + 'long' => __('Text and logo', 'woocommerce-gateway-stripe'), |
|
171 | 171 | ), |
172 | 172 | ), |
173 | 173 | 'saved_cards' => array( |
174 | - 'title' => __( 'Saved Cards', 'woocommerce-gateway-stripe' ), |
|
175 | - 'label' => __( 'Enable Payment via Saved Cards', 'woocommerce-gateway-stripe' ), |
|
174 | + 'title' => __('Saved Cards', 'woocommerce-gateway-stripe'), |
|
175 | + 'label' => __('Enable Payment via Saved Cards', 'woocommerce-gateway-stripe'), |
|
176 | 176 | 'type' => 'checkbox', |
177 | - 'description' => __( 'If enabled, users will be able to pay with a saved card during checkout. Card details are saved on Stripe servers, not on your store.', 'woocommerce-gateway-stripe' ), |
|
177 | + 'description' => __('If enabled, users will be able to pay with a saved card during checkout. Card details are saved on Stripe servers, not on your store.', 'woocommerce-gateway-stripe'), |
|
178 | 178 | 'default' => 'yes', |
179 | 179 | 'desc_tip' => true, |
180 | 180 | ), |
181 | 181 | 'logging' => array( |
182 | - 'title' => __( 'Logging', 'woocommerce-gateway-stripe' ), |
|
183 | - 'label' => __( 'Log debug messages', 'woocommerce-gateway-stripe' ), |
|
182 | + 'title' => __('Logging', 'woocommerce-gateway-stripe'), |
|
183 | + 'label' => __('Log debug messages', 'woocommerce-gateway-stripe'), |
|
184 | 184 | 'type' => 'checkbox', |
185 | - 'description' => __( 'Save debug messages to the WooCommerce System Status log.', 'woocommerce-gateway-stripe' ), |
|
185 | + 'description' => __('Save debug messages to the WooCommerce System Status log.', 'woocommerce-gateway-stripe'), |
|
186 | 186 | 'default' => 'no', |
187 | 187 | 'desc_tip' => true, |
188 | 188 | ), |
@@ -8,7 +8,7 @@ discard block |
||
8 | 8 | * @since 4.0.0 |
9 | 9 | */ |
10 | 10 | |
11 | -if ( ! defined( 'ABSPATH' ) ) { |
|
11 | +if ( ! defined('ABSPATH')) { |
|
12 | 12 | exit; |
13 | 13 | } |
14 | 14 | |
@@ -66,35 +66,35 @@ discard block |
||
66 | 66 | */ |
67 | 67 | public function __construct() { |
68 | 68 | self::$_this = $this; |
69 | - $this->stripe_settings = get_option( 'woocommerce_stripe_settings', array() ); |
|
70 | - $this->testmode = ( ! empty( $this->stripe_settings['testmode'] ) && 'yes' === $this->stripe_settings['testmode'] ) ? true : false; |
|
71 | - $this->publishable_key = ! empty( $this->stripe_settings['publishable_key'] ) ? $this->stripe_settings['publishable_key'] : ''; |
|
72 | - $this->secret_key = ! empty( $this->stripe_settings['secret_key'] ) ? $this->stripe_settings['secret_key'] : ''; |
|
73 | - $this->total_label = ! empty( $this->stripe_settings['statement_descriptor'] ) ? WC_Stripe_Helper::clean_statement_descriptor( $this->stripe_settings['statement_descriptor'] ) : ''; |
|
69 | + $this->stripe_settings = get_option('woocommerce_stripe_settings', array()); |
|
70 | + $this->testmode = ( ! empty($this->stripe_settings['testmode']) && 'yes' === $this->stripe_settings['testmode']) ? true : false; |
|
71 | + $this->publishable_key = ! empty($this->stripe_settings['publishable_key']) ? $this->stripe_settings['publishable_key'] : ''; |
|
72 | + $this->secret_key = ! empty($this->stripe_settings['secret_key']) ? $this->stripe_settings['secret_key'] : ''; |
|
73 | + $this->total_label = ! empty($this->stripe_settings['statement_descriptor']) ? WC_Stripe_Helper::clean_statement_descriptor($this->stripe_settings['statement_descriptor']) : ''; |
|
74 | 74 | |
75 | - if ( $this->testmode ) { |
|
76 | - $this->publishable_key = ! empty( $this->stripe_settings['test_publishable_key'] ) ? $this->stripe_settings['test_publishable_key'] : ''; |
|
77 | - $this->secret_key = ! empty( $this->stripe_settings['test_secret_key'] ) ? $this->stripe_settings['test_secret_key'] : ''; |
|
75 | + if ($this->testmode) { |
|
76 | + $this->publishable_key = ! empty($this->stripe_settings['test_publishable_key']) ? $this->stripe_settings['test_publishable_key'] : ''; |
|
77 | + $this->secret_key = ! empty($this->stripe_settings['test_secret_key']) ? $this->stripe_settings['test_secret_key'] : ''; |
|
78 | 78 | } |
79 | 79 | |
80 | - $this->total_label = str_replace( "'", '', $this->total_label ) . apply_filters( 'wc_stripe_payment_request_total_label_suffix', ' (via WooCommerce)' ); |
|
80 | + $this->total_label = str_replace("'", '', $this->total_label) . apply_filters('wc_stripe_payment_request_total_label_suffix', ' (via WooCommerce)'); |
|
81 | 81 | |
82 | 82 | // Checks if Stripe Gateway is enabled. |
83 | - if ( empty( $this->stripe_settings ) || ( isset( $this->stripe_settings['enabled'] ) && 'yes' !== $this->stripe_settings['enabled'] ) ) { |
|
83 | + if (empty($this->stripe_settings) || (isset($this->stripe_settings['enabled']) && 'yes' !== $this->stripe_settings['enabled'])) { |
|
84 | 84 | return; |
85 | 85 | } |
86 | 86 | |
87 | 87 | // Checks if Payment Request is enabled. |
88 | - if ( ! isset( $this->stripe_settings['payment_request'] ) || 'yes' !== $this->stripe_settings['payment_request'] ) { |
|
88 | + if ( ! isset($this->stripe_settings['payment_request']) || 'yes' !== $this->stripe_settings['payment_request']) { |
|
89 | 89 | return; |
90 | 90 | } |
91 | 91 | |
92 | 92 | // Don't load for change payment method page. |
93 | - if ( isset( $_GET['change_payment_method'] ) ) { |
|
93 | + if (isset($_GET['change_payment_method'])) { |
|
94 | 94 | return; |
95 | 95 | } |
96 | 96 | |
97 | - add_action( 'template_redirect', array( $this, 'set_session' ) ); |
|
97 | + add_action('template_redirect', array($this, 'set_session')); |
|
98 | 98 | $this->init(); |
99 | 99 | } |
100 | 100 | |
@@ -107,12 +107,12 @@ discard block |
||
107 | 107 | public function are_keys_set() { |
108 | 108 | // NOTE: updates to this function should be added to are_keys_set() |
109 | 109 | // in includes/abstracts/abstract-wc-stripe-payment-gateway.php |
110 | - if ( $this->testmode ) { |
|
111 | - return preg_match( '/^pk_test_/', $this->publishable_key ) |
|
112 | - && preg_match( '/^[rs]k_test_/', $this->secret_key ); |
|
110 | + if ($this->testmode) { |
|
111 | + return preg_match('/^pk_test_/', $this->publishable_key) |
|
112 | + && preg_match('/^[rs]k_test_/', $this->secret_key); |
|
113 | 113 | } else { |
114 | - return preg_match( '/^pk_live_/', $this->publishable_key ) |
|
115 | - && preg_match( '/^[rs]k_live_/', $this->secret_key ); |
|
114 | + return preg_match('/^pk_live_/', $this->publishable_key) |
|
115 | + && preg_match('/^[rs]k_live_/', $this->secret_key); |
|
116 | 116 | } |
117 | 117 | } |
118 | 118 | |
@@ -133,11 +133,11 @@ discard block |
||
133 | 133 | * @since 4.0.0 |
134 | 134 | */ |
135 | 135 | public function set_session() { |
136 | - if ( ! is_product() || ( isset( WC()->session ) && WC()->session->has_session() ) ) { |
|
136 | + if ( ! is_product() || (isset(WC()->session) && WC()->session->has_session())) { |
|
137 | 137 | return; |
138 | 138 | } |
139 | 139 | |
140 | - WC()->session->set_customer_session_cookie( true ); |
|
140 | + WC()->session->set_customer_session_cookie(true); |
|
141 | 141 | } |
142 | 142 | |
143 | 143 | /** |
@@ -147,30 +147,30 @@ discard block |
||
147 | 147 | * @version 4.0.0 |
148 | 148 | */ |
149 | 149 | public function init() { |
150 | - add_action( 'wp_enqueue_scripts', array( $this, 'scripts' ) ); |
|
150 | + add_action('wp_enqueue_scripts', array($this, 'scripts')); |
|
151 | 151 | |
152 | - add_action( 'woocommerce_after_add_to_cart_quantity', array( $this, 'display_payment_request_button_html' ), 1 ); |
|
153 | - add_action( 'woocommerce_after_add_to_cart_quantity', array( $this, 'display_payment_request_button_separator_html' ), 2 ); |
|
152 | + add_action('woocommerce_after_add_to_cart_quantity', array($this, 'display_payment_request_button_html'), 1); |
|
153 | + add_action('woocommerce_after_add_to_cart_quantity', array($this, 'display_payment_request_button_separator_html'), 2); |
|
154 | 154 | |
155 | - add_action( 'woocommerce_proceed_to_checkout', array( $this, 'display_payment_request_button_html' ), 1 ); |
|
156 | - add_action( 'woocommerce_proceed_to_checkout', array( $this, 'display_payment_request_button_separator_html' ), 2 ); |
|
155 | + add_action('woocommerce_proceed_to_checkout', array($this, 'display_payment_request_button_html'), 1); |
|
156 | + add_action('woocommerce_proceed_to_checkout', array($this, 'display_payment_request_button_separator_html'), 2); |
|
157 | 157 | |
158 | - add_action( 'woocommerce_checkout_before_customer_details', array( $this, 'display_payment_request_button_html' ), 1 ); |
|
159 | - add_action( 'woocommerce_checkout_before_customer_details', array( $this, 'display_payment_request_button_separator_html' ), 2 ); |
|
158 | + add_action('woocommerce_checkout_before_customer_details', array($this, 'display_payment_request_button_html'), 1); |
|
159 | + add_action('woocommerce_checkout_before_customer_details', array($this, 'display_payment_request_button_separator_html'), 2); |
|
160 | 160 | |
161 | - add_action( 'wc_ajax_wc_stripe_get_cart_details', array( $this, 'ajax_get_cart_details' ) ); |
|
162 | - add_action( 'wc_ajax_wc_stripe_get_shipping_options', array( $this, 'ajax_get_shipping_options' ) ); |
|
163 | - add_action( 'wc_ajax_wc_stripe_update_shipping_method', array( $this, 'ajax_update_shipping_method' ) ); |
|
164 | - add_action( 'wc_ajax_wc_stripe_create_order', array( $this, 'ajax_create_order' ) ); |
|
165 | - add_action( 'wc_ajax_wc_stripe_add_to_cart', array( $this, 'ajax_add_to_cart' ) ); |
|
166 | - add_action( 'wc_ajax_wc_stripe_get_selected_product_data', array( $this, 'ajax_get_selected_product_data' ) ); |
|
167 | - add_action( 'wc_ajax_wc_stripe_clear_cart', array( $this, 'ajax_clear_cart' ) ); |
|
168 | - add_action( 'wc_ajax_wc_stripe_log_errors', array( $this, 'ajax_log_errors' ) ); |
|
161 | + add_action('wc_ajax_wc_stripe_get_cart_details', array($this, 'ajax_get_cart_details')); |
|
162 | + add_action('wc_ajax_wc_stripe_get_shipping_options', array($this, 'ajax_get_shipping_options')); |
|
163 | + add_action('wc_ajax_wc_stripe_update_shipping_method', array($this, 'ajax_update_shipping_method')); |
|
164 | + add_action('wc_ajax_wc_stripe_create_order', array($this, 'ajax_create_order')); |
|
165 | + add_action('wc_ajax_wc_stripe_add_to_cart', array($this, 'ajax_add_to_cart')); |
|
166 | + add_action('wc_ajax_wc_stripe_get_selected_product_data', array($this, 'ajax_get_selected_product_data')); |
|
167 | + add_action('wc_ajax_wc_stripe_clear_cart', array($this, 'ajax_clear_cart')); |
|
168 | + add_action('wc_ajax_wc_stripe_log_errors', array($this, 'ajax_log_errors')); |
|
169 | 169 | |
170 | - add_filter( 'woocommerce_gateway_title', array( $this, 'filter_gateway_title' ), 10, 2 ); |
|
171 | - add_filter( 'woocommerce_validate_postcode', array( $this, 'postal_code_validation' ), 10, 3 ); |
|
170 | + add_filter('woocommerce_gateway_title', array($this, 'filter_gateway_title'), 10, 2); |
|
171 | + add_filter('woocommerce_validate_postcode', array($this, 'postal_code_validation'), 10, 3); |
|
172 | 172 | |
173 | - add_action( 'woocommerce_checkout_order_processed', array( $this, 'add_order_meta' ), 10, 2 ); |
|
173 | + add_action('woocommerce_checkout_order_processed', array($this, 'add_order_meta'), 10, 2); |
|
174 | 174 | } |
175 | 175 | |
176 | 176 | /** |
@@ -181,7 +181,7 @@ discard block |
||
181 | 181 | * @return string |
182 | 182 | */ |
183 | 183 | public function get_button_type() { |
184 | - return isset( $this->stripe_settings['payment_request_button_type'] ) ? $this->stripe_settings['payment_request_button_type'] : 'default'; |
|
184 | + return isset($this->stripe_settings['payment_request_button_type']) ? $this->stripe_settings['payment_request_button_type'] : 'default'; |
|
185 | 185 | } |
186 | 186 | |
187 | 187 | /** |
@@ -192,7 +192,7 @@ discard block |
||
192 | 192 | * @return string |
193 | 193 | */ |
194 | 194 | public function get_button_theme() { |
195 | - return isset( $this->stripe_settings['payment_request_button_theme'] ) ? $this->stripe_settings['payment_request_button_theme'] : 'dark'; |
|
195 | + return isset($this->stripe_settings['payment_request_button_theme']) ? $this->stripe_settings['payment_request_button_theme'] : 'dark'; |
|
196 | 196 | } |
197 | 197 | |
198 | 198 | /** |
@@ -203,7 +203,7 @@ discard block |
||
203 | 203 | * @return string |
204 | 204 | */ |
205 | 205 | public function get_button_height() { |
206 | - return isset( $this->stripe_settings['payment_request_button_height'] ) ? str_replace( 'px', '', $this->stripe_settings['payment_request_button_height'] ) : '64'; |
|
206 | + return isset($this->stripe_settings['payment_request_button_height']) ? str_replace('px', '', $this->stripe_settings['payment_request_button_height']) : '64'; |
|
207 | 207 | } |
208 | 208 | |
209 | 209 | /** |
@@ -225,7 +225,7 @@ discard block |
||
225 | 225 | * @return string |
226 | 226 | */ |
227 | 227 | public function get_button_branded_type() { |
228 | - return isset( $this->stripe_settings['payment_request_button_branded_type'] ) ? $this->stripe_settings['payment_request_button_branded_type'] : 'default'; |
|
228 | + return isset($this->stripe_settings['payment_request_button_branded_type']) ? $this->stripe_settings['payment_request_button_branded_type'] : 'default'; |
|
229 | 229 | } |
230 | 230 | |
231 | 231 | /** |
@@ -258,7 +258,7 @@ discard block |
||
258 | 258 | * @return string |
259 | 259 | */ |
260 | 260 | public function get_button_label() { |
261 | - return isset( $this->stripe_settings['payment_request_button_label'] ) ? $this->stripe_settings['payment_request_button_label'] : 'Buy now'; |
|
261 | + return isset($this->stripe_settings['payment_request_button_label']) ? $this->stripe_settings['payment_request_button_label'] : 'Buy now'; |
|
262 | 262 | } |
263 | 263 | |
264 | 264 | /** |
@@ -268,22 +268,22 @@ discard block |
||
268 | 268 | * @version 4.0.0 |
269 | 269 | */ |
270 | 270 | public function get_product_data() { |
271 | - if ( ! is_product() ) { |
|
271 | + if ( ! is_product()) { |
|
272 | 272 | return false; |
273 | 273 | } |
274 | 274 | |
275 | 275 | global $post; |
276 | 276 | |
277 | - $product = wc_get_product( $post->ID ); |
|
277 | + $product = wc_get_product($post->ID); |
|
278 | 278 | |
279 | - if ( 'variable' === $product->get_type() ) { |
|
280 | - $attributes = wc_clean( wp_unslash( $_GET ) ); |
|
279 | + if ('variable' === $product->get_type()) { |
|
280 | + $attributes = wc_clean(wp_unslash($_GET)); |
|
281 | 281 | |
282 | - $data_store = WC_Data_Store::load( 'product' ); |
|
283 | - $variation_id = $data_store->find_matching_product_variation( $product, $attributes ); |
|
282 | + $data_store = WC_Data_Store::load('product'); |
|
283 | + $variation_id = $data_store->find_matching_product_variation($product, $attributes); |
|
284 | 284 | |
285 | - if ( ! empty( $variation_id ) ) { |
|
286 | - $product = wc_get_product( $variation_id ); |
|
285 | + if ( ! empty($variation_id)) { |
|
286 | + $product = wc_get_product($variation_id); |
|
287 | 287 | } |
288 | 288 | } |
289 | 289 | |
@@ -292,27 +292,27 @@ discard block |
||
292 | 292 | |
293 | 293 | $items[] = array( |
294 | 294 | 'label' => $product->get_name(), |
295 | - 'amount' => WC_Stripe_Helper::get_stripe_amount( $product->get_price() ), |
|
295 | + 'amount' => WC_Stripe_Helper::get_stripe_amount($product->get_price()), |
|
296 | 296 | ); |
297 | 297 | |
298 | - if ( wc_tax_enabled() ) { |
|
298 | + if (wc_tax_enabled()) { |
|
299 | 299 | $items[] = array( |
300 | - 'label' => __( 'Tax', 'woocommerce-gateway-stripe' ), |
|
300 | + 'label' => __('Tax', 'woocommerce-gateway-stripe'), |
|
301 | 301 | 'amount' => 0, |
302 | 302 | 'pending' => true, |
303 | 303 | ); |
304 | 304 | } |
305 | 305 | |
306 | - if ( wc_shipping_enabled() && $product->needs_shipping() ) { |
|
306 | + if (wc_shipping_enabled() && $product->needs_shipping()) { |
|
307 | 307 | $items[] = array( |
308 | - 'label' => __( 'Shipping', 'woocommerce-gateway-stripe' ), |
|
308 | + 'label' => __('Shipping', 'woocommerce-gateway-stripe'), |
|
309 | 309 | 'amount' => 0, |
310 | 310 | 'pending' => true, |
311 | 311 | ); |
312 | 312 | |
313 | 313 | $data['shippingOptions'] = array( |
314 | 314 | 'id' => 'pending', |
315 | - 'label' => __( 'Pending', 'woocommerce-gateway-stripe' ), |
|
315 | + 'label' => __('Pending', 'woocommerce-gateway-stripe'), |
|
316 | 316 | 'detail' => '', |
317 | 317 | 'amount' => 0, |
318 | 318 | ); |
@@ -320,37 +320,37 @@ discard block |
||
320 | 320 | |
321 | 321 | $data['displayItems'] = $items; |
322 | 322 | $data['total'] = array( |
323 | - 'label' => apply_filters( 'wc_stripe_payment_request_total_label', $this->total_label ), |
|
324 | - 'amount' => WC_Stripe_Helper::get_stripe_amount( $product->get_price() ), |
|
323 | + 'label' => apply_filters('wc_stripe_payment_request_total_label', $this->total_label), |
|
324 | + 'amount' => WC_Stripe_Helper::get_stripe_amount($product->get_price()), |
|
325 | 325 | 'pending' => true, |
326 | 326 | ); |
327 | 327 | |
328 | - $data['requestShipping'] = ( wc_shipping_enabled() && $product->needs_shipping() ); |
|
329 | - $data['currency'] = strtolower( get_woocommerce_currency() ); |
|
330 | - $data['country_code'] = substr( get_option( 'woocommerce_default_country' ), 0, 2 ); |
|
328 | + $data['requestShipping'] = (wc_shipping_enabled() && $product->needs_shipping()); |
|
329 | + $data['currency'] = strtolower(get_woocommerce_currency()); |
|
330 | + $data['country_code'] = substr(get_option('woocommerce_default_country'), 0, 2); |
|
331 | 331 | |
332 | - return apply_filters( 'wc_stripe_payment_request_product_data', $data, $product ); |
|
332 | + return apply_filters('wc_stripe_payment_request_product_data', $data, $product); |
|
333 | 333 | } |
334 | 334 | |
335 | 335 | /** |
336 | 336 | * Filters the gateway title to reflect Payment Request type |
337 | 337 | * |
338 | 338 | */ |
339 | - public function filter_gateway_title( $title, $id ) { |
|
339 | + public function filter_gateway_title($title, $id) { |
|
340 | 340 | global $post; |
341 | 341 | |
342 | - if ( ! is_object( $post ) ) { |
|
342 | + if ( ! is_object($post)) { |
|
343 | 343 | return $title; |
344 | 344 | } |
345 | 345 | |
346 | - $order = wc_get_order( $post->ID ); |
|
347 | - $method_title = is_object( $order ) ? $order->get_payment_method_title() : ''; |
|
346 | + $order = wc_get_order($post->ID); |
|
347 | + $method_title = is_object($order) ? $order->get_payment_method_title() : ''; |
|
348 | 348 | |
349 | - if ( 'stripe' === $id && ! empty( $method_title ) && 'Apple Pay (Stripe)' === $method_title ) { |
|
349 | + if ('stripe' === $id && ! empty($method_title) && 'Apple Pay (Stripe)' === $method_title) { |
|
350 | 350 | return $method_title; |
351 | 351 | } |
352 | 352 | |
353 | - if ( 'stripe' === $id && ! empty( $method_title ) && 'Chrome Payment Request (Stripe)' === $method_title ) { |
|
353 | + if ('stripe' === $id && ! empty($method_title) && 'Chrome Payment Request (Stripe)' === $method_title) { |
|
354 | 354 | return $method_title; |
355 | 355 | } |
356 | 356 | |
@@ -363,16 +363,16 @@ discard block |
||
363 | 363 | * @since 3.1.4 |
364 | 364 | * @version 4.0.0 |
365 | 365 | */ |
366 | - public function postal_code_validation( $valid, $postcode, $country ) { |
|
366 | + public function postal_code_validation($valid, $postcode, $country) { |
|
367 | 367 | $gateways = WC()->payment_gateways->get_available_payment_gateways(); |
368 | 368 | |
369 | - if ( ! isset( $gateways['stripe'] ) ) { |
|
369 | + if ( ! isset($gateways['stripe'])) { |
|
370 | 370 | return $valid; |
371 | 371 | } |
372 | 372 | |
373 | - $payment_request_type = isset( $_POST['payment_request_type'] ) ? wc_clean( $_POST['payment_request_type'] ) : ''; |
|
373 | + $payment_request_type = isset($_POST['payment_request_type']) ? wc_clean($_POST['payment_request_type']) : ''; |
|
374 | 374 | |
375 | - if ( 'apple_pay' !== $payment_request_type ) { |
|
375 | + if ('apple_pay' !== $payment_request_type) { |
|
376 | 376 | return $valid; |
377 | 377 | } |
378 | 378 | |
@@ -382,7 +382,7 @@ discard block |
||
382 | 382 | * the order and not let it go through. The remedy for now is just to remove this validation. |
383 | 383 | * Note that this only works with shipping providers that don't validate full postal codes. |
384 | 384 | */ |
385 | - if ( 'GB' === $country || 'CA' === $country ) { |
|
385 | + if ('GB' === $country || 'CA' === $country) { |
|
386 | 386 | return true; |
387 | 387 | } |
388 | 388 | |
@@ -397,22 +397,22 @@ discard block |
||
397 | 397 | * @param int $order_id |
398 | 398 | * @param array $posted_data The posted data from checkout form. |
399 | 399 | */ |
400 | - public function add_order_meta( $order_id, $posted_data ) { |
|
401 | - if ( empty( $_POST['payment_request_type'] ) ) { |
|
400 | + public function add_order_meta($order_id, $posted_data) { |
|
401 | + if (empty($_POST['payment_request_type'])) { |
|
402 | 402 | return; |
403 | 403 | } |
404 | 404 | |
405 | - $order = wc_get_order( $order_id ); |
|
405 | + $order = wc_get_order($order_id); |
|
406 | 406 | |
407 | - $payment_request_type = wc_clean( $_POST['payment_request_type'] ); |
|
407 | + $payment_request_type = wc_clean($_POST['payment_request_type']); |
|
408 | 408 | |
409 | - if ( 'apple_pay' === $payment_request_type ) { |
|
410 | - $order->set_payment_method_title( 'Apple Pay (Stripe)' ); |
|
409 | + if ('apple_pay' === $payment_request_type) { |
|
410 | + $order->set_payment_method_title('Apple Pay (Stripe)'); |
|
411 | 411 | $order->save(); |
412 | 412 | } |
413 | 413 | |
414 | - if ( 'payment_request_api' === $payment_request_type ) { |
|
415 | - $order->set_payment_method_title( 'Chrome Payment Request (Stripe)' ); |
|
414 | + if ('payment_request_api' === $payment_request_type) { |
|
415 | + $order->set_payment_method_title('Chrome Payment Request (Stripe)'); |
|
416 | 416 | $order->save(); |
417 | 417 | } |
418 | 418 | } |
@@ -450,20 +450,20 @@ discard block |
||
450 | 450 | * @return bool |
451 | 451 | */ |
452 | 452 | public function allowed_items_in_cart() { |
453 | - foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) { |
|
454 | - $_product = apply_filters( 'woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key ); |
|
453 | + foreach (WC()->cart->get_cart() as $cart_item_key => $cart_item) { |
|
454 | + $_product = apply_filters('woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key); |
|
455 | 455 | |
456 | - if ( ! in_array( $_product->get_type(), $this->supported_product_types() ) ) { |
|
456 | + if ( ! in_array($_product->get_type(), $this->supported_product_types())) { |
|
457 | 457 | return false; |
458 | 458 | } |
459 | 459 | |
460 | 460 | // Trial subscriptions with shipping are not supported |
461 | - if ( class_exists( 'WC_Subscriptions_Order' ) && WC_Subscriptions_Cart::cart_contains_subscription() && $_product->needs_shipping() && WC_Subscriptions_Product::get_trial_length( $_product ) > 0 ) { |
|
461 | + if (class_exists('WC_Subscriptions_Order') && WC_Subscriptions_Cart::cart_contains_subscription() && $_product->needs_shipping() && WC_Subscriptions_Product::get_trial_length($_product) > 0) { |
|
462 | 462 | return false; |
463 | 463 | } |
464 | 464 | |
465 | 465 | // Pre Orders compatbility where we don't support charge upon release. |
466 | - if ( class_exists( 'WC_Pre_Orders_Order' ) && WC_Pre_Orders_Cart::cart_contains_pre_order() && WC_Pre_Orders_Product::product_is_charged_upon_release( WC_Pre_Orders_Cart::get_pre_order_product() ) ) { |
|
466 | + if (class_exists('WC_Pre_Orders_Order') && WC_Pre_Orders_Cart::cart_contains_pre_order() && WC_Pre_Orders_Product::product_is_charged_upon_release(WC_Pre_Orders_Cart::get_pre_order_product())) { |
|
467 | 467 | return false; |
468 | 468 | } |
469 | 469 | } |
@@ -479,59 +479,59 @@ discard block |
||
479 | 479 | */ |
480 | 480 | public function scripts() { |
481 | 481 | // If keys are not set bail. |
482 | - if ( ! $this->are_keys_set() ) { |
|
483 | - WC_Stripe_Logger::log( 'Keys are not set correctly.' ); |
|
482 | + if ( ! $this->are_keys_set()) { |
|
483 | + WC_Stripe_Logger::log('Keys are not set correctly.'); |
|
484 | 484 | return; |
485 | 485 | } |
486 | 486 | |
487 | 487 | // If no SSL bail. |
488 | - if ( ! $this->testmode && ! is_ssl() ) { |
|
489 | - WC_Stripe_Logger::log( 'Stripe Payment Request live mode requires SSL.' ); |
|
488 | + if ( ! $this->testmode && ! is_ssl()) { |
|
489 | + WC_Stripe_Logger::log('Stripe Payment Request live mode requires SSL.'); |
|
490 | 490 | return; |
491 | 491 | } |
492 | 492 | |
493 | - if ( ! is_product() && ! is_cart() && ! is_checkout() && ! isset( $_GET['pay_for_order'] ) ) { |
|
493 | + if ( ! is_product() && ! is_cart() && ! is_checkout() && ! isset($_GET['pay_for_order'])) { |
|
494 | 494 | return; |
495 | 495 | } |
496 | 496 | |
497 | - if ( is_product() && ! $this->should_show_payment_button_on_product_page() ) { |
|
497 | + if (is_product() && ! $this->should_show_payment_button_on_product_page()) { |
|
498 | 498 | return; |
499 | 499 | } |
500 | 500 | |
501 | - $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'; |
|
501 | + $suffix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min'; |
|
502 | 502 | |
503 | 503 | $stripe_params = array( |
504 | - 'ajax_url' => WC_AJAX::get_endpoint( '%%endpoint%%' ), |
|
504 | + 'ajax_url' => WC_AJAX::get_endpoint('%%endpoint%%'), |
|
505 | 505 | 'stripe' => array( |
506 | 506 | 'key' => $this->publishable_key, |
507 | - 'allow_prepaid_card' => apply_filters( 'wc_stripe_allow_prepaid_card', true ) ? 'yes' : 'no', |
|
507 | + 'allow_prepaid_card' => apply_filters('wc_stripe_allow_prepaid_card', true) ? 'yes' : 'no', |
|
508 | 508 | ), |
509 | 509 | 'nonce' => array( |
510 | - 'payment' => wp_create_nonce( 'wc-stripe-payment-request' ), |
|
511 | - 'shipping' => wp_create_nonce( 'wc-stripe-payment-request-shipping' ), |
|
512 | - 'update_shipping' => wp_create_nonce( 'wc-stripe-update-shipping-method' ), |
|
513 | - 'checkout' => wp_create_nonce( 'woocommerce-process_checkout' ), |
|
514 | - 'add_to_cart' => wp_create_nonce( 'wc-stripe-add-to-cart' ), |
|
515 | - 'get_selected_product_data' => wp_create_nonce( 'wc-stripe-get-selected-product-data' ), |
|
516 | - 'log_errors' => wp_create_nonce( 'wc-stripe-log-errors' ), |
|
517 | - 'clear_cart' => wp_create_nonce( 'wc-stripe-clear-cart' ), |
|
510 | + 'payment' => wp_create_nonce('wc-stripe-payment-request'), |
|
511 | + 'shipping' => wp_create_nonce('wc-stripe-payment-request-shipping'), |
|
512 | + 'update_shipping' => wp_create_nonce('wc-stripe-update-shipping-method'), |
|
513 | + 'checkout' => wp_create_nonce('woocommerce-process_checkout'), |
|
514 | + 'add_to_cart' => wp_create_nonce('wc-stripe-add-to-cart'), |
|
515 | + 'get_selected_product_data' => wp_create_nonce('wc-stripe-get-selected-product-data'), |
|
516 | + 'log_errors' => wp_create_nonce('wc-stripe-log-errors'), |
|
517 | + 'clear_cart' => wp_create_nonce('wc-stripe-clear-cart'), |
|
518 | 518 | ), |
519 | 519 | 'i18n' => array( |
520 | - 'no_prepaid_card' => __( 'Sorry, we\'re not accepting prepaid cards at this time.', 'woocommerce-gateway-stripe' ), |
|
520 | + 'no_prepaid_card' => __('Sorry, we\'re not accepting prepaid cards at this time.', 'woocommerce-gateway-stripe'), |
|
521 | 521 | /* translators: Do not translate the [option] placeholder */ |
522 | - 'unknown_shipping' => __( 'Unknown shipping option "[option]".', 'woocommerce-gateway-stripe' ), |
|
522 | + 'unknown_shipping' => __('Unknown shipping option "[option]".', 'woocommerce-gateway-stripe'), |
|
523 | 523 | ), |
524 | 524 | 'checkout' => array( |
525 | 525 | 'url' => wc_get_checkout_url(), |
526 | - 'currency_code' => strtolower( get_woocommerce_currency() ), |
|
527 | - 'country_code' => substr( get_option( 'woocommerce_default_country' ), 0, 2 ), |
|
526 | + 'currency_code' => strtolower(get_woocommerce_currency()), |
|
527 | + 'country_code' => substr(get_option('woocommerce_default_country'), 0, 2), |
|
528 | 528 | 'needs_shipping' => WC()->cart->needs_shipping() ? 'yes' : 'no', |
529 | 529 | ), |
530 | 530 | 'button' => array( |
531 | 531 | 'type' => $this->get_button_type(), |
532 | 532 | 'theme' => $this->get_button_theme(), |
533 | 533 | 'height' => $this->get_button_height(), |
534 | - 'locale' => apply_filters( 'wc_stripe_payment_request_button_locale', substr( get_locale(), 0, 2 ) ), // Default format is en_US. |
|
534 | + 'locale' => apply_filters('wc_stripe_payment_request_button_locale', substr(get_locale(), 0, 2)), // Default format is en_US. |
|
535 | 535 | 'is_custom' => $this->is_custom_button(), |
536 | 536 | 'is_branded' => $this->is_branded_button(), |
537 | 537 | 'css_selector' => $this->custom_button_selector(), |
@@ -541,15 +541,15 @@ discard block |
||
541 | 541 | 'product' => $this->get_product_data(), |
542 | 542 | ); |
543 | 543 | |
544 | - wp_register_script( 'stripe', 'https://js.stripe.com/v3/', '', '3.0', true ); |
|
545 | - wp_register_script( 'wc_stripe_payment_request', plugins_url( 'assets/js/stripe-payment-request' . $suffix . '.js', WC_STRIPE_MAIN_FILE ), array( 'jquery', 'stripe' ), WC_STRIPE_VERSION, true ); |
|
544 | + wp_register_script('stripe', 'https://js.stripe.com/v3/', '', '3.0', true); |
|
545 | + wp_register_script('wc_stripe_payment_request', plugins_url('assets/js/stripe-payment-request' . $suffix . '.js', WC_STRIPE_MAIN_FILE), array('jquery', 'stripe'), WC_STRIPE_VERSION, true); |
|
546 | 546 | |
547 | - wp_localize_script( 'wc_stripe_payment_request', 'wc_stripe_payment_request_params', apply_filters( 'wc_stripe_payment_request_params', $stripe_params ) ); |
|
547 | + wp_localize_script('wc_stripe_payment_request', 'wc_stripe_payment_request_params', apply_filters('wc_stripe_payment_request_params', $stripe_params)); |
|
548 | 548 | |
549 | - wp_enqueue_script( 'wc_stripe_payment_request' ); |
|
549 | + wp_enqueue_script('wc_stripe_payment_request'); |
|
550 | 550 | |
551 | 551 | $gateways = WC()->payment_gateways->get_available_payment_gateways(); |
552 | - if ( isset( $gateways['stripe'] ) ) { |
|
552 | + if (isset($gateways['stripe'])) { |
|
553 | 553 | $gateways['stripe']->payment_scripts(); |
554 | 554 | } |
555 | 555 | } |
@@ -565,31 +565,31 @@ discard block |
||
565 | 565 | |
566 | 566 | $gateways = WC()->payment_gateways->get_available_payment_gateways(); |
567 | 567 | |
568 | - if ( ! isset( $gateways['stripe'] ) ) { |
|
568 | + if ( ! isset($gateways['stripe'])) { |
|
569 | 569 | return; |
570 | 570 | } |
571 | 571 | |
572 | - if ( ! is_cart() && ! is_checkout() && ! is_product() && ! isset( $_GET['pay_for_order'] ) ) { |
|
572 | + if ( ! is_cart() && ! is_checkout() && ! is_product() && ! isset($_GET['pay_for_order'])) { |
|
573 | 573 | return; |
574 | 574 | } |
575 | 575 | |
576 | - if ( is_checkout() && ! apply_filters( 'wc_stripe_show_payment_request_on_checkout', false, $post ) ) { |
|
576 | + if (is_checkout() && ! apply_filters('wc_stripe_show_payment_request_on_checkout', false, $post)) { |
|
577 | 577 | return; |
578 | 578 | } |
579 | 579 | |
580 | - if ( is_product() && ! $this->should_show_payment_button_on_product_page() ) { |
|
580 | + if (is_product() && ! $this->should_show_payment_button_on_product_page()) { |
|
581 | 581 | return; |
582 | - } else if ( ! $this->should_show_payment_button_on_cart() ) { |
|
582 | + } else if ( ! $this->should_show_payment_button_on_cart()) { |
|
583 | 583 | return; |
584 | 584 | } |
585 | 585 | ?> |
586 | 586 | <div id="wc-stripe-payment-request-wrapper" style="clear:both;padding-top:1.5em;display:none;"> |
587 | 587 | <div id="wc-stripe-payment-request-button"> |
588 | 588 | <?php |
589 | - if ( $this->is_custom_button() ) { |
|
590 | - $label = esc_html( $this->get_button_label() ); |
|
591 | - $class_name = esc_attr( 'button ' . $this->get_button_theme() ); |
|
592 | - $style = esc_attr( 'height:' . $this->get_button_height() . 'px;' ); |
|
589 | + if ($this->is_custom_button()) { |
|
590 | + $label = esc_html($this->get_button_label()); |
|
591 | + $class_name = esc_attr('button ' . $this->get_button_theme()); |
|
592 | + $style = esc_attr('height:' . $this->get_button_height() . 'px;'); |
|
593 | 593 | echo "<button id=\"wc-stripe-custom-button\" class=\"$class_name\" style=\"$style\"> $label </button>"; |
594 | 594 | } |
595 | 595 | ?> |
@@ -610,25 +610,25 @@ discard block |
||
610 | 610 | |
611 | 611 | $gateways = WC()->payment_gateways->get_available_payment_gateways(); |
612 | 612 | |
613 | - if ( ! isset( $gateways['stripe'] ) ) { |
|
613 | + if ( ! isset($gateways['stripe'])) { |
|
614 | 614 | return; |
615 | 615 | } |
616 | 616 | |
617 | - if ( ! is_cart() && ! is_checkout() && ! is_product() && ! isset( $_GET['pay_for_order'] ) ) { |
|
617 | + if ( ! is_cart() && ! is_checkout() && ! is_product() && ! isset($_GET['pay_for_order'])) { |
|
618 | 618 | return; |
619 | 619 | } |
620 | 620 | |
621 | - if ( is_checkout() && ! apply_filters( 'wc_stripe_show_payment_request_on_checkout', false, $post ) ) { |
|
621 | + if (is_checkout() && ! apply_filters('wc_stripe_show_payment_request_on_checkout', false, $post)) { |
|
622 | 622 | return; |
623 | 623 | } |
624 | 624 | |
625 | - if ( is_product() && ! $this->should_show_payment_button_on_product_page() ) { |
|
625 | + if (is_product() && ! $this->should_show_payment_button_on_product_page()) { |
|
626 | 626 | return; |
627 | - } else if ( ! $this->should_show_payment_button_on_cart() ) { |
|
627 | + } else if ( ! $this->should_show_payment_button_on_cart()) { |
|
628 | 628 | return; |
629 | 629 | } |
630 | 630 | ?> |
631 | - <p id="wc-stripe-payment-request-button-separator" style="margin-top:1.5em;text-align:center;display:none;">— <?php esc_html_e( 'OR', 'woocommerce-gateway-stripe' ); ?> —</p> |
|
631 | + <p id="wc-stripe-payment-request-button-separator" style="margin-top:1.5em;text-align:center;display:none;">— <?php esc_html_e('OR', 'woocommerce-gateway-stripe'); ?> —</p> |
|
632 | 632 | <?php |
633 | 633 | } |
634 | 634 | |
@@ -640,11 +640,11 @@ discard block |
||
640 | 640 | * @return bool |
641 | 641 | */ |
642 | 642 | private function should_show_payment_button_on_cart() { |
643 | - if ( ! apply_filters( 'wc_stripe_show_payment_request_on_cart', true ) ) { |
|
643 | + if ( ! apply_filters('wc_stripe_show_payment_request_on_cart', true)) { |
|
644 | 644 | return false; |
645 | 645 | } |
646 | - if ( ! $this->allowed_items_in_cart() ) { |
|
647 | - WC_Stripe_Logger::log( 'Items in the cart has unsupported product type ( Payment Request button disabled )' ); |
|
646 | + if ( ! $this->allowed_items_in_cart()) { |
|
647 | + WC_Stripe_Logger::log('Items in the cart has unsupported product type ( Payment Request button disabled )'); |
|
648 | 648 | return false; |
649 | 649 | } |
650 | 650 | return true; |
@@ -660,32 +660,32 @@ discard block |
||
660 | 660 | private function should_show_payment_button_on_product_page() { |
661 | 661 | global $post; |
662 | 662 | |
663 | - $product = wc_get_product( $post->ID ); |
|
663 | + $product = wc_get_product($post->ID); |
|
664 | 664 | |
665 | - if ( apply_filters( 'wc_stripe_hide_payment_request_on_product_page', false, $post ) ) { |
|
665 | + if (apply_filters('wc_stripe_hide_payment_request_on_product_page', false, $post)) { |
|
666 | 666 | return false; |
667 | 667 | } |
668 | 668 | |
669 | - if ( ! is_object( $product ) || ! in_array( $product->get_type(), $this->supported_product_types() ) ) { |
|
669 | + if ( ! is_object($product) || ! in_array($product->get_type(), $this->supported_product_types())) { |
|
670 | 670 | return false; |
671 | 671 | } |
672 | 672 | |
673 | 673 | // Trial subscriptions with shipping are not supported |
674 | - if ( class_exists( 'WC_Subscriptions_Order' ) && $product->needs_shipping() && WC_Subscriptions_Product::get_trial_length( $product ) > 0 ) { |
|
674 | + if (class_exists('WC_Subscriptions_Order') && $product->needs_shipping() && WC_Subscriptions_Product::get_trial_length($product) > 0) { |
|
675 | 675 | return false; |
676 | 676 | } |
677 | 677 | |
678 | 678 | // Pre Orders charge upon release not supported. |
679 | - if ( class_exists( 'WC_Pre_Orders_Order' ) && WC_Pre_Orders_Product::product_is_charged_upon_release( $product ) ) { |
|
680 | - WC_Stripe_Logger::log( 'Pre Order charge upon release is not supported. ( Payment Request button disabled )' ); |
|
679 | + if (class_exists('WC_Pre_Orders_Order') && WC_Pre_Orders_Product::product_is_charged_upon_release($product)) { |
|
680 | + WC_Stripe_Logger::log('Pre Order charge upon release is not supported. ( Payment Request button disabled )'); |
|
681 | 681 | return false; |
682 | 682 | } |
683 | 683 | |
684 | 684 | // File upload addon not supported |
685 | - if ( class_exists( 'WC_Product_Addons_Helper' ) ) { |
|
686 | - $product_addons = WC_Product_Addons_Helper::get_product_addons( $product->get_id() ); |
|
687 | - foreach ( $product_addons as $addon ) { |
|
688 | - if ( 'file_upload' === $addon['type'] ) { |
|
685 | + if (class_exists('WC_Product_Addons_Helper')) { |
|
686 | + $product_addons = WC_Product_Addons_Helper::get_product_addons($product->get_id()); |
|
687 | + foreach ($product_addons as $addon) { |
|
688 | + if ('file_upload' === $addon['type']) { |
|
689 | 689 | return false; |
690 | 690 | } |
691 | 691 | } |
@@ -701,11 +701,11 @@ discard block |
||
701 | 701 | * @version 4.0.0 |
702 | 702 | */ |
703 | 703 | public function ajax_log_errors() { |
704 | - check_ajax_referer( 'wc-stripe-log-errors', 'security' ); |
|
704 | + check_ajax_referer('wc-stripe-log-errors', 'security'); |
|
705 | 705 | |
706 | - $errors = wc_clean( stripslashes( $_POST['errors'] ) ); |
|
706 | + $errors = wc_clean(stripslashes($_POST['errors'])); |
|
707 | 707 | |
708 | - WC_Stripe_Logger::log( $errors ); |
|
708 | + WC_Stripe_Logger::log($errors); |
|
709 | 709 | |
710 | 710 | exit; |
711 | 711 | } |
@@ -717,7 +717,7 @@ discard block |
||
717 | 717 | * @version 4.0.0 |
718 | 718 | */ |
719 | 719 | public function ajax_clear_cart() { |
720 | - check_ajax_referer( 'wc-stripe-clear-cart', 'security' ); |
|
720 | + check_ajax_referer('wc-stripe-clear-cart', 'security'); |
|
721 | 721 | |
722 | 722 | WC()->cart->empty_cart(); |
723 | 723 | exit; |
@@ -727,10 +727,10 @@ discard block |
||
727 | 727 | * Get cart details. |
728 | 728 | */ |
729 | 729 | public function ajax_get_cart_details() { |
730 | - check_ajax_referer( 'wc-stripe-payment-request', 'security' ); |
|
730 | + check_ajax_referer('wc-stripe-payment-request', 'security'); |
|
731 | 731 | |
732 | - if ( ! defined( 'WOOCOMMERCE_CART' ) ) { |
|
733 | - define( 'WOOCOMMERCE_CART', true ); |
|
732 | + if ( ! defined('WOOCOMMERCE_CART')) { |
|
733 | + define('WOOCOMMERCE_CART', true); |
|
734 | 734 | } |
735 | 735 | |
736 | 736 | WC()->cart->calculate_totals(); |
@@ -741,14 +741,14 @@ discard block |
||
741 | 741 | $data = array( |
742 | 742 | 'shipping_required' => WC()->cart->needs_shipping(), |
743 | 743 | 'order_data' => array( |
744 | - 'currency' => strtolower( $currency ), |
|
745 | - 'country_code' => substr( get_option( 'woocommerce_default_country' ), 0, 2 ), |
|
744 | + 'currency' => strtolower($currency), |
|
745 | + 'country_code' => substr(get_option('woocommerce_default_country'), 0, 2), |
|
746 | 746 | ), |
747 | 747 | ); |
748 | 748 | |
749 | 749 | $data['order_data'] += $this->build_display_items(); |
750 | 750 | |
751 | - wp_send_json( $data ); |
|
751 | + wp_send_json($data); |
|
752 | 752 | } |
753 | 753 | |
754 | 754 | /** |
@@ -759,7 +759,7 @@ discard block |
||
759 | 759 | * @see WC_Shipping::get_packages(). |
760 | 760 | */ |
761 | 761 | public function ajax_get_shipping_options() { |
762 | - check_ajax_referer( 'wc-stripe-payment-request-shipping', 'security' ); |
|
762 | + check_ajax_referer('wc-stripe-payment-request-shipping', 'security'); |
|
763 | 763 | |
764 | 764 | $shipping_address = filter_input_array( |
765 | 765 | INPUT_POST, |
@@ -772,11 +772,11 @@ discard block |
||
772 | 772 | 'address_2' => FILTER_SANITIZE_STRING, |
773 | 773 | ) |
774 | 774 | ); |
775 | - $product_view_options = filter_input_array( INPUT_POST, [ 'is_product_page' => FILTER_SANITIZE_STRING ] ); |
|
776 | - $should_show_itemized_view = ! isset( $product_view_options['is_product_page'] ) ?: filter_var( $product_view_options['is_product_page'], FILTER_VALIDATE_BOOLEAN ); |
|
775 | + $product_view_options = filter_input_array(INPUT_POST, ['is_product_page' => FILTER_SANITIZE_STRING]); |
|
776 | + $should_show_itemized_view = ! isset($product_view_options['is_product_page']) ?: filter_var($product_view_options['is_product_page'], FILTER_VALIDATE_BOOLEAN); |
|
777 | 777 | |
778 | - $data = $this->get_shipping_options( $shipping_address, $should_show_itemized_view ); |
|
779 | - wp_send_json( $data ); |
|
778 | + $data = $this->get_shipping_options($shipping_address, $should_show_itemized_view); |
|
779 | + wp_send_json($data); |
|
780 | 780 | } |
781 | 781 | |
782 | 782 | /** |
@@ -788,66 +788,66 @@ discard block |
||
788 | 788 | * @return array Shipping options data. |
789 | 789 | * phpcs:ignore Squiz.Commenting.FunctionCommentThrowTag |
790 | 790 | */ |
791 | - public function get_shipping_options( $shipping_address, $itemized_display_items = false ) { |
|
791 | + public function get_shipping_options($shipping_address, $itemized_display_items = false) { |
|
792 | 792 | try { |
793 | 793 | // Set the shipping options. |
794 | 794 | $data = array(); |
795 | 795 | |
796 | 796 | // Remember current shipping method before resetting. |
797 | - $chosen_shipping_methods = WC()->session->get( 'chosen_shipping_methods' ); |
|
798 | - $this->calculate_shipping( apply_filters( 'wc_stripe_payment_request_shipping_posted_values', $shipping_address ) ); |
|
797 | + $chosen_shipping_methods = WC()->session->get('chosen_shipping_methods'); |
|
798 | + $this->calculate_shipping(apply_filters('wc_stripe_payment_request_shipping_posted_values', $shipping_address)); |
|
799 | 799 | |
800 | 800 | $packages = WC()->shipping->get_packages(); |
801 | 801 | |
802 | - if ( ! empty( $packages ) && WC()->customer->has_calculated_shipping() ) { |
|
803 | - foreach ( $packages as $package_key => $package ) { |
|
804 | - if ( empty( $package['rates'] ) ) { |
|
805 | - throw new Exception( __( 'Unable to find shipping method for address.', 'woocommerce-gateway-stripe' ) ); |
|
802 | + if ( ! empty($packages) && WC()->customer->has_calculated_shipping()) { |
|
803 | + foreach ($packages as $package_key => $package) { |
|
804 | + if (empty($package['rates'])) { |
|
805 | + throw new Exception(__('Unable to find shipping method for address.', 'woocommerce-gateway-stripe')); |
|
806 | 806 | } |
807 | 807 | |
808 | - foreach ( $package['rates'] as $key => $rate ) { |
|
808 | + foreach ($package['rates'] as $key => $rate) { |
|
809 | 809 | $data['shipping_options'][] = array( |
810 | 810 | 'id' => $rate->id, |
811 | 811 | 'label' => $rate->label, |
812 | 812 | 'detail' => '', |
813 | - 'amount' => WC_Stripe_Helper::get_stripe_amount( $rate->cost ), |
|
813 | + 'amount' => WC_Stripe_Helper::get_stripe_amount($rate->cost), |
|
814 | 814 | ); |
815 | 815 | } |
816 | 816 | } |
817 | 817 | } else { |
818 | - throw new Exception( __( 'Unable to find shipping method for address.', 'woocommerce-gateway-stripe' ) ); |
|
818 | + throw new Exception(__('Unable to find shipping method for address.', 'woocommerce-gateway-stripe')); |
|
819 | 819 | } |
820 | 820 | |
821 | 821 | // The first shipping option is automatically applied on the client. |
822 | 822 | // Keep chosen shipping method by sorting shipping options if the method still available for new address. |
823 | 823 | // Fallback to the first available shipping method. |
824 | - if ( isset( $data['shipping_options'][0] ) ) { |
|
825 | - if ( isset( $chosen_shipping_methods[0] ) ) { |
|
824 | + if (isset($data['shipping_options'][0])) { |
|
825 | + if (isset($chosen_shipping_methods[0])) { |
|
826 | 826 | $chosen_method_id = $chosen_shipping_methods[0]; |
827 | - $compare_shipping_options = function ( $a, $b ) use ( $chosen_method_id ) { |
|
828 | - if ( $a['id'] === $chosen_method_id ) { |
|
827 | + $compare_shipping_options = function($a, $b) use ($chosen_method_id) { |
|
828 | + if ($a['id'] === $chosen_method_id) { |
|
829 | 829 | return -1; |
830 | 830 | } |
831 | 831 | |
832 | - if ( $b['id'] === $chosen_method_id ) { |
|
832 | + if ($b['id'] === $chosen_method_id) { |
|
833 | 833 | return 1; |
834 | 834 | } |
835 | 835 | |
836 | 836 | return 0; |
837 | 837 | }; |
838 | - usort( $data['shipping_options'], $compare_shipping_options ); |
|
838 | + usort($data['shipping_options'], $compare_shipping_options); |
|
839 | 839 | } |
840 | 840 | |
841 | 841 | $first_shipping_method_id = $data['shipping_options'][0]['id']; |
842 | - $this->update_shipping_method( [ $first_shipping_method_id ] ); |
|
842 | + $this->update_shipping_method([$first_shipping_method_id]); |
|
843 | 843 | } |
844 | 844 | |
845 | 845 | WC()->cart->calculate_totals(); |
846 | 846 | |
847 | - $data += $this->build_display_items( $itemized_display_items ); |
|
847 | + $data += $this->build_display_items($itemized_display_items); |
|
848 | 848 | $data['result'] = 'success'; |
849 | - } catch ( Exception $e ) { |
|
850 | - $data += $this->build_display_items( $itemized_display_items ); |
|
849 | + } catch (Exception $e) { |
|
850 | + $data += $this->build_display_items($itemized_display_items); |
|
851 | 851 | $data['result'] = 'invalid_shipping_address'; |
852 | 852 | } |
853 | 853 | |
@@ -858,25 +858,25 @@ discard block |
||
858 | 858 | * Update shipping method. |
859 | 859 | */ |
860 | 860 | public function ajax_update_shipping_method() { |
861 | - check_ajax_referer( 'wc-stripe-update-shipping-method', 'security' ); |
|
861 | + check_ajax_referer('wc-stripe-update-shipping-method', 'security'); |
|
862 | 862 | |
863 | - if ( ! defined( 'WOOCOMMERCE_CART' ) ) { |
|
864 | - define( 'WOOCOMMERCE_CART', true ); |
|
863 | + if ( ! defined('WOOCOMMERCE_CART')) { |
|
864 | + define('WOOCOMMERCE_CART', true); |
|
865 | 865 | } |
866 | 866 | |
867 | - $shipping_methods = filter_input( INPUT_POST, 'shipping_method', FILTER_DEFAULT, FILTER_REQUIRE_ARRAY ); |
|
868 | - $this->update_shipping_method( $shipping_methods ); |
|
867 | + $shipping_methods = filter_input(INPUT_POST, 'shipping_method', FILTER_DEFAULT, FILTER_REQUIRE_ARRAY); |
|
868 | + $this->update_shipping_method($shipping_methods); |
|
869 | 869 | |
870 | 870 | WC()->cart->calculate_totals(); |
871 | 871 | |
872 | - $product_view_options = filter_input_array( INPUT_POST, [ 'is_product_page' => FILTER_SANITIZE_STRING ] ); |
|
873 | - $should_show_itemized_view = ! isset( $product_view_options['is_product_page'] ) ?: filter_var( $product_view_options['is_product_page'], FILTER_VALIDATE_BOOLEAN ); |
|
872 | + $product_view_options = filter_input_array(INPUT_POST, ['is_product_page' => FILTER_SANITIZE_STRING]); |
|
873 | + $should_show_itemized_view = ! isset($product_view_options['is_product_page']) ?: filter_var($product_view_options['is_product_page'], FILTER_VALIDATE_BOOLEAN); |
|
874 | 874 | |
875 | 875 | $data = array(); |
876 | - $data += $this->build_display_items( $should_show_itemized_view ); |
|
876 | + $data += $this->build_display_items($should_show_itemized_view); |
|
877 | 877 | $data['result'] = 'success'; |
878 | 878 | |
879 | - wp_send_json( $data ); |
|
879 | + wp_send_json($data); |
|
880 | 880 | } |
881 | 881 | |
882 | 882 | /** |
@@ -884,16 +884,16 @@ discard block |
||
884 | 884 | * |
885 | 885 | * @param array $shipping_methods Array of selected shipping methods ids. |
886 | 886 | */ |
887 | - public function update_shipping_method( $shipping_methods ) { |
|
888 | - $chosen_shipping_methods = WC()->session->get( 'chosen_shipping_methods' ); |
|
887 | + public function update_shipping_method($shipping_methods) { |
|
888 | + $chosen_shipping_methods = WC()->session->get('chosen_shipping_methods'); |
|
889 | 889 | |
890 | - if ( is_array( $shipping_methods ) ) { |
|
891 | - foreach ( $shipping_methods as $i => $value ) { |
|
892 | - $chosen_shipping_methods[ $i ] = wc_clean( $value ); |
|
890 | + if (is_array($shipping_methods)) { |
|
891 | + foreach ($shipping_methods as $i => $value) { |
|
892 | + $chosen_shipping_methods[$i] = wc_clean($value); |
|
893 | 893 | } |
894 | 894 | } |
895 | 895 | |
896 | - WC()->session->set( 'chosen_shipping_methods', $chosen_shipping_methods ); |
|
896 | + WC()->session->set('chosen_shipping_methods', $chosen_shipping_methods); |
|
897 | 897 | } |
898 | 898 | |
899 | 899 | /** |
@@ -904,38 +904,38 @@ discard block |
||
904 | 904 | * @return array $data |
905 | 905 | */ |
906 | 906 | public function ajax_get_selected_product_data() { |
907 | - check_ajax_referer( 'wc-stripe-get-selected-product-data', 'security' ); |
|
907 | + check_ajax_referer('wc-stripe-get-selected-product-data', 'security'); |
|
908 | 908 | |
909 | 909 | try { |
910 | - $product_id = absint( $_POST['product_id'] ); |
|
911 | - $qty = ! isset( $_POST['qty'] ) ? 1 : apply_filters( 'woocommerce_add_to_cart_quantity', absint( $_POST['qty'] ), $product_id ); |
|
912 | - $addon_value = isset( $_POST['addon_value'] ) ? max( floatval( $_POST['addon_value'] ), 0 ) : 0; |
|
913 | - $product = wc_get_product( $product_id ); |
|
910 | + $product_id = absint($_POST['product_id']); |
|
911 | + $qty = ! isset($_POST['qty']) ? 1 : apply_filters('woocommerce_add_to_cart_quantity', absint($_POST['qty']), $product_id); |
|
912 | + $addon_value = isset($_POST['addon_value']) ? max(floatval($_POST['addon_value']), 0) : 0; |
|
913 | + $product = wc_get_product($product_id); |
|
914 | 914 | $variation_id = null; |
915 | 915 | |
916 | - if ( ! is_a( $product, 'WC_Product' ) ) { |
|
917 | - throw new Exception( sprintf( __( 'Product with the ID (%d) cannot be found.', 'woocommerce-gateway-stripe' ), $product_id ) ); |
|
916 | + if ( ! is_a($product, 'WC_Product')) { |
|
917 | + throw new Exception(sprintf(__('Product with the ID (%d) cannot be found.', 'woocommerce-gateway-stripe'), $product_id)); |
|
918 | 918 | } |
919 | 919 | |
920 | - if ( 'variable' === $product->get_type() && isset( $_POST['attributes'] ) ) { |
|
921 | - $attributes = wc_clean( wp_unslash( $_POST['attributes'] ) ); |
|
920 | + if ('variable' === $product->get_type() && isset($_POST['attributes'])) { |
|
921 | + $attributes = wc_clean(wp_unslash($_POST['attributes'])); |
|
922 | 922 | |
923 | - $data_store = WC_Data_Store::load( 'product' ); |
|
924 | - $variation_id = $data_store->find_matching_product_variation( $product, $attributes ); |
|
923 | + $data_store = WC_Data_Store::load('product'); |
|
924 | + $variation_id = $data_store->find_matching_product_variation($product, $attributes); |
|
925 | 925 | |
926 | - if ( ! empty( $variation_id ) ) { |
|
927 | - $product = wc_get_product( $variation_id ); |
|
926 | + if ( ! empty($variation_id)) { |
|
927 | + $product = wc_get_product($variation_id); |
|
928 | 928 | } |
929 | 929 | } |
930 | 930 | |
931 | 931 | // Force quantity to 1 if sold individually and check for existing item in cart. |
932 | - if ( $product->is_sold_individually() ) { |
|
933 | - $qty = apply_filters( 'wc_stripe_payment_request_add_to_cart_sold_individually_quantity', 1, $qty, $product_id, $variation_id ); |
|
932 | + if ($product->is_sold_individually()) { |
|
933 | + $qty = apply_filters('wc_stripe_payment_request_add_to_cart_sold_individually_quantity', 1, $qty, $product_id, $variation_id); |
|
934 | 934 | } |
935 | 935 | |
936 | - if ( ! $product->has_enough_stock( $qty ) ) { |
|
936 | + if ( ! $product->has_enough_stock($qty)) { |
|
937 | 937 | /* translators: 1: product name 2: quantity in stock */ |
938 | - throw new Exception( sprintf( __( 'You cannot add that amount of "%1$s"; to the cart because there is not enough stock (%2$s remaining).', 'woocommerce-gateway-stripe' ), $product->get_name(), wc_format_stock_quantity_for_display( $product->get_stock_quantity(), $product ) ) ); |
|
938 | + throw new Exception(sprintf(__('You cannot add that amount of "%1$s"; to the cart because there is not enough stock (%2$s remaining).', 'woocommerce-gateway-stripe'), $product->get_name(), wc_format_stock_quantity_for_display($product->get_stock_quantity(), $product))); |
|
939 | 939 | } |
940 | 940 | |
941 | 941 | $total = $qty * $product->get_price() + $addon_value; |
@@ -947,27 +947,27 @@ discard block |
||
947 | 947 | |
948 | 948 | $items[] = array( |
949 | 949 | 'label' => $product->get_name() . $quantity_label, |
950 | - 'amount' => WC_Stripe_Helper::get_stripe_amount( $total ), |
|
950 | + 'amount' => WC_Stripe_Helper::get_stripe_amount($total), |
|
951 | 951 | ); |
952 | 952 | |
953 | - if ( wc_tax_enabled() ) { |
|
953 | + if (wc_tax_enabled()) { |
|
954 | 954 | $items[] = array( |
955 | - 'label' => __( 'Tax', 'woocommerce-gateway-stripe' ), |
|
955 | + 'label' => __('Tax', 'woocommerce-gateway-stripe'), |
|
956 | 956 | 'amount' => 0, |
957 | 957 | 'pending' => true, |
958 | 958 | ); |
959 | 959 | } |
960 | 960 | |
961 | - if ( wc_shipping_enabled() && $product->needs_shipping() ) { |
|
961 | + if (wc_shipping_enabled() && $product->needs_shipping()) { |
|
962 | 962 | $items[] = array( |
963 | - 'label' => __( 'Shipping', 'woocommerce-gateway-stripe' ), |
|
963 | + 'label' => __('Shipping', 'woocommerce-gateway-stripe'), |
|
964 | 964 | 'amount' => 0, |
965 | 965 | 'pending' => true, |
966 | 966 | ); |
967 | 967 | |
968 | 968 | $data['shippingOptions'] = array( |
969 | 969 | 'id' => 'pending', |
970 | - 'label' => __( 'Pending', 'woocommerce-gateway-stripe' ), |
|
970 | + 'label' => __('Pending', 'woocommerce-gateway-stripe'), |
|
971 | 971 | 'detail' => '', |
972 | 972 | 'amount' => 0, |
973 | 973 | ); |
@@ -976,17 +976,17 @@ discard block |
||
976 | 976 | $data['displayItems'] = $items; |
977 | 977 | $data['total'] = array( |
978 | 978 | 'label' => $this->total_label, |
979 | - 'amount' => WC_Stripe_Helper::get_stripe_amount( $total ), |
|
979 | + 'amount' => WC_Stripe_Helper::get_stripe_amount($total), |
|
980 | 980 | 'pending' => true, |
981 | 981 | ); |
982 | 982 | |
983 | - $data['requestShipping'] = ( wc_shipping_enabled() && $product->needs_shipping() ); |
|
984 | - $data['currency'] = strtolower( get_woocommerce_currency() ); |
|
985 | - $data['country_code'] = substr( get_option( 'woocommerce_default_country' ), 0, 2 ); |
|
983 | + $data['requestShipping'] = (wc_shipping_enabled() && $product->needs_shipping()); |
|
984 | + $data['currency'] = strtolower(get_woocommerce_currency()); |
|
985 | + $data['country_code'] = substr(get_option('woocommerce_default_country'), 0, 2); |
|
986 | 986 | |
987 | - wp_send_json( $data ); |
|
988 | - } catch ( Exception $e ) { |
|
989 | - wp_send_json( array( 'error' => wp_strip_all_tags( $e->getMessage() ) ) ); |
|
987 | + wp_send_json($data); |
|
988 | + } catch (Exception $e) { |
|
989 | + wp_send_json(array('error' => wp_strip_all_tags($e->getMessage()))); |
|
990 | 990 | } |
991 | 991 | } |
992 | 992 | |
@@ -998,33 +998,33 @@ discard block |
||
998 | 998 | * @return array $data |
999 | 999 | */ |
1000 | 1000 | public function ajax_add_to_cart() { |
1001 | - check_ajax_referer( 'wc-stripe-add-to-cart', 'security' ); |
|
1001 | + check_ajax_referer('wc-stripe-add-to-cart', 'security'); |
|
1002 | 1002 | |
1003 | - if ( ! defined( 'WOOCOMMERCE_CART' ) ) { |
|
1004 | - define( 'WOOCOMMERCE_CART', true ); |
|
1003 | + if ( ! defined('WOOCOMMERCE_CART')) { |
|
1004 | + define('WOOCOMMERCE_CART', true); |
|
1005 | 1005 | } |
1006 | 1006 | |
1007 | 1007 | WC()->shipping->reset_shipping(); |
1008 | 1008 | |
1009 | - $product_id = absint( $_POST['product_id'] ); |
|
1010 | - $qty = ! isset( $_POST['qty'] ) ? 1 : absint( $_POST['qty'] ); |
|
1011 | - $product = wc_get_product( $product_id ); |
|
1009 | + $product_id = absint($_POST['product_id']); |
|
1010 | + $qty = ! isset($_POST['qty']) ? 1 : absint($_POST['qty']); |
|
1011 | + $product = wc_get_product($product_id); |
|
1012 | 1012 | $product_type = $product->get_type(); |
1013 | 1013 | |
1014 | 1014 | // First empty the cart to prevent wrong calculation. |
1015 | 1015 | WC()->cart->empty_cart(); |
1016 | 1016 | |
1017 | - if ( ( 'variable' === $product_type || 'variable-subscription' === $product_type ) && isset( $_POST['attributes'] ) ) { |
|
1018 | - $attributes = wc_clean( wp_unslash( $_POST['attributes'] ) ); |
|
1017 | + if (('variable' === $product_type || 'variable-subscription' === $product_type) && isset($_POST['attributes'])) { |
|
1018 | + $attributes = wc_clean(wp_unslash($_POST['attributes'])); |
|
1019 | 1019 | |
1020 | - $data_store = WC_Data_Store::load( 'product' ); |
|
1021 | - $variation_id = $data_store->find_matching_product_variation( $product, $attributes ); |
|
1020 | + $data_store = WC_Data_Store::load('product'); |
|
1021 | + $variation_id = $data_store->find_matching_product_variation($product, $attributes); |
|
1022 | 1022 | |
1023 | - WC()->cart->add_to_cart( $product->get_id(), $qty, $variation_id, $attributes ); |
|
1023 | + WC()->cart->add_to_cart($product->get_id(), $qty, $variation_id, $attributes); |
|
1024 | 1024 | } |
1025 | 1025 | |
1026 | - if ( 'simple' === $product_type || 'subscription' === $product_type ) { |
|
1027 | - WC()->cart->add_to_cart( $product->get_id(), $qty ); |
|
1026 | + if ('simple' === $product_type || 'subscription' === $product_type) { |
|
1027 | + WC()->cart->add_to_cart($product->get_id(), $qty); |
|
1028 | 1028 | } |
1029 | 1029 | |
1030 | 1030 | WC()->cart->calculate_totals(); |
@@ -1033,7 +1033,7 @@ discard block |
||
1033 | 1033 | $data += $this->build_display_items(); |
1034 | 1034 | $data['result'] = 'success'; |
1035 | 1035 | |
1036 | - wp_send_json( $data ); |
|
1036 | + wp_send_json($data); |
|
1037 | 1037 | } |
1038 | 1038 | |
1039 | 1039 | /** |
@@ -1046,31 +1046,31 @@ discard block |
||
1046 | 1046 | * @version 4.0.0 |
1047 | 1047 | */ |
1048 | 1048 | public function normalize_state() { |
1049 | - $billing_country = ! empty( $_POST['billing_country'] ) ? wc_clean( $_POST['billing_country'] ) : ''; |
|
1050 | - $shipping_country = ! empty( $_POST['shipping_country'] ) ? wc_clean( $_POST['shipping_country'] ) : ''; |
|
1051 | - $billing_state = ! empty( $_POST['billing_state'] ) ? wc_clean( $_POST['billing_state'] ) : ''; |
|
1052 | - $shipping_state = ! empty( $_POST['shipping_state'] ) ? wc_clean( $_POST['shipping_state'] ) : ''; |
|
1049 | + $billing_country = ! empty($_POST['billing_country']) ? wc_clean($_POST['billing_country']) : ''; |
|
1050 | + $shipping_country = ! empty($_POST['shipping_country']) ? wc_clean($_POST['shipping_country']) : ''; |
|
1051 | + $billing_state = ! empty($_POST['billing_state']) ? wc_clean($_POST['billing_state']) : ''; |
|
1052 | + $shipping_state = ! empty($_POST['shipping_state']) ? wc_clean($_POST['shipping_state']) : ''; |
|
1053 | 1053 | |
1054 | - if ( $billing_state && $billing_country ) { |
|
1055 | - $valid_states = WC()->countries->get_states( $billing_country ); |
|
1054 | + if ($billing_state && $billing_country) { |
|
1055 | + $valid_states = WC()->countries->get_states($billing_country); |
|
1056 | 1056 | |
1057 | 1057 | // Valid states found for country. |
1058 | - if ( ! empty( $valid_states ) && is_array( $valid_states ) && sizeof( $valid_states ) > 0 ) { |
|
1059 | - foreach ( $valid_states as $state_abbr => $state ) { |
|
1060 | - if ( preg_match( '/' . preg_quote( $state ) . '/i', $billing_state ) ) { |
|
1058 | + if ( ! empty($valid_states) && is_array($valid_states) && sizeof($valid_states) > 0) { |
|
1059 | + foreach ($valid_states as $state_abbr => $state) { |
|
1060 | + if (preg_match('/' . preg_quote($state) . '/i', $billing_state)) { |
|
1061 | 1061 | $_POST['billing_state'] = $state_abbr; |
1062 | 1062 | } |
1063 | 1063 | } |
1064 | 1064 | } |
1065 | 1065 | } |
1066 | 1066 | |
1067 | - if ( $shipping_state && $shipping_country ) { |
|
1068 | - $valid_states = WC()->countries->get_states( $shipping_country ); |
|
1067 | + if ($shipping_state && $shipping_country) { |
|
1068 | + $valid_states = WC()->countries->get_states($shipping_country); |
|
1069 | 1069 | |
1070 | 1070 | // Valid states found for country. |
1071 | - if ( ! empty( $valid_states ) && is_array( $valid_states ) && sizeof( $valid_states ) > 0 ) { |
|
1072 | - foreach ( $valid_states as $state_abbr => $state ) { |
|
1073 | - if ( preg_match( '/' . preg_quote( $state ) . '/i', $shipping_state ) ) { |
|
1071 | + if ( ! empty($valid_states) && is_array($valid_states) && sizeof($valid_states) > 0) { |
|
1072 | + foreach ($valid_states as $state_abbr => $state) { |
|
1073 | + if (preg_match('/' . preg_quote($state) . '/i', $shipping_state)) { |
|
1074 | 1074 | $_POST['shipping_state'] = $state_abbr; |
1075 | 1075 | } |
1076 | 1076 | } |
@@ -1085,19 +1085,19 @@ discard block |
||
1085 | 1085 | * @version 4.0.0 |
1086 | 1086 | */ |
1087 | 1087 | public function ajax_create_order() { |
1088 | - if ( WC()->cart->is_empty() ) { |
|
1089 | - wp_send_json_error( __( 'Empty cart', 'woocommerce-gateway-stripe' ) ); |
|
1088 | + if (WC()->cart->is_empty()) { |
|
1089 | + wp_send_json_error(__('Empty cart', 'woocommerce-gateway-stripe')); |
|
1090 | 1090 | } |
1091 | 1091 | |
1092 | - if ( ! defined( 'WOOCOMMERCE_CHECKOUT' ) ) { |
|
1093 | - define( 'WOOCOMMERCE_CHECKOUT', true ); |
|
1092 | + if ( ! defined('WOOCOMMERCE_CHECKOUT')) { |
|
1093 | + define('WOOCOMMERCE_CHECKOUT', true); |
|
1094 | 1094 | } |
1095 | 1095 | |
1096 | 1096 | $this->normalize_state(); |
1097 | 1097 | |
1098 | 1098 | WC()->checkout()->process_checkout(); |
1099 | 1099 | |
1100 | - die( 0 ); |
|
1100 | + die(0); |
|
1101 | 1101 | } |
1102 | 1102 | |
1103 | 1103 | /** |
@@ -1107,38 +1107,38 @@ discard block |
||
1107 | 1107 | * @version 4.0.0 |
1108 | 1108 | * @param array $address |
1109 | 1109 | */ |
1110 | - protected function calculate_shipping( $address = array() ) { |
|
1110 | + protected function calculate_shipping($address = array()) { |
|
1111 | 1111 | $country = $address['country']; |
1112 | 1112 | $state = $address['state']; |
1113 | 1113 | $postcode = $address['postcode']; |
1114 | 1114 | $city = $address['city']; |
1115 | 1115 | $address_1 = $address['address']; |
1116 | 1116 | $address_2 = $address['address_2']; |
1117 | - $wc_states = WC()->countries->get_states( $country ); |
|
1117 | + $wc_states = WC()->countries->get_states($country); |
|
1118 | 1118 | |
1119 | 1119 | /** |
1120 | 1120 | * In some versions of Chrome, state can be a full name. So we need |
1121 | 1121 | * to convert that to abbreviation as WC is expecting that. |
1122 | 1122 | */ |
1123 | - if ( 2 < strlen( $state ) && ! empty( $wc_states ) && ! isset( $wc_states[ $state ] ) ) { |
|
1124 | - $state = array_search( ucwords( strtolower( $state ) ), $wc_states, true ); |
|
1123 | + if (2 < strlen($state) && ! empty($wc_states) && ! isset($wc_states[$state])) { |
|
1124 | + $state = array_search(ucwords(strtolower($state)), $wc_states, true); |
|
1125 | 1125 | } |
1126 | 1126 | |
1127 | 1127 | WC()->shipping->reset_shipping(); |
1128 | 1128 | |
1129 | - if ( $postcode && WC_Validation::is_postcode( $postcode, $country ) ) { |
|
1130 | - $postcode = wc_format_postcode( $postcode, $country ); |
|
1129 | + if ($postcode && WC_Validation::is_postcode($postcode, $country)) { |
|
1130 | + $postcode = wc_format_postcode($postcode, $country); |
|
1131 | 1131 | } |
1132 | 1132 | |
1133 | - if ( $country ) { |
|
1134 | - WC()->customer->set_location( $country, $state, $postcode, $city ); |
|
1135 | - WC()->customer->set_shipping_location( $country, $state, $postcode, $city ); |
|
1133 | + if ($country) { |
|
1134 | + WC()->customer->set_location($country, $state, $postcode, $city); |
|
1135 | + WC()->customer->set_shipping_location($country, $state, $postcode, $city); |
|
1136 | 1136 | } else { |
1137 | 1137 | WC()->customer->set_billing_address_to_base(); |
1138 | 1138 | WC()->customer->set_shipping_address_to_base(); |
1139 | 1139 | } |
1140 | 1140 | |
1141 | - WC()->customer->set_calculated_shipping( true ); |
|
1141 | + WC()->customer->set_calculated_shipping(true); |
|
1142 | 1142 | WC()->customer->save(); |
1143 | 1143 | |
1144 | 1144 | $packages = array(); |
@@ -1154,17 +1154,17 @@ discard block |
||
1154 | 1154 | $packages[0]['destination']['address'] = $address_1; |
1155 | 1155 | $packages[0]['destination']['address_2'] = $address_2; |
1156 | 1156 | |
1157 | - foreach ( WC()->cart->get_cart() as $item ) { |
|
1158 | - if ( $item['data']->needs_shipping() ) { |
|
1159 | - if ( isset( $item['line_total'] ) ) { |
|
1157 | + foreach (WC()->cart->get_cart() as $item) { |
|
1158 | + if ($item['data']->needs_shipping()) { |
|
1159 | + if (isset($item['line_total'])) { |
|
1160 | 1160 | $packages[0]['contents_cost'] += $item['line_total']; |
1161 | 1161 | } |
1162 | 1162 | } |
1163 | 1163 | } |
1164 | 1164 | |
1165 | - $packages = apply_filters( 'woocommerce_cart_shipping_packages', $packages ); |
|
1165 | + $packages = apply_filters('woocommerce_cart_shipping_packages', $packages); |
|
1166 | 1166 | |
1167 | - WC()->shipping->calculate_shipping( $packages ); |
|
1167 | + WC()->shipping->calculate_shipping($packages); |
|
1168 | 1168 | } |
1169 | 1169 | |
1170 | 1170 | /** |
@@ -1173,19 +1173,19 @@ discard block |
||
1173 | 1173 | * @since 3.1.0 |
1174 | 1174 | * @version 4.0.0 |
1175 | 1175 | */ |
1176 | - protected function build_shipping_methods( $shipping_methods ) { |
|
1177 | - if ( empty( $shipping_methods ) ) { |
|
1176 | + protected function build_shipping_methods($shipping_methods) { |
|
1177 | + if (empty($shipping_methods)) { |
|
1178 | 1178 | return array(); |
1179 | 1179 | } |
1180 | 1180 | |
1181 | 1181 | $shipping = array(); |
1182 | 1182 | |
1183 | - foreach ( $shipping_methods as $method ) { |
|
1183 | + foreach ($shipping_methods as $method) { |
|
1184 | 1184 | $shipping[] = array( |
1185 | 1185 | 'id' => $method['id'], |
1186 | 1186 | 'label' => $method['label'], |
1187 | 1187 | 'detail' => '', |
1188 | - 'amount' => WC_Stripe_Helper::get_stripe_amount( $method['amount']['value'] ), |
|
1188 | + 'amount' => WC_Stripe_Helper::get_stripe_amount($method['amount']['value']), |
|
1189 | 1189 | ); |
1190 | 1190 | } |
1191 | 1191 | |
@@ -1198,9 +1198,9 @@ discard block |
||
1198 | 1198 | * @since 3.1.0 |
1199 | 1199 | * @version 4.0.0 |
1200 | 1200 | */ |
1201 | - protected function build_display_items( $itemized_display_items = false ) { |
|
1202 | - if ( ! defined( 'WOOCOMMERCE_CART' ) ) { |
|
1203 | - define( 'WOOCOMMERCE_CART', true ); |
|
1201 | + protected function build_display_items($itemized_display_items = false) { |
|
1202 | + if ( ! defined('WOOCOMMERCE_CART')) { |
|
1203 | + define('WOOCOMMERCE_CART', true); |
|
1204 | 1204 | } |
1205 | 1205 | |
1206 | 1206 | $items = array(); |
@@ -1208,8 +1208,8 @@ discard block |
||
1208 | 1208 | $discounts = 0; |
1209 | 1209 | |
1210 | 1210 | // Default show only subtotal instead of itemization. |
1211 | - if ( ! apply_filters( 'wc_stripe_payment_request_hide_itemization', true ) || $itemized_display_items ) { |
|
1212 | - foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) { |
|
1211 | + if ( ! apply_filters('wc_stripe_payment_request_hide_itemization', true) || $itemized_display_items) { |
|
1212 | + foreach (WC()->cart->get_cart() as $cart_item_key => $cart_item) { |
|
1213 | 1213 | $amount = $cart_item['line_subtotal']; |
1214 | 1214 | $subtotal += $cart_item['line_subtotal']; |
1215 | 1215 | $quantity_label = 1 < $cart_item['quantity'] ? ' (x' . $cart_item['quantity'] . ')' : ''; |
@@ -1218,61 +1218,61 @@ discard block |
||
1218 | 1218 | |
1219 | 1219 | $item = array( |
1220 | 1220 | 'label' => $product_name . $quantity_label, |
1221 | - 'amount' => WC_Stripe_Helper::get_stripe_amount( $amount ), |
|
1221 | + 'amount' => WC_Stripe_Helper::get_stripe_amount($amount), |
|
1222 | 1222 | ); |
1223 | 1223 | |
1224 | 1224 | $items[] = $item; |
1225 | 1225 | } |
1226 | 1226 | } |
1227 | 1227 | |
1228 | - if ( version_compare( WC_VERSION, '3.2', '<' ) ) { |
|
1229 | - $discounts = wc_format_decimal( WC()->cart->get_cart_discount_total(), WC()->cart->dp ); |
|
1228 | + if (version_compare(WC_VERSION, '3.2', '<')) { |
|
1229 | + $discounts = wc_format_decimal(WC()->cart->get_cart_discount_total(), WC()->cart->dp); |
|
1230 | 1230 | } else { |
1231 | - $applied_coupons = array_values( WC()->cart->get_coupon_discount_totals() ); |
|
1231 | + $applied_coupons = array_values(WC()->cart->get_coupon_discount_totals()); |
|
1232 | 1232 | |
1233 | - foreach ( $applied_coupons as $amount ) { |
|
1233 | + foreach ($applied_coupons as $amount) { |
|
1234 | 1234 | $discounts += (float) $amount; |
1235 | 1235 | } |
1236 | 1236 | } |
1237 | 1237 | |
1238 | - $discounts = wc_format_decimal( $discounts, WC()->cart->dp ); |
|
1239 | - $tax = wc_format_decimal( WC()->cart->tax_total + WC()->cart->shipping_tax_total, WC()->cart->dp ); |
|
1240 | - $shipping = wc_format_decimal( WC()->cart->shipping_total, WC()->cart->dp ); |
|
1241 | - $items_total = wc_format_decimal( WC()->cart->cart_contents_total, WC()->cart->dp ) + $discounts; |
|
1242 | - $order_total = version_compare( WC_VERSION, '3.2', '<' ) ? wc_format_decimal( $items_total + $tax + $shipping - $discounts, WC()->cart->dp ) : WC()->cart->get_total( false ); |
|
1238 | + $discounts = wc_format_decimal($discounts, WC()->cart->dp); |
|
1239 | + $tax = wc_format_decimal(WC()->cart->tax_total + WC()->cart->shipping_tax_total, WC()->cart->dp); |
|
1240 | + $shipping = wc_format_decimal(WC()->cart->shipping_total, WC()->cart->dp); |
|
1241 | + $items_total = wc_format_decimal(WC()->cart->cart_contents_total, WC()->cart->dp) + $discounts; |
|
1242 | + $order_total = version_compare(WC_VERSION, '3.2', '<') ? wc_format_decimal($items_total + $tax + $shipping - $discounts, WC()->cart->dp) : WC()->cart->get_total(false); |
|
1243 | 1243 | |
1244 | - if ( wc_tax_enabled() ) { |
|
1244 | + if (wc_tax_enabled()) { |
|
1245 | 1245 | $items[] = array( |
1246 | - 'label' => esc_html( __( 'Tax', 'woocommerce-gateway-stripe' ) ), |
|
1247 | - 'amount' => WC_Stripe_Helper::get_stripe_amount( $tax ), |
|
1246 | + 'label' => esc_html(__('Tax', 'woocommerce-gateway-stripe')), |
|
1247 | + 'amount' => WC_Stripe_Helper::get_stripe_amount($tax), |
|
1248 | 1248 | ); |
1249 | 1249 | } |
1250 | 1250 | |
1251 | - if ( WC()->cart->needs_shipping() ) { |
|
1251 | + if (WC()->cart->needs_shipping()) { |
|
1252 | 1252 | $items[] = array( |
1253 | - 'label' => esc_html( __( 'Shipping', 'woocommerce-gateway-stripe' ) ), |
|
1254 | - 'amount' => WC_Stripe_Helper::get_stripe_amount( $shipping ), |
|
1253 | + 'label' => esc_html(__('Shipping', 'woocommerce-gateway-stripe')), |
|
1254 | + 'amount' => WC_Stripe_Helper::get_stripe_amount($shipping), |
|
1255 | 1255 | ); |
1256 | 1256 | } |
1257 | 1257 | |
1258 | - if ( WC()->cart->has_discount() ) { |
|
1258 | + if (WC()->cart->has_discount()) { |
|
1259 | 1259 | $items[] = array( |
1260 | - 'label' => esc_html( __( 'Discount', 'woocommerce-gateway-stripe' ) ), |
|
1261 | - 'amount' => WC_Stripe_Helper::get_stripe_amount( $discounts ), |
|
1260 | + 'label' => esc_html(__('Discount', 'woocommerce-gateway-stripe')), |
|
1261 | + 'amount' => WC_Stripe_Helper::get_stripe_amount($discounts), |
|
1262 | 1262 | ); |
1263 | 1263 | } |
1264 | 1264 | |
1265 | - if ( version_compare( WC_VERSION, '3.2', '<' ) ) { |
|
1265 | + if (version_compare(WC_VERSION, '3.2', '<')) { |
|
1266 | 1266 | $cart_fees = WC()->cart->fees; |
1267 | 1267 | } else { |
1268 | 1268 | $cart_fees = WC()->cart->get_fees(); |
1269 | 1269 | } |
1270 | 1270 | |
1271 | 1271 | // Include fees and taxes as display items. |
1272 | - foreach ( $cart_fees as $key => $fee ) { |
|
1272 | + foreach ($cart_fees as $key => $fee) { |
|
1273 | 1273 | $items[] = array( |
1274 | 1274 | 'label' => $fee->name, |
1275 | - 'amount' => WC_Stripe_Helper::get_stripe_amount( $fee->amount ), |
|
1275 | + 'amount' => WC_Stripe_Helper::get_stripe_amount($fee->amount), |
|
1276 | 1276 | ); |
1277 | 1277 | } |
1278 | 1278 | |
@@ -1280,7 +1280,7 @@ discard block |
||
1280 | 1280 | 'displayItems' => $items, |
1281 | 1281 | 'total' => array( |
1282 | 1282 | 'label' => $this->total_label, |
1283 | - 'amount' => max( 0, apply_filters( 'woocommerce_stripe_calculated_total', WC_Stripe_Helper::get_stripe_amount( $order_total ), $order_total, WC()->cart ) ), |
|
1283 | + 'amount' => max(0, apply_filters('woocommerce_stripe_calculated_total', WC_Stripe_Helper::get_stripe_amount($order_total), $order_total, WC()->cart)), |
|
1284 | 1284 | 'pending' => false, |
1285 | 1285 | ), |
1286 | 1286 | ); |
@@ -1,10 +1,10 @@ discard block |
||
1 | 1 | <?php |
2 | 2 | |
3 | -if ( ! defined( 'ABSPATH' ) ) { |
|
3 | +if ( ! defined('ABSPATH')) { |
|
4 | 4 | exit; |
5 | 5 | } |
6 | 6 | |
7 | -if ( ! class_exists( 'WC_Stripe_Connect_REST_Oauth_Connect_Controller' ) ) { |
|
7 | +if ( ! class_exists('WC_Stripe_Connect_REST_Oauth_Connect_Controller')) { |
|
8 | 8 | /** |
9 | 9 | * Stripe Connect Oauth Connect controller class. |
10 | 10 | */ |
@@ -30,9 +30,9 @@ discard block |
||
30 | 30 | * @param WC_Stripe_Connect $connect stripe connect. |
31 | 31 | * @param WC_Stripe_Connect_API $api stripe connect api. |
32 | 32 | */ |
33 | - public function __construct( WC_Stripe_Connect $connect, WC_Stripe_Connect_API $api ) { |
|
33 | + public function __construct(WC_Stripe_Connect $connect, WC_Stripe_Connect_API $api) { |
|
34 | 34 | |
35 | - parent::__construct( $api ); |
|
35 | + parent::__construct($api); |
|
36 | 36 | |
37 | 37 | $this->connect = $connect; |
38 | 38 | } |
@@ -44,19 +44,19 @@ discard block |
||
44 | 44 | * |
45 | 45 | * @return array|WP_Error |
46 | 46 | */ |
47 | - public function post( $request ) { |
|
47 | + public function post($request) { |
|
48 | 48 | |
49 | 49 | $data = $request->get_json_params(); |
50 | - $response = $this->connect->connect_oauth( $data['state'], $data['code'] ); |
|
50 | + $response = $this->connect->connect_oauth($data['state'], $data['code']); |
|
51 | 51 | |
52 | - if ( is_wp_error( $response ) ) { |
|
52 | + if (is_wp_error($response)) { |
|
53 | 53 | |
54 | - WC_Stripe_Logger::log( $response, __CLASS__ ); |
|
54 | + WC_Stripe_Logger::log($response, __CLASS__); |
|
55 | 55 | |
56 | 56 | return new WP_Error( |
57 | 57 | $response->get_error_code(), |
58 | 58 | $response->get_error_message(), |
59 | - array( 'status' => 400 ) |
|
59 | + array('status' => 400) |
|
60 | 60 | ); |
61 | 61 | } |
62 | 62 |
@@ -1,10 +1,10 @@ discard block |
||
1 | 1 | <?php |
2 | 2 | |
3 | -if ( ! defined( 'ABSPATH' ) ) { |
|
3 | +if ( ! defined('ABSPATH')) { |
|
4 | 4 | exit; |
5 | 5 | } |
6 | 6 | |
7 | -if ( ! class_exists( 'WC_Stripe_Connect_REST_Controller' ) ) { |
|
7 | +if ( ! class_exists('WC_Stripe_Connect_REST_Controller')) { |
|
8 | 8 | /** |
9 | 9 | * Stripe Connect base REST controller class. |
10 | 10 | */ |
@@ -29,7 +29,7 @@ discard block |
||
29 | 29 | * |
30 | 30 | * @param WC_Stripe_Connect_API $api stripe connect api. |
31 | 31 | */ |
32 | - public function __construct( WC_Stripe_Connect_API $api ) { |
|
32 | + public function __construct(WC_Stripe_Connect_API $api) { |
|
33 | 33 | |
34 | 34 | $this->api = $api; |
35 | 35 | } |
@@ -39,43 +39,43 @@ discard block |
||
39 | 39 | */ |
40 | 40 | public function register_routes() { |
41 | 41 | |
42 | - if ( method_exists( $this, 'get' ) ) { |
|
42 | + if (method_exists($this, 'get')) { |
|
43 | 43 | register_rest_route( |
44 | 44 | $this->namespace, |
45 | 45 | '/' . $this->rest_base, |
46 | 46 | array( |
47 | 47 | array( |
48 | 48 | 'methods' => 'GET', |
49 | - 'callback' => array( $this, 'get_internal' ), |
|
50 | - 'permission_callback' => array( $this, 'check_permission' ), |
|
49 | + 'callback' => array($this, 'get_internal'), |
|
50 | + 'permission_callback' => array($this, 'check_permission'), |
|
51 | 51 | ), |
52 | 52 | ) |
53 | 53 | ); |
54 | 54 | } |
55 | 55 | |
56 | - if ( method_exists( $this, 'post' ) ) { |
|
56 | + if (method_exists($this, 'post')) { |
|
57 | 57 | register_rest_route( |
58 | 58 | $this->namespace, |
59 | 59 | '/' . $this->rest_base, |
60 | 60 | array( |
61 | 61 | array( |
62 | 62 | 'methods' => 'POST', |
63 | - 'callback' => array( $this, 'post_internal' ), |
|
64 | - 'permission_callback' => array( $this, 'check_permission' ), |
|
63 | + 'callback' => array($this, 'post_internal'), |
|
64 | + 'permission_callback' => array($this, 'check_permission'), |
|
65 | 65 | ), |
66 | 66 | ) |
67 | 67 | ); |
68 | 68 | } |
69 | 69 | |
70 | - if ( method_exists( $this, 'delete' ) ) { |
|
70 | + if (method_exists($this, 'delete')) { |
|
71 | 71 | register_rest_route( |
72 | 72 | $this->namespace, |
73 | 73 | '/' . $this->rest_base, |
74 | 74 | array( |
75 | 75 | array( |
76 | 76 | 'methods' => 'DELETE', |
77 | - 'callback' => array( $this, 'delete_internal' ), |
|
78 | - 'permission_callback' => array( $this, 'check_permission' ), |
|
77 | + 'callback' => array($this, 'delete_internal'), |
|
78 | + 'permission_callback' => array($this, 'check_permission'), |
|
79 | 79 | ), |
80 | 80 | ) |
81 | 81 | ); |
@@ -89,11 +89,11 @@ discard block |
||
89 | 89 | * |
90 | 90 | * @return array |
91 | 91 | */ |
92 | - public function get_internal( $request ) { |
|
92 | + public function get_internal($request) { |
|
93 | 93 | |
94 | 94 | $this->prevent_route_caching(); |
95 | 95 | |
96 | - return $this->get( $request ); |
|
96 | + return $this->get($request); |
|
97 | 97 | } |
98 | 98 | |
99 | 99 | /** |
@@ -103,11 +103,11 @@ discard block |
||
103 | 103 | * |
104 | 104 | * @return array |
105 | 105 | */ |
106 | - public function post_internal( $request ) { |
|
106 | + public function post_internal($request) { |
|
107 | 107 | |
108 | 108 | $this->prevent_route_caching(); |
109 | 109 | |
110 | - return $this->post( $request ); |
|
110 | + return $this->post($request); |
|
111 | 111 | } |
112 | 112 | |
113 | 113 | /** |
@@ -117,11 +117,11 @@ discard block |
||
117 | 117 | * |
118 | 118 | * @return array |
119 | 119 | */ |
120 | - public function delete_internal( $request ) { |
|
120 | + public function delete_internal($request) { |
|
121 | 121 | |
122 | 122 | $this->prevent_route_caching(); |
123 | 123 | |
124 | - return $this->delete( $request ); |
|
124 | + return $this->delete($request); |
|
125 | 125 | } |
126 | 126 | |
127 | 127 | /** |
@@ -131,9 +131,9 @@ discard block |
||
131 | 131 | * |
132 | 132 | * @return bool |
133 | 133 | */ |
134 | - public function check_permission( $request ) { |
|
134 | + public function check_permission($request) { |
|
135 | 135 | |
136 | - return current_user_can( 'manage_woocommerce' ); |
|
136 | + return current_user_can('manage_woocommerce'); |
|
137 | 137 | } |
138 | 138 | |
139 | 139 | /** |
@@ -141,12 +141,12 @@ discard block |
||
141 | 141 | */ |
142 | 142 | public function prevent_route_caching() { |
143 | 143 | |
144 | - if ( ! defined( 'DONOTCACHEPAGE' ) ) { |
|
145 | - define( 'DONOTCACHEPAGE', true ); // Play nice with WP-Super-Cache. |
|
144 | + if ( ! defined('DONOTCACHEPAGE')) { |
|
145 | + define('DONOTCACHEPAGE', true); // Play nice with WP-Super-Cache. |
|
146 | 146 | } |
147 | 147 | |
148 | 148 | // Prevent our REST API endpoint responses from being added to browser cache. |
149 | - add_filter( 'rest_post_dispatch', array( $this, 'send_nocache_header' ), PHP_INT_MAX, 2 ); |
|
149 | + add_filter('rest_post_dispatch', array($this, 'send_nocache_header'), PHP_INT_MAX, 2); |
|
150 | 150 | } |
151 | 151 | |
152 | 152 | /** |
@@ -160,9 +160,9 @@ discard block |
||
160 | 160 | * |
161 | 161 | * @return WP_REST_Response passthrough $response parameter |
162 | 162 | */ |
163 | - public function send_nocache_header( $response, $server ) { |
|
163 | + public function send_nocache_header($response, $server) { |
|
164 | 164 | |
165 | - $server->send_header( 'Cache-Control', 'no-cache, must-revalidate, max-age=0' ); |
|
165 | + $server->send_header('Cache-Control', 'no-cache, must-revalidate, max-age=0'); |
|
166 | 166 | |
167 | 167 | return $response; |
168 | 168 | } |
@@ -1,10 +1,10 @@ discard block |
||
1 | 1 | <?php |
2 | 2 | |
3 | -if ( ! defined( 'ABSPATH' ) ) { |
|
3 | +if ( ! defined('ABSPATH')) { |
|
4 | 4 | exit; |
5 | 5 | } |
6 | 6 | |
7 | -if ( ! class_exists( 'WC_Stripe_Connect_REST_Oauth_Init_Controller' ) ) { |
|
7 | +if ( ! class_exists('WC_Stripe_Connect_REST_Oauth_Init_Controller')) { |
|
8 | 8 | /** |
9 | 9 | * Stripe Connect Oauth Init controller class. |
10 | 10 | */ |
@@ -30,9 +30,9 @@ discard block |
||
30 | 30 | * @param WC_Stripe_Connect $connect stripe connect. |
31 | 31 | * @param WC_Stripe_Connect_API $api stripe connect api. |
32 | 32 | */ |
33 | - public function __construct( WC_Stripe_Connect $connect, WC_Stripe_Connect_API $api ) { |
|
33 | + public function __construct(WC_Stripe_Connect $connect, WC_Stripe_Connect_API $api) { |
|
34 | 34 | |
35 | - parent::__construct( $api ); |
|
35 | + parent::__construct($api); |
|
36 | 36 | |
37 | 37 | $this->connect = $connect; |
38 | 38 | } |
@@ -44,19 +44,19 @@ discard block |
||
44 | 44 | * |
45 | 45 | * @return array|WP_Error |
46 | 46 | */ |
47 | - public function post( $request ) { |
|
47 | + public function post($request) { |
|
48 | 48 | |
49 | 49 | $data = $request->get_json_params(); |
50 | - $response = $this->connect->get_oauth_url( isset( $data['returnUrl'] ) ? $data['returnUrl'] : '' ); |
|
50 | + $response = $this->connect->get_oauth_url(isset($data['returnUrl']) ? $data['returnUrl'] : ''); |
|
51 | 51 | |
52 | - if ( is_wp_error( $response ) ) { |
|
52 | + if (is_wp_error($response)) { |
|
53 | 53 | |
54 | - WC_Stripe_Logger::log( $response, __CLASS__ ); |
|
54 | + WC_Stripe_Logger::log($response, __CLASS__); |
|
55 | 55 | |
56 | 56 | return new WP_Error( |
57 | 57 | $response->get_error_code(), |
58 | 58 | $response->get_error_message(), |
59 | - array( 'status' => 400 ) |
|
59 | + array('status' => 400) |
|
60 | 60 | ); |
61 | 61 | } |
62 | 62 |
@@ -1,13 +1,13 @@ discard block |
||
1 | 1 | <?php |
2 | -if ( ! defined( 'ABSPATH' ) ) { |
|
2 | +if ( ! defined('ABSPATH')) { |
|
3 | 3 | exit; |
4 | 4 | } |
5 | 5 | |
6 | -if ( ! defined( 'WOOCOMMERCE_CONNECT_SERVER_URL' ) ) { |
|
7 | - define( 'WOOCOMMERCE_CONNECT_SERVER_URL', 'https://api.woocommerce.com/' ); |
|
6 | +if ( ! defined('WOOCOMMERCE_CONNECT_SERVER_URL')) { |
|
7 | + define('WOOCOMMERCE_CONNECT_SERVER_URL', 'https://api.woocommerce.com/'); |
|
8 | 8 | } |
9 | 9 | |
10 | -if ( ! class_exists( 'WC_Stripe_Connect_API' ) ) { |
|
10 | +if ( ! class_exists('WC_Stripe_Connect_API')) { |
|
11 | 11 | /** |
12 | 12 | * Stripe Connect API class. |
13 | 13 | */ |
@@ -21,7 +21,7 @@ discard block |
||
21 | 21 | * @return array |
22 | 22 | */ |
23 | 23 | public function get_stripe_account_details() { |
24 | - return $this->request( 'GET', '/stripe/account' ); |
|
24 | + return $this->request('GET', '/stripe/account'); |
|
25 | 25 | } |
26 | 26 | |
27 | 27 | /** |
@@ -31,12 +31,12 @@ discard block |
||
31 | 31 | * |
32 | 32 | * @return array |
33 | 33 | */ |
34 | - public function get_stripe_oauth_init( $return_url ) { |
|
34 | + public function get_stripe_oauth_init($return_url) { |
|
35 | 35 | |
36 | 36 | $current_user = wp_get_current_user(); |
37 | 37 | $business_data = array(); |
38 | 38 | $business_data['url'] = get_site_url(); |
39 | - $business_data['business_name'] = html_entity_decode( get_bloginfo( 'name' ), ENT_QUOTES ); |
|
39 | + $business_data['business_name'] = html_entity_decode(get_bloginfo('name'), ENT_QUOTES); |
|
40 | 40 | $business_data['first_name'] = $current_user->user_firstname; |
41 | 41 | $business_data['last_name'] = $current_user->user_lastname; |
42 | 42 | $business_data['phone'] = ''; |
@@ -44,7 +44,7 @@ discard block |
||
44 | 44 | |
45 | 45 | $wc_countries = WC()->countries; |
46 | 46 | |
47 | - if ( method_exists( $wc_countries, 'get_base_address' ) ) { |
|
47 | + if (method_exists($wc_countries, 'get_base_address')) { |
|
48 | 48 | $business_data['country'] = $wc_countries->get_base_country(); |
49 | 49 | $business_data['street_address'] = $wc_countries->get_base_address(); |
50 | 50 | $business_data['city'] = $wc_countries->get_base_city(); |
@@ -64,7 +64,7 @@ discard block |
||
64 | 64 | 'businessData' => $business_data, |
65 | 65 | ); |
66 | 66 | |
67 | - return $this->request( 'POST', '/stripe/oauth-init', $request ); |
|
67 | + return $this->request('POST', '/stripe/oauth-init', $request); |
|
68 | 68 | } |
69 | 69 | |
70 | 70 | /** |
@@ -74,11 +74,11 @@ discard block |
||
74 | 74 | * |
75 | 75 | * @return array |
76 | 76 | */ |
77 | - public function get_stripe_oauth_keys( $code ) { |
|
77 | + public function get_stripe_oauth_keys($code) { |
|
78 | 78 | |
79 | - $request = array( 'code' => $code ); |
|
79 | + $request = array('code' => $code); |
|
80 | 80 | |
81 | - return $this->request( 'POST', '/stripe/oauth-keys', $request ); |
|
81 | + return $this->request('POST', '/stripe/oauth-keys', $request); |
|
82 | 82 | } |
83 | 83 | |
84 | 84 | /** |
@@ -88,7 +88,7 @@ discard block |
||
88 | 88 | */ |
89 | 89 | public function deauthorize_stripe_account() { |
90 | 90 | |
91 | - return $this->request( 'POST', '/stripe/account/deauthorize' ); |
|
91 | + return $this->request('POST', '/stripe/account/deauthorize'); |
|
92 | 92 | } |
93 | 93 | |
94 | 94 | /** |
@@ -100,54 +100,54 @@ discard block |
||
100 | 100 | * |
101 | 101 | * @return array|WP_Error |
102 | 102 | */ |
103 | - protected function request( $method, $path, $body = array() ) { |
|
103 | + protected function request($method, $path, $body = array()) { |
|
104 | 104 | |
105 | - if ( ! class_exists( 'Jetpack_Data' ) ) { |
|
105 | + if ( ! class_exists('Jetpack_Data')) { |
|
106 | 106 | return new WP_Error( |
107 | 107 | 'jetpack_data_class_not_found', |
108 | - __( 'Unable to send request to WooCommerce Connect server. Jetpack_Data was not found.', 'woocommerce-gateway-stripe' ) |
|
108 | + __('Unable to send request to WooCommerce Connect server. Jetpack_Data was not found.', 'woocommerce-gateway-stripe') |
|
109 | 109 | ); |
110 | 110 | } |
111 | 111 | |
112 | - if ( ! method_exists( 'Jetpack_Data', 'get_access_token' ) ) { |
|
112 | + if ( ! method_exists('Jetpack_Data', 'get_access_token')) { |
|
113 | 113 | return new WP_Error( |
114 | 114 | 'jetpack_data_get_access_token_not_found', |
115 | - __( 'Unable to send request to WooCommerce Connect server. Jetpack_Data does not implement get_access_token.', 'woocommerce-gateway-stripe' ) |
|
115 | + __('Unable to send request to WooCommerce Connect server. Jetpack_Data does not implement get_access_token.', 'woocommerce-gateway-stripe') |
|
116 | 116 | ); |
117 | 117 | } |
118 | 118 | |
119 | - if ( ! is_array( $body ) ) { |
|
119 | + if ( ! is_array($body)) { |
|
120 | 120 | return new WP_Error( |
121 | 121 | 'request_body_should_be_array', |
122 | - __( 'Unable to send request to WooCommerce Connect server. Body must be an array.', 'woocommerce-gateway-stripe' ) |
|
122 | + __('Unable to send request to WooCommerce Connect server. Body must be an array.', 'woocommerce-gateway-stripe') |
|
123 | 123 | ); |
124 | 124 | } |
125 | 125 | |
126 | - $url = trailingslashit( WOOCOMMERCE_CONNECT_SERVER_URL ); |
|
127 | - $url = apply_filters( 'wc_connect_server_url', $url ); |
|
128 | - $url = trailingslashit( $url ) . ltrim( $path, '/' ); |
|
126 | + $url = trailingslashit(WOOCOMMERCE_CONNECT_SERVER_URL); |
|
127 | + $url = apply_filters('wc_connect_server_url', $url); |
|
128 | + $url = trailingslashit($url) . ltrim($path, '/'); |
|
129 | 129 | |
130 | 130 | // Add useful system information to requests that contain bodies. |
131 | - if ( in_array( $method, array( 'POST', 'PUT' ), true ) ) { |
|
132 | - $body = $this->request_body( $body ); |
|
133 | - $body = wp_json_encode( apply_filters( 'wc_connect_api_client_body', $body ) ); |
|
131 | + if (in_array($method, array('POST', 'PUT'), true)) { |
|
132 | + $body = $this->request_body($body); |
|
133 | + $body = wp_json_encode(apply_filters('wc_connect_api_client_body', $body)); |
|
134 | 134 | |
135 | - if ( ! $body ) { |
|
135 | + if ( ! $body) { |
|
136 | 136 | return new WP_Error( |
137 | 137 | 'unable_to_json_encode_body', |
138 | - __( 'Unable to encode body for request to WooCommerce Connect server.', 'woocommerce-gateway-stripe' ) |
|
138 | + __('Unable to encode body for request to WooCommerce Connect server.', 'woocommerce-gateway-stripe') |
|
139 | 139 | ); |
140 | 140 | } |
141 | 141 | } |
142 | 142 | |
143 | 143 | $headers = $this->request_headers(); |
144 | - if ( is_wp_error( $headers ) ) { |
|
144 | + if (is_wp_error($headers)) { |
|
145 | 145 | return $headers; |
146 | 146 | } |
147 | 147 | |
148 | 148 | $http_timeout = 60; // 1 minute |
149 | - if ( function_exists( 'wc_set_time_limit' ) ) { |
|
150 | - wc_set_time_limit( $http_timeout + 10 ); |
|
149 | + if (function_exists('wc_set_time_limit')) { |
|
150 | + wc_set_time_limit($http_timeout + 10); |
|
151 | 151 | } |
152 | 152 | $args = array( |
153 | 153 | 'headers' => $headers, |
@@ -158,18 +158,18 @@ discard block |
||
158 | 158 | 'timeout' => $http_timeout, |
159 | 159 | ); |
160 | 160 | |
161 | - $args = apply_filters( 'wc_connect_request_args', $args ); |
|
162 | - $response = wp_remote_request( $url, $args ); |
|
163 | - $response_code = wp_remote_retrieve_response_code( $response ); |
|
164 | - $content_type = wp_remote_retrieve_header( $response, 'content-type' ); |
|
161 | + $args = apply_filters('wc_connect_request_args', $args); |
|
162 | + $response = wp_remote_request($url, $args); |
|
163 | + $response_code = wp_remote_retrieve_response_code($response); |
|
164 | + $content_type = wp_remote_retrieve_header($response, 'content-type'); |
|
165 | 165 | |
166 | - if ( false === strpos( $content_type, 'application/json' ) ) { |
|
167 | - if ( 200 !== $response_code ) { |
|
166 | + if (false === strpos($content_type, 'application/json')) { |
|
167 | + if (200 !== $response_code) { |
|
168 | 168 | return new WP_Error( |
169 | 169 | 'wcc_server_error', |
170 | 170 | sprintf( |
171 | 171 | // Translators: HTTP error code. |
172 | - __( 'Error: The WooCommerce Connect server returned HTTP code: %d', 'woocommerce-gateway-stripe' ), |
|
172 | + __('Error: The WooCommerce Connect server returned HTTP code: %d', 'woocommerce-gateway-stripe'), |
|
173 | 173 | $response_code |
174 | 174 | ) |
175 | 175 | ); |
@@ -177,32 +177,32 @@ discard block |
||
177 | 177 | return $response; |
178 | 178 | } |
179 | 179 | |
180 | - $response_body = wp_remote_retrieve_body( $response ); |
|
181 | - if ( ! empty( $response_body ) ) { |
|
182 | - $response_body = json_decode( $response_body ); |
|
180 | + $response_body = wp_remote_retrieve_body($response); |
|
181 | + if ( ! empty($response_body)) { |
|
182 | + $response_body = json_decode($response_body); |
|
183 | 183 | } |
184 | 184 | |
185 | - if ( 200 !== $response_code ) { |
|
186 | - if ( empty( $response_body ) ) { |
|
185 | + if (200 !== $response_code) { |
|
186 | + if (empty($response_body)) { |
|
187 | 187 | return new WP_Error( |
188 | 188 | 'wcc_server_empty_response', |
189 | 189 | sprintf( |
190 | 190 | // Translators: HTTP error code. |
191 | - __( 'Error: The WooCommerce Connect server returned ( %d ) and an empty response body.', 'woocommerce-gateway-stripe' ), |
|
191 | + __('Error: The WooCommerce Connect server returned ( %d ) and an empty response body.', 'woocommerce-gateway-stripe'), |
|
192 | 192 | $response_code |
193 | 193 | ) |
194 | 194 | ); |
195 | 195 | } |
196 | 196 | |
197 | - $error = property_exists( $response_body, 'error' ) ? $response_body->error : ''; |
|
198 | - $message = property_exists( $response_body, 'message' ) ? $response_body->message : ''; |
|
199 | - $data = property_exists( $response_body, 'data' ) ? $response_body->data : ''; |
|
197 | + $error = property_exists($response_body, 'error') ? $response_body->error : ''; |
|
198 | + $message = property_exists($response_body, 'message') ? $response_body->message : ''; |
|
199 | + $data = property_exists($response_body, 'data') ? $response_body->data : ''; |
|
200 | 200 | |
201 | 201 | return new WP_Error( |
202 | 202 | 'wcc_server_error_response', |
203 | 203 | sprintf( |
204 | 204 | /* translators: %1$s: error code, %2$s: error message, %3$d: HTTP response code */ |
205 | - __( 'Error: The WooCommerce Connect server returned: %1$s %2$s ( %3$d )', 'woocommerce-gateway-stripe' ), |
|
205 | + __('Error: The WooCommerce Connect server returned: %1$s %2$s ( %3$d )', 'woocommerce-gateway-stripe'), |
|
206 | 206 | $error, |
207 | 207 | $message, |
208 | 208 | $response_code |
@@ -221,13 +221,13 @@ discard block |
||
221 | 221 | * |
222 | 222 | * @return array |
223 | 223 | */ |
224 | - protected function request_body( $initial_body = array() ) { |
|
224 | + protected function request_body($initial_body = array()) { |
|
225 | 225 | |
226 | 226 | $default_body = array( |
227 | 227 | 'settings' => array(), |
228 | 228 | ); |
229 | 229 | |
230 | - $body = array_merge( $default_body, $initial_body ); |
|
230 | + $body = array_merge($default_body, $initial_body); |
|
231 | 231 | |
232 | 232 | // Add interesting fields to the body of each request. |
233 | 233 | $body['settings'] = wp_parse_args( |
@@ -241,7 +241,7 @@ discard block |
||
241 | 241 | 'stripe_version' => WC_STRIPE_VERSION, |
242 | 242 | 'jetpack_version' => JETPACK__VERSION, |
243 | 243 | 'wc_version' => WC()->version, |
244 | - 'wp_version' => get_bloginfo( 'version' ), |
|
244 | + 'wp_version' => get_bloginfo('version'), |
|
245 | 245 | ) |
246 | 246 | ); |
247 | 247 | |
@@ -257,13 +257,13 @@ discard block |
||
257 | 257 | |
258 | 258 | $authorization = $this->authorization_header(); |
259 | 259 | |
260 | - if ( is_wp_error( $authorization ) ) { |
|
260 | + if (is_wp_error($authorization)) { |
|
261 | 261 | return $authorization; |
262 | 262 | } |
263 | 263 | |
264 | 264 | $headers = array(); |
265 | - $locale = strtolower( str_replace( '_', '-', get_locale() ) ); |
|
266 | - $locale_elements = explode( '-', $locale ); |
|
265 | + $locale = strtolower(str_replace('_', '-', get_locale())); |
|
266 | + $locale_elements = explode('-', $locale); |
|
267 | 267 | $lang = $locale_elements[0]; |
268 | 268 | $headers['Accept-Language'] = $locale . ',' . $lang; |
269 | 269 | $headers['Content-Type'] = 'application/json; charset=utf-8'; |
@@ -280,32 +280,32 @@ discard block |
||
280 | 280 | */ |
281 | 281 | protected function authorization_header() { |
282 | 282 | |
283 | - $token = Jetpack_Data::get_access_token( 0 ); |
|
284 | - $token = apply_filters( 'wc_connect_jetpack_access_token', $token ); |
|
283 | + $token = Jetpack_Data::get_access_token(0); |
|
284 | + $token = apply_filters('wc_connect_jetpack_access_token', $token); |
|
285 | 285 | |
286 | - if ( ! $token || empty( $token->secret ) ) { |
|
286 | + if ( ! $token || empty($token->secret)) { |
|
287 | 287 | return new WP_Error( |
288 | 288 | 'missing_token', |
289 | - __( 'Unable to send request to WooCommerce Connect server. Jetpack Token is missing', 'woocommerce-gateway-stripe' ) |
|
289 | + __('Unable to send request to WooCommerce Connect server. Jetpack Token is missing', 'woocommerce-gateway-stripe') |
|
290 | 290 | ); |
291 | 291 | } |
292 | 292 | |
293 | - if ( false === strpos( $token->secret, '.' ) ) { |
|
293 | + if (false === strpos($token->secret, '.')) { |
|
294 | 294 | return new WP_Error( |
295 | 295 | 'invalid_token', |
296 | - __( 'Unable to send request to WooCommerce Connect server. Jetpack Token is malformed.', 'woocommerce-gateway-stripe' ) |
|
296 | + __('Unable to send request to WooCommerce Connect server. Jetpack Token is malformed.', 'woocommerce-gateway-stripe') |
|
297 | 297 | ); |
298 | 298 | } |
299 | 299 | |
300 | - list( $token_key, $token_secret ) = explode( '.', $token->secret ); |
|
300 | + list($token_key, $token_secret) = explode('.', $token->secret); |
|
301 | 301 | |
302 | - $token_key = sprintf( '%s:%d:%d', $token_key, JETPACK__API_VERSION, $token->external_user_id ); |
|
303 | - $time_diff = (int) Jetpack_Options::get_option( 'time_diff' ); |
|
302 | + $token_key = sprintf('%s:%d:%d', $token_key, JETPACK__API_VERSION, $token->external_user_id); |
|
303 | + $time_diff = (int) Jetpack_Options::get_option('time_diff'); |
|
304 | 304 | $timestamp = time() + $time_diff; |
305 | - $nonce = wp_generate_password( 10, false ); |
|
306 | - $signature = $this->request_signature( $token_key, $token_secret, $timestamp, $nonce, $time_diff ); |
|
305 | + $nonce = wp_generate_password(10, false); |
|
306 | + $signature = $this->request_signature($token_key, $token_secret, $timestamp, $nonce, $time_diff); |
|
307 | 307 | |
308 | - if ( is_wp_error( $signature ) ) { |
|
308 | + if (is_wp_error($signature)) { |
|
309 | 309 | return $signature; |
310 | 310 | } |
311 | 311 | |
@@ -318,11 +318,11 @@ discard block |
||
318 | 318 | |
319 | 319 | $header_pieces = array(); |
320 | 320 | |
321 | - foreach ( $auth as $key => $value ) { |
|
322 | - $header_pieces[] = sprintf( '%s="%s"', $key, $value ); |
|
321 | + foreach ($auth as $key => $value) { |
|
322 | + $header_pieces[] = sprintf('%s="%s"', $key, $value); |
|
323 | 323 | } |
324 | 324 | |
325 | - $authorization = 'X_JP_Auth ' . join( ' ', $header_pieces ); |
|
325 | + $authorization = 'X_JP_Auth ' . join(' ', $header_pieces); |
|
326 | 326 | |
327 | 327 | return $authorization; |
328 | 328 | } |
@@ -338,14 +338,14 @@ discard block |
||
338 | 338 | * |
339 | 339 | * @return string|WP_Error |
340 | 340 | */ |
341 | - protected function request_signature( $token_key, $token_secret, $timestamp, $nonce, $time_diff ) { |
|
341 | + protected function request_signature($token_key, $token_secret, $timestamp, $nonce, $time_diff) { |
|
342 | 342 | |
343 | 343 | $local_time = $timestamp - $time_diff; |
344 | 344 | |
345 | - if ( $local_time < time() - 600 || $local_time > time() + 300 ) { |
|
345 | + if ($local_time < time() - 600 || $local_time > time() + 300) { |
|
346 | 346 | return new WP_Error( |
347 | 347 | 'invalid_signature', |
348 | - __( 'Unable to send request to WooCommerce Connect server. The timestamp generated for the signature is too old.', 'woocommerce-gateway-stripe' ) |
|
348 | + __('Unable to send request to WooCommerce Connect server. The timestamp generated for the signature is too old.', 'woocommerce-gateway-stripe') |
|
349 | 349 | ); |
350 | 350 | } |
351 | 351 | |
@@ -358,7 +358,7 @@ discard block |
||
358 | 358 | ) |
359 | 359 | ) . "\n"; |
360 | 360 | |
361 | - return base64_encode( hash_hmac( 'sha1', $normalized_request_string, $token_secret, true ) ); //phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.obfuscation_base64_encode |
|
361 | + return base64_encode(hash_hmac('sha1', $normalized_request_string, $token_secret, true)); //phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.obfuscation_base64_encode |
|
362 | 362 | } |
363 | 363 | |
364 | 364 | } |