@@ -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 | |
@@ -23,12 +23,12 @@ discard block |
||
23 | 23 | |
24 | 24 | $this->retry_interval = 1; |
25 | 25 | |
26 | - add_action( 'wp', array( $this, 'maybe_process_redirect_order' ) ); |
|
27 | - add_action( 'woocommerce_order_status_processing', array( $this, 'capture_payment' ) ); |
|
28 | - add_action( 'woocommerce_order_status_completed', array( $this, 'capture_payment' ) ); |
|
29 | - add_action( 'woocommerce_order_status_cancelled', array( $this, 'cancel_payment' ) ); |
|
30 | - add_action( 'woocommerce_order_status_refunded', array( $this, 'cancel_payment' ) ); |
|
31 | - add_filter( 'woocommerce_tracks_event_properties', array( $this, 'woocommerce_tracks_event_properties' ), 10, 2 ); |
|
26 | + add_action('wp', array($this, 'maybe_process_redirect_order')); |
|
27 | + add_action('woocommerce_order_status_processing', array($this, 'capture_payment')); |
|
28 | + add_action('woocommerce_order_status_completed', array($this, 'capture_payment')); |
|
29 | + add_action('woocommerce_order_status_cancelled', array($this, 'cancel_payment')); |
|
30 | + add_action('woocommerce_order_status_refunded', array($this, 'cancel_payment')); |
|
31 | + add_filter('woocommerce_tracks_event_properties', array($this, 'woocommerce_tracks_event_properties'), 10, 2); |
|
32 | 32 | } |
33 | 33 | |
34 | 34 | /** |
@@ -52,25 +52,25 @@ discard block |
||
52 | 52 | * @param bool $retry |
53 | 53 | * @param mix $previous_error Any error message from previous request. |
54 | 54 | */ |
55 | - public function process_redirect_payment( $order_id, $retry = true, $previous_error = false ) { |
|
55 | + public function process_redirect_payment($order_id, $retry = true, $previous_error = false) { |
|
56 | 56 | try { |
57 | - $source = wc_clean( $_GET['source'] ); |
|
57 | + $source = wc_clean($_GET['source']); |
|
58 | 58 | |
59 | - if ( empty( $source ) ) { |
|
59 | + if (empty($source)) { |
|
60 | 60 | return; |
61 | 61 | } |
62 | 62 | |
63 | - if ( empty( $order_id ) ) { |
|
63 | + if (empty($order_id)) { |
|
64 | 64 | return; |
65 | 65 | } |
66 | 66 | |
67 | - $order = wc_get_order( $order_id ); |
|
67 | + $order = wc_get_order($order_id); |
|
68 | 68 | |
69 | - if ( ! is_object( $order ) ) { |
|
69 | + if ( ! is_object($order)) { |
|
70 | 70 | return; |
71 | 71 | } |
72 | 72 | |
73 | - if ( $order->has_status( array( 'processing', 'completed', 'on-hold' ) ) ) { |
|
73 | + if ($order->has_status(array('processing', 'completed', 'on-hold'))) { |
|
74 | 74 | return; |
75 | 75 | } |
76 | 76 | |
@@ -78,119 +78,119 @@ discard block |
||
78 | 78 | $response = null; |
79 | 79 | |
80 | 80 | // This will throw exception if not valid. |
81 | - $this->validate_minimum_order_amount( $order ); |
|
81 | + $this->validate_minimum_order_amount($order); |
|
82 | 82 | |
83 | - WC_Stripe_Logger::log( "Info: (Redirect) Begin processing payment for order $order_id for the amount of {$order->get_total()}" ); |
|
83 | + WC_Stripe_Logger::log("Info: (Redirect) Begin processing payment for order $order_id for the amount of {$order->get_total()}"); |
|
84 | 84 | |
85 | 85 | /** |
86 | 86 | * First check if the source is chargeable at this time. If not, |
87 | 87 | * webhook will take care of it later. |
88 | 88 | */ |
89 | - $source_info = WC_Stripe_API::retrieve( 'sources/' . $source ); |
|
89 | + $source_info = WC_Stripe_API::retrieve('sources/' . $source); |
|
90 | 90 | |
91 | - if ( ! empty( $source_info->error ) ) { |
|
92 | - throw new WC_Stripe_Exception( print_r( $source_info, true ), $source_info->error->message ); |
|
91 | + if ( ! empty($source_info->error)) { |
|
92 | + throw new WC_Stripe_Exception(print_r($source_info, true), $source_info->error->message); |
|
93 | 93 | } |
94 | 94 | |
95 | - if ( 'failed' === $source_info->status || 'canceled' === $source_info->status ) { |
|
96 | - throw new WC_Stripe_Exception( print_r( $source_info, true ), __( 'Unable to process this payment, please try again or use alternative method.', 'woocommerce-gateway-stripe' ) ); |
|
95 | + if ('failed' === $source_info->status || 'canceled' === $source_info->status) { |
|
96 | + throw new WC_Stripe_Exception(print_r($source_info, true), __('Unable to process this payment, please try again or use alternative method.', 'woocommerce-gateway-stripe')); |
|
97 | 97 | } |
98 | 98 | |
99 | 99 | // If already consumed, then ignore request. |
100 | - if ( 'consumed' === $source_info->status ) { |
|
100 | + if ('consumed' === $source_info->status) { |
|
101 | 101 | return; |
102 | 102 | } |
103 | 103 | |
104 | 104 | // If not chargeable, then ignore request. |
105 | - if ( 'chargeable' !== $source_info->status ) { |
|
105 | + if ('chargeable' !== $source_info->status) { |
|
106 | 106 | return; |
107 | 107 | } |
108 | 108 | |
109 | 109 | // Prep source object. |
110 | 110 | $source_object = new stdClass(); |
111 | 111 | $source_object->token_id = ''; |
112 | - $source_object->customer = $this->get_stripe_customer_id( $order ); |
|
112 | + $source_object->customer = $this->get_stripe_customer_id($order); |
|
113 | 113 | $source_object->source = $source_info->id; |
114 | 114 | $source_object->status = 'chargeable'; |
115 | 115 | |
116 | 116 | /* If we're doing a retry and source is chargeable, we need to pass |
117 | 117 | * a different idempotency key and retry for success. |
118 | 118 | */ |
119 | - if ( $this->need_update_idempotency_key( $source_object, $previous_error ) ) { |
|
120 | - add_filter( 'wc_stripe_idempotency_key', array( $this, 'change_idempotency_key' ), 10, 2 ); |
|
119 | + if ($this->need_update_idempotency_key($source_object, $previous_error)) { |
|
120 | + add_filter('wc_stripe_idempotency_key', array($this, 'change_idempotency_key'), 10, 2); |
|
121 | 121 | } |
122 | 122 | |
123 | 123 | // Make the request. |
124 | - $response = WC_Stripe_API::request( $this->generate_payment_request( $order, $source_object ), 'charges', 'POST', true ); |
|
124 | + $response = WC_Stripe_API::request($this->generate_payment_request($order, $source_object), 'charges', 'POST', true); |
|
125 | 125 | $headers = $response['headers']; |
126 | 126 | $response = $response['body']; |
127 | 127 | |
128 | - if ( ! empty( $response->error ) ) { |
|
128 | + if ( ! empty($response->error)) { |
|
129 | 129 | // Customer param wrong? The user may have been deleted on stripe's end. Remove customer_id. Can be retried without. |
130 | - if ( $this->is_no_such_customer_error( $response->error ) ) { |
|
131 | - delete_user_option( $order->get_customer_id(), '_stripe_customer_id' ); |
|
132 | - $order->delete_meta_data( '_stripe_customer_id' ); |
|
130 | + if ($this->is_no_such_customer_error($response->error)) { |
|
131 | + delete_user_option($order->get_customer_id(), '_stripe_customer_id'); |
|
132 | + $order->delete_meta_data('_stripe_customer_id'); |
|
133 | 133 | $order->save(); |
134 | 134 | } |
135 | 135 | |
136 | - if ( $this->is_no_such_token_error( $response->error ) && $prepared_source->token_id ) { |
|
136 | + if ($this->is_no_such_token_error($response->error) && $prepared_source->token_id) { |
|
137 | 137 | // Source param wrong? The CARD may have been deleted on stripe's end. Remove token and show message. |
138 | - $wc_token = WC_Payment_Tokens::get( $prepared_source->token_id ); |
|
138 | + $wc_token = WC_Payment_Tokens::get($prepared_source->token_id); |
|
139 | 139 | $wc_token->delete(); |
140 | - $localized_message = __( 'This card is no longer available and has been removed.', 'woocommerce-gateway-stripe' ); |
|
141 | - $order->add_order_note( $localized_message ); |
|
142 | - throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message ); |
|
140 | + $localized_message = __('This card is no longer available and has been removed.', 'woocommerce-gateway-stripe'); |
|
141 | + $order->add_order_note($localized_message); |
|
142 | + throw new WC_Stripe_Exception(print_r($response, true), $localized_message); |
|
143 | 143 | } |
144 | 144 | |
145 | 145 | // We want to retry. |
146 | - if ( $this->is_retryable_error( $response->error ) ) { |
|
147 | - if ( $retry ) { |
|
146 | + if ($this->is_retryable_error($response->error)) { |
|
147 | + if ($retry) { |
|
148 | 148 | // Don't do anymore retries after this. |
149 | - if ( 5 <= $this->retry_interval ) { |
|
150 | - return $this->process_redirect_payment( $order_id, false, $response->error ); |
|
149 | + if (5 <= $this->retry_interval) { |
|
150 | + return $this->process_redirect_payment($order_id, false, $response->error); |
|
151 | 151 | } |
152 | 152 | |
153 | - sleep( $this->retry_interval ); |
|
153 | + sleep($this->retry_interval); |
|
154 | 154 | |
155 | 155 | $this->retry_interval++; |
156 | - return $this->process_redirect_payment( $order_id, true, $response->error ); |
|
156 | + return $this->process_redirect_payment($order_id, true, $response->error); |
|
157 | 157 | } else { |
158 | - $localized_message = __( 'Sorry, we are unable to process your payment at this time. Please retry later.', 'woocommerce-gateway-stripe' ); |
|
159 | - $order->add_order_note( $localized_message ); |
|
160 | - throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message ); |
|
158 | + $localized_message = __('Sorry, we are unable to process your payment at this time. Please retry later.', 'woocommerce-gateway-stripe'); |
|
159 | + $order->add_order_note($localized_message); |
|
160 | + throw new WC_Stripe_Exception(print_r($response, true), $localized_message); |
|
161 | 161 | } |
162 | 162 | } |
163 | 163 | |
164 | 164 | $localized_messages = WC_Stripe_Helper::get_localized_messages(); |
165 | 165 | |
166 | - if ( 'card_error' === $response->error->type ) { |
|
167 | - $message = isset( $localized_messages[ $response->error->code ] ) ? $localized_messages[ $response->error->code ] : $response->error->message; |
|
166 | + if ('card_error' === $response->error->type) { |
|
167 | + $message = isset($localized_messages[$response->error->code]) ? $localized_messages[$response->error->code] : $response->error->message; |
|
168 | 168 | } else { |
169 | - $message = isset( $localized_messages[ $response->error->type ] ) ? $localized_messages[ $response->error->type ] : $response->error->message; |
|
169 | + $message = isset($localized_messages[$response->error->type]) ? $localized_messages[$response->error->type] : $response->error->message; |
|
170 | 170 | } |
171 | 171 | |
172 | - throw new WC_Stripe_Exception( print_r( $response, true ), $message ); |
|
172 | + throw new WC_Stripe_Exception(print_r($response, true), $message); |
|
173 | 173 | } |
174 | 174 | |
175 | 175 | // To prevent double processing the order on WC side. |
176 | - if ( ! $this->is_original_request( $headers ) ) { |
|
176 | + if ( ! $this->is_original_request($headers)) { |
|
177 | 177 | return; |
178 | 178 | } |
179 | 179 | |
180 | - do_action( 'wc_gateway_stripe_process_redirect_payment', $response, $order ); |
|
180 | + do_action('wc_gateway_stripe_process_redirect_payment', $response, $order); |
|
181 | 181 | |
182 | - $this->process_response( $response, $order ); |
|
182 | + $this->process_response($response, $order); |
|
183 | 183 | |
184 | - } catch ( WC_Stripe_Exception $e ) { |
|
185 | - WC_Stripe_Logger::log( 'Error: ' . $e->getMessage() ); |
|
184 | + } catch (WC_Stripe_Exception $e) { |
|
185 | + WC_Stripe_Logger::log('Error: ' . $e->getMessage()); |
|
186 | 186 | |
187 | - do_action( 'wc_gateway_stripe_process_redirect_payment_error', $e, $order ); |
|
187 | + do_action('wc_gateway_stripe_process_redirect_payment_error', $e, $order); |
|
188 | 188 | |
189 | 189 | /* translators: error message */ |
190 | - $order->update_status( 'failed', sprintf( __( 'Stripe payment failed: %s', 'woocommerce-gateway-stripe' ), $e->getLocalizedMessage() ) ); |
|
190 | + $order->update_status('failed', sprintf(__('Stripe payment failed: %s', 'woocommerce-gateway-stripe'), $e->getLocalizedMessage())); |
|
191 | 191 | |
192 | - wc_add_notice( $e->getLocalizedMessage(), 'error' ); |
|
193 | - wp_safe_redirect( wc_get_checkout_url() ); |
|
192 | + wc_add_notice($e->getLocalizedMessage(), 'error'); |
|
193 | + wp_safe_redirect(wc_get_checkout_url()); |
|
194 | 194 | exit; |
195 | 195 | } |
196 | 196 | } |
@@ -202,13 +202,13 @@ discard block |
||
202 | 202 | * @version 4.0.0 |
203 | 203 | */ |
204 | 204 | public function maybe_process_redirect_order() { |
205 | - if ( ! is_order_received_page() || empty( $_GET['client_secret'] ) || empty( $_GET['source'] ) ) { |
|
205 | + if ( ! is_order_received_page() || empty($_GET['client_secret']) || empty($_GET['source'])) { |
|
206 | 206 | return; |
207 | 207 | } |
208 | 208 | |
209 | - $order_id = wc_clean( $_GET['order_id'] ); |
|
209 | + $order_id = wc_clean($_GET['order_id']); |
|
210 | 210 | |
211 | - $this->process_redirect_payment( $order_id ); |
|
211 | + $this->process_redirect_payment($order_id); |
|
212 | 212 | } |
213 | 213 | |
214 | 214 | /** |
@@ -218,32 +218,32 @@ discard block |
||
218 | 218 | * @version 4.0.0 |
219 | 219 | * @param int $order_id |
220 | 220 | */ |
221 | - public function capture_payment( $order_id ) { |
|
222 | - $order = wc_get_order( $order_id ); |
|
221 | + public function capture_payment($order_id) { |
|
222 | + $order = wc_get_order($order_id); |
|
223 | 223 | |
224 | - if ( 'stripe' === $order->get_payment_method() ) { |
|
224 | + if ('stripe' === $order->get_payment_method()) { |
|
225 | 225 | $charge = $order->get_transaction_id(); |
226 | - $captured = $order->get_meta( '_stripe_charge_captured', true ); |
|
226 | + $captured = $order->get_meta('_stripe_charge_captured', true); |
|
227 | 227 | $is_stripe_captured = false; |
228 | 228 | |
229 | - if ( $charge && 'no' === $captured ) { |
|
229 | + if ($charge && 'no' === $captured) { |
|
230 | 230 | $order_total = $order->get_total(); |
231 | 231 | |
232 | - if ( 0 < $order->get_total_refunded() ) { |
|
232 | + if (0 < $order->get_total_refunded()) { |
|
233 | 233 | $order_total = $order_total - $order->get_total_refunded(); |
234 | 234 | } |
235 | 235 | |
236 | - $intent = $this->get_intent_from_order( $order ); |
|
237 | - if ( $intent ) { |
|
236 | + $intent = $this->get_intent_from_order($order); |
|
237 | + if ($intent) { |
|
238 | 238 | // If the order has a Payment Intent, then the Intent itself must be captured, not the Charge |
239 | - if ( ! empty( $intent->error ) ) { |
|
239 | + if ( ! empty($intent->error)) { |
|
240 | 240 | /* translators: error message */ |
241 | - $order->add_order_note( sprintf( __( 'Unable to capture charge! %s', 'woocommerce-gateway-stripe' ), $intent->error->message ) ); |
|
242 | - } elseif ( 'requires_capture' === $intent->status ) { |
|
243 | - $level3_data = $this->get_level3_data_from_order( $order ); |
|
241 | + $order->add_order_note(sprintf(__('Unable to capture charge! %s', 'woocommerce-gateway-stripe'), $intent->error->message)); |
|
242 | + } elseif ('requires_capture' === $intent->status) { |
|
243 | + $level3_data = $this->get_level3_data_from_order($order); |
|
244 | 244 | $result = WC_Stripe_API::request_with_level3_data( |
245 | 245 | array( |
246 | - 'amount' => WC_Stripe_Helper::get_stripe_amount( $order_total ), |
|
246 | + 'amount' => WC_Stripe_Helper::get_stripe_amount($order_total), |
|
247 | 247 | 'expand[]' => 'charges.data.balance_transaction', |
248 | 248 | ), |
249 | 249 | 'payment_intents/' . $intent->id . '/capture', |
@@ -251,30 +251,30 @@ discard block |
||
251 | 251 | $order |
252 | 252 | ); |
253 | 253 | |
254 | - if ( ! empty( $result->error ) ) { |
|
254 | + if ( ! empty($result->error)) { |
|
255 | 255 | /* translators: error message */ |
256 | - $order->update_status( 'failed', sprintf( __( 'Unable to capture charge! %s', 'woocommerce-gateway-stripe' ), $result->error->message ) ); |
|
256 | + $order->update_status('failed', sprintf(__('Unable to capture charge! %s', 'woocommerce-gateway-stripe'), $result->error->message)); |
|
257 | 257 | } else { |
258 | 258 | $is_stripe_captured = true; |
259 | - $result = end( $result->charges->data ); |
|
259 | + $result = end($result->charges->data); |
|
260 | 260 | } |
261 | - } elseif ( 'succeeded' === $intent->status ) { |
|
261 | + } elseif ('succeeded' === $intent->status) { |
|
262 | 262 | $is_stripe_captured = true; |
263 | 263 | } |
264 | 264 | } else { |
265 | 265 | // The order doesn't have a Payment Intent, fall back to capturing the Charge directly |
266 | 266 | |
267 | 267 | // First retrieve charge to see if it has been captured. |
268 | - $result = WC_Stripe_API::retrieve( 'charges/' . $charge ); |
|
268 | + $result = WC_Stripe_API::retrieve('charges/' . $charge); |
|
269 | 269 | |
270 | - if ( ! empty( $result->error ) ) { |
|
270 | + if ( ! empty($result->error)) { |
|
271 | 271 | /* translators: error message */ |
272 | - $order->add_order_note( sprintf( __( 'Unable to capture charge! %s', 'woocommerce-gateway-stripe' ), $result->error->message ) ); |
|
273 | - } elseif ( false === $result->captured ) { |
|
274 | - $level3_data = $this->get_level3_data_from_order( $order ); |
|
272 | + $order->add_order_note(sprintf(__('Unable to capture charge! %s', 'woocommerce-gateway-stripe'), $result->error->message)); |
|
273 | + } elseif (false === $result->captured) { |
|
274 | + $level3_data = $this->get_level3_data_from_order($order); |
|
275 | 275 | $result = WC_Stripe_API::request_with_level3_data( |
276 | 276 | array( |
277 | - 'amount' => WC_Stripe_Helper::get_stripe_amount( $order_total ), |
|
277 | + 'amount' => WC_Stripe_Helper::get_stripe_amount($order_total), |
|
278 | 278 | 'expand[]' => 'balance_transaction', |
279 | 279 | ), |
280 | 280 | 'charges/' . $charge . '/capture', |
@@ -282,34 +282,34 @@ discard block |
||
282 | 282 | $order |
283 | 283 | ); |
284 | 284 | |
285 | - if ( ! empty( $result->error ) ) { |
|
285 | + if ( ! empty($result->error)) { |
|
286 | 286 | /* translators: error message */ |
287 | - $order->update_status( 'failed', sprintf( __( 'Unable to capture charge! %s', 'woocommerce-gateway-stripe' ), $result->error->message ) ); |
|
287 | + $order->update_status('failed', sprintf(__('Unable to capture charge! %s', 'woocommerce-gateway-stripe'), $result->error->message)); |
|
288 | 288 | } else { |
289 | 289 | $is_stripe_captured = true; |
290 | 290 | } |
291 | - } elseif ( true === $result->captured ) { |
|
291 | + } elseif (true === $result->captured) { |
|
292 | 292 | $is_stripe_captured = true; |
293 | 293 | } |
294 | 294 | } |
295 | 295 | |
296 | - if ( $is_stripe_captured ) { |
|
296 | + if ($is_stripe_captured) { |
|
297 | 297 | /* translators: transaction id */ |
298 | - $order->add_order_note( sprintf( __( 'Stripe charge complete (Charge ID: %s)', 'woocommerce-gateway-stripe' ), $result->id ) ); |
|
299 | - $order->update_meta_data( '_stripe_charge_captured', 'yes' ); |
|
298 | + $order->add_order_note(sprintf(__('Stripe charge complete (Charge ID: %s)', 'woocommerce-gateway-stripe'), $result->id)); |
|
299 | + $order->update_meta_data('_stripe_charge_captured', 'yes'); |
|
300 | 300 | |
301 | 301 | // Store other data such as fees |
302 | - $order->set_transaction_id( $result->id ); |
|
302 | + $order->set_transaction_id($result->id); |
|
303 | 303 | |
304 | - if ( is_callable( array( $order, 'save' ) ) ) { |
|
304 | + if (is_callable(array($order, 'save'))) { |
|
305 | 305 | $order->save(); |
306 | 306 | } |
307 | 307 | |
308 | - $this->update_fees( $order, $result->balance_transaction->id ); |
|
308 | + $this->update_fees($order, $result->balance_transaction->id); |
|
309 | 309 | } |
310 | 310 | |
311 | 311 | // This hook fires when admin manually changes order status to processing or completed. |
312 | - do_action( 'woocommerce_stripe_process_manual_capture', $order, $result ); |
|
312 | + do_action('woocommerce_stripe_process_manual_capture', $order, $result); |
|
313 | 313 | } |
314 | 314 | } |
315 | 315 | } |
@@ -321,17 +321,17 @@ discard block |
||
321 | 321 | * @version 4.2.2 |
322 | 322 | * @param int $order_id |
323 | 323 | */ |
324 | - public function cancel_payment( $order_id ) { |
|
325 | - $order = wc_get_order( $order_id ); |
|
324 | + public function cancel_payment($order_id) { |
|
325 | + $order = wc_get_order($order_id); |
|
326 | 326 | |
327 | - if ( 'stripe' === $order->get_payment_method() ) { |
|
328 | - $captured = $order->get_meta( '_stripe_charge_captured', true ); |
|
329 | - if ( 'no' === $captured ) { |
|
330 | - $this->process_refund( $order_id ); |
|
327 | + if ('stripe' === $order->get_payment_method()) { |
|
328 | + $captured = $order->get_meta('_stripe_charge_captured', true); |
|
329 | + if ('no' === $captured) { |
|
330 | + $this->process_refund($order_id); |
|
331 | 331 | } |
332 | 332 | |
333 | 333 | // This hook fires when admin manually changes order status to cancel. |
334 | - do_action( 'woocommerce_stripe_process_manual_cancel', $order ); |
|
334 | + do_action('woocommerce_stripe_process_manual_cancel', $order); |
|
335 | 335 | } |
336 | 336 | } |
337 | 337 | |
@@ -343,38 +343,38 @@ discard block |
||
343 | 343 | * @param array Properties to be appended to. |
344 | 344 | * @param string Event name, e.g. orders_edit_status_change. |
345 | 345 | */ |
346 | - public function woocommerce_tracks_event_properties( $properties, $prefixed_event_name ) { |
|
346 | + public function woocommerce_tracks_event_properties($properties, $prefixed_event_name) { |
|
347 | 347 | // Not the desired event? Bail. |
348 | - if ( 'wcadmin_orders_edit_status_change' != $prefixed_event_name ) { |
|
348 | + if ('wcadmin_orders_edit_status_change' != $prefixed_event_name) { |
|
349 | 349 | return $properties; |
350 | 350 | } |
351 | 351 | |
352 | 352 | // Properties not an array? Bail. |
353 | - if ( ! is_array( $properties ) ) { |
|
353 | + if ( ! is_array($properties)) { |
|
354 | 354 | return $properties; |
355 | 355 | } |
356 | 356 | |
357 | 357 | // No payment_method in properties? Bail. |
358 | - if ( ! array_key_exists( 'payment_method', $properties ) ) { |
|
358 | + if ( ! array_key_exists('payment_method', $properties)) { |
|
359 | 359 | return $properties; |
360 | 360 | } |
361 | 361 | |
362 | 362 | // Not stripe? Bail. |
363 | - if ( 'stripe' != $properties[ 'payment_method' ] ) { |
|
363 | + if ('stripe' != $properties['payment_method']) { |
|
364 | 364 | return $properties; |
365 | 365 | } |
366 | 366 | |
367 | 367 | // Due diligence done. Collect the metadata. |
368 | 368 | $is_live = true; |
369 | - $stripe_settings = get_option( 'woocommerce_stripe_settings', array() ); |
|
370 | - if ( array_key_exists( 'testmode', $stripe_settings ) ) { |
|
371 | - $is_live = 'no' === $stripe_settings[ 'testmode' ]; |
|
369 | + $stripe_settings = get_option('woocommerce_stripe_settings', array()); |
|
370 | + if (array_key_exists('testmode', $stripe_settings)) { |
|
371 | + $is_live = 'no' === $stripe_settings['testmode']; |
|
372 | 372 | } |
373 | 373 | |
374 | - $properties[ 'admin_email' ] = get_option( 'admin_email' ); |
|
375 | - $properties[ 'is_live' ] = $is_live; |
|
376 | - $properties[ 'woocommerce_gateway_stripe_version' ] = WC_STRIPE_VERSION; |
|
377 | - $properties[ 'woocommerce_default_country' ] = get_option( 'woocommerce_default_country' ); |
|
374 | + $properties['admin_email'] = get_option('admin_email'); |
|
375 | + $properties['is_live'] = $is_live; |
|
376 | + $properties['woocommerce_gateway_stripe_version'] = WC_STRIPE_VERSION; |
|
377 | + $properties['woocommerce_default_country'] = get_option('woocommerce_default_country'); |
|
378 | 378 | |
379 | 379 | return $properties; |
380 | 380 | } |
@@ -1,28 +1,28 @@ |
||
1 | 1 | <?php |
2 | -$_tests_dir = getenv( 'WP_TESTS_DIR' ); |
|
3 | -if ( ! $_tests_dir ) { |
|
2 | +$_tests_dir = getenv('WP_TESTS_DIR'); |
|
3 | +if ( ! $_tests_dir) { |
|
4 | 4 | $_tests_dir = '/tmp/wordpress-tests-lib'; |
5 | 5 | } |
6 | 6 | |
7 | 7 | require_once $_tests_dir . '/includes/functions.php'; |
8 | 8 | |
9 | 9 | function _manually_load_plugin() { |
10 | - $plugin_dir = dirname( dirname( dirname( dirname( __FILE__ ) ) ) ) . '/'; |
|
10 | + $plugin_dir = dirname(dirname(dirname(dirname(__FILE__)))) . '/'; |
|
11 | 11 | require $plugin_dir . 'woocommerce/woocommerce.php'; |
12 | - require dirname( __FILE__ ) . '/setup.php'; |
|
12 | + require dirname(__FILE__) . '/setup.php'; |
|
13 | 13 | require $plugin_dir . 'woocommerce-gateway-stripe/woocommerce-gateway-stripe.php'; |
14 | 14 | } |
15 | 15 | |
16 | -tests_add_filter( 'muplugins_loaded', '_manually_load_plugin' ); |
|
16 | +tests_add_filter('muplugins_loaded', '_manually_load_plugin'); |
|
17 | 17 | |
18 | 18 | require $_tests_dir . '/includes/bootstrap.php'; |
19 | 19 | |
20 | -$wc_tests_framework_base_dir = dirname( dirname( dirname( dirname( __FILE__ ) ) ) ) . '/woocommerce/tests/framework/'; |
|
21 | -require_once( $wc_tests_framework_base_dir . 'class-wc-mock-session-handler.php' ); |
|
20 | +$wc_tests_framework_base_dir = dirname(dirname(dirname(dirname(__FILE__)))) . '/woocommerce/tests/framework/'; |
|
21 | +require_once($wc_tests_framework_base_dir . 'class-wc-mock-session-handler.php'); |
|
22 | 22 | //require_once( $wc_tests_framework_base_dir . 'class-wc-unit-test-case.php' ); |
23 | -require_once( $wc_tests_framework_base_dir . 'helpers/class-wc-helper-product.php' ); |
|
24 | -require_once( $wc_tests_framework_base_dir . 'helpers/class-wc-helper-coupon.php' ); |
|
25 | -require_once( $wc_tests_framework_base_dir . 'helpers/class-wc-helper-fee.php' ); |
|
26 | -require_once( $wc_tests_framework_base_dir . 'helpers/class-wc-helper-shipping.php' ); |
|
27 | -require_once( $wc_tests_framework_base_dir . 'helpers/class-wc-helper-customer.php' ); |
|
28 | -require_once( $wc_tests_framework_base_dir . 'helpers/class-wc-helper-order.php' ); |
|
23 | +require_once($wc_tests_framework_base_dir . 'helpers/class-wc-helper-product.php'); |
|
24 | +require_once($wc_tests_framework_base_dir . 'helpers/class-wc-helper-coupon.php'); |
|
25 | +require_once($wc_tests_framework_base_dir . 'helpers/class-wc-helper-fee.php'); |
|
26 | +require_once($wc_tests_framework_base_dir . 'helpers/class-wc-helper-shipping.php'); |
|
27 | +require_once($wc_tests_framework_base_dir . 'helpers/class-wc-helper-customer.php'); |
|
28 | +require_once($wc_tests_framework_base_dir . 'helpers/class-wc-helper-order.php'); |
@@ -2,4 +2,4 @@ |
||
2 | 2 | /** |
3 | 3 | * Set up shared by all tests. |
4 | 4 | */ |
5 | -update_option( 'woocommerce_default_country', 'US:CA' ); |
|
5 | +update_option('woocommerce_default_country', 'US:CA'); |
@@ -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 | |
@@ -134,11 +134,11 @@ discard block |
||
134 | 134 | * @return void |
135 | 135 | */ |
136 | 136 | public function set_session() { |
137 | - if ( ! is_product() || ( isset( WC()->session ) && WC()->session->has_session() ) ) { |
|
137 | + if ( ! is_product() || (isset(WC()->session) && WC()->session->has_session())) { |
|
138 | 138 | return; |
139 | 139 | } |
140 | 140 | |
141 | - WC()->session->set_customer_session_cookie( true ); |
|
141 | + WC()->session->set_customer_session_cookie(true); |
|
142 | 142 | } |
143 | 143 | |
144 | 144 | /** |
@@ -149,30 +149,30 @@ discard block |
||
149 | 149 | * @return void |
150 | 150 | */ |
151 | 151 | public function init() { |
152 | - add_action( 'wp_enqueue_scripts', array( $this, 'scripts' ) ); |
|
152 | + add_action('wp_enqueue_scripts', array($this, 'scripts')); |
|
153 | 153 | |
154 | - add_action( 'woocommerce_after_add_to_cart_quantity', array( $this, 'display_payment_request_button_html' ), 1 ); |
|
155 | - add_action( 'woocommerce_after_add_to_cart_quantity', array( $this, 'display_payment_request_button_separator_html' ), 2 ); |
|
154 | + add_action('woocommerce_after_add_to_cart_quantity', array($this, 'display_payment_request_button_html'), 1); |
|
155 | + add_action('woocommerce_after_add_to_cart_quantity', array($this, 'display_payment_request_button_separator_html'), 2); |
|
156 | 156 | |
157 | - add_action( 'woocommerce_proceed_to_checkout', array( $this, 'display_payment_request_button_html' ), 1 ); |
|
158 | - add_action( 'woocommerce_proceed_to_checkout', array( $this, 'display_payment_request_button_separator_html' ), 2 ); |
|
157 | + add_action('woocommerce_proceed_to_checkout', array($this, 'display_payment_request_button_html'), 1); |
|
158 | + add_action('woocommerce_proceed_to_checkout', array($this, 'display_payment_request_button_separator_html'), 2); |
|
159 | 159 | |
160 | - add_action( 'woocommerce_checkout_before_customer_details', array( $this, 'display_payment_request_button_html' ), 1 ); |
|
161 | - add_action( 'woocommerce_checkout_before_customer_details', array( $this, 'display_payment_request_button_separator_html' ), 2 ); |
|
160 | + add_action('woocommerce_checkout_before_customer_details', array($this, 'display_payment_request_button_html'), 1); |
|
161 | + add_action('woocommerce_checkout_before_customer_details', array($this, 'display_payment_request_button_separator_html'), 2); |
|
162 | 162 | |
163 | - add_action( 'wc_ajax_wc_stripe_get_cart_details', array( $this, 'ajax_get_cart_details' ) ); |
|
164 | - add_action( 'wc_ajax_wc_stripe_get_shipping_options', array( $this, 'ajax_get_shipping_options' ) ); |
|
165 | - add_action( 'wc_ajax_wc_stripe_update_shipping_method', array( $this, 'ajax_update_shipping_method' ) ); |
|
166 | - add_action( 'wc_ajax_wc_stripe_create_order', array( $this, 'ajax_create_order' ) ); |
|
167 | - add_action( 'wc_ajax_wc_stripe_add_to_cart', array( $this, 'ajax_add_to_cart' ) ); |
|
168 | - add_action( 'wc_ajax_wc_stripe_get_selected_product_data', array( $this, 'ajax_get_selected_product_data' ) ); |
|
169 | - add_action( 'wc_ajax_wc_stripe_clear_cart', array( $this, 'ajax_clear_cart' ) ); |
|
170 | - add_action( 'wc_ajax_wc_stripe_log_errors', array( $this, 'ajax_log_errors' ) ); |
|
163 | + add_action('wc_ajax_wc_stripe_get_cart_details', array($this, 'ajax_get_cart_details')); |
|
164 | + add_action('wc_ajax_wc_stripe_get_shipping_options', array($this, 'ajax_get_shipping_options')); |
|
165 | + add_action('wc_ajax_wc_stripe_update_shipping_method', array($this, 'ajax_update_shipping_method')); |
|
166 | + add_action('wc_ajax_wc_stripe_create_order', array($this, 'ajax_create_order')); |
|
167 | + add_action('wc_ajax_wc_stripe_add_to_cart', array($this, 'ajax_add_to_cart')); |
|
168 | + add_action('wc_ajax_wc_stripe_get_selected_product_data', array($this, 'ajax_get_selected_product_data')); |
|
169 | + add_action('wc_ajax_wc_stripe_clear_cart', array($this, 'ajax_clear_cart')); |
|
170 | + add_action('wc_ajax_wc_stripe_log_errors', array($this, 'ajax_log_errors')); |
|
171 | 171 | |
172 | - add_filter( 'woocommerce_gateway_title', array( $this, 'filter_gateway_title' ), 10, 2 ); |
|
173 | - add_filter( 'woocommerce_validate_postcode', array( $this, 'postal_code_validation' ), 10, 3 ); |
|
172 | + add_filter('woocommerce_gateway_title', array($this, 'filter_gateway_title'), 10, 2); |
|
173 | + add_filter('woocommerce_validate_postcode', array($this, 'postal_code_validation'), 10, 3); |
|
174 | 174 | |
175 | - add_action( 'woocommerce_checkout_order_processed', array( $this, 'add_order_meta' ), 10, 2 ); |
|
175 | + add_action('woocommerce_checkout_order_processed', array($this, 'add_order_meta'), 10, 2); |
|
176 | 176 | } |
177 | 177 | |
178 | 178 | /** |
@@ -183,7 +183,7 @@ discard block |
||
183 | 183 | * @return string |
184 | 184 | */ |
185 | 185 | public function get_button_type() { |
186 | - return isset( $this->stripe_settings['payment_request_button_type'] ) ? $this->stripe_settings['payment_request_button_type'] : 'default'; |
|
186 | + return isset($this->stripe_settings['payment_request_button_type']) ? $this->stripe_settings['payment_request_button_type'] : 'default'; |
|
187 | 187 | } |
188 | 188 | |
189 | 189 | /** |
@@ -194,7 +194,7 @@ discard block |
||
194 | 194 | * @return string |
195 | 195 | */ |
196 | 196 | public function get_button_theme() { |
197 | - return isset( $this->stripe_settings['payment_request_button_theme'] ) ? $this->stripe_settings['payment_request_button_theme'] : 'dark'; |
|
197 | + return isset($this->stripe_settings['payment_request_button_theme']) ? $this->stripe_settings['payment_request_button_theme'] : 'dark'; |
|
198 | 198 | } |
199 | 199 | |
200 | 200 | /** |
@@ -205,7 +205,7 @@ discard block |
||
205 | 205 | * @return string |
206 | 206 | */ |
207 | 207 | public function get_button_height() { |
208 | - return isset( $this->stripe_settings['payment_request_button_height'] ) ? str_replace( 'px', '', $this->stripe_settings['payment_request_button_height'] ) : '64'; |
|
208 | + return isset($this->stripe_settings['payment_request_button_height']) ? str_replace('px', '', $this->stripe_settings['payment_request_button_height']) : '64'; |
|
209 | 209 | } |
210 | 210 | |
211 | 211 | /** |
@@ -227,7 +227,7 @@ discard block |
||
227 | 227 | * @return string |
228 | 228 | */ |
229 | 229 | public function get_button_branded_type() { |
230 | - return isset( $this->stripe_settings['payment_request_button_branded_type'] ) ? $this->stripe_settings['payment_request_button_branded_type'] : 'default'; |
|
230 | + return isset($this->stripe_settings['payment_request_button_branded_type']) ? $this->stripe_settings['payment_request_button_branded_type'] : 'default'; |
|
231 | 231 | } |
232 | 232 | |
233 | 233 | /** |
@@ -260,7 +260,7 @@ discard block |
||
260 | 260 | * @return string |
261 | 261 | */ |
262 | 262 | public function get_button_label() { |
263 | - return isset( $this->stripe_settings['payment_request_button_label'] ) ? $this->stripe_settings['payment_request_button_label'] : 'Buy now'; |
|
263 | + return isset($this->stripe_settings['payment_request_button_label']) ? $this->stripe_settings['payment_request_button_label'] : 'Buy now'; |
|
264 | 264 | } |
265 | 265 | |
266 | 266 | /** |
@@ -271,22 +271,22 @@ discard block |
||
271 | 271 | * @return mixed Returns false if not on a product page, the product information otherwise. |
272 | 272 | */ |
273 | 273 | public function get_product_data() { |
274 | - if ( ! is_product() ) { |
|
274 | + if ( ! is_product()) { |
|
275 | 275 | return false; |
276 | 276 | } |
277 | 277 | |
278 | 278 | global $post; |
279 | 279 | |
280 | - $product = wc_get_product( $post->ID ); |
|
280 | + $product = wc_get_product($post->ID); |
|
281 | 281 | |
282 | - if ( 'variable' === $product->get_type() ) { |
|
283 | - $attributes = wc_clean( wp_unslash( $_GET ) ); |
|
282 | + if ('variable' === $product->get_type()) { |
|
283 | + $attributes = wc_clean(wp_unslash($_GET)); |
|
284 | 284 | |
285 | - $data_store = WC_Data_Store::load( 'product' ); |
|
286 | - $variation_id = $data_store->find_matching_product_variation( $product, $attributes ); |
|
285 | + $data_store = WC_Data_Store::load('product'); |
|
286 | + $variation_id = $data_store->find_matching_product_variation($product, $attributes); |
|
287 | 287 | |
288 | - if ( ! empty( $variation_id ) ) { |
|
289 | - $product = wc_get_product( $variation_id ); |
|
288 | + if ( ! empty($variation_id)) { |
|
289 | + $product = wc_get_product($variation_id); |
|
290 | 290 | } |
291 | 291 | } |
292 | 292 | |
@@ -295,27 +295,27 @@ discard block |
||
295 | 295 | |
296 | 296 | $items[] = array( |
297 | 297 | 'label' => $product->get_name(), |
298 | - 'amount' => WC_Stripe_Helper::get_stripe_amount( $product->get_price() ), |
|
298 | + 'amount' => WC_Stripe_Helper::get_stripe_amount($product->get_price()), |
|
299 | 299 | ); |
300 | 300 | |
301 | - if ( wc_tax_enabled() ) { |
|
301 | + if (wc_tax_enabled()) { |
|
302 | 302 | $items[] = array( |
303 | - 'label' => __( 'Tax', 'woocommerce-gateway-stripe' ), |
|
303 | + 'label' => __('Tax', 'woocommerce-gateway-stripe'), |
|
304 | 304 | 'amount' => 0, |
305 | 305 | 'pending' => true, |
306 | 306 | ); |
307 | 307 | } |
308 | 308 | |
309 | - if ( wc_shipping_enabled() && $product->needs_shipping() ) { |
|
309 | + if (wc_shipping_enabled() && $product->needs_shipping()) { |
|
310 | 310 | $items[] = array( |
311 | - 'label' => __( 'Shipping', 'woocommerce-gateway-stripe' ), |
|
311 | + 'label' => __('Shipping', 'woocommerce-gateway-stripe'), |
|
312 | 312 | 'amount' => 0, |
313 | 313 | 'pending' => true, |
314 | 314 | ); |
315 | 315 | |
316 | 316 | $data['shippingOptions'] = array( |
317 | 317 | 'id' => 'pending', |
318 | - 'label' => __( 'Pending', 'woocommerce-gateway-stripe' ), |
|
318 | + 'label' => __('Pending', 'woocommerce-gateway-stripe'), |
|
319 | 319 | 'detail' => '', |
320 | 320 | 'amount' => 0, |
321 | 321 | ); |
@@ -323,36 +323,36 @@ discard block |
||
323 | 323 | |
324 | 324 | $data['displayItems'] = $items; |
325 | 325 | $data['total'] = array( |
326 | - 'label' => apply_filters( 'wc_stripe_payment_request_total_label', $this->total_label ), |
|
327 | - 'amount' => WC_Stripe_Helper::get_stripe_amount( $product->get_price() ), |
|
326 | + 'label' => apply_filters('wc_stripe_payment_request_total_label', $this->total_label), |
|
327 | + 'amount' => WC_Stripe_Helper::get_stripe_amount($product->get_price()), |
|
328 | 328 | 'pending' => true, |
329 | 329 | ); |
330 | 330 | |
331 | - $data['requestShipping'] = ( wc_shipping_enabled() && $product->needs_shipping() ); |
|
332 | - $data['currency'] = strtolower( get_woocommerce_currency() ); |
|
333 | - $data['country_code'] = substr( get_option( 'woocommerce_default_country' ), 0, 2 ); |
|
331 | + $data['requestShipping'] = (wc_shipping_enabled() && $product->needs_shipping()); |
|
332 | + $data['currency'] = strtolower(get_woocommerce_currency()); |
|
333 | + $data['country_code'] = substr(get_option('woocommerce_default_country'), 0, 2); |
|
334 | 334 | |
335 | - return apply_filters( 'wc_stripe_payment_request_product_data', $data, $product ); |
|
335 | + return apply_filters('wc_stripe_payment_request_product_data', $data, $product); |
|
336 | 336 | } |
337 | 337 | |
338 | 338 | /** |
339 | 339 | * Filters the gateway title to reflect Payment Request type |
340 | 340 | */ |
341 | - public function filter_gateway_title( $title, $id ) { |
|
341 | + public function filter_gateway_title($title, $id) { |
|
342 | 342 | global $post; |
343 | 343 | |
344 | - if ( ! is_object( $post ) ) { |
|
344 | + if ( ! is_object($post)) { |
|
345 | 345 | return $title; |
346 | 346 | } |
347 | 347 | |
348 | - $order = wc_get_order( $post->ID ); |
|
349 | - $method_title = is_object( $order ) ? $order->get_payment_method_title() : ''; |
|
348 | + $order = wc_get_order($post->ID); |
|
349 | + $method_title = is_object($order) ? $order->get_payment_method_title() : ''; |
|
350 | 350 | |
351 | - if ( 'stripe' === $id && ! empty( $method_title ) && 'Apple Pay (Stripe)' === $method_title ) { |
|
351 | + if ('stripe' === $id && ! empty($method_title) && 'Apple Pay (Stripe)' === $method_title) { |
|
352 | 352 | return $method_title; |
353 | 353 | } |
354 | 354 | |
355 | - if ( 'stripe' === $id && ! empty( $method_title ) && 'Chrome Payment Request (Stripe)' === $method_title ) { |
|
355 | + if ('stripe' === $id && ! empty($method_title) && 'Chrome Payment Request (Stripe)' === $method_title) { |
|
356 | 356 | return $method_title; |
357 | 357 | } |
358 | 358 | |
@@ -365,16 +365,16 @@ discard block |
||
365 | 365 | * @since 3.1.4 |
366 | 366 | * @version 4.0.0 |
367 | 367 | */ |
368 | - public function postal_code_validation( $valid, $postcode, $country ) { |
|
368 | + public function postal_code_validation($valid, $postcode, $country) { |
|
369 | 369 | $gateways = WC()->payment_gateways->get_available_payment_gateways(); |
370 | 370 | |
371 | - if ( ! isset( $gateways['stripe'] ) ) { |
|
371 | + if ( ! isset($gateways['stripe'])) { |
|
372 | 372 | return $valid; |
373 | 373 | } |
374 | 374 | |
375 | - $payment_request_type = isset( $_POST['payment_request_type'] ) ? wc_clean( $_POST['payment_request_type'] ) : ''; |
|
375 | + $payment_request_type = isset($_POST['payment_request_type']) ? wc_clean($_POST['payment_request_type']) : ''; |
|
376 | 376 | |
377 | - if ( 'apple_pay' !== $payment_request_type ) { |
|
377 | + if ('apple_pay' !== $payment_request_type) { |
|
378 | 378 | return $valid; |
379 | 379 | } |
380 | 380 | |
@@ -384,7 +384,7 @@ discard block |
||
384 | 384 | * the order and not let it go through. The remedy for now is just to remove this validation. |
385 | 385 | * Note that this only works with shipping providers that don't validate full postal codes. |
386 | 386 | */ |
387 | - if ( 'GB' === $country || 'CA' === $country ) { |
|
387 | + if ('GB' === $country || 'CA' === $country) { |
|
388 | 388 | return true; |
389 | 389 | } |
390 | 390 | |
@@ -401,22 +401,22 @@ discard block |
||
401 | 401 | * @version 4.0.0 |
402 | 402 | * @return void |
403 | 403 | */ |
404 | - public function add_order_meta( $order_id, $posted_data ) { |
|
405 | - if ( empty( $_POST['payment_request_type'] ) ) { |
|
404 | + public function add_order_meta($order_id, $posted_data) { |
|
405 | + if (empty($_POST['payment_request_type'])) { |
|
406 | 406 | return; |
407 | 407 | } |
408 | 408 | |
409 | - $order = wc_get_order( $order_id ); |
|
409 | + $order = wc_get_order($order_id); |
|
410 | 410 | |
411 | - $payment_request_type = wc_clean( $_POST['payment_request_type'] ); |
|
411 | + $payment_request_type = wc_clean($_POST['payment_request_type']); |
|
412 | 412 | |
413 | - if ( 'apple_pay' === $payment_request_type ) { |
|
414 | - $order->set_payment_method_title( 'Apple Pay (Stripe)' ); |
|
413 | + if ('apple_pay' === $payment_request_type) { |
|
414 | + $order->set_payment_method_title('Apple Pay (Stripe)'); |
|
415 | 415 | $order->save(); |
416 | 416 | } |
417 | 417 | |
418 | - if ( 'payment_request_api' === $payment_request_type ) { |
|
419 | - $order->set_payment_method_title( 'Chrome Payment Request (Stripe)' ); |
|
418 | + if ('payment_request_api' === $payment_request_type) { |
|
419 | + $order->set_payment_method_title('Chrome Payment Request (Stripe)'); |
|
420 | 420 | $order->save(); |
421 | 421 | } |
422 | 422 | } |
@@ -454,20 +454,20 @@ discard block |
||
454 | 454 | * @return boolean |
455 | 455 | */ |
456 | 456 | public function allowed_items_in_cart() { |
457 | - foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) { |
|
458 | - $_product = apply_filters( 'woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key ); |
|
457 | + foreach (WC()->cart->get_cart() as $cart_item_key => $cart_item) { |
|
458 | + $_product = apply_filters('woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key); |
|
459 | 459 | |
460 | - if ( ! in_array( $_product->get_type(), $this->supported_product_types() ) ) { |
|
460 | + if ( ! in_array($_product->get_type(), $this->supported_product_types())) { |
|
461 | 461 | return false; |
462 | 462 | } |
463 | 463 | |
464 | 464 | // Trial subscriptions with shipping are not supported |
465 | - if ( class_exists( 'WC_Subscriptions_Order' ) && WC_Subscriptions_Cart::cart_contains_subscription() && $_product->needs_shipping() && WC_Subscriptions_Product::get_trial_length( $_product ) > 0 ) { |
|
465 | + if (class_exists('WC_Subscriptions_Order') && WC_Subscriptions_Cart::cart_contains_subscription() && $_product->needs_shipping() && WC_Subscriptions_Product::get_trial_length($_product) > 0) { |
|
466 | 466 | return false; |
467 | 467 | } |
468 | 468 | |
469 | 469 | // Pre Orders compatbility where we don't support charge upon release. |
470 | - 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() ) ) { |
|
470 | + 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())) { |
|
471 | 471 | return false; |
472 | 472 | } |
473 | 473 | } |
@@ -483,61 +483,61 @@ discard block |
||
483 | 483 | */ |
484 | 484 | public function scripts() { |
485 | 485 | // If keys are not set bail. |
486 | - if ( ! $this->are_keys_set() ) { |
|
487 | - WC_Stripe_Logger::log( 'Keys are not set correctly.' ); |
|
486 | + if ( ! $this->are_keys_set()) { |
|
487 | + WC_Stripe_Logger::log('Keys are not set correctly.'); |
|
488 | 488 | return; |
489 | 489 | } |
490 | 490 | |
491 | 491 | // If no SSL bail. |
492 | - if ( ! $this->testmode && ! is_ssl() ) { |
|
493 | - WC_Stripe_Logger::log( 'Stripe Payment Request live mode requires SSL.' ); |
|
492 | + if ( ! $this->testmode && ! is_ssl()) { |
|
493 | + WC_Stripe_Logger::log('Stripe Payment Request live mode requires SSL.'); |
|
494 | 494 | return; |
495 | 495 | } |
496 | 496 | |
497 | - if ( ! is_product() && ! is_cart() && ! is_checkout() && ! isset( $_GET['pay_for_order'] ) ) { |
|
497 | + if ( ! is_product() && ! is_cart() && ! is_checkout() && ! isset($_GET['pay_for_order'])) { |
|
498 | 498 | return; |
499 | 499 | } |
500 | 500 | |
501 | - if ( is_product() && ! $this->should_show_payment_button_on_product_page() ) { |
|
501 | + if (is_product() && ! $this->should_show_payment_button_on_product_page()) { |
|
502 | 502 | return; |
503 | 503 | } |
504 | 504 | |
505 | - $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'; |
|
505 | + $suffix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min'; |
|
506 | 506 | |
507 | 507 | $stripe_params = array( |
508 | - 'ajax_url' => WC_AJAX::get_endpoint( '%%endpoint%%' ), |
|
508 | + 'ajax_url' => WC_AJAX::get_endpoint('%%endpoint%%'), |
|
509 | 509 | 'stripe' => array( |
510 | 510 | 'key' => $this->publishable_key, |
511 | - 'allow_prepaid_card' => apply_filters( 'wc_stripe_allow_prepaid_card', true ) ? 'yes' : 'no', |
|
511 | + 'allow_prepaid_card' => apply_filters('wc_stripe_allow_prepaid_card', true) ? 'yes' : 'no', |
|
512 | 512 | ), |
513 | 513 | 'nonce' => array( |
514 | - 'payment' => wp_create_nonce( 'wc-stripe-payment-request' ), |
|
515 | - 'shipping' => wp_create_nonce( 'wc-stripe-payment-request-shipping' ), |
|
516 | - 'update_shipping' => wp_create_nonce( 'wc-stripe-update-shipping-method' ), |
|
517 | - 'checkout' => wp_create_nonce( 'woocommerce-process_checkout' ), |
|
518 | - 'add_to_cart' => wp_create_nonce( 'wc-stripe-add-to-cart' ), |
|
519 | - 'get_selected_product_data' => wp_create_nonce( 'wc-stripe-get-selected-product-data' ), |
|
520 | - 'log_errors' => wp_create_nonce( 'wc-stripe-log-errors' ), |
|
521 | - 'clear_cart' => wp_create_nonce( 'wc-stripe-clear-cart' ), |
|
514 | + 'payment' => wp_create_nonce('wc-stripe-payment-request'), |
|
515 | + 'shipping' => wp_create_nonce('wc-stripe-payment-request-shipping'), |
|
516 | + 'update_shipping' => wp_create_nonce('wc-stripe-update-shipping-method'), |
|
517 | + 'checkout' => wp_create_nonce('woocommerce-process_checkout'), |
|
518 | + 'add_to_cart' => wp_create_nonce('wc-stripe-add-to-cart'), |
|
519 | + 'get_selected_product_data' => wp_create_nonce('wc-stripe-get-selected-product-data'), |
|
520 | + 'log_errors' => wp_create_nonce('wc-stripe-log-errors'), |
|
521 | + 'clear_cart' => wp_create_nonce('wc-stripe-clear-cart'), |
|
522 | 522 | ), |
523 | 523 | 'i18n' => array( |
524 | - 'no_prepaid_card' => __( 'Sorry, we\'re not accepting prepaid cards at this time.', 'woocommerce-gateway-stripe' ), |
|
524 | + 'no_prepaid_card' => __('Sorry, we\'re not accepting prepaid cards at this time.', 'woocommerce-gateway-stripe'), |
|
525 | 525 | /* translators: Do not translate the [option] placeholder */ |
526 | - 'unknown_shipping' => __( 'Unknown shipping option "[option]".', 'woocommerce-gateway-stripe' ), |
|
526 | + 'unknown_shipping' => __('Unknown shipping option "[option]".', 'woocommerce-gateway-stripe'), |
|
527 | 527 | ), |
528 | 528 | 'checkout' => array( |
529 | 529 | 'url' => wc_get_checkout_url(), |
530 | - 'currency_code' => strtolower( get_woocommerce_currency() ), |
|
531 | - 'country_code' => substr( get_option( 'woocommerce_default_country' ), 0, 2 ), |
|
530 | + 'currency_code' => strtolower(get_woocommerce_currency()), |
|
531 | + 'country_code' => substr(get_option('woocommerce_default_country'), 0, 2), |
|
532 | 532 | 'needs_shipping' => WC()->cart->needs_shipping() ? 'yes' : 'no', |
533 | 533 | // Defaults to 'required' to match how core initializes this option. |
534 | - 'needs_payer_phone' => 'required' === get_option( 'woocommerce_checkout_phone_field', 'required' ), |
|
534 | + 'needs_payer_phone' => 'required' === get_option('woocommerce_checkout_phone_field', 'required'), |
|
535 | 535 | ), |
536 | 536 | 'button' => array( |
537 | 537 | 'type' => $this->get_button_type(), |
538 | 538 | 'theme' => $this->get_button_theme(), |
539 | 539 | 'height' => $this->get_button_height(), |
540 | - 'locale' => apply_filters( 'wc_stripe_payment_request_button_locale', substr( get_locale(), 0, 2 ) ), // Default format is en_US. |
|
540 | + 'locale' => apply_filters('wc_stripe_payment_request_button_locale', substr(get_locale(), 0, 2)), // Default format is en_US. |
|
541 | 541 | 'is_custom' => $this->is_custom_button(), |
542 | 542 | 'is_branded' => $this->is_branded_button(), |
543 | 543 | 'css_selector' => $this->custom_button_selector(), |
@@ -547,15 +547,15 @@ discard block |
||
547 | 547 | 'product' => $this->get_product_data(), |
548 | 548 | ); |
549 | 549 | |
550 | - wp_register_script( 'stripe', 'https://js.stripe.com/v3/', '', '3.0', true ); |
|
551 | - 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 ); |
|
550 | + wp_register_script('stripe', 'https://js.stripe.com/v3/', '', '3.0', true); |
|
551 | + 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); |
|
552 | 552 | |
553 | - wp_localize_script( 'wc_stripe_payment_request', 'wc_stripe_payment_request_params', apply_filters( 'wc_stripe_payment_request_params', $stripe_params ) ); |
|
553 | + wp_localize_script('wc_stripe_payment_request', 'wc_stripe_payment_request_params', apply_filters('wc_stripe_payment_request_params', $stripe_params)); |
|
554 | 554 | |
555 | - wp_enqueue_script( 'wc_stripe_payment_request' ); |
|
555 | + wp_enqueue_script('wc_stripe_payment_request'); |
|
556 | 556 | |
557 | 557 | $gateways = WC()->payment_gateways->get_available_payment_gateways(); |
558 | - if ( isset( $gateways['stripe'] ) ) { |
|
558 | + if (isset($gateways['stripe'])) { |
|
559 | 559 | $gateways['stripe']->payment_scripts(); |
560 | 560 | } |
561 | 561 | } |
@@ -571,31 +571,31 @@ discard block |
||
571 | 571 | |
572 | 572 | $gateways = WC()->payment_gateways->get_available_payment_gateways(); |
573 | 573 | |
574 | - if ( ! isset( $gateways['stripe'] ) ) { |
|
574 | + if ( ! isset($gateways['stripe'])) { |
|
575 | 575 | return; |
576 | 576 | } |
577 | 577 | |
578 | - if ( ! is_cart() && ! is_checkout() && ! is_product() && ! isset( $_GET['pay_for_order'] ) ) { |
|
578 | + if ( ! is_cart() && ! is_checkout() && ! is_product() && ! isset($_GET['pay_for_order'])) { |
|
579 | 579 | return; |
580 | 580 | } |
581 | 581 | |
582 | - if ( is_checkout() && ! apply_filters( 'wc_stripe_show_payment_request_on_checkout', false, $post ) ) { |
|
582 | + if (is_checkout() && ! apply_filters('wc_stripe_show_payment_request_on_checkout', false, $post)) { |
|
583 | 583 | return; |
584 | 584 | } |
585 | 585 | |
586 | - if ( is_product() && ! $this->should_show_payment_button_on_product_page() ) { |
|
586 | + if (is_product() && ! $this->should_show_payment_button_on_product_page()) { |
|
587 | 587 | return; |
588 | - } else if ( ! $this->should_show_payment_button_on_cart() ) { |
|
588 | + } else if ( ! $this->should_show_payment_button_on_cart()) { |
|
589 | 589 | return; |
590 | 590 | } |
591 | 591 | ?> |
592 | 592 | <div id="wc-stripe-payment-request-wrapper" style="clear:both;padding-top:1.5em;display:none;"> |
593 | 593 | <div id="wc-stripe-payment-request-button"> |
594 | 594 | <?php |
595 | - if ( $this->is_custom_button() ) { |
|
596 | - $label = esc_html( $this->get_button_label() ); |
|
597 | - $class_name = esc_attr( 'button ' . $this->get_button_theme() ); |
|
598 | - $style = esc_attr( 'height:' . $this->get_button_height() . 'px;' ); |
|
595 | + if ($this->is_custom_button()) { |
|
596 | + $label = esc_html($this->get_button_label()); |
|
597 | + $class_name = esc_attr('button ' . $this->get_button_theme()); |
|
598 | + $style = esc_attr('height:' . $this->get_button_height() . 'px;'); |
|
599 | 599 | echo "<button id=\"wc-stripe-custom-button\" class=\"$class_name\" style=\"$style\"> $label </button>"; |
600 | 600 | } |
601 | 601 | ?> |
@@ -616,25 +616,25 @@ discard block |
||
616 | 616 | |
617 | 617 | $gateways = WC()->payment_gateways->get_available_payment_gateways(); |
618 | 618 | |
619 | - if ( ! isset( $gateways['stripe'] ) ) { |
|
619 | + if ( ! isset($gateways['stripe'])) { |
|
620 | 620 | return; |
621 | 621 | } |
622 | 622 | |
623 | - if ( ! is_cart() && ! is_checkout() && ! is_product() && ! isset( $_GET['pay_for_order'] ) ) { |
|
623 | + if ( ! is_cart() && ! is_checkout() && ! is_product() && ! isset($_GET['pay_for_order'])) { |
|
624 | 624 | return; |
625 | 625 | } |
626 | 626 | |
627 | - if ( is_checkout() && ! apply_filters( 'wc_stripe_show_payment_request_on_checkout', false, $post ) ) { |
|
627 | + if (is_checkout() && ! apply_filters('wc_stripe_show_payment_request_on_checkout', false, $post)) { |
|
628 | 628 | return; |
629 | 629 | } |
630 | 630 | |
631 | - if ( is_product() && ! $this->should_show_payment_button_on_product_page() ) { |
|
631 | + if (is_product() && ! $this->should_show_payment_button_on_product_page()) { |
|
632 | 632 | return; |
633 | - } else if ( ! $this->should_show_payment_button_on_cart() ) { |
|
633 | + } else if ( ! $this->should_show_payment_button_on_cart()) { |
|
634 | 634 | return; |
635 | 635 | } |
636 | 636 | ?> |
637 | - <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> |
|
637 | + <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> |
|
638 | 638 | <?php |
639 | 639 | } |
640 | 640 | |
@@ -645,11 +645,11 @@ discard block |
||
645 | 645 | * @return boolean |
646 | 646 | */ |
647 | 647 | private function should_show_payment_button_on_cart() { |
648 | - if ( ! apply_filters( 'wc_stripe_show_payment_request_on_cart', true ) ) { |
|
648 | + if ( ! apply_filters('wc_stripe_show_payment_request_on_cart', true)) { |
|
649 | 649 | return false; |
650 | 650 | } |
651 | - if ( ! $this->allowed_items_in_cart() ) { |
|
652 | - WC_Stripe_Logger::log( 'Items in the cart has unsupported product type ( Payment Request button disabled )' ); |
|
651 | + if ( ! $this->allowed_items_in_cart()) { |
|
652 | + WC_Stripe_Logger::log('Items in the cart has unsupported product type ( Payment Request button disabled )'); |
|
653 | 653 | return false; |
654 | 654 | } |
655 | 655 | return true; |
@@ -664,32 +664,32 @@ discard block |
||
664 | 664 | private function should_show_payment_button_on_product_page() { |
665 | 665 | global $post; |
666 | 666 | |
667 | - $product = wc_get_product( $post->ID ); |
|
667 | + $product = wc_get_product($post->ID); |
|
668 | 668 | |
669 | - if ( apply_filters( 'wc_stripe_hide_payment_request_on_product_page', false, $post ) ) { |
|
669 | + if (apply_filters('wc_stripe_hide_payment_request_on_product_page', false, $post)) { |
|
670 | 670 | return false; |
671 | 671 | } |
672 | 672 | |
673 | - if ( ! is_object( $product ) || ! in_array( $product->get_type(), $this->supported_product_types() ) ) { |
|
673 | + if ( ! is_object($product) || ! in_array($product->get_type(), $this->supported_product_types())) { |
|
674 | 674 | return false; |
675 | 675 | } |
676 | 676 | |
677 | 677 | // Trial subscriptions with shipping are not supported |
678 | - if ( class_exists( 'WC_Subscriptions_Order' ) && $product->needs_shipping() && WC_Subscriptions_Product::get_trial_length( $product ) > 0 ) { |
|
678 | + if (class_exists('WC_Subscriptions_Order') && $product->needs_shipping() && WC_Subscriptions_Product::get_trial_length($product) > 0) { |
|
679 | 679 | return false; |
680 | 680 | } |
681 | 681 | |
682 | 682 | // Pre Orders charge upon release not supported. |
683 | - if ( class_exists( 'WC_Pre_Orders_Order' ) && WC_Pre_Orders_Product::product_is_charged_upon_release( $product ) ) { |
|
684 | - WC_Stripe_Logger::log( 'Pre Order charge upon release is not supported. ( Payment Request button disabled )' ); |
|
683 | + if (class_exists('WC_Pre_Orders_Order') && WC_Pre_Orders_Product::product_is_charged_upon_release($product)) { |
|
684 | + WC_Stripe_Logger::log('Pre Order charge upon release is not supported. ( Payment Request button disabled )'); |
|
685 | 685 | return false; |
686 | 686 | } |
687 | 687 | |
688 | 688 | // File upload addon not supported |
689 | - if ( class_exists( 'WC_Product_Addons_Helper' ) ) { |
|
690 | - $product_addons = WC_Product_Addons_Helper::get_product_addons( $product->get_id() ); |
|
691 | - foreach ( $product_addons as $addon ) { |
|
692 | - if ( 'file_upload' === $addon['type'] ) { |
|
689 | + if (class_exists('WC_Product_Addons_Helper')) { |
|
690 | + $product_addons = WC_Product_Addons_Helper::get_product_addons($product->get_id()); |
|
691 | + foreach ($product_addons as $addon) { |
|
692 | + if ('file_upload' === $addon['type']) { |
|
693 | 693 | return false; |
694 | 694 | } |
695 | 695 | } |
@@ -705,11 +705,11 @@ discard block |
||
705 | 705 | * @version 4.0.0 |
706 | 706 | */ |
707 | 707 | public function ajax_log_errors() { |
708 | - check_ajax_referer( 'wc-stripe-log-errors', 'security' ); |
|
708 | + check_ajax_referer('wc-stripe-log-errors', 'security'); |
|
709 | 709 | |
710 | - $errors = wc_clean( stripslashes( $_POST['errors'] ) ); |
|
710 | + $errors = wc_clean(stripslashes($_POST['errors'])); |
|
711 | 711 | |
712 | - WC_Stripe_Logger::log( $errors ); |
|
712 | + WC_Stripe_Logger::log($errors); |
|
713 | 713 | |
714 | 714 | exit; |
715 | 715 | } |
@@ -721,7 +721,7 @@ discard block |
||
721 | 721 | * @version 4.0.0 |
722 | 722 | */ |
723 | 723 | public function ajax_clear_cart() { |
724 | - check_ajax_referer( 'wc-stripe-clear-cart', 'security' ); |
|
724 | + check_ajax_referer('wc-stripe-clear-cart', 'security'); |
|
725 | 725 | |
726 | 726 | WC()->cart->empty_cart(); |
727 | 727 | exit; |
@@ -731,10 +731,10 @@ discard block |
||
731 | 731 | * Get cart details. |
732 | 732 | */ |
733 | 733 | public function ajax_get_cart_details() { |
734 | - check_ajax_referer( 'wc-stripe-payment-request', 'security' ); |
|
734 | + check_ajax_referer('wc-stripe-payment-request', 'security'); |
|
735 | 735 | |
736 | - if ( ! defined( 'WOOCOMMERCE_CART' ) ) { |
|
737 | - define( 'WOOCOMMERCE_CART', true ); |
|
736 | + if ( ! defined('WOOCOMMERCE_CART')) { |
|
737 | + define('WOOCOMMERCE_CART', true); |
|
738 | 738 | } |
739 | 739 | |
740 | 740 | WC()->cart->calculate_totals(); |
@@ -745,14 +745,14 @@ discard block |
||
745 | 745 | $data = array( |
746 | 746 | 'shipping_required' => WC()->cart->needs_shipping(), |
747 | 747 | 'order_data' => array( |
748 | - 'currency' => strtolower( $currency ), |
|
749 | - 'country_code' => substr( get_option( 'woocommerce_default_country' ), 0, 2 ), |
|
748 | + 'currency' => strtolower($currency), |
|
749 | + 'country_code' => substr(get_option('woocommerce_default_country'), 0, 2), |
|
750 | 750 | ), |
751 | 751 | ); |
752 | 752 | |
753 | 753 | $data['order_data'] += $this->build_display_items(); |
754 | 754 | |
755 | - wp_send_json( $data ); |
|
755 | + wp_send_json($data); |
|
756 | 756 | } |
757 | 757 | |
758 | 758 | /** |
@@ -763,7 +763,7 @@ discard block |
||
763 | 763 | * @see WC_Shipping::get_packages(). |
764 | 764 | */ |
765 | 765 | public function ajax_get_shipping_options() { |
766 | - check_ajax_referer( 'wc-stripe-payment-request-shipping', 'security' ); |
|
766 | + check_ajax_referer('wc-stripe-payment-request-shipping', 'security'); |
|
767 | 767 | |
768 | 768 | $shipping_address = filter_input_array( |
769 | 769 | INPUT_POST, |
@@ -776,11 +776,11 @@ discard block |
||
776 | 776 | 'address_2' => FILTER_SANITIZE_STRING, |
777 | 777 | ) |
778 | 778 | ); |
779 | - $product_view_options = filter_input_array( INPUT_POST, [ 'is_product_page' => FILTER_SANITIZE_STRING ] ); |
|
780 | - $should_show_itemized_view = ! isset( $product_view_options['is_product_page'] ) ?: filter_var( $product_view_options['is_product_page'], FILTER_VALIDATE_BOOLEAN ); |
|
779 | + $product_view_options = filter_input_array(INPUT_POST, ['is_product_page' => FILTER_SANITIZE_STRING]); |
|
780 | + $should_show_itemized_view = ! isset($product_view_options['is_product_page']) ?: filter_var($product_view_options['is_product_page'], FILTER_VALIDATE_BOOLEAN); |
|
781 | 781 | |
782 | - $data = $this->get_shipping_options( $shipping_address, $should_show_itemized_view ); |
|
783 | - wp_send_json( $data ); |
|
782 | + $data = $this->get_shipping_options($shipping_address, $should_show_itemized_view); |
|
783 | + wp_send_json($data); |
|
784 | 784 | } |
785 | 785 | |
786 | 786 | /** |
@@ -792,66 +792,66 @@ discard block |
||
792 | 792 | * @return array Shipping options data. |
793 | 793 | * phpcs:ignore Squiz.Commenting.FunctionCommentThrowTag |
794 | 794 | */ |
795 | - public function get_shipping_options( $shipping_address, $itemized_display_items = false ) { |
|
795 | + public function get_shipping_options($shipping_address, $itemized_display_items = false) { |
|
796 | 796 | try { |
797 | 797 | // Set the shipping options. |
798 | 798 | $data = array(); |
799 | 799 | |
800 | 800 | // Remember current shipping method before resetting. |
801 | - $chosen_shipping_methods = WC()->session->get( 'chosen_shipping_methods' ); |
|
802 | - $this->calculate_shipping( apply_filters( 'wc_stripe_payment_request_shipping_posted_values', $shipping_address ) ); |
|
801 | + $chosen_shipping_methods = WC()->session->get('chosen_shipping_methods'); |
|
802 | + $this->calculate_shipping(apply_filters('wc_stripe_payment_request_shipping_posted_values', $shipping_address)); |
|
803 | 803 | |
804 | 804 | $packages = WC()->shipping->get_packages(); |
805 | 805 | |
806 | - if ( ! empty( $packages ) && WC()->customer->has_calculated_shipping() ) { |
|
807 | - foreach ( $packages as $package_key => $package ) { |
|
808 | - if ( empty( $package['rates'] ) ) { |
|
809 | - throw new Exception( __( 'Unable to find shipping method for address.', 'woocommerce-gateway-stripe' ) ); |
|
806 | + if ( ! empty($packages) && WC()->customer->has_calculated_shipping()) { |
|
807 | + foreach ($packages as $package_key => $package) { |
|
808 | + if (empty($package['rates'])) { |
|
809 | + throw new Exception(__('Unable to find shipping method for address.', 'woocommerce-gateway-stripe')); |
|
810 | 810 | } |
811 | 811 | |
812 | - foreach ( $package['rates'] as $key => $rate ) { |
|
812 | + foreach ($package['rates'] as $key => $rate) { |
|
813 | 813 | $data['shipping_options'][] = array( |
814 | 814 | 'id' => $rate->id, |
815 | 815 | 'label' => $rate->label, |
816 | 816 | 'detail' => '', |
817 | - 'amount' => WC_Stripe_Helper::get_stripe_amount( $rate->cost ), |
|
817 | + 'amount' => WC_Stripe_Helper::get_stripe_amount($rate->cost), |
|
818 | 818 | ); |
819 | 819 | } |
820 | 820 | } |
821 | 821 | } else { |
822 | - throw new Exception( __( 'Unable to find shipping method for address.', 'woocommerce-gateway-stripe' ) ); |
|
822 | + throw new Exception(__('Unable to find shipping method for address.', 'woocommerce-gateway-stripe')); |
|
823 | 823 | } |
824 | 824 | |
825 | 825 | // The first shipping option is automatically applied on the client. |
826 | 826 | // Keep chosen shipping method by sorting shipping options if the method still available for new address. |
827 | 827 | // Fallback to the first available shipping method. |
828 | - if ( isset( $data['shipping_options'][0] ) ) { |
|
829 | - if ( isset( $chosen_shipping_methods[0] ) ) { |
|
828 | + if (isset($data['shipping_options'][0])) { |
|
829 | + if (isset($chosen_shipping_methods[0])) { |
|
830 | 830 | $chosen_method_id = $chosen_shipping_methods[0]; |
831 | - $compare_shipping_options = function ( $a, $b ) use ( $chosen_method_id ) { |
|
832 | - if ( $a['id'] === $chosen_method_id ) { |
|
831 | + $compare_shipping_options = function($a, $b) use ($chosen_method_id) { |
|
832 | + if ($a['id'] === $chosen_method_id) { |
|
833 | 833 | return -1; |
834 | 834 | } |
835 | 835 | |
836 | - if ( $b['id'] === $chosen_method_id ) { |
|
836 | + if ($b['id'] === $chosen_method_id) { |
|
837 | 837 | return 1; |
838 | 838 | } |
839 | 839 | |
840 | 840 | return 0; |
841 | 841 | }; |
842 | - usort( $data['shipping_options'], $compare_shipping_options ); |
|
842 | + usort($data['shipping_options'], $compare_shipping_options); |
|
843 | 843 | } |
844 | 844 | |
845 | 845 | $first_shipping_method_id = $data['shipping_options'][0]['id']; |
846 | - $this->update_shipping_method( [ $first_shipping_method_id ] ); |
|
846 | + $this->update_shipping_method([$first_shipping_method_id]); |
|
847 | 847 | } |
848 | 848 | |
849 | 849 | WC()->cart->calculate_totals(); |
850 | 850 | |
851 | - $data += $this->build_display_items( $itemized_display_items ); |
|
851 | + $data += $this->build_display_items($itemized_display_items); |
|
852 | 852 | $data['result'] = 'success'; |
853 | - } catch ( Exception $e ) { |
|
854 | - $data += $this->build_display_items( $itemized_display_items ); |
|
853 | + } catch (Exception $e) { |
|
854 | + $data += $this->build_display_items($itemized_display_items); |
|
855 | 855 | $data['result'] = 'invalid_shipping_address'; |
856 | 856 | } |
857 | 857 | |
@@ -862,25 +862,25 @@ discard block |
||
862 | 862 | * Update shipping method. |
863 | 863 | */ |
864 | 864 | public function ajax_update_shipping_method() { |
865 | - check_ajax_referer( 'wc-stripe-update-shipping-method', 'security' ); |
|
865 | + check_ajax_referer('wc-stripe-update-shipping-method', 'security'); |
|
866 | 866 | |
867 | - if ( ! defined( 'WOOCOMMERCE_CART' ) ) { |
|
868 | - define( 'WOOCOMMERCE_CART', true ); |
|
867 | + if ( ! defined('WOOCOMMERCE_CART')) { |
|
868 | + define('WOOCOMMERCE_CART', true); |
|
869 | 869 | } |
870 | 870 | |
871 | - $shipping_methods = filter_input( INPUT_POST, 'shipping_method', FILTER_DEFAULT, FILTER_REQUIRE_ARRAY ); |
|
872 | - $this->update_shipping_method( $shipping_methods ); |
|
871 | + $shipping_methods = filter_input(INPUT_POST, 'shipping_method', FILTER_DEFAULT, FILTER_REQUIRE_ARRAY); |
|
872 | + $this->update_shipping_method($shipping_methods); |
|
873 | 873 | |
874 | 874 | WC()->cart->calculate_totals(); |
875 | 875 | |
876 | - $product_view_options = filter_input_array( INPUT_POST, [ 'is_product_page' => FILTER_SANITIZE_STRING ] ); |
|
877 | - $should_show_itemized_view = ! isset( $product_view_options['is_product_page'] ) ?: filter_var( $product_view_options['is_product_page'], FILTER_VALIDATE_BOOLEAN ); |
|
876 | + $product_view_options = filter_input_array(INPUT_POST, ['is_product_page' => FILTER_SANITIZE_STRING]); |
|
877 | + $should_show_itemized_view = ! isset($product_view_options['is_product_page']) ?: filter_var($product_view_options['is_product_page'], FILTER_VALIDATE_BOOLEAN); |
|
878 | 878 | |
879 | 879 | $data = array(); |
880 | - $data += $this->build_display_items( $should_show_itemized_view ); |
|
880 | + $data += $this->build_display_items($should_show_itemized_view); |
|
881 | 881 | $data['result'] = 'success'; |
882 | 882 | |
883 | - wp_send_json( $data ); |
|
883 | + wp_send_json($data); |
|
884 | 884 | } |
885 | 885 | |
886 | 886 | /** |
@@ -888,16 +888,16 @@ discard block |
||
888 | 888 | * |
889 | 889 | * @param array $shipping_methods Array of selected shipping methods ids. |
890 | 890 | */ |
891 | - public function update_shipping_method( $shipping_methods ) { |
|
892 | - $chosen_shipping_methods = WC()->session->get( 'chosen_shipping_methods' ); |
|
891 | + public function update_shipping_method($shipping_methods) { |
|
892 | + $chosen_shipping_methods = WC()->session->get('chosen_shipping_methods'); |
|
893 | 893 | |
894 | - if ( is_array( $shipping_methods ) ) { |
|
895 | - foreach ( $shipping_methods as $i => $value ) { |
|
896 | - $chosen_shipping_methods[ $i ] = wc_clean( $value ); |
|
894 | + if (is_array($shipping_methods)) { |
|
895 | + foreach ($shipping_methods as $i => $value) { |
|
896 | + $chosen_shipping_methods[$i] = wc_clean($value); |
|
897 | 897 | } |
898 | 898 | } |
899 | 899 | |
900 | - WC()->session->set( 'chosen_shipping_methods', $chosen_shipping_methods ); |
|
900 | + WC()->session->set('chosen_shipping_methods', $chosen_shipping_methods); |
|
901 | 901 | } |
902 | 902 | |
903 | 903 | /** |
@@ -908,38 +908,38 @@ discard block |
||
908 | 908 | * @return array $data |
909 | 909 | */ |
910 | 910 | public function ajax_get_selected_product_data() { |
911 | - check_ajax_referer( 'wc-stripe-get-selected-product-data', 'security' ); |
|
911 | + check_ajax_referer('wc-stripe-get-selected-product-data', 'security'); |
|
912 | 912 | |
913 | 913 | try { |
914 | - $product_id = absint( $_POST['product_id'] ); |
|
915 | - $qty = ! isset( $_POST['qty'] ) ? 1 : apply_filters( 'woocommerce_add_to_cart_quantity', absint( $_POST['qty'] ), $product_id ); |
|
916 | - $addon_value = isset( $_POST['addon_value'] ) ? max( floatval( $_POST['addon_value'] ), 0 ) : 0; |
|
917 | - $product = wc_get_product( $product_id ); |
|
914 | + $product_id = absint($_POST['product_id']); |
|
915 | + $qty = ! isset($_POST['qty']) ? 1 : apply_filters('woocommerce_add_to_cart_quantity', absint($_POST['qty']), $product_id); |
|
916 | + $addon_value = isset($_POST['addon_value']) ? max(floatval($_POST['addon_value']), 0) : 0; |
|
917 | + $product = wc_get_product($product_id); |
|
918 | 918 | $variation_id = null; |
919 | 919 | |
920 | - if ( ! is_a( $product, 'WC_Product' ) ) { |
|
921 | - throw new Exception( sprintf( __( 'Product with the ID (%d) cannot be found.', 'woocommerce-gateway-stripe' ), $product_id ) ); |
|
920 | + if ( ! is_a($product, 'WC_Product')) { |
|
921 | + throw new Exception(sprintf(__('Product with the ID (%d) cannot be found.', 'woocommerce-gateway-stripe'), $product_id)); |
|
922 | 922 | } |
923 | 923 | |
924 | - if ( 'variable' === $product->get_type() && isset( $_POST['attributes'] ) ) { |
|
925 | - $attributes = wc_clean( wp_unslash( $_POST['attributes'] ) ); |
|
924 | + if ('variable' === $product->get_type() && isset($_POST['attributes'])) { |
|
925 | + $attributes = wc_clean(wp_unslash($_POST['attributes'])); |
|
926 | 926 | |
927 | - $data_store = WC_Data_Store::load( 'product' ); |
|
928 | - $variation_id = $data_store->find_matching_product_variation( $product, $attributes ); |
|
927 | + $data_store = WC_Data_Store::load('product'); |
|
928 | + $variation_id = $data_store->find_matching_product_variation($product, $attributes); |
|
929 | 929 | |
930 | - if ( ! empty( $variation_id ) ) { |
|
931 | - $product = wc_get_product( $variation_id ); |
|
930 | + if ( ! empty($variation_id)) { |
|
931 | + $product = wc_get_product($variation_id); |
|
932 | 932 | } |
933 | 933 | } |
934 | 934 | |
935 | 935 | // Force quantity to 1 if sold individually and check for existing item in cart. |
936 | - if ( $product->is_sold_individually() ) { |
|
937 | - $qty = apply_filters( 'wc_stripe_payment_request_add_to_cart_sold_individually_quantity', 1, $qty, $product_id, $variation_id ); |
|
936 | + if ($product->is_sold_individually()) { |
|
937 | + $qty = apply_filters('wc_stripe_payment_request_add_to_cart_sold_individually_quantity', 1, $qty, $product_id, $variation_id); |
|
938 | 938 | } |
939 | 939 | |
940 | - if ( ! $product->has_enough_stock( $qty ) ) { |
|
940 | + if ( ! $product->has_enough_stock($qty)) { |
|
941 | 941 | /* translators: 1: product name 2: quantity in stock */ |
942 | - 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 ) ) ); |
|
942 | + 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))); |
|
943 | 943 | } |
944 | 944 | |
945 | 945 | $total = $qty * $product->get_price() + $addon_value; |
@@ -951,27 +951,27 @@ discard block |
||
951 | 951 | |
952 | 952 | $items[] = array( |
953 | 953 | 'label' => $product->get_name() . $quantity_label, |
954 | - 'amount' => WC_Stripe_Helper::get_stripe_amount( $total ), |
|
954 | + 'amount' => WC_Stripe_Helper::get_stripe_amount($total), |
|
955 | 955 | ); |
956 | 956 | |
957 | - if ( wc_tax_enabled() ) { |
|
957 | + if (wc_tax_enabled()) { |
|
958 | 958 | $items[] = array( |
959 | - 'label' => __( 'Tax', 'woocommerce-gateway-stripe' ), |
|
959 | + 'label' => __('Tax', 'woocommerce-gateway-stripe'), |
|
960 | 960 | 'amount' => 0, |
961 | 961 | 'pending' => true, |
962 | 962 | ); |
963 | 963 | } |
964 | 964 | |
965 | - if ( wc_shipping_enabled() && $product->needs_shipping() ) { |
|
965 | + if (wc_shipping_enabled() && $product->needs_shipping()) { |
|
966 | 966 | $items[] = array( |
967 | - 'label' => __( 'Shipping', 'woocommerce-gateway-stripe' ), |
|
967 | + 'label' => __('Shipping', 'woocommerce-gateway-stripe'), |
|
968 | 968 | 'amount' => 0, |
969 | 969 | 'pending' => true, |
970 | 970 | ); |
971 | 971 | |
972 | 972 | $data['shippingOptions'] = array( |
973 | 973 | 'id' => 'pending', |
974 | - 'label' => __( 'Pending', 'woocommerce-gateway-stripe' ), |
|
974 | + 'label' => __('Pending', 'woocommerce-gateway-stripe'), |
|
975 | 975 | 'detail' => '', |
976 | 976 | 'amount' => 0, |
977 | 977 | ); |
@@ -980,17 +980,17 @@ discard block |
||
980 | 980 | $data['displayItems'] = $items; |
981 | 981 | $data['total'] = array( |
982 | 982 | 'label' => $this->total_label, |
983 | - 'amount' => WC_Stripe_Helper::get_stripe_amount( $total ), |
|
983 | + 'amount' => WC_Stripe_Helper::get_stripe_amount($total), |
|
984 | 984 | 'pending' => true, |
985 | 985 | ); |
986 | 986 | |
987 | - $data['requestShipping'] = ( wc_shipping_enabled() && $product->needs_shipping() ); |
|
988 | - $data['currency'] = strtolower( get_woocommerce_currency() ); |
|
989 | - $data['country_code'] = substr( get_option( 'woocommerce_default_country' ), 0, 2 ); |
|
987 | + $data['requestShipping'] = (wc_shipping_enabled() && $product->needs_shipping()); |
|
988 | + $data['currency'] = strtolower(get_woocommerce_currency()); |
|
989 | + $data['country_code'] = substr(get_option('woocommerce_default_country'), 0, 2); |
|
990 | 990 | |
991 | - wp_send_json( $data ); |
|
992 | - } catch ( Exception $e ) { |
|
993 | - wp_send_json( array( 'error' => wp_strip_all_tags( $e->getMessage() ) ) ); |
|
991 | + wp_send_json($data); |
|
992 | + } catch (Exception $e) { |
|
993 | + wp_send_json(array('error' => wp_strip_all_tags($e->getMessage()))); |
|
994 | 994 | } |
995 | 995 | } |
996 | 996 | |
@@ -1002,33 +1002,33 @@ discard block |
||
1002 | 1002 | * @return array $data |
1003 | 1003 | */ |
1004 | 1004 | public function ajax_add_to_cart() { |
1005 | - check_ajax_referer( 'wc-stripe-add-to-cart', 'security' ); |
|
1005 | + check_ajax_referer('wc-stripe-add-to-cart', 'security'); |
|
1006 | 1006 | |
1007 | - if ( ! defined( 'WOOCOMMERCE_CART' ) ) { |
|
1008 | - define( 'WOOCOMMERCE_CART', true ); |
|
1007 | + if ( ! defined('WOOCOMMERCE_CART')) { |
|
1008 | + define('WOOCOMMERCE_CART', true); |
|
1009 | 1009 | } |
1010 | 1010 | |
1011 | 1011 | WC()->shipping->reset_shipping(); |
1012 | 1012 | |
1013 | - $product_id = absint( $_POST['product_id'] ); |
|
1014 | - $qty = ! isset( $_POST['qty'] ) ? 1 : absint( $_POST['qty'] ); |
|
1015 | - $product = wc_get_product( $product_id ); |
|
1013 | + $product_id = absint($_POST['product_id']); |
|
1014 | + $qty = ! isset($_POST['qty']) ? 1 : absint($_POST['qty']); |
|
1015 | + $product = wc_get_product($product_id); |
|
1016 | 1016 | $product_type = $product->get_type(); |
1017 | 1017 | |
1018 | 1018 | // First empty the cart to prevent wrong calculation. |
1019 | 1019 | WC()->cart->empty_cart(); |
1020 | 1020 | |
1021 | - if ( ( 'variable' === $product_type || 'variable-subscription' === $product_type ) && isset( $_POST['attributes'] ) ) { |
|
1022 | - $attributes = wc_clean( wp_unslash( $_POST['attributes'] ) ); |
|
1021 | + if (('variable' === $product_type || 'variable-subscription' === $product_type) && isset($_POST['attributes'])) { |
|
1022 | + $attributes = wc_clean(wp_unslash($_POST['attributes'])); |
|
1023 | 1023 | |
1024 | - $data_store = WC_Data_Store::load( 'product' ); |
|
1025 | - $variation_id = $data_store->find_matching_product_variation( $product, $attributes ); |
|
1024 | + $data_store = WC_Data_Store::load('product'); |
|
1025 | + $variation_id = $data_store->find_matching_product_variation($product, $attributes); |
|
1026 | 1026 | |
1027 | - WC()->cart->add_to_cart( $product->get_id(), $qty, $variation_id, $attributes ); |
|
1027 | + WC()->cart->add_to_cart($product->get_id(), $qty, $variation_id, $attributes); |
|
1028 | 1028 | } |
1029 | 1029 | |
1030 | - if ( 'simple' === $product_type || 'subscription' === $product_type ) { |
|
1031 | - WC()->cart->add_to_cart( $product->get_id(), $qty ); |
|
1030 | + if ('simple' === $product_type || 'subscription' === $product_type) { |
|
1031 | + WC()->cart->add_to_cart($product->get_id(), $qty); |
|
1032 | 1032 | } |
1033 | 1033 | |
1034 | 1034 | WC()->cart->calculate_totals(); |
@@ -1037,7 +1037,7 @@ discard block |
||
1037 | 1037 | $data += $this->build_display_items(); |
1038 | 1038 | $data['result'] = 'success'; |
1039 | 1039 | |
1040 | - wp_send_json( $data ); |
|
1040 | + wp_send_json($data); |
|
1041 | 1041 | } |
1042 | 1042 | |
1043 | 1043 | /** |
@@ -1050,31 +1050,31 @@ discard block |
||
1050 | 1050 | * @version 4.0.0 |
1051 | 1051 | */ |
1052 | 1052 | public function normalize_state() { |
1053 | - $billing_country = ! empty( $_POST['billing_country'] ) ? wc_clean( $_POST['billing_country'] ) : ''; |
|
1054 | - $shipping_country = ! empty( $_POST['shipping_country'] ) ? wc_clean( $_POST['shipping_country'] ) : ''; |
|
1055 | - $billing_state = ! empty( $_POST['billing_state'] ) ? wc_clean( $_POST['billing_state'] ) : ''; |
|
1056 | - $shipping_state = ! empty( $_POST['shipping_state'] ) ? wc_clean( $_POST['shipping_state'] ) : ''; |
|
1053 | + $billing_country = ! empty($_POST['billing_country']) ? wc_clean($_POST['billing_country']) : ''; |
|
1054 | + $shipping_country = ! empty($_POST['shipping_country']) ? wc_clean($_POST['shipping_country']) : ''; |
|
1055 | + $billing_state = ! empty($_POST['billing_state']) ? wc_clean($_POST['billing_state']) : ''; |
|
1056 | + $shipping_state = ! empty($_POST['shipping_state']) ? wc_clean($_POST['shipping_state']) : ''; |
|
1057 | 1057 | |
1058 | - if ( $billing_state && $billing_country ) { |
|
1059 | - $valid_states = WC()->countries->get_states( $billing_country ); |
|
1058 | + if ($billing_state && $billing_country) { |
|
1059 | + $valid_states = WC()->countries->get_states($billing_country); |
|
1060 | 1060 | |
1061 | 1061 | // Valid states found for country. |
1062 | - if ( ! empty( $valid_states ) && is_array( $valid_states ) && sizeof( $valid_states ) > 0 ) { |
|
1063 | - foreach ( $valid_states as $state_abbr => $state ) { |
|
1064 | - if ( preg_match( '/' . preg_quote( $state ) . '/i', $billing_state ) ) { |
|
1062 | + if ( ! empty($valid_states) && is_array($valid_states) && sizeof($valid_states) > 0) { |
|
1063 | + foreach ($valid_states as $state_abbr => $state) { |
|
1064 | + if (preg_match('/' . preg_quote($state) . '/i', $billing_state)) { |
|
1065 | 1065 | $_POST['billing_state'] = $state_abbr; |
1066 | 1066 | } |
1067 | 1067 | } |
1068 | 1068 | } |
1069 | 1069 | } |
1070 | 1070 | |
1071 | - if ( $shipping_state && $shipping_country ) { |
|
1072 | - $valid_states = WC()->countries->get_states( $shipping_country ); |
|
1071 | + if ($shipping_state && $shipping_country) { |
|
1072 | + $valid_states = WC()->countries->get_states($shipping_country); |
|
1073 | 1073 | |
1074 | 1074 | // Valid states found for country. |
1075 | - if ( ! empty( $valid_states ) && is_array( $valid_states ) && sizeof( $valid_states ) > 0 ) { |
|
1076 | - foreach ( $valid_states as $state_abbr => $state ) { |
|
1077 | - if ( preg_match( '/' . preg_quote( $state ) . '/i', $shipping_state ) ) { |
|
1075 | + if ( ! empty($valid_states) && is_array($valid_states) && sizeof($valid_states) > 0) { |
|
1076 | + foreach ($valid_states as $state_abbr => $state) { |
|
1077 | + if (preg_match('/' . preg_quote($state) . '/i', $shipping_state)) { |
|
1078 | 1078 | $_POST['shipping_state'] = $state_abbr; |
1079 | 1079 | } |
1080 | 1080 | } |
@@ -1089,19 +1089,19 @@ discard block |
||
1089 | 1089 | * @version 4.0.0 |
1090 | 1090 | */ |
1091 | 1091 | public function ajax_create_order() { |
1092 | - if ( WC()->cart->is_empty() ) { |
|
1093 | - wp_send_json_error( __( 'Empty cart', 'woocommerce-gateway-stripe' ) ); |
|
1092 | + if (WC()->cart->is_empty()) { |
|
1093 | + wp_send_json_error(__('Empty cart', 'woocommerce-gateway-stripe')); |
|
1094 | 1094 | } |
1095 | 1095 | |
1096 | - if ( ! defined( 'WOOCOMMERCE_CHECKOUT' ) ) { |
|
1097 | - define( 'WOOCOMMERCE_CHECKOUT', true ); |
|
1096 | + if ( ! defined('WOOCOMMERCE_CHECKOUT')) { |
|
1097 | + define('WOOCOMMERCE_CHECKOUT', true); |
|
1098 | 1098 | } |
1099 | 1099 | |
1100 | 1100 | $this->normalize_state(); |
1101 | 1101 | |
1102 | 1102 | WC()->checkout()->process_checkout(); |
1103 | 1103 | |
1104 | - die( 0 ); |
|
1104 | + die(0); |
|
1105 | 1105 | } |
1106 | 1106 | |
1107 | 1107 | /** |
@@ -1112,38 +1112,38 @@ discard block |
||
1112 | 1112 | * @since 3.1.0 |
1113 | 1113 | * @version 4.0.0 |
1114 | 1114 | */ |
1115 | - protected function calculate_shipping( $address = array() ) { |
|
1115 | + protected function calculate_shipping($address = array()) { |
|
1116 | 1116 | $country = $address['country']; |
1117 | 1117 | $state = $address['state']; |
1118 | 1118 | $postcode = $address['postcode']; |
1119 | 1119 | $city = $address['city']; |
1120 | 1120 | $address_1 = $address['address']; |
1121 | 1121 | $address_2 = $address['address_2']; |
1122 | - $wc_states = WC()->countries->get_states( $country ); |
|
1122 | + $wc_states = WC()->countries->get_states($country); |
|
1123 | 1123 | |
1124 | 1124 | /** |
1125 | 1125 | * In some versions of Chrome, state can be a full name. So we need |
1126 | 1126 | * to convert that to abbreviation as WC is expecting that. |
1127 | 1127 | */ |
1128 | - if ( 2 < strlen( $state ) && ! empty( $wc_states ) && ! isset( $wc_states[ $state ] ) ) { |
|
1129 | - $state = array_search( ucwords( strtolower( $state ) ), $wc_states, true ); |
|
1128 | + if (2 < strlen($state) && ! empty($wc_states) && ! isset($wc_states[$state])) { |
|
1129 | + $state = array_search(ucwords(strtolower($state)), $wc_states, true); |
|
1130 | 1130 | } |
1131 | 1131 | |
1132 | 1132 | WC()->shipping->reset_shipping(); |
1133 | 1133 | |
1134 | - if ( $postcode && WC_Validation::is_postcode( $postcode, $country ) ) { |
|
1135 | - $postcode = wc_format_postcode( $postcode, $country ); |
|
1134 | + if ($postcode && WC_Validation::is_postcode($postcode, $country)) { |
|
1135 | + $postcode = wc_format_postcode($postcode, $country); |
|
1136 | 1136 | } |
1137 | 1137 | |
1138 | - if ( $country ) { |
|
1139 | - WC()->customer->set_location( $country, $state, $postcode, $city ); |
|
1140 | - WC()->customer->set_shipping_location( $country, $state, $postcode, $city ); |
|
1138 | + if ($country) { |
|
1139 | + WC()->customer->set_location($country, $state, $postcode, $city); |
|
1140 | + WC()->customer->set_shipping_location($country, $state, $postcode, $city); |
|
1141 | 1141 | } else { |
1142 | 1142 | WC()->customer->set_billing_address_to_base(); |
1143 | 1143 | WC()->customer->set_shipping_address_to_base(); |
1144 | 1144 | } |
1145 | 1145 | |
1146 | - WC()->customer->set_calculated_shipping( true ); |
|
1146 | + WC()->customer->set_calculated_shipping(true); |
|
1147 | 1147 | WC()->customer->save(); |
1148 | 1148 | |
1149 | 1149 | $packages = array(); |
@@ -1159,17 +1159,17 @@ discard block |
||
1159 | 1159 | $packages[0]['destination']['address'] = $address_1; |
1160 | 1160 | $packages[0]['destination']['address_2'] = $address_2; |
1161 | 1161 | |
1162 | - foreach ( WC()->cart->get_cart() as $item ) { |
|
1163 | - if ( $item['data']->needs_shipping() ) { |
|
1164 | - if ( isset( $item['line_total'] ) ) { |
|
1162 | + foreach (WC()->cart->get_cart() as $item) { |
|
1163 | + if ($item['data']->needs_shipping()) { |
|
1164 | + if (isset($item['line_total'])) { |
|
1165 | 1165 | $packages[0]['contents_cost'] += $item['line_total']; |
1166 | 1166 | } |
1167 | 1167 | } |
1168 | 1168 | } |
1169 | 1169 | |
1170 | - $packages = apply_filters( 'woocommerce_cart_shipping_packages', $packages ); |
|
1170 | + $packages = apply_filters('woocommerce_cart_shipping_packages', $packages); |
|
1171 | 1171 | |
1172 | - WC()->shipping->calculate_shipping( $packages ); |
|
1172 | + WC()->shipping->calculate_shipping($packages); |
|
1173 | 1173 | } |
1174 | 1174 | |
1175 | 1175 | /** |
@@ -1178,19 +1178,19 @@ discard block |
||
1178 | 1178 | * @since 3.1.0 |
1179 | 1179 | * @version 4.0.0 |
1180 | 1180 | */ |
1181 | - protected function build_shipping_methods( $shipping_methods ) { |
|
1182 | - if ( empty( $shipping_methods ) ) { |
|
1181 | + protected function build_shipping_methods($shipping_methods) { |
|
1182 | + if (empty($shipping_methods)) { |
|
1183 | 1183 | return array(); |
1184 | 1184 | } |
1185 | 1185 | |
1186 | 1186 | $shipping = array(); |
1187 | 1187 | |
1188 | - foreach ( $shipping_methods as $method ) { |
|
1188 | + foreach ($shipping_methods as $method) { |
|
1189 | 1189 | $shipping[] = array( |
1190 | 1190 | 'id' => $method['id'], |
1191 | 1191 | 'label' => $method['label'], |
1192 | 1192 | 'detail' => '', |
1193 | - 'amount' => WC_Stripe_Helper::get_stripe_amount( $method['amount']['value'] ), |
|
1193 | + 'amount' => WC_Stripe_Helper::get_stripe_amount($method['amount']['value']), |
|
1194 | 1194 | ); |
1195 | 1195 | } |
1196 | 1196 | |
@@ -1203,9 +1203,9 @@ discard block |
||
1203 | 1203 | * @since 3.1.0 |
1204 | 1204 | * @version 4.0.0 |
1205 | 1205 | */ |
1206 | - protected function build_display_items( $itemized_display_items = false ) { |
|
1207 | - if ( ! defined( 'WOOCOMMERCE_CART' ) ) { |
|
1208 | - define( 'WOOCOMMERCE_CART', true ); |
|
1206 | + protected function build_display_items($itemized_display_items = false) { |
|
1207 | + if ( ! defined('WOOCOMMERCE_CART')) { |
|
1208 | + define('WOOCOMMERCE_CART', true); |
|
1209 | 1209 | } |
1210 | 1210 | |
1211 | 1211 | $items = array(); |
@@ -1213,8 +1213,8 @@ discard block |
||
1213 | 1213 | $discounts = 0; |
1214 | 1214 | |
1215 | 1215 | // Default show only subtotal instead of itemization. |
1216 | - if ( ! apply_filters( 'wc_stripe_payment_request_hide_itemization', true ) || $itemized_display_items ) { |
|
1217 | - foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) { |
|
1216 | + if ( ! apply_filters('wc_stripe_payment_request_hide_itemization', true) || $itemized_display_items) { |
|
1217 | + foreach (WC()->cart->get_cart() as $cart_item_key => $cart_item) { |
|
1218 | 1218 | $amount = $cart_item['line_subtotal']; |
1219 | 1219 | $subtotal += $cart_item['line_subtotal']; |
1220 | 1220 | $quantity_label = 1 < $cart_item['quantity'] ? ' (x' . $cart_item['quantity'] . ')' : ''; |
@@ -1223,61 +1223,61 @@ discard block |
||
1223 | 1223 | |
1224 | 1224 | $item = array( |
1225 | 1225 | 'label' => $product_name . $quantity_label, |
1226 | - 'amount' => WC_Stripe_Helper::get_stripe_amount( $amount ), |
|
1226 | + 'amount' => WC_Stripe_Helper::get_stripe_amount($amount), |
|
1227 | 1227 | ); |
1228 | 1228 | |
1229 | 1229 | $items[] = $item; |
1230 | 1230 | } |
1231 | 1231 | } |
1232 | 1232 | |
1233 | - if ( version_compare( WC_VERSION, '3.2', '<' ) ) { |
|
1234 | - $discounts = wc_format_decimal( WC()->cart->get_cart_discount_total(), WC()->cart->dp ); |
|
1233 | + if (version_compare(WC_VERSION, '3.2', '<')) { |
|
1234 | + $discounts = wc_format_decimal(WC()->cart->get_cart_discount_total(), WC()->cart->dp); |
|
1235 | 1235 | } else { |
1236 | - $applied_coupons = array_values( WC()->cart->get_coupon_discount_totals() ); |
|
1236 | + $applied_coupons = array_values(WC()->cart->get_coupon_discount_totals()); |
|
1237 | 1237 | |
1238 | - foreach ( $applied_coupons as $amount ) { |
|
1238 | + foreach ($applied_coupons as $amount) { |
|
1239 | 1239 | $discounts += (float) $amount; |
1240 | 1240 | } |
1241 | 1241 | } |
1242 | 1242 | |
1243 | - $discounts = wc_format_decimal( $discounts, WC()->cart->dp ); |
|
1244 | - $tax = wc_format_decimal( WC()->cart->tax_total + WC()->cart->shipping_tax_total, WC()->cart->dp ); |
|
1245 | - $shipping = wc_format_decimal( WC()->cart->shipping_total, WC()->cart->dp ); |
|
1246 | - $items_total = wc_format_decimal( WC()->cart->cart_contents_total, WC()->cart->dp ) + $discounts; |
|
1247 | - $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 | + $discounts = wc_format_decimal($discounts, WC()->cart->dp); |
|
1244 | + $tax = wc_format_decimal(WC()->cart->tax_total + WC()->cart->shipping_tax_total, WC()->cart->dp); |
|
1245 | + $shipping = wc_format_decimal(WC()->cart->shipping_total, WC()->cart->dp); |
|
1246 | + $items_total = wc_format_decimal(WC()->cart->cart_contents_total, WC()->cart->dp) + $discounts; |
|
1247 | + $order_total = version_compare(WC_VERSION, '3.2', '<') ? wc_format_decimal($items_total + $tax + $shipping - $discounts, WC()->cart->dp) : WC()->cart->get_total(false); |
|
1248 | 1248 | |
1249 | - if ( wc_tax_enabled() ) { |
|
1249 | + if (wc_tax_enabled()) { |
|
1250 | 1250 | $items[] = array( |
1251 | - 'label' => esc_html( __( 'Tax', 'woocommerce-gateway-stripe' ) ), |
|
1252 | - 'amount' => WC_Stripe_Helper::get_stripe_amount( $tax ), |
|
1251 | + 'label' => esc_html(__('Tax', 'woocommerce-gateway-stripe')), |
|
1252 | + 'amount' => WC_Stripe_Helper::get_stripe_amount($tax), |
|
1253 | 1253 | ); |
1254 | 1254 | } |
1255 | 1255 | |
1256 | - if ( WC()->cart->needs_shipping() ) { |
|
1256 | + if (WC()->cart->needs_shipping()) { |
|
1257 | 1257 | $items[] = array( |
1258 | - 'label' => esc_html( __( 'Shipping', 'woocommerce-gateway-stripe' ) ), |
|
1259 | - 'amount' => WC_Stripe_Helper::get_stripe_amount( $shipping ), |
|
1258 | + 'label' => esc_html(__('Shipping', 'woocommerce-gateway-stripe')), |
|
1259 | + 'amount' => WC_Stripe_Helper::get_stripe_amount($shipping), |
|
1260 | 1260 | ); |
1261 | 1261 | } |
1262 | 1262 | |
1263 | - if ( WC()->cart->has_discount() ) { |
|
1263 | + if (WC()->cart->has_discount()) { |
|
1264 | 1264 | $items[] = array( |
1265 | - 'label' => esc_html( __( 'Discount', 'woocommerce-gateway-stripe' ) ), |
|
1266 | - 'amount' => WC_Stripe_Helper::get_stripe_amount( $discounts ), |
|
1265 | + 'label' => esc_html(__('Discount', 'woocommerce-gateway-stripe')), |
|
1266 | + 'amount' => WC_Stripe_Helper::get_stripe_amount($discounts), |
|
1267 | 1267 | ); |
1268 | 1268 | } |
1269 | 1269 | |
1270 | - if ( version_compare( WC_VERSION, '3.2', '<' ) ) { |
|
1270 | + if (version_compare(WC_VERSION, '3.2', '<')) { |
|
1271 | 1271 | $cart_fees = WC()->cart->fees; |
1272 | 1272 | } else { |
1273 | 1273 | $cart_fees = WC()->cart->get_fees(); |
1274 | 1274 | } |
1275 | 1275 | |
1276 | 1276 | // Include fees and taxes as display items. |
1277 | - foreach ( $cart_fees as $key => $fee ) { |
|
1277 | + foreach ($cart_fees as $key => $fee) { |
|
1278 | 1278 | $items[] = array( |
1279 | 1279 | 'label' => $fee->name, |
1280 | - 'amount' => WC_Stripe_Helper::get_stripe_amount( $fee->amount ), |
|
1280 | + 'amount' => WC_Stripe_Helper::get_stripe_amount($fee->amount), |
|
1281 | 1281 | ); |
1282 | 1282 | } |
1283 | 1283 | |
@@ -1285,7 +1285,7 @@ discard block |
||
1285 | 1285 | 'displayItems' => $items, |
1286 | 1286 | 'total' => array( |
1287 | 1287 | 'label' => $this->total_label, |
1288 | - 'amount' => max( 0, apply_filters( 'woocommerce_stripe_calculated_total', WC_Stripe_Helper::get_stripe_amount( $order_total ), $order_total, WC()->cart ) ), |
|
1288 | + 'amount' => max(0, apply_filters('woocommerce_stripe_calculated_total', WC_Stripe_Helper::get_stripe_amount($order_total), $order_total, WC()->cart)), |
|
1289 | 1289 | 'pending' => false, |
1290 | 1290 | ), |
1291 | 1291 | ); |
@@ -15,20 +15,20 @@ discard block |
||
15 | 15 | * |
16 | 16 | */ |
17 | 17 | |
18 | -if ( ! defined( 'ABSPATH' ) ) { |
|
18 | +if ( ! defined('ABSPATH')) { |
|
19 | 19 | exit; |
20 | 20 | } |
21 | 21 | |
22 | 22 | /** |
23 | 23 | * Required minimums and constants |
24 | 24 | */ |
25 | -define( 'WC_STRIPE_VERSION', '4.5.3' ); // WRCS: DEFINED_VERSION. |
|
26 | -define( 'WC_STRIPE_MIN_PHP_VER', '5.6.0' ); |
|
27 | -define( 'WC_STRIPE_MIN_WC_VER', '3.0' ); |
|
28 | -define( 'WC_STRIPE_FUTURE_MIN_WC_VER', '3.0' ); |
|
29 | -define( 'WC_STRIPE_MAIN_FILE', __FILE__ ); |
|
30 | -define( 'WC_STRIPE_PLUGIN_URL', untrailingslashit( plugins_url( basename( plugin_dir_path( __FILE__ ) ), basename( __FILE__ ) ) ) ); |
|
31 | -define( 'WC_STRIPE_PLUGIN_PATH', untrailingslashit( plugin_dir_path( __FILE__ ) ) ); |
|
25 | +define('WC_STRIPE_VERSION', '4.5.3'); // WRCS: DEFINED_VERSION. |
|
26 | +define('WC_STRIPE_MIN_PHP_VER', '5.6.0'); |
|
27 | +define('WC_STRIPE_MIN_WC_VER', '3.0'); |
|
28 | +define('WC_STRIPE_FUTURE_MIN_WC_VER', '3.0'); |
|
29 | +define('WC_STRIPE_MAIN_FILE', __FILE__); |
|
30 | +define('WC_STRIPE_PLUGIN_URL', untrailingslashit(plugins_url(basename(plugin_dir_path(__FILE__)), basename(__FILE__)))); |
|
31 | +define('WC_STRIPE_PLUGIN_PATH', untrailingslashit(plugin_dir_path(__FILE__))); |
|
32 | 32 | |
33 | 33 | // phpcs:disable WordPress.Files.FileName |
34 | 34 | |
@@ -40,7 +40,7 @@ discard block |
||
40 | 40 | */ |
41 | 41 | function woocommerce_stripe_missing_wc_notice() { |
42 | 42 | /* translators: 1. URL link. */ |
43 | - echo '<div class="error"><p><strong>' . sprintf( esc_html__( 'Stripe requires WooCommerce to be installed and active. You can download %s here.', 'woocommerce-gateway-stripe' ), '<a href="https://woocommerce.com/" target="_blank">WooCommerce</a>' ) . '</strong></p></div>'; |
|
43 | + echo '<div class="error"><p><strong>' . sprintf(esc_html__('Stripe requires WooCommerce to be installed and active. You can download %s here.', 'woocommerce-gateway-stripe'), '<a href="https://woocommerce.com/" target="_blank">WooCommerce</a>') . '</strong></p></div>'; |
|
44 | 44 | } |
45 | 45 | |
46 | 46 | /** |
@@ -51,25 +51,25 @@ discard block |
||
51 | 51 | */ |
52 | 52 | function woocommerce_stripe_wc_not_supported() { |
53 | 53 | /* translators: $1. Minimum WooCommerce version. $2. Current WooCommerce version. */ |
54 | - echo '<div class="error"><p><strong>' . sprintf( esc_html__( 'Stripe requires WooCommerce %1$s or greater to be installed and active. WooCommerce %2$s is no longer supported.', 'woocommerce-gateway-stripe' ), WC_STRIPE_MIN_WC_VER, WC_VERSION ) . '</strong></p></div>'; |
|
54 | + echo '<div class="error"><p><strong>' . sprintf(esc_html__('Stripe requires WooCommerce %1$s or greater to be installed and active. WooCommerce %2$s is no longer supported.', 'woocommerce-gateway-stripe'), WC_STRIPE_MIN_WC_VER, WC_VERSION) . '</strong></p></div>'; |
|
55 | 55 | } |
56 | 56 | |
57 | -add_action( 'plugins_loaded', 'woocommerce_gateway_stripe_init' ); |
|
57 | +add_action('plugins_loaded', 'woocommerce_gateway_stripe_init'); |
|
58 | 58 | |
59 | 59 | function woocommerce_gateway_stripe_init() { |
60 | - load_plugin_textdomain( 'woocommerce-gateway-stripe', false, plugin_basename( dirname( __FILE__ ) ) . '/languages' ); |
|
60 | + load_plugin_textdomain('woocommerce-gateway-stripe', false, plugin_basename(dirname(__FILE__)) . '/languages'); |
|
61 | 61 | |
62 | - if ( ! class_exists( 'WooCommerce' ) ) { |
|
63 | - add_action( 'admin_notices', 'woocommerce_stripe_missing_wc_notice' ); |
|
62 | + if ( ! class_exists('WooCommerce')) { |
|
63 | + add_action('admin_notices', 'woocommerce_stripe_missing_wc_notice'); |
|
64 | 64 | return; |
65 | 65 | } |
66 | 66 | |
67 | - if ( version_compare( WC_VERSION, WC_STRIPE_MIN_WC_VER, '<' ) ) { |
|
68 | - add_action( 'admin_notices', 'woocommerce_stripe_wc_not_supported' ); |
|
67 | + if (version_compare(WC_VERSION, WC_STRIPE_MIN_WC_VER, '<')) { |
|
68 | + add_action('admin_notices', 'woocommerce_stripe_wc_not_supported'); |
|
69 | 69 | return; |
70 | 70 | } |
71 | 71 | |
72 | - if ( ! class_exists( 'WC_Stripe' ) ) : |
|
72 | + if ( ! class_exists('WC_Stripe')) : |
|
73 | 73 | |
74 | 74 | class WC_Stripe { |
75 | 75 | |
@@ -84,7 +84,7 @@ discard block |
||
84 | 84 | * @return Singleton The *Singleton* instance. |
85 | 85 | */ |
86 | 86 | public static function get_instance() { |
87 | - if ( null === self::$instance ) { |
|
87 | + if (null === self::$instance) { |
|
88 | 88 | self::$instance = new self(); |
89 | 89 | } |
90 | 90 | return self::$instance; |
@@ -111,7 +111,7 @@ discard block |
||
111 | 111 | * *Singleton* via the `new` operator from outside of this class. |
112 | 112 | */ |
113 | 113 | private function __construct() { |
114 | - add_action( 'admin_init', array( $this, 'install' ) ); |
|
114 | + add_action('admin_init', array($this, 'install')); |
|
115 | 115 | $this->init(); |
116 | 116 | } |
117 | 117 | |
@@ -122,53 +122,53 @@ discard block |
||
122 | 122 | * @version 4.0.0 |
123 | 123 | */ |
124 | 124 | public function init() { |
125 | - if ( is_admin() ) { |
|
126 | - require_once dirname( __FILE__ ) . '/includes/admin/class-wc-stripe-privacy.php'; |
|
125 | + if (is_admin()) { |
|
126 | + require_once dirname(__FILE__) . '/includes/admin/class-wc-stripe-privacy.php'; |
|
127 | 127 | } |
128 | 128 | |
129 | - require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-exception.php'; |
|
130 | - require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-logger.php'; |
|
131 | - require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-helper.php'; |
|
132 | - include_once dirname( __FILE__ ) . '/includes/class-wc-stripe-api.php'; |
|
133 | - require_once dirname( __FILE__ ) . '/includes/abstracts/abstract-wc-stripe-payment-gateway.php'; |
|
134 | - require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-webhook-handler.php'; |
|
135 | - require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-sepa-payment-token.php'; |
|
136 | - require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-apple-pay-registration.php'; |
|
137 | - require_once dirname( __FILE__ ) . '/includes/compat/class-wc-stripe-pre-orders-compat.php'; |
|
138 | - require_once dirname( __FILE__ ) . '/includes/class-wc-gateway-stripe.php'; |
|
139 | - require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-gateway-stripe-bancontact.php'; |
|
140 | - require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-gateway-stripe-sofort.php'; |
|
141 | - require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-gateway-stripe-giropay.php'; |
|
142 | - require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-gateway-stripe-eps.php'; |
|
143 | - require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-gateway-stripe-ideal.php'; |
|
144 | - require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-gateway-stripe-p24.php'; |
|
145 | - require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-gateway-stripe-alipay.php'; |
|
146 | - require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-gateway-stripe-sepa.php'; |
|
147 | - require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-gateway-stripe-multibanco.php'; |
|
148 | - require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-stripe-payment-request.php'; |
|
149 | - require_once dirname( __FILE__ ) . '/includes/compat/class-wc-stripe-subs-compat.php'; |
|
150 | - require_once dirname( __FILE__ ) . '/includes/compat/class-wc-stripe-sepa-subs-compat.php'; |
|
151 | - require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-order-handler.php'; |
|
152 | - require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-payment-tokens.php'; |
|
153 | - require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-customer.php'; |
|
154 | - require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-intent-controller.php'; |
|
155 | - |
|
156 | - if ( is_admin() ) { |
|
157 | - require_once dirname( __FILE__ ) . '/includes/admin/class-wc-stripe-admin-notices.php'; |
|
129 | + require_once dirname(__FILE__) . '/includes/class-wc-stripe-exception.php'; |
|
130 | + require_once dirname(__FILE__) . '/includes/class-wc-stripe-logger.php'; |
|
131 | + require_once dirname(__FILE__) . '/includes/class-wc-stripe-helper.php'; |
|
132 | + include_once dirname(__FILE__) . '/includes/class-wc-stripe-api.php'; |
|
133 | + require_once dirname(__FILE__) . '/includes/abstracts/abstract-wc-stripe-payment-gateway.php'; |
|
134 | + require_once dirname(__FILE__) . '/includes/class-wc-stripe-webhook-handler.php'; |
|
135 | + require_once dirname(__FILE__) . '/includes/class-wc-stripe-sepa-payment-token.php'; |
|
136 | + require_once dirname(__FILE__) . '/includes/class-wc-stripe-apple-pay-registration.php'; |
|
137 | + require_once dirname(__FILE__) . '/includes/compat/class-wc-stripe-pre-orders-compat.php'; |
|
138 | + require_once dirname(__FILE__) . '/includes/class-wc-gateway-stripe.php'; |
|
139 | + require_once dirname(__FILE__) . '/includes/payment-methods/class-wc-gateway-stripe-bancontact.php'; |
|
140 | + require_once dirname(__FILE__) . '/includes/payment-methods/class-wc-gateway-stripe-sofort.php'; |
|
141 | + require_once dirname(__FILE__) . '/includes/payment-methods/class-wc-gateway-stripe-giropay.php'; |
|
142 | + require_once dirname(__FILE__) . '/includes/payment-methods/class-wc-gateway-stripe-eps.php'; |
|
143 | + require_once dirname(__FILE__) . '/includes/payment-methods/class-wc-gateway-stripe-ideal.php'; |
|
144 | + require_once dirname(__FILE__) . '/includes/payment-methods/class-wc-gateway-stripe-p24.php'; |
|
145 | + require_once dirname(__FILE__) . '/includes/payment-methods/class-wc-gateway-stripe-alipay.php'; |
|
146 | + require_once dirname(__FILE__) . '/includes/payment-methods/class-wc-gateway-stripe-sepa.php'; |
|
147 | + require_once dirname(__FILE__) . '/includes/payment-methods/class-wc-gateway-stripe-multibanco.php'; |
|
148 | + require_once dirname(__FILE__) . '/includes/payment-methods/class-wc-stripe-payment-request.php'; |
|
149 | + require_once dirname(__FILE__) . '/includes/compat/class-wc-stripe-subs-compat.php'; |
|
150 | + require_once dirname(__FILE__) . '/includes/compat/class-wc-stripe-sepa-subs-compat.php'; |
|
151 | + require_once dirname(__FILE__) . '/includes/class-wc-stripe-order-handler.php'; |
|
152 | + require_once dirname(__FILE__) . '/includes/class-wc-stripe-payment-tokens.php'; |
|
153 | + require_once dirname(__FILE__) . '/includes/class-wc-stripe-customer.php'; |
|
154 | + require_once dirname(__FILE__) . '/includes/class-wc-stripe-intent-controller.php'; |
|
155 | + |
|
156 | + if (is_admin()) { |
|
157 | + require_once dirname(__FILE__) . '/includes/admin/class-wc-stripe-admin-notices.php'; |
|
158 | 158 | } |
159 | 159 | |
160 | 160 | // REMOVE IN THE FUTURE. |
161 | - require_once dirname( __FILE__ ) . '/includes/deprecated/class-wc-stripe-apple-pay.php'; |
|
161 | + require_once dirname(__FILE__) . '/includes/deprecated/class-wc-stripe-apple-pay.php'; |
|
162 | 162 | |
163 | - add_filter( 'woocommerce_payment_gateways', array( $this, 'add_gateways' ) ); |
|
164 | - add_filter( 'plugin_action_links_' . plugin_basename( __FILE__ ), array( $this, 'plugin_action_links' ) ); |
|
165 | - add_filter( 'plugin_row_meta', array( $this, 'plugin_row_meta' ), 10, 2 ); |
|
163 | + add_filter('woocommerce_payment_gateways', array($this, 'add_gateways')); |
|
164 | + add_filter('plugin_action_links_' . plugin_basename(__FILE__), array($this, 'plugin_action_links')); |
|
165 | + add_filter('plugin_row_meta', array($this, 'plugin_row_meta'), 10, 2); |
|
166 | 166 | |
167 | 167 | // Modify emails emails. |
168 | - add_filter( 'woocommerce_email_classes', array( $this, 'add_emails' ), 20 ); |
|
168 | + add_filter('woocommerce_email_classes', array($this, 'add_emails'), 20); |
|
169 | 169 | |
170 | - if ( version_compare( WC_VERSION, '3.4', '<' ) ) { |
|
171 | - add_filter( 'woocommerce_get_sections_checkout', array( $this, 'filter_gateway_order_admin' ) ); |
|
170 | + if (version_compare(WC_VERSION, '3.4', '<')) { |
|
171 | + add_filter('woocommerce_get_sections_checkout', array($this, 'filter_gateway_order_admin')); |
|
172 | 172 | } |
173 | 173 | } |
174 | 174 | |
@@ -179,8 +179,8 @@ discard block |
||
179 | 179 | * @version 4.0.0 |
180 | 180 | */ |
181 | 181 | public function update_plugin_version() { |
182 | - delete_option( 'wc_stripe_version' ); |
|
183 | - update_option( 'wc_stripe_version', WC_STRIPE_VERSION ); |
|
182 | + delete_option('wc_stripe_version'); |
|
183 | + update_option('wc_stripe_version', WC_STRIPE_VERSION); |
|
184 | 184 | } |
185 | 185 | |
186 | 186 | /** |
@@ -190,15 +190,15 @@ discard block |
||
190 | 190 | * @version 3.1.0 |
191 | 191 | */ |
192 | 192 | public function install() { |
193 | - if ( ! is_plugin_active( plugin_basename( __FILE__ ) ) ) { |
|
193 | + if ( ! is_plugin_active(plugin_basename(__FILE__))) { |
|
194 | 194 | return; |
195 | 195 | } |
196 | 196 | |
197 | - if ( ! defined( 'IFRAME_REQUEST' ) && ( WC_STRIPE_VERSION !== get_option( 'wc_stripe_version' ) ) ) { |
|
198 | - do_action( 'woocommerce_stripe_updated' ); |
|
197 | + if ( ! defined('IFRAME_REQUEST') && (WC_STRIPE_VERSION !== get_option('wc_stripe_version'))) { |
|
198 | + do_action('woocommerce_stripe_updated'); |
|
199 | 199 | |
200 | - if ( ! defined( 'WC_STRIPE_INSTALLING' ) ) { |
|
201 | - define( 'WC_STRIPE_INSTALLING', true ); |
|
200 | + if ( ! defined('WC_STRIPE_INSTALLING')) { |
|
201 | + define('WC_STRIPE_INSTALLING', true); |
|
202 | 202 | } |
203 | 203 | |
204 | 204 | $this->update_plugin_version(); |
@@ -211,11 +211,11 @@ discard block |
||
211 | 211 | * @since 1.0.0 |
212 | 212 | * @version 4.0.0 |
213 | 213 | */ |
214 | - public function plugin_action_links( $links ) { |
|
214 | + public function plugin_action_links($links) { |
|
215 | 215 | $plugin_links = array( |
216 | - '<a href="admin.php?page=wc-settings&tab=checkout§ion=stripe">' . esc_html__( 'Settings', 'woocommerce-gateway-stripe' ) . '</a>', |
|
216 | + '<a href="admin.php?page=wc-settings&tab=checkout§ion=stripe">' . esc_html__('Settings', 'woocommerce-gateway-stripe') . '</a>', |
|
217 | 217 | ); |
218 | - return array_merge( $plugin_links, $links ); |
|
218 | + return array_merge($plugin_links, $links); |
|
219 | 219 | } |
220 | 220 | |
221 | 221 | /** |
@@ -226,13 +226,13 @@ discard block |
||
226 | 226 | * @param string $file Name of current file. |
227 | 227 | * @return array $links Update list of plugin links. |
228 | 228 | */ |
229 | - public function plugin_row_meta( $links, $file ) { |
|
230 | - if ( plugin_basename( __FILE__ ) === $file ) { |
|
229 | + public function plugin_row_meta($links, $file) { |
|
230 | + if (plugin_basename(__FILE__) === $file) { |
|
231 | 231 | $row_meta = array( |
232 | - 'docs' => '<a href="' . esc_url( apply_filters( 'woocommerce_gateway_stripe_docs_url', 'https://docs.woocommerce.com/document/stripe/' ) ) . '" title="' . esc_attr( __( 'View Documentation', 'woocommerce-gateway-stripe' ) ) . '">' . __( 'Docs', 'woocommerce-gateway-stripe' ) . '</a>', |
|
233 | - 'support' => '<a href="' . esc_url( apply_filters( 'woocommerce_gateway_stripe_support_url', 'https://woocommerce.com/my-account/create-a-ticket?select=18627' ) ) . '" title="' . esc_attr( __( 'Open a support request at WooCommerce.com', 'woocommerce-gateway-stripe' ) ) . '">' . __( 'Support', 'woocommerce-gateway-stripe' ) . '</a>', |
|
232 | + 'docs' => '<a href="' . esc_url(apply_filters('woocommerce_gateway_stripe_docs_url', 'https://docs.woocommerce.com/document/stripe/')) . '" title="' . esc_attr(__('View Documentation', 'woocommerce-gateway-stripe')) . '">' . __('Docs', 'woocommerce-gateway-stripe') . '</a>', |
|
233 | + 'support' => '<a href="' . esc_url(apply_filters('woocommerce_gateway_stripe_support_url', 'https://woocommerce.com/my-account/create-a-ticket?select=18627')) . '" title="' . esc_attr(__('Open a support request at WooCommerce.com', 'woocommerce-gateway-stripe')) . '">' . __('Support', 'woocommerce-gateway-stripe') . '</a>', |
|
234 | 234 | ); |
235 | - return array_merge( $links, $row_meta ); |
|
235 | + return array_merge($links, $row_meta); |
|
236 | 236 | } |
237 | 237 | return (array) $links; |
238 | 238 | } |
@@ -243,8 +243,8 @@ discard block |
||
243 | 243 | * @since 1.0.0 |
244 | 244 | * @version 4.0.0 |
245 | 245 | */ |
246 | - public function add_gateways( $methods ) { |
|
247 | - if ( class_exists( 'WC_Subscriptions_Order' ) && function_exists( 'wcs_create_renewal_order' ) ) { |
|
246 | + public function add_gateways($methods) { |
|
247 | + if (class_exists('WC_Subscriptions_Order') && function_exists('wcs_create_renewal_order')) { |
|
248 | 248 | $methods[] = 'WC_Stripe_Subs_Compat'; |
249 | 249 | $methods[] = 'WC_Stripe_Sepa_Subs_Compat'; |
250 | 250 | } else { |
@@ -270,28 +270,28 @@ discard block |
||
270 | 270 | * @since 4.0.0 |
271 | 271 | * @version 4.0.0 |
272 | 272 | */ |
273 | - public function filter_gateway_order_admin( $sections ) { |
|
274 | - unset( $sections['stripe'] ); |
|
275 | - unset( $sections['stripe_bancontact'] ); |
|
276 | - unset( $sections['stripe_sofort'] ); |
|
277 | - unset( $sections['stripe_giropay'] ); |
|
278 | - unset( $sections['stripe_eps'] ); |
|
279 | - unset( $sections['stripe_ideal'] ); |
|
280 | - unset( $sections['stripe_p24'] ); |
|
281 | - unset( $sections['stripe_alipay'] ); |
|
282 | - unset( $sections['stripe_sepa'] ); |
|
283 | - unset( $sections['stripe_multibanco'] ); |
|
273 | + public function filter_gateway_order_admin($sections) { |
|
274 | + unset($sections['stripe']); |
|
275 | + unset($sections['stripe_bancontact']); |
|
276 | + unset($sections['stripe_sofort']); |
|
277 | + unset($sections['stripe_giropay']); |
|
278 | + unset($sections['stripe_eps']); |
|
279 | + unset($sections['stripe_ideal']); |
|
280 | + unset($sections['stripe_p24']); |
|
281 | + unset($sections['stripe_alipay']); |
|
282 | + unset($sections['stripe_sepa']); |
|
283 | + unset($sections['stripe_multibanco']); |
|
284 | 284 | |
285 | 285 | $sections['stripe'] = 'Stripe'; |
286 | - $sections['stripe_bancontact'] = __( 'Stripe Bancontact', 'woocommerce-gateway-stripe' ); |
|
287 | - $sections['stripe_sofort'] = __( 'Stripe SOFORT', 'woocommerce-gateway-stripe' ); |
|
288 | - $sections['stripe_giropay'] = __( 'Stripe Giropay', 'woocommerce-gateway-stripe' ); |
|
289 | - $sections['stripe_eps'] = __( 'Stripe EPS', 'woocommerce-gateway-stripe' ); |
|
290 | - $sections['stripe_ideal'] = __( 'Stripe iDeal', 'woocommerce-gateway-stripe' ); |
|
291 | - $sections['stripe_p24'] = __( 'Stripe P24', 'woocommerce-gateway-stripe' ); |
|
292 | - $sections['stripe_alipay'] = __( 'Stripe Alipay', 'woocommerce-gateway-stripe' ); |
|
293 | - $sections['stripe_sepa'] = __( 'Stripe SEPA Direct Debit', 'woocommerce-gateway-stripe' ); |
|
294 | - $sections['stripe_multibanco'] = __( 'Stripe Multibanco', 'woocommerce-gateway-stripe' ); |
|
286 | + $sections['stripe_bancontact'] = __('Stripe Bancontact', 'woocommerce-gateway-stripe'); |
|
287 | + $sections['stripe_sofort'] = __('Stripe SOFORT', 'woocommerce-gateway-stripe'); |
|
288 | + $sections['stripe_giropay'] = __('Stripe Giropay', 'woocommerce-gateway-stripe'); |
|
289 | + $sections['stripe_eps'] = __('Stripe EPS', 'woocommerce-gateway-stripe'); |
|
290 | + $sections['stripe_ideal'] = __('Stripe iDeal', 'woocommerce-gateway-stripe'); |
|
291 | + $sections['stripe_p24'] = __('Stripe P24', 'woocommerce-gateway-stripe'); |
|
292 | + $sections['stripe_alipay'] = __('Stripe Alipay', 'woocommerce-gateway-stripe'); |
|
293 | + $sections['stripe_sepa'] = __('Stripe SEPA Direct Debit', 'woocommerce-gateway-stripe'); |
|
294 | + $sections['stripe_multibanco'] = __('Stripe Multibanco', 'woocommerce-gateway-stripe'); |
|
295 | 295 | |
296 | 296 | return $sections; |
297 | 297 | } |
@@ -302,16 +302,16 @@ discard block |
||
302 | 302 | * @param WC_Email[] $email_classes All existing emails. |
303 | 303 | * @return WC_Email[] |
304 | 304 | */ |
305 | - public function add_emails( $email_classes ) { |
|
305 | + public function add_emails($email_classes) { |
|
306 | 306 | require_once WC_STRIPE_PLUGIN_PATH . '/includes/compat/class-wc-stripe-email-failed-authentication.php'; |
307 | 307 | require_once WC_STRIPE_PLUGIN_PATH . '/includes/compat/class-wc-stripe-email-failed-renewal-authentication.php'; |
308 | 308 | require_once WC_STRIPE_PLUGIN_PATH . '/includes/compat/class-wc-stripe-email-failed-preorder-authentication.php'; |
309 | 309 | require_once WC_STRIPE_PLUGIN_PATH . '/includes/compat/class-wc-stripe-email-failed-authentication-retry.php'; |
310 | 310 | |
311 | 311 | // Add all emails, generated by the gateway. |
312 | - $email_classes['WC_Stripe_Email_Failed_Renewal_Authentication'] = new WC_Stripe_Email_Failed_Renewal_Authentication( $email_classes ); |
|
313 | - $email_classes['WC_Stripe_Email_Failed_Preorder_Authentication'] = new WC_Stripe_Email_Failed_Preorder_Authentication( $email_classes ); |
|
314 | - $email_classes['WC_Stripe_Email_Failed_Authentication_Retry'] = new WC_Stripe_Email_Failed_Authentication_Retry( $email_classes ); |
|
312 | + $email_classes['WC_Stripe_Email_Failed_Renewal_Authentication'] = new WC_Stripe_Email_Failed_Renewal_Authentication($email_classes); |
|
313 | + $email_classes['WC_Stripe_Email_Failed_Preorder_Authentication'] = new WC_Stripe_Email_Failed_Preorder_Authentication($email_classes); |
|
314 | + $email_classes['WC_Stripe_Email_Failed_Authentication_Retry'] = new WC_Stripe_Email_Failed_Authentication_Retry($email_classes); |
|
315 | 315 | |
316 | 316 | return $email_classes; |
317 | 317 | } |
@@ -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,109 +7,109 @@ 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 | 'label' => sprintf( |
111 | 111 | /* translators: 1) br tag 2) Stripe anchor tag 3) Apple anchor tag 4) Stripe dashboard opening anchor tag 5) Stripe dashboard closing anchor tag */ |
112 | - __( 'Enable Payment Request Buttons. (Apple Pay/Google Pay) %1$sBy using Apple Pay, you agree to %2$s and %3$s\'s terms of service. (Apple Pay domain verification is performed automatically; configuration can be found on the %4$sStripe dashboard%5$s.)', 'woocommerce-gateway-stripe' ), |
|
112 | + __('Enable Payment Request Buttons. (Apple Pay/Google Pay) %1$sBy using Apple Pay, you agree to %2$s and %3$s\'s terms of service. (Apple Pay domain verification is performed automatically; configuration can be found on the %4$sStripe dashboard%5$s.)', 'woocommerce-gateway-stripe'), |
|
113 | 113 | '<br />', |
114 | 114 | '<a href="https://stripe.com/apple-pay/legal" target="_blank">Stripe</a>', |
115 | 115 | '<a href="https://developer.apple.com/apple-pay/acceptable-use-guidelines-for-websites/" target="_blank">Apple</a>', |
@@ -117,79 +117,79 @@ discard block |
||
117 | 117 | '</a>' |
118 | 118 | ), |
119 | 119 | 'type' => 'checkbox', |
120 | - 'description' => __( 'If enabled, users will be able to pay using Apple Pay or Chrome Payment Request if supported by the browser.', 'woocommerce-gateway-stripe' ), |
|
120 | + 'description' => __('If enabled, users will be able to pay using Apple Pay or Chrome Payment Request if supported by the browser.', 'woocommerce-gateway-stripe'), |
|
121 | 121 | 'default' => 'yes', |
122 | 122 | 'desc_tip' => true, |
123 | 123 | ), |
124 | 124 | 'payment_request_button_type' => array( |
125 | - 'title' => __( 'Payment Request Button Type', 'woocommerce-gateway-stripe' ), |
|
126 | - 'label' => __( 'Button Type', 'woocommerce-gateway-stripe' ), |
|
125 | + 'title' => __('Payment Request Button Type', 'woocommerce-gateway-stripe'), |
|
126 | + 'label' => __('Button Type', 'woocommerce-gateway-stripe'), |
|
127 | 127 | 'type' => 'select', |
128 | - 'description' => __( 'Select the button type you would like to show.', 'woocommerce-gateway-stripe' ), |
|
128 | + 'description' => __('Select the button type you would like to show.', 'woocommerce-gateway-stripe'), |
|
129 | 129 | 'default' => 'buy', |
130 | 130 | 'desc_tip' => true, |
131 | 131 | 'options' => array( |
132 | - 'default' => __( 'Default', 'woocommerce-gateway-stripe' ), |
|
133 | - 'buy' => __( 'Buy', 'woocommerce-gateway-stripe' ), |
|
134 | - 'donate' => __( 'Donate', 'woocommerce-gateway-stripe' ), |
|
135 | - 'branded' => __( 'Branded', 'woocommerce-gateway-stripe' ), |
|
136 | - 'custom' => __( 'Custom', 'woocommerce-gateway-stripe' ), |
|
132 | + 'default' => __('Default', 'woocommerce-gateway-stripe'), |
|
133 | + 'buy' => __('Buy', 'woocommerce-gateway-stripe'), |
|
134 | + 'donate' => __('Donate', 'woocommerce-gateway-stripe'), |
|
135 | + 'branded' => __('Branded', 'woocommerce-gateway-stripe'), |
|
136 | + 'custom' => __('Custom', 'woocommerce-gateway-stripe'), |
|
137 | 137 | ), |
138 | 138 | ), |
139 | 139 | 'payment_request_button_theme' => array( |
140 | - 'title' => __( 'Payment Request Button Theme', 'woocommerce-gateway-stripe' ), |
|
141 | - 'label' => __( 'Button Theme', 'woocommerce-gateway-stripe' ), |
|
140 | + 'title' => __('Payment Request Button Theme', 'woocommerce-gateway-stripe'), |
|
141 | + 'label' => __('Button Theme', 'woocommerce-gateway-stripe'), |
|
142 | 142 | 'type' => 'select', |
143 | - 'description' => __( 'Select the button theme you would like to show.', 'woocommerce-gateway-stripe' ), |
|
143 | + 'description' => __('Select the button theme you would like to show.', 'woocommerce-gateway-stripe'), |
|
144 | 144 | 'default' => 'dark', |
145 | 145 | 'desc_tip' => true, |
146 | 146 | 'options' => array( |
147 | - 'dark' => __( 'Dark', 'woocommerce-gateway-stripe' ), |
|
148 | - 'light' => __( 'Light', 'woocommerce-gateway-stripe' ), |
|
149 | - 'light-outline' => __( 'Light-Outline', 'woocommerce-gateway-stripe' ), |
|
147 | + 'dark' => __('Dark', 'woocommerce-gateway-stripe'), |
|
148 | + 'light' => __('Light', 'woocommerce-gateway-stripe'), |
|
149 | + 'light-outline' => __('Light-Outline', 'woocommerce-gateway-stripe'), |
|
150 | 150 | ), |
151 | 151 | ), |
152 | 152 | 'payment_request_button_height' => array( |
153 | - 'title' => __( 'Payment Request Button Height', 'woocommerce-gateway-stripe' ), |
|
154 | - 'label' => __( 'Button Height', 'woocommerce-gateway-stripe' ), |
|
153 | + 'title' => __('Payment Request Button Height', 'woocommerce-gateway-stripe'), |
|
154 | + 'label' => __('Button Height', 'woocommerce-gateway-stripe'), |
|
155 | 155 | 'type' => 'text', |
156 | - 'description' => __( 'Enter the height you would like the button to be in pixels. Width will always be 100%.', 'woocommerce-gateway-stripe' ), |
|
156 | + 'description' => __('Enter the height you would like the button to be in pixels. Width will always be 100%.', 'woocommerce-gateway-stripe'), |
|
157 | 157 | 'default' => '44', |
158 | 158 | 'desc_tip' => true, |
159 | 159 | ), |
160 | 160 | 'payment_request_button_label' => array( |
161 | - 'title' => __( 'Payment Request Button Label', 'woocommerce-gateway-stripe' ), |
|
162 | - 'label' => __( 'Button Label', 'woocommerce-gateway-stripe' ), |
|
161 | + 'title' => __('Payment Request Button Label', 'woocommerce-gateway-stripe'), |
|
162 | + 'label' => __('Button Label', 'woocommerce-gateway-stripe'), |
|
163 | 163 | 'type' => 'text', |
164 | - 'description' => __( 'Enter the custom text you would like the button to have.', 'woocommerce-gateway-stripe' ), |
|
165 | - 'default' => __( 'Buy now', 'woocommerce-gateway-stripe' ), |
|
164 | + 'description' => __('Enter the custom text you would like the button to have.', 'woocommerce-gateway-stripe'), |
|
165 | + 'default' => __('Buy now', 'woocommerce-gateway-stripe'), |
|
166 | 166 | 'desc_tip' => true, |
167 | 167 | ), |
168 | 168 | 'payment_request_button_branded_type' => array( |
169 | - 'title' => __( 'Payment Request Branded Button Label Format', 'woocommerce-gateway-stripe' ), |
|
170 | - 'label' => __( 'Branded Button Label Format', 'woocommerce-gateway-stripe' ), |
|
169 | + 'title' => __('Payment Request Branded Button Label Format', 'woocommerce-gateway-stripe'), |
|
170 | + 'label' => __('Branded Button Label Format', 'woocommerce-gateway-stripe'), |
|
171 | 171 | 'type' => 'select', |
172 | - 'description' => __( 'Select the branded button label format.', 'woocommerce-gateway-stripe' ), |
|
172 | + 'description' => __('Select the branded button label format.', 'woocommerce-gateway-stripe'), |
|
173 | 173 | 'default' => 'long', |
174 | 174 | 'desc_tip' => true, |
175 | 175 | 'options' => array( |
176 | - 'short' => __( 'Logo only', 'woocommerce-gateway-stripe' ), |
|
177 | - 'long' => __( 'Text and logo', 'woocommerce-gateway-stripe' ), |
|
176 | + 'short' => __('Logo only', 'woocommerce-gateway-stripe'), |
|
177 | + 'long' => __('Text and logo', 'woocommerce-gateway-stripe'), |
|
178 | 178 | ), |
179 | 179 | ), |
180 | 180 | 'saved_cards' => array( |
181 | - 'title' => __( 'Saved Cards', 'woocommerce-gateway-stripe' ), |
|
182 | - 'label' => __( 'Enable Payment via Saved Cards', 'woocommerce-gateway-stripe' ), |
|
181 | + 'title' => __('Saved Cards', 'woocommerce-gateway-stripe'), |
|
182 | + 'label' => __('Enable Payment via Saved Cards', 'woocommerce-gateway-stripe'), |
|
183 | 183 | 'type' => 'checkbox', |
184 | - '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' ), |
|
184 | + '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'), |
|
185 | 185 | 'default' => 'yes', |
186 | 186 | 'desc_tip' => true, |
187 | 187 | ), |
188 | 188 | 'logging' => array( |
189 | - 'title' => __( 'Logging', 'woocommerce-gateway-stripe' ), |
|
190 | - 'label' => __( 'Log debug messages', 'woocommerce-gateway-stripe' ), |
|
189 | + 'title' => __('Logging', 'woocommerce-gateway-stripe'), |
|
190 | + 'label' => __('Log debug messages', 'woocommerce-gateway-stripe'), |
|
191 | 191 | 'type' => 'checkbox', |
192 | - 'description' => __( 'Save debug messages to the WooCommerce System Status log.', 'woocommerce-gateway-stripe' ), |
|
192 | + 'description' => __('Save debug messages to the WooCommerce System Status log.', 'woocommerce-gateway-stripe'), |
|
193 | 193 | 'default' => 'no', |
194 | 194 | 'desc_tip' => true, |
195 | 195 | ), |
@@ -1,5 +1,5 @@ discard block |
||
1 | 1 | <?php |
2 | -if ( ! defined( 'ABSPATH' ) ) { |
|
2 | +if ( ! defined('ABSPATH')) { |
|
3 | 3 | exit; |
4 | 4 | } |
5 | 5 | |
@@ -15,21 +15,21 @@ discard block |
||
15 | 15 | public function __construct() { |
16 | 16 | parent::__construct(); |
17 | 17 | |
18 | - if ( class_exists( 'WC_Subscriptions_Order' ) ) { |
|
19 | - add_action( 'woocommerce_scheduled_subscription_payment_' . $this->id, array( $this, 'scheduled_subscription_payment' ), 10, 2 ); |
|
20 | - add_action( 'wcs_resubscribe_order_created', array( $this, 'delete_resubscribe_meta' ), 10 ); |
|
21 | - add_action( 'wcs_renewal_order_created', array( $this, 'delete_renewal_meta' ), 10 ); |
|
22 | - add_action( 'woocommerce_subscription_failing_payment_method_updated_stripe', array( $this, 'update_failing_payment_method' ), 10, 2 ); |
|
23 | - add_action( 'wc_stripe_cards_payment_fields', array( $this, 'display_update_subs_payment_checkout' ) ); |
|
24 | - add_action( 'wc_stripe_add_payment_method_' . $this->id . '_success', array( $this, 'handle_add_payment_method_success' ), 10, 2 ); |
|
18 | + if (class_exists('WC_Subscriptions_Order')) { |
|
19 | + add_action('woocommerce_scheduled_subscription_payment_' . $this->id, array($this, 'scheduled_subscription_payment'), 10, 2); |
|
20 | + add_action('wcs_resubscribe_order_created', array($this, 'delete_resubscribe_meta'), 10); |
|
21 | + add_action('wcs_renewal_order_created', array($this, 'delete_renewal_meta'), 10); |
|
22 | + add_action('woocommerce_subscription_failing_payment_method_updated_stripe', array($this, 'update_failing_payment_method'), 10, 2); |
|
23 | + add_action('wc_stripe_cards_payment_fields', array($this, 'display_update_subs_payment_checkout')); |
|
24 | + add_action('wc_stripe_add_payment_method_' . $this->id . '_success', array($this, 'handle_add_payment_method_success'), 10, 2); |
|
25 | 25 | |
26 | 26 | // display the credit card used for a subscription in the "My Subscriptions" table |
27 | - add_filter( 'woocommerce_my_subscriptions_payment_method', array( $this, 'maybe_render_subscription_payment_method' ), 10, 2 ); |
|
27 | + add_filter('woocommerce_my_subscriptions_payment_method', array($this, 'maybe_render_subscription_payment_method'), 10, 2); |
|
28 | 28 | |
29 | 29 | // allow store managers to manually set Stripe as the payment method on a subscription |
30 | - add_filter( 'woocommerce_subscription_payment_meta', array( $this, 'add_subscription_payment_meta' ), 10, 2 ); |
|
31 | - add_filter( 'woocommerce_subscription_validate_payment_meta', array( $this, 'validate_subscription_payment_meta' ), 10, 2 ); |
|
32 | - add_filter( 'wc_stripe_display_save_payment_method_checkbox', array( $this, 'maybe_hide_save_checkbox' ) ); |
|
30 | + add_filter('woocommerce_subscription_payment_meta', array($this, 'add_subscription_payment_meta'), 10, 2); |
|
31 | + add_filter('woocommerce_subscription_validate_payment_meta', array($this, 'validate_subscription_payment_meta'), 10, 2); |
|
32 | + add_filter('wc_stripe_display_save_payment_method_checkbox', array($this, 'maybe_hide_save_checkbox')); |
|
33 | 33 | |
34 | 34 | /* |
35 | 35 | * WC subscriptions hooks into the "template_redirect" hook with priority 100. |
@@ -37,8 +37,8 @@ discard block |
||
37 | 37 | * See: https://github.com/woocommerce/woocommerce-subscriptions/blob/99a75687e109b64cbc07af6e5518458a6305f366/includes/class-wcs-cart-renewal.php#L165 |
38 | 38 | * If we are in the "You just need to authorize SCA" flow, we don't want that redirection to happen. |
39 | 39 | */ |
40 | - add_action( 'template_redirect', array( $this, 'remove_order_pay_var' ), 99 ); |
|
41 | - add_action( 'template_redirect', array( $this, 'restore_order_pay_var' ), 101 ); |
|
40 | + add_action('template_redirect', array($this, 'remove_order_pay_var'), 99); |
|
41 | + add_action('template_redirect', array($this, 'restore_order_pay_var'), 101); |
|
42 | 42 | } |
43 | 43 | } |
44 | 44 | |
@@ -49,8 +49,8 @@ discard block |
||
49 | 49 | * @since 4.0.0 |
50 | 50 | * @version 4.0.0 |
51 | 51 | */ |
52 | - public function maybe_hide_save_checkbox( $display_tokenization ) { |
|
53 | - if ( WC_Subscriptions_Cart::cart_contains_subscription() ) { |
|
52 | + public function maybe_hide_save_checkbox($display_tokenization) { |
|
53 | + if (WC_Subscriptions_Cart::cart_contains_subscription()) { |
|
54 | 54 | return false; |
55 | 55 | } |
56 | 56 | |
@@ -62,8 +62,8 @@ discard block |
||
62 | 62 | * @param int $order_id |
63 | 63 | * @return boolean |
64 | 64 | */ |
65 | - public function has_subscription( $order_id ) { |
|
66 | - return ( function_exists( 'wcs_order_contains_subscription' ) && ( wcs_order_contains_subscription( $order_id ) || wcs_is_subscription( $order_id ) || wcs_order_contains_renewal( $order_id ) ) ); |
|
65 | + public function has_subscription($order_id) { |
|
66 | + return (function_exists('wcs_order_contains_subscription') && (wcs_order_contains_subscription($order_id) || wcs_is_subscription($order_id) || wcs_order_contains_renewal($order_id))); |
|
67 | 67 | } |
68 | 68 | |
69 | 69 | /** |
@@ -73,7 +73,7 @@ discard block |
||
73 | 73 | * @return bool |
74 | 74 | */ |
75 | 75 | public function is_subs_change_payment() { |
76 | - return ( isset( $_GET['pay_for_order'] ) && isset( $_GET['change_payment_method'] ) ); |
|
76 | + return (isset($_GET['pay_for_order']) && isset($_GET['change_payment_method'])); |
|
77 | 77 | } |
78 | 78 | |
79 | 79 | /** |
@@ -83,20 +83,20 @@ discard block |
||
83 | 83 | * @since 4.1.11 |
84 | 84 | */ |
85 | 85 | public function display_update_subs_payment_checkout() { |
86 | - $subs_statuses = apply_filters( 'wc_stripe_update_subs_payment_method_card_statuses', array( 'active' ) ); |
|
86 | + $subs_statuses = apply_filters('wc_stripe_update_subs_payment_method_card_statuses', array('active')); |
|
87 | 87 | if ( |
88 | - apply_filters( 'wc_stripe_display_update_subs_payment_method_card_checkbox', true ) && |
|
89 | - wcs_user_has_subscription( get_current_user_id(), '', $subs_statuses ) && |
|
88 | + apply_filters('wc_stripe_display_update_subs_payment_method_card_checkbox', true) && |
|
89 | + wcs_user_has_subscription(get_current_user_id(), '', $subs_statuses) && |
|
90 | 90 | is_add_payment_method_page() |
91 | 91 | ) { |
92 | - $label = esc_html( apply_filters( 'wc_stripe_save_to_subs_text', __( 'Update the Payment Method used for all of my active subscriptions.', 'woocommerce-gateway-stripe' ) ) ); |
|
93 | - $id = sprintf( 'wc-%1$s-update-subs-payment-method-card', $this->id ); |
|
92 | + $label = esc_html(apply_filters('wc_stripe_save_to_subs_text', __('Update the Payment Method used for all of my active subscriptions.', 'woocommerce-gateway-stripe'))); |
|
93 | + $id = sprintf('wc-%1$s-update-subs-payment-method-card', $this->id); |
|
94 | 94 | woocommerce_form_field( |
95 | 95 | $id, |
96 | 96 | array( |
97 | 97 | 'type' => 'checkbox', |
98 | 98 | 'label' => $label, |
99 | - 'default' => apply_filters( 'wc_stripe_save_to_subs_checked', false ), |
|
99 | + 'default' => apply_filters('wc_stripe_save_to_subs_checked', false), |
|
100 | 100 | ) |
101 | 101 | ); |
102 | 102 | } |
@@ -109,19 +109,19 @@ discard block |
||
109 | 109 | * @param string $source_id |
110 | 110 | * @param object $source_object |
111 | 111 | */ |
112 | - public function handle_add_payment_method_success( $source_id, $source_object ) { |
|
113 | - if ( isset( $_POST[ 'wc-' . $this->id . '-update-subs-payment-method-card' ] ) ) { |
|
112 | + public function handle_add_payment_method_success($source_id, $source_object) { |
|
113 | + if (isset($_POST['wc-' . $this->id . '-update-subs-payment-method-card'])) { |
|
114 | 114 | $all_subs = wcs_get_users_subscriptions(); |
115 | - $subs_statuses = apply_filters( 'wc_stripe_update_subs_payment_method_card_statuses', array( 'active' ) ); |
|
116 | - $stripe_customer = new WC_Stripe_Customer( get_current_user_id() ); |
|
117 | - |
|
118 | - if ( ! empty( $all_subs ) ) { |
|
119 | - foreach ( $all_subs as $sub ) { |
|
120 | - if ( $sub->has_status( $subs_statuses ) ) { |
|
121 | - update_post_meta( $sub->get_id(), '_stripe_source_id', $source_id ); |
|
122 | - update_post_meta( $sub->get_id(), '_stripe_customer_id', $stripe_customer->get_id() ); |
|
123 | - update_post_meta( $sub->get_id(), '_payment_method', $this->id ); |
|
124 | - update_post_meta( $sub->get_id(), '_payment_method_title', $this->method_title ); |
|
115 | + $subs_statuses = apply_filters('wc_stripe_update_subs_payment_method_card_statuses', array('active')); |
|
116 | + $stripe_customer = new WC_Stripe_Customer(get_current_user_id()); |
|
117 | + |
|
118 | + if ( ! empty($all_subs)) { |
|
119 | + foreach ($all_subs as $sub) { |
|
120 | + if ($sub->has_status($subs_statuses)) { |
|
121 | + update_post_meta($sub->get_id(), '_stripe_source_id', $source_id); |
|
122 | + update_post_meta($sub->get_id(), '_stripe_customer_id', $stripe_customer->get_id()); |
|
123 | + update_post_meta($sub->get_id(), '_payment_method', $this->id); |
|
124 | + update_post_meta($sub->get_id(), '_payment_method_title', $this->method_title); |
|
125 | 125 | } |
126 | 126 | } |
127 | 127 | } |
@@ -135,24 +135,24 @@ discard block |
||
135 | 135 | * @since 4.1.11 Remove 3DS check as it is not needed. |
136 | 136 | * @param int $order_id |
137 | 137 | */ |
138 | - public function change_subs_payment_method( $order_id ) { |
|
138 | + public function change_subs_payment_method($order_id) { |
|
139 | 139 | try { |
140 | - $subscription = wc_get_order( $order_id ); |
|
141 | - $prepared_source = $this->prepare_source( get_current_user_id(), true ); |
|
140 | + $subscription = wc_get_order($order_id); |
|
141 | + $prepared_source = $this->prepare_source(get_current_user_id(), true); |
|
142 | 142 | |
143 | - $this->maybe_disallow_prepaid_card( $prepared_source ); |
|
144 | - $this->check_source( $prepared_source ); |
|
145 | - $this->save_source_to_order( $subscription, $prepared_source ); |
|
143 | + $this->maybe_disallow_prepaid_card($prepared_source); |
|
144 | + $this->check_source($prepared_source); |
|
145 | + $this->save_source_to_order($subscription, $prepared_source); |
|
146 | 146 | |
147 | - do_action( 'wc_stripe_change_subs_payment_method_success', $prepared_source->source, $prepared_source ); |
|
147 | + do_action('wc_stripe_change_subs_payment_method_success', $prepared_source->source, $prepared_source); |
|
148 | 148 | |
149 | 149 | return array( |
150 | 150 | 'result' => 'success', |
151 | - 'redirect' => $this->get_return_url( $subscription ), |
|
151 | + 'redirect' => $this->get_return_url($subscription), |
|
152 | 152 | ); |
153 | - } catch ( WC_Stripe_Exception $e ) { |
|
154 | - wc_add_notice( $e->getLocalizedMessage(), 'error' ); |
|
155 | - WC_Stripe_Logger::log( 'Error: ' . $e->getMessage() ); |
|
153 | + } catch (WC_Stripe_Exception $e) { |
|
154 | + wc_add_notice($e->getLocalizedMessage(), 'error'); |
|
155 | + WC_Stripe_Logger::log('Error: ' . $e->getMessage()); |
|
156 | 156 | } |
157 | 157 | } |
158 | 158 | |
@@ -161,16 +161,16 @@ discard block |
||
161 | 161 | * @param int $order_id |
162 | 162 | * @return array |
163 | 163 | */ |
164 | - public function process_payment( $order_id, $retry = true, $force_save_source = false, $previous_error = false, $use_order_source = false ) { |
|
165 | - if ( $this->has_subscription( $order_id ) ) { |
|
166 | - if ( $this->is_subs_change_payment() ) { |
|
167 | - return $this->change_subs_payment_method( $order_id ); |
|
164 | + public function process_payment($order_id, $retry = true, $force_save_source = false, $previous_error = false, $use_order_source = false) { |
|
165 | + if ($this->has_subscription($order_id)) { |
|
166 | + if ($this->is_subs_change_payment()) { |
|
167 | + return $this->change_subs_payment_method($order_id); |
|
168 | 168 | } |
169 | 169 | |
170 | 170 | // Regular payment with force customer enabled |
171 | - return parent::process_payment( $order_id, $retry, true, $previous_error, $use_order_source ); |
|
171 | + return parent::process_payment($order_id, $retry, true, $previous_error, $use_order_source); |
|
172 | 172 | } else { |
173 | - return parent::process_payment( $order_id, $retry, $force_save_source, $previous_error, $use_order_source ); |
|
173 | + return parent::process_payment($order_id, $retry, $force_save_source, $previous_error, $use_order_source); |
|
174 | 174 | } |
175 | 175 | } |
176 | 176 | |
@@ -182,11 +182,11 @@ discard block |
||
182 | 182 | * @param object $prepared_source The source that is used for the payment. |
183 | 183 | * @return array The arguments for the request. |
184 | 184 | */ |
185 | - public function generate_create_intent_request( $order, $prepared_source ) { |
|
186 | - $request = parent::generate_create_intent_request( $order, $prepared_source ); |
|
185 | + public function generate_create_intent_request($order, $prepared_source) { |
|
186 | + $request = parent::generate_create_intent_request($order, $prepared_source); |
|
187 | 187 | |
188 | 188 | // Non-subscription orders do not need any additional parameters. |
189 | - if ( ! $this->has_subscription( $order ) ) { |
|
189 | + if ( ! $this->has_subscription($order)) { |
|
190 | 190 | return $request; |
191 | 191 | } |
192 | 192 | |
@@ -202,8 +202,8 @@ discard block |
||
202 | 202 | * @param $amount_to_charge float The amount to charge. |
203 | 203 | * @param $renewal_order WC_Order A WC_Order object created to record the renewal payment. |
204 | 204 | */ |
205 | - public function scheduled_subscription_payment( $amount_to_charge, $renewal_order ) { |
|
206 | - $this->process_subscription_payment( $amount_to_charge, $renewal_order, true, false ); |
|
205 | + public function scheduled_subscription_payment($amount_to_charge, $renewal_order) { |
|
206 | + $this->process_subscription_payment($amount_to_charge, $renewal_order, true, false); |
|
207 | 207 | } |
208 | 208 | |
209 | 209 | /** |
@@ -217,11 +217,11 @@ discard block |
||
217 | 217 | * @param bool $retry Should we retry the process? |
218 | 218 | * @param object $previous_error |
219 | 219 | */ |
220 | - public function process_subscription_payment( $amount = 0.0, $renewal_order, $retry = true, $previous_error ) { |
|
220 | + public function process_subscription_payment($amount = 0.0, $renewal_order, $retry = true, $previous_error) { |
|
221 | 221 | try { |
222 | - if ( $amount * 100 < WC_Stripe_Helper::get_minimum_amount() ) { |
|
222 | + if ($amount * 100 < WC_Stripe_Helper::get_minimum_amount()) { |
|
223 | 223 | /* translators: minimum amount */ |
224 | - $message = 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 ) ); |
|
224 | + $message = 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)); |
|
225 | 225 | throw new WC_Stripe_Exception( |
226 | 226 | 'Error while processing renewal order ' . $renewal_order->get_id() . ' : ' . $message, |
227 | 227 | $message |
@@ -230,141 +230,141 @@ discard block |
||
230 | 230 | |
231 | 231 | $order_id = $renewal_order->get_id(); |
232 | 232 | |
233 | - $this->ensure_subscription_has_customer_id( $order_id ); |
|
233 | + $this->ensure_subscription_has_customer_id($order_id); |
|
234 | 234 | |
235 | 235 | // Unlike regular off-session subscription payments, early renewals are treated as on-session payments, involving the customer. |
236 | - if ( isset( $_REQUEST['process_early_renewal'] ) ) { // wpcs: csrf ok. |
|
237 | - $response = parent::process_payment( $order_id, true, false, $previous_error, true ); |
|
236 | + if (isset($_REQUEST['process_early_renewal'])) { // wpcs: csrf ok. |
|
237 | + $response = parent::process_payment($order_id, true, false, $previous_error, true); |
|
238 | 238 | |
239 | - if( 'success' === $response['result'] && isset( $response['payment_intent_secret'] ) ) { |
|
239 | + if ('success' === $response['result'] && isset($response['payment_intent_secret'])) { |
|
240 | 240 | $verification_url = add_query_arg( |
241 | 241 | array( |
242 | 242 | 'order' => $order_id, |
243 | - 'nonce' => wp_create_nonce( 'wc_stripe_confirm_pi' ), |
|
244 | - 'redirect_to' => remove_query_arg( array( 'process_early_renewal', 'subscription_id', 'wcs_nonce' ) ), |
|
243 | + 'nonce' => wp_create_nonce('wc_stripe_confirm_pi'), |
|
244 | + 'redirect_to' => remove_query_arg(array('process_early_renewal', 'subscription_id', 'wcs_nonce')), |
|
245 | 245 | 'early_renewal' => true, |
246 | 246 | ), |
247 | - WC_AJAX::get_endpoint( 'wc_stripe_verify_intent' ) |
|
247 | + WC_AJAX::get_endpoint('wc_stripe_verify_intent') |
|
248 | 248 | ); |
249 | 249 | |
250 | - echo wp_json_encode( array( |
|
250 | + echo wp_json_encode(array( |
|
251 | 251 | 'stripe_sca_required' => true, |
252 | 252 | 'intent_secret' => $response['payment_intent_secret'], |
253 | 253 | 'redirect_url' => $verification_url, |
254 | - ) ); |
|
254 | + )); |
|
255 | 255 | |
256 | 256 | exit; |
257 | 257 | } |
258 | 258 | |
259 | 259 | // Hijack all other redirects in order to do the redirection in JavaScript. |
260 | - add_action( 'wp_redirect', array( $this, 'redirect_after_early_renewal' ), 100 ); |
|
260 | + add_action('wp_redirect', array($this, 'redirect_after_early_renewal'), 100); |
|
261 | 261 | |
262 | 262 | return; |
263 | 263 | } |
264 | 264 | |
265 | 265 | // Check for an existing intent, which is associated with the order. |
266 | - if ( $this->has_authentication_already_failed( $renewal_order ) ) { |
|
266 | + if ($this->has_authentication_already_failed($renewal_order)) { |
|
267 | 267 | return; |
268 | 268 | } |
269 | 269 | |
270 | 270 | // Get source from order |
271 | - $prepared_source = $this->prepare_order_source( $renewal_order ); |
|
271 | + $prepared_source = $this->prepare_order_source($renewal_order); |
|
272 | 272 | $source_object = $prepared_source->source_object; |
273 | 273 | |
274 | - if ( ! $prepared_source->customer ) { |
|
274 | + if ( ! $prepared_source->customer) { |
|
275 | 275 | throw new WC_Stripe_Exception( |
276 | 276 | 'Failed to process renewal for order ' . $renewal_order->get_id() . '. Stripe customer id is missing in the order', |
277 | - __( 'Customer not found', 'woocommerce-gateway-stripe' ) |
|
277 | + __('Customer not found', 'woocommerce-gateway-stripe') |
|
278 | 278 | ); |
279 | 279 | } |
280 | 280 | |
281 | - WC_Stripe_Logger::log( "Info: Begin processing subscription payment for order {$order_id} for the amount of {$amount}" ); |
|
281 | + WC_Stripe_Logger::log("Info: Begin processing subscription payment for order {$order_id} for the amount of {$amount}"); |
|
282 | 282 | |
283 | 283 | /* If we're doing a retry and source is chargeable, we need to pass |
284 | 284 | * a different idempotency key and retry for success. |
285 | 285 | */ |
286 | - if ( is_object( $source_object ) && empty( $source_object->error ) && $this->need_update_idempotency_key( $source_object, $previous_error ) ) { |
|
287 | - add_filter( 'wc_stripe_idempotency_key', array( $this, 'change_idempotency_key' ), 10, 2 ); |
|
286 | + if (is_object($source_object) && empty($source_object->error) && $this->need_update_idempotency_key($source_object, $previous_error)) { |
|
287 | + add_filter('wc_stripe_idempotency_key', array($this, 'change_idempotency_key'), 10, 2); |
|
288 | 288 | } |
289 | 289 | |
290 | - if ( ( $this->is_no_such_source_error( $previous_error ) || $this->is_no_linked_source_error( $previous_error ) ) && apply_filters( 'wc_stripe_use_default_customer_source', true ) ) { |
|
290 | + if (($this->is_no_such_source_error($previous_error) || $this->is_no_linked_source_error($previous_error)) && apply_filters('wc_stripe_use_default_customer_source', true)) { |
|
291 | 291 | // Passing empty source will charge customer default. |
292 | 292 | $prepared_source->source = ''; |
293 | 293 | } |
294 | 294 | |
295 | - $this->lock_order_payment( $renewal_order ); |
|
295 | + $this->lock_order_payment($renewal_order); |
|
296 | 296 | |
297 | - $response = $this->create_and_confirm_intent_for_off_session( $renewal_order, $prepared_source, $amount ); |
|
298 | - $is_authentication_required = $this->is_authentication_required_for_payment( $response ); |
|
297 | + $response = $this->create_and_confirm_intent_for_off_session($renewal_order, $prepared_source, $amount); |
|
298 | + $is_authentication_required = $this->is_authentication_required_for_payment($response); |
|
299 | 299 | |
300 | 300 | // It's only a failed payment if it's an error and it's not of the type 'authentication_required'. |
301 | 301 | // If it's 'authentication_required', then we should email the user and ask them to authenticate. |
302 | - if ( ! empty( $response->error ) && ! $is_authentication_required ) { |
|
302 | + if ( ! empty($response->error) && ! $is_authentication_required) { |
|
303 | 303 | // We want to retry. |
304 | - if ( $this->is_retryable_error( $response->error ) ) { |
|
305 | - if ( $retry ) { |
|
304 | + if ($this->is_retryable_error($response->error)) { |
|
305 | + if ($retry) { |
|
306 | 306 | // Don't do anymore retries after this. |
307 | - if ( 5 <= $this->retry_interval ) { |
|
308 | - return $this->process_subscription_payment( $amount, $renewal_order, false, $response->error ); |
|
307 | + if (5 <= $this->retry_interval) { |
|
308 | + return $this->process_subscription_payment($amount, $renewal_order, false, $response->error); |
|
309 | 309 | } |
310 | 310 | |
311 | - sleep( $this->retry_interval ); |
|
311 | + sleep($this->retry_interval); |
|
312 | 312 | |
313 | 313 | $this->retry_interval++; |
314 | 314 | |
315 | - return $this->process_subscription_payment( $amount, $renewal_order, true, $response->error ); |
|
315 | + return $this->process_subscription_payment($amount, $renewal_order, true, $response->error); |
|
316 | 316 | } else { |
317 | - $localized_message = __( 'Sorry, we are unable to process your payment at this time. Please retry later.', 'woocommerce-gateway-stripe' ); |
|
318 | - $renewal_order->add_order_note( $localized_message ); |
|
319 | - throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message ); |
|
317 | + $localized_message = __('Sorry, we are unable to process your payment at this time. Please retry later.', 'woocommerce-gateway-stripe'); |
|
318 | + $renewal_order->add_order_note($localized_message); |
|
319 | + throw new WC_Stripe_Exception(print_r($response, true), $localized_message); |
|
320 | 320 | } |
321 | 321 | } |
322 | 322 | |
323 | 323 | $localized_messages = WC_Stripe_Helper::get_localized_messages(); |
324 | 324 | |
325 | - if ( 'card_error' === $response->error->type ) { |
|
326 | - $localized_message = isset( $localized_messages[ $response->error->code ] ) ? $localized_messages[ $response->error->code ] : $response->error->message; |
|
325 | + if ('card_error' === $response->error->type) { |
|
326 | + $localized_message = isset($localized_messages[$response->error->code]) ? $localized_messages[$response->error->code] : $response->error->message; |
|
327 | 327 | } else { |
328 | - $localized_message = isset( $localized_messages[ $response->error->type ] ) ? $localized_messages[ $response->error->type ] : $response->error->message; |
|
328 | + $localized_message = isset($localized_messages[$response->error->type]) ? $localized_messages[$response->error->type] : $response->error->message; |
|
329 | 329 | } |
330 | 330 | |
331 | - $renewal_order->add_order_note( $localized_message ); |
|
331 | + $renewal_order->add_order_note($localized_message); |
|
332 | 332 | |
333 | - throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message ); |
|
333 | + throw new WC_Stripe_Exception(print_r($response, true), $localized_message); |
|
334 | 334 | } |
335 | 335 | |
336 | 336 | // Either the charge was successfully captured, or it requires further authentication. |
337 | 337 | |
338 | - if ( $is_authentication_required ) { |
|
339 | - do_action( 'wc_gateway_stripe_process_payment_authentication_required', $renewal_order, $response ); |
|
338 | + if ($is_authentication_required) { |
|
339 | + do_action('wc_gateway_stripe_process_payment_authentication_required', $renewal_order, $response); |
|
340 | 340 | |
341 | - $error_message = __( 'This transaction requires authentication.', 'woocommerce-gateway-stripe' ); |
|
342 | - $renewal_order->add_order_note( $error_message ); |
|
341 | + $error_message = __('This transaction requires authentication.', 'woocommerce-gateway-stripe'); |
|
342 | + $renewal_order->add_order_note($error_message); |
|
343 | 343 | |
344 | - $charge = end( $response->error->payment_intent->charges->data ); |
|
344 | + $charge = end($response->error->payment_intent->charges->data); |
|
345 | 345 | $id = $charge->id; |
346 | 346 | $order_id = $renewal_order->get_id(); |
347 | 347 | |
348 | - $renewal_order->set_transaction_id( $id ); |
|
349 | - $renewal_order->update_status( 'failed', sprintf( __( 'Stripe charge awaiting authentication by user: %s.', 'woocommerce-gateway-stripe' ), $id ) ); |
|
350 | - if ( is_callable( array( $renewal_order, 'save' ) ) ) { |
|
348 | + $renewal_order->set_transaction_id($id); |
|
349 | + $renewal_order->update_status('failed', sprintf(__('Stripe charge awaiting authentication by user: %s.', 'woocommerce-gateway-stripe'), $id)); |
|
350 | + if (is_callable(array($renewal_order, 'save'))) { |
|
351 | 351 | $renewal_order->save(); |
352 | 352 | } |
353 | 353 | } else { |
354 | 354 | // The charge was successfully captured |
355 | - do_action( 'wc_gateway_stripe_process_payment', $response, $renewal_order ); |
|
355 | + do_action('wc_gateway_stripe_process_payment', $response, $renewal_order); |
|
356 | 356 | |
357 | - $this->process_response( end( $response->charges->data ), $renewal_order ); |
|
357 | + $this->process_response(end($response->charges->data), $renewal_order); |
|
358 | 358 | } |
359 | 359 | |
360 | - $this->unlock_order_payment( $renewal_order ); |
|
361 | - } catch ( WC_Stripe_Exception $e ) { |
|
362 | - WC_Stripe_Logger::log( 'Error: ' . $e->getMessage() ); |
|
360 | + $this->unlock_order_payment($renewal_order); |
|
361 | + } catch (WC_Stripe_Exception $e) { |
|
362 | + WC_Stripe_Logger::log('Error: ' . $e->getMessage()); |
|
363 | 363 | |
364 | - do_action( 'wc_gateway_stripe_process_payment_error', $e, $renewal_order ); |
|
364 | + do_action('wc_gateway_stripe_process_payment_error', $e, $renewal_order); |
|
365 | 365 | |
366 | 366 | /* translators: error message */ |
367 | - $renewal_order->update_status( 'failed' ); |
|
367 | + $renewal_order->update_status('failed'); |
|
368 | 368 | } |
369 | 369 | } |
370 | 370 | |
@@ -374,24 +374,24 @@ discard block |
||
374 | 374 | * @since 3.1.0 |
375 | 375 | * @version 4.0.0 |
376 | 376 | */ |
377 | - public function save_source_to_order( $order, $source ) { |
|
378 | - parent::save_source_to_order( $order, $source ); |
|
377 | + public function save_source_to_order($order, $source) { |
|
378 | + parent::save_source_to_order($order, $source); |
|
379 | 379 | |
380 | 380 | $order_id = $order->get_id(); |
381 | 381 | |
382 | 382 | // Also store it on the subscriptions being purchased or paid for in the order |
383 | - if ( function_exists( 'wcs_order_contains_subscription' ) && wcs_order_contains_subscription( $order_id ) ) { |
|
384 | - $subscriptions = wcs_get_subscriptions_for_order( $order_id ); |
|
385 | - } elseif ( function_exists( 'wcs_order_contains_renewal' ) && wcs_order_contains_renewal( $order_id ) ) { |
|
386 | - $subscriptions = wcs_get_subscriptions_for_renewal_order( $order_id ); |
|
383 | + if (function_exists('wcs_order_contains_subscription') && wcs_order_contains_subscription($order_id)) { |
|
384 | + $subscriptions = wcs_get_subscriptions_for_order($order_id); |
|
385 | + } elseif (function_exists('wcs_order_contains_renewal') && wcs_order_contains_renewal($order_id)) { |
|
386 | + $subscriptions = wcs_get_subscriptions_for_renewal_order($order_id); |
|
387 | 387 | } else { |
388 | 388 | $subscriptions = array(); |
389 | 389 | } |
390 | 390 | |
391 | - foreach ( $subscriptions as $subscription ) { |
|
391 | + foreach ($subscriptions as $subscription) { |
|
392 | 392 | $subscription_id = $subscription->get_id(); |
393 | - update_post_meta( $subscription_id, '_stripe_customer_id', $source->customer ); |
|
394 | - update_post_meta( $subscription_id, '_stripe_source_id', $source->source ); |
|
393 | + update_post_meta($subscription_id, '_stripe_customer_id', $source->customer); |
|
394 | + update_post_meta($subscription_id, '_stripe_source_id', $source->source); |
|
395 | 395 | } |
396 | 396 | } |
397 | 397 | |
@@ -399,26 +399,26 @@ discard block |
||
399 | 399 | * Don't transfer Stripe customer/token meta to resubscribe orders. |
400 | 400 | * @param int $resubscribe_order The order created for the customer to resubscribe to the old expired/cancelled subscription |
401 | 401 | */ |
402 | - public function delete_resubscribe_meta( $resubscribe_order ) { |
|
403 | - delete_post_meta( $resubscribe_order->get_id(), '_stripe_customer_id' ); |
|
404 | - delete_post_meta( $resubscribe_order->get_id(), '_stripe_source_id' ); |
|
402 | + public function delete_resubscribe_meta($resubscribe_order) { |
|
403 | + delete_post_meta($resubscribe_order->get_id(), '_stripe_customer_id'); |
|
404 | + delete_post_meta($resubscribe_order->get_id(), '_stripe_source_id'); |
|
405 | 405 | // For BW compat will remove in future |
406 | - delete_post_meta( $resubscribe_order->get_id(), '_stripe_card_id' ); |
|
406 | + delete_post_meta($resubscribe_order->get_id(), '_stripe_card_id'); |
|
407 | 407 | // delete payment intent ID |
408 | - delete_post_meta( $resubscribe_order->get_id(), '_stripe_intent_id' ); |
|
409 | - $this->delete_renewal_meta( $resubscribe_order ); |
|
408 | + delete_post_meta($resubscribe_order->get_id(), '_stripe_intent_id'); |
|
409 | + $this->delete_renewal_meta($resubscribe_order); |
|
410 | 410 | } |
411 | 411 | |
412 | 412 | /** |
413 | 413 | * Don't transfer Stripe fee/ID meta to renewal orders. |
414 | 414 | * @param int $resubscribe_order The order created for the customer to resubscribe to the old expired/cancelled subscription |
415 | 415 | */ |
416 | - public function delete_renewal_meta( $renewal_order ) { |
|
417 | - WC_Stripe_Helper::delete_stripe_fee( $renewal_order ); |
|
418 | - WC_Stripe_Helper::delete_stripe_net( $renewal_order ); |
|
416 | + public function delete_renewal_meta($renewal_order) { |
|
417 | + WC_Stripe_Helper::delete_stripe_fee($renewal_order); |
|
418 | + WC_Stripe_Helper::delete_stripe_net($renewal_order); |
|
419 | 419 | |
420 | 420 | // delete payment intent ID |
421 | - delete_post_meta( $renewal_order->get_id(), '_stripe_intent_id' ); |
|
421 | + delete_post_meta($renewal_order->get_id(), '_stripe_intent_id'); |
|
422 | 422 | |
423 | 423 | return $renewal_order; |
424 | 424 | } |
@@ -432,9 +432,9 @@ discard block |
||
432 | 432 | * @param WC_Order $renewal_order The order which recorded the successful payment (to make up for the failed automatic payment). |
433 | 433 | * @return void |
434 | 434 | */ |
435 | - public function update_failing_payment_method( $subscription, $renewal_order ) { |
|
436 | - update_post_meta( $subscription->get_id(), '_stripe_customer_id', $renewal_order->get_meta( '_stripe_customer_id', true ) ); |
|
437 | - update_post_meta( $subscription->get_id(), '_stripe_source_id', $renewal_order->get_meta( '_stripe_source_id', true ) ); |
|
435 | + public function update_failing_payment_method($subscription, $renewal_order) { |
|
436 | + update_post_meta($subscription->get_id(), '_stripe_customer_id', $renewal_order->get_meta('_stripe_customer_id', true)); |
|
437 | + update_post_meta($subscription->get_id(), '_stripe_source_id', $renewal_order->get_meta('_stripe_source_id', true)); |
|
438 | 438 | } |
439 | 439 | |
440 | 440 | /** |
@@ -446,23 +446,23 @@ discard block |
||
446 | 446 | * @param WC_Subscription $subscription An instance of a subscription object |
447 | 447 | * @return array |
448 | 448 | */ |
449 | - public function add_subscription_payment_meta( $payment_meta, $subscription ) { |
|
449 | + public function add_subscription_payment_meta($payment_meta, $subscription) { |
|
450 | 450 | $subscription_id = $subscription->get_id(); |
451 | - $source_id = get_post_meta( $subscription_id, '_stripe_source_id', true ); |
|
451 | + $source_id = get_post_meta($subscription_id, '_stripe_source_id', true); |
|
452 | 452 | |
453 | 453 | // For BW compat will remove in future. |
454 | - if ( empty( $source_id ) ) { |
|
455 | - $source_id = get_post_meta( $subscription_id, '_stripe_card_id', true ); |
|
454 | + if (empty($source_id)) { |
|
455 | + $source_id = get_post_meta($subscription_id, '_stripe_card_id', true); |
|
456 | 456 | |
457 | 457 | // Take this opportunity to update the key name. |
458 | - update_post_meta( $subscription_id, '_stripe_source_id', $source_id ); |
|
459 | - delete_post_meta( $subscription_id, '_stripe_card_id', $source_id ); |
|
458 | + update_post_meta($subscription_id, '_stripe_source_id', $source_id); |
|
459 | + delete_post_meta($subscription_id, '_stripe_card_id', $source_id); |
|
460 | 460 | } |
461 | 461 | |
462 | - $payment_meta[ $this->id ] = array( |
|
462 | + $payment_meta[$this->id] = array( |
|
463 | 463 | 'post_meta' => array( |
464 | 464 | '_stripe_customer_id' => array( |
465 | - 'value' => get_post_meta( $subscription_id, '_stripe_customer_id', true ), |
|
465 | + 'value' => get_post_meta($subscription_id, '_stripe_customer_id', true), |
|
466 | 466 | 'label' => 'Stripe Customer ID', |
467 | 467 | ), |
468 | 468 | '_stripe_source_id' => array( |
@@ -485,27 +485,27 @@ discard block |
||
485 | 485 | * @param array $payment_meta associative array of meta data required for automatic payments |
486 | 486 | * @return array |
487 | 487 | */ |
488 | - public function validate_subscription_payment_meta( $payment_method_id, $payment_meta ) { |
|
489 | - if ( $this->id === $payment_method_id ) { |
|
488 | + public function validate_subscription_payment_meta($payment_method_id, $payment_meta) { |
|
489 | + if ($this->id === $payment_method_id) { |
|
490 | 490 | |
491 | - if ( ! isset( $payment_meta['post_meta']['_stripe_customer_id']['value'] ) || empty( $payment_meta['post_meta']['_stripe_customer_id']['value'] ) ) { |
|
491 | + if ( ! isset($payment_meta['post_meta']['_stripe_customer_id']['value']) || empty($payment_meta['post_meta']['_stripe_customer_id']['value'])) { |
|
492 | 492 | |
493 | 493 | // Allow empty stripe customer id during subscription renewal. It will be added when processing payment if required. |
494 | - if ( ! isset( $_POST['wc_order_action'] ) || 'wcs_process_renewal' !== $_POST['wc_order_action'] ) { |
|
495 | - throw new Exception( __( 'A "Stripe Customer ID" value is required.', 'woocommerce-gateway-stripe' ) ); |
|
494 | + if ( ! isset($_POST['wc_order_action']) || 'wcs_process_renewal' !== $_POST['wc_order_action']) { |
|
495 | + throw new Exception(__('A "Stripe Customer ID" value is required.', 'woocommerce-gateway-stripe')); |
|
496 | 496 | } |
497 | - } elseif ( 0 !== strpos( $payment_meta['post_meta']['_stripe_customer_id']['value'], 'cus_' ) ) { |
|
498 | - throw new Exception( __( 'Invalid customer ID. A valid "Stripe Customer ID" must begin with "cus_".', 'woocommerce-gateway-stripe' ) ); |
|
497 | + } elseif (0 !== strpos($payment_meta['post_meta']['_stripe_customer_id']['value'], 'cus_')) { |
|
498 | + throw new Exception(__('Invalid customer ID. A valid "Stripe Customer ID" must begin with "cus_".', 'woocommerce-gateway-stripe')); |
|
499 | 499 | } |
500 | 500 | |
501 | 501 | if ( |
502 | - ! empty( $payment_meta['post_meta']['_stripe_source_id']['value'] ) && ( |
|
503 | - 0 !== strpos( $payment_meta['post_meta']['_stripe_source_id']['value'], 'card_' ) |
|
504 | - && 0 !== strpos( $payment_meta['post_meta']['_stripe_source_id']['value'], 'src_' ) |
|
505 | - && 0 !== strpos( $payment_meta['post_meta']['_stripe_source_id']['value'], 'pm_' ) |
|
502 | + ! empty($payment_meta['post_meta']['_stripe_source_id']['value']) && ( |
|
503 | + 0 !== strpos($payment_meta['post_meta']['_stripe_source_id']['value'], 'card_') |
|
504 | + && 0 !== strpos($payment_meta['post_meta']['_stripe_source_id']['value'], 'src_') |
|
505 | + && 0 !== strpos($payment_meta['post_meta']['_stripe_source_id']['value'], 'pm_') |
|
506 | 506 | ) |
507 | 507 | ) { |
508 | - throw new Exception( __( 'Invalid source ID. A valid source "Stripe Source ID" must begin with "src_", "pm_", or "card_".', 'woocommerce-gateway-stripe' ) ); |
|
508 | + throw new Exception(__('Invalid source ID. A valid source "Stripe Source ID" must begin with "src_", "pm_", or "card_".', 'woocommerce-gateway-stripe')); |
|
509 | 509 | } |
510 | 510 | } |
511 | 511 | } |
@@ -518,75 +518,75 @@ discard block |
||
518 | 518 | * @param WC_Subscription $subscription the subscription details |
519 | 519 | * @return string the subscription payment method |
520 | 520 | */ |
521 | - public function maybe_render_subscription_payment_method( $payment_method_to_display, $subscription ) { |
|
521 | + public function maybe_render_subscription_payment_method($payment_method_to_display, $subscription) { |
|
522 | 522 | $customer_user = $subscription->get_customer_id(); |
523 | 523 | |
524 | 524 | // bail for other payment methods |
525 | - if ( $subscription->get_payment_method() !== $this->id || ! $customer_user ) { |
|
525 | + if ($subscription->get_payment_method() !== $this->id || ! $customer_user) { |
|
526 | 526 | return $payment_method_to_display; |
527 | 527 | } |
528 | 528 | |
529 | - $stripe_source_id = get_post_meta( $subscription->get_id(), '_stripe_source_id', true ); |
|
529 | + $stripe_source_id = get_post_meta($subscription->get_id(), '_stripe_source_id', true); |
|
530 | 530 | |
531 | 531 | // For BW compat will remove in future. |
532 | - if ( empty( $stripe_source_id ) ) { |
|
533 | - $stripe_source_id = get_post_meta( $subscription->get_id(), '_stripe_card_id', true ); |
|
532 | + if (empty($stripe_source_id)) { |
|
533 | + $stripe_source_id = get_post_meta($subscription->get_id(), '_stripe_card_id', true); |
|
534 | 534 | |
535 | 535 | // Take this opportunity to update the key name. |
536 | - update_post_meta( $subscription->get_id(), '_stripe_source_id', $stripe_source_id ); |
|
536 | + update_post_meta($subscription->get_id(), '_stripe_source_id', $stripe_source_id); |
|
537 | 537 | } |
538 | 538 | |
539 | 539 | $stripe_customer = new WC_Stripe_Customer(); |
540 | - $stripe_customer_id = get_post_meta( $subscription->get_id(), '_stripe_customer_id', true ); |
|
540 | + $stripe_customer_id = get_post_meta($subscription->get_id(), '_stripe_customer_id', true); |
|
541 | 541 | |
542 | 542 | // If we couldn't find a Stripe customer linked to the subscription, fallback to the user meta data. |
543 | - if ( ! $stripe_customer_id || ! is_string( $stripe_customer_id ) ) { |
|
543 | + if ( ! $stripe_customer_id || ! is_string($stripe_customer_id)) { |
|
544 | 544 | $user_id = $customer_user; |
545 | - $stripe_customer_id = get_user_option( '_stripe_customer_id', $user_id ); |
|
546 | - $stripe_source_id = get_user_option( '_stripe_source_id', $user_id ); |
|
545 | + $stripe_customer_id = get_user_option('_stripe_customer_id', $user_id); |
|
546 | + $stripe_source_id = get_user_option('_stripe_source_id', $user_id); |
|
547 | 547 | |
548 | 548 | // For BW compat will remove in future. |
549 | - if ( empty( $stripe_source_id ) ) { |
|
550 | - $stripe_source_id = get_user_option( '_stripe_card_id', $user_id ); |
|
549 | + if (empty($stripe_source_id)) { |
|
550 | + $stripe_source_id = get_user_option('_stripe_card_id', $user_id); |
|
551 | 551 | |
552 | 552 | // Take this opportunity to update the key name. |
553 | - update_user_option( $user_id, '_stripe_source_id', $stripe_source_id, false ); |
|
553 | + update_user_option($user_id, '_stripe_source_id', $stripe_source_id, false); |
|
554 | 554 | } |
555 | 555 | } |
556 | 556 | |
557 | 557 | // If we couldn't find a Stripe customer linked to the account, fallback to the order meta data. |
558 | - if ( ( ! $stripe_customer_id || ! is_string( $stripe_customer_id ) ) && false !== $subscription->order ) { |
|
559 | - $stripe_customer_id = get_post_meta( $subscription->get_parent_id(), '_stripe_customer_id', true ); |
|
560 | - $stripe_source_id = get_post_meta( $subscription->get_parent_id(), '_stripe_source_id', true ); |
|
558 | + if (( ! $stripe_customer_id || ! is_string($stripe_customer_id)) && false !== $subscription->order) { |
|
559 | + $stripe_customer_id = get_post_meta($subscription->get_parent_id(), '_stripe_customer_id', true); |
|
560 | + $stripe_source_id = get_post_meta($subscription->get_parent_id(), '_stripe_source_id', true); |
|
561 | 561 | |
562 | 562 | // For BW compat will remove in future. |
563 | - if ( empty( $stripe_source_id ) ) { |
|
564 | - $stripe_source_id = get_post_meta( $subscription->get_parent_id(), '_stripe_card_id', true ); |
|
563 | + if (empty($stripe_source_id)) { |
|
564 | + $stripe_source_id = get_post_meta($subscription->get_parent_id(), '_stripe_card_id', true); |
|
565 | 565 | |
566 | 566 | // Take this opportunity to update the key name. |
567 | - update_post_meta( $subscription->get_parent_id(), '_stripe_source_id', $stripe_source_id ); |
|
567 | + update_post_meta($subscription->get_parent_id(), '_stripe_source_id', $stripe_source_id); |
|
568 | 568 | } |
569 | 569 | } |
570 | 570 | |
571 | - $stripe_customer->set_id( $stripe_customer_id ); |
|
571 | + $stripe_customer->set_id($stripe_customer_id); |
|
572 | 572 | |
573 | 573 | $sources = $stripe_customer->get_sources(); |
574 | - $payment_method_to_display = __( 'N/A', 'woocommerce-gateway-stripe' ); |
|
574 | + $payment_method_to_display = __('N/A', 'woocommerce-gateway-stripe'); |
|
575 | 575 | |
576 | - if ( $sources ) { |
|
576 | + if ($sources) { |
|
577 | 577 | $card = false; |
578 | 578 | |
579 | - foreach ( $sources as $source ) { |
|
580 | - if ( isset( $source->type ) && 'card' === $source->type ) { |
|
579 | + foreach ($sources as $source) { |
|
580 | + if (isset($source->type) && 'card' === $source->type) { |
|
581 | 581 | $card = $source->card; |
582 | - } elseif ( isset( $source->object ) && 'card' === $source->object ) { |
|
582 | + } elseif (isset($source->object) && 'card' === $source->object) { |
|
583 | 583 | $card = $source; |
584 | 584 | } |
585 | 585 | |
586 | - if ( $source->id === $stripe_source_id ) { |
|
587 | - if ( $card ) { |
|
586 | + if ($source->id === $stripe_source_id) { |
|
587 | + if ($card) { |
|
588 | 588 | /* translators: 1) card brand 2) last 4 digits */ |
589 | - $payment_method_to_display = sprintf( __( 'Via %1$s card ending in %2$s', 'woocommerce-gateway-stripe' ), ( isset( $card->brand ) ? $card->brand : __( 'N/A', 'woocommerce-gateway-stripe' ) ), $card->last4 ); |
|
589 | + $payment_method_to_display = sprintf(__('Via %1$s card ending in %2$s', 'woocommerce-gateway-stripe'), (isset($card->brand) ? $card->brand : __('N/A', 'woocommerce-gateway-stripe')), $card->last4); |
|
590 | 590 | } |
591 | 591 | |
592 | 592 | break; |
@@ -603,7 +603,7 @@ discard block |
||
603 | 603 | */ |
604 | 604 | public function remove_order_pay_var() { |
605 | 605 | global $wp; |
606 | - if ( isset( $_GET['wc-stripe-confirmation'] ) ) { |
|
606 | + if (isset($_GET['wc-stripe-confirmation'])) { |
|
607 | 607 | $this->order_pay_var = $wp->query_vars['order-pay']; |
608 | 608 | $wp->query_vars['order-pay'] = null; |
609 | 609 | } |
@@ -614,7 +614,7 @@ discard block |
||
614 | 614 | */ |
615 | 615 | public function restore_order_pay_var() { |
616 | 616 | global $wp; |
617 | - if ( isset( $this->order_pay_var ) ) { |
|
617 | + if (isset($this->order_pay_var)) { |
|
618 | 618 | $wp->query_vars['order-pay'] = $this->order_pay_var; |
619 | 619 | } |
620 | 620 | } |
@@ -625,13 +625,13 @@ discard block |
||
625 | 625 | * @param WC_Order $renewal_order The renewal order. |
626 | 626 | * @return boolean |
627 | 627 | */ |
628 | - public function has_authentication_already_failed( $renewal_order ) { |
|
629 | - $existing_intent = $this->get_intent_from_order( $renewal_order ); |
|
628 | + public function has_authentication_already_failed($renewal_order) { |
|
629 | + $existing_intent = $this->get_intent_from_order($renewal_order); |
|
630 | 630 | |
631 | 631 | if ( |
632 | 632 | ! $existing_intent |
633 | 633 | || 'requires_payment_method' !== $existing_intent->status |
634 | - || empty( $existing_intent->last_payment_error ) |
|
634 | + || empty($existing_intent->last_payment_error) |
|
635 | 635 | || 'authentication_required' !== $existing_intent->last_payment_error->code |
636 | 636 | ) { |
637 | 637 | return false; |
@@ -645,12 +645,12 @@ discard block |
||
645 | 645 | * |
646 | 646 | * @param WC_Order $renewal_order The order that is being renewed. |
647 | 647 | */ |
648 | - do_action( 'wc_gateway_stripe_process_payment_authentication_required', $renewal_order ); |
|
648 | + do_action('wc_gateway_stripe_process_payment_authentication_required', $renewal_order); |
|
649 | 649 | |
650 | 650 | // Fail the payment attempt (order would be currently pending because of retry rules). |
651 | - $charge = end( $existing_intent->charges->data ); |
|
651 | + $charge = end($existing_intent->charges->data); |
|
652 | 652 | $charge_id = $charge->id; |
653 | - $renewal_order->update_status( 'failed', sprintf( __( 'Stripe charge awaiting authentication by user: %s.', 'woocommerce-gateway-stripe' ), $charge_id ) ); |
|
653 | + $renewal_order->update_status('failed', sprintf(__('Stripe charge awaiting authentication by user: %s.', 'woocommerce-gateway-stripe'), $charge_id)); |
|
654 | 654 | |
655 | 655 | return true; |
656 | 656 | } |
@@ -661,7 +661,7 @@ discard block |
||
661 | 661 | * @param string $url The URL that Subscriptions attempts a redirect to. |
662 | 662 | * @return void |
663 | 663 | */ |
664 | - public function redirect_after_early_renewal( $url ) { |
|
664 | + public function redirect_after_early_renewal($url) { |
|
665 | 665 | echo wp_json_encode( |
666 | 666 | array( |
667 | 667 | 'stripe_sca_required' => false, |
@@ -678,12 +678,12 @@ discard block |
||
678 | 678 | * @param WC_Order $order The renewal order. |
679 | 679 | * @param stdClass $intent The Payment Intent object. |
680 | 680 | */ |
681 | - protected function handle_intent_verification_success( $order, $intent ) { |
|
682 | - parent::handle_intent_verification_success( $order, $intent ); |
|
681 | + protected function handle_intent_verification_success($order, $intent) { |
|
682 | + parent::handle_intent_verification_success($order, $intent); |
|
683 | 683 | |
684 | - if ( isset( $_GET['early_renewal'] ) ) { // wpcs: csrf ok. |
|
685 | - wcs_update_dates_after_early_renewal( wcs_get_subscription( $order->get_meta( '_subscription_renewal' ) ), $order ); |
|
686 | - wc_add_notice( __( 'Your early renewal order was successful.', 'woocommerce-gateway-stripe' ), 'success' ); |
|
684 | + if (isset($_GET['early_renewal'])) { // wpcs: csrf ok. |
|
685 | + wcs_update_dates_after_early_renewal(wcs_get_subscription($order->get_meta('_subscription_renewal')), $order); |
|
686 | + wc_add_notice(__('Your early renewal order was successful.', 'woocommerce-gateway-stripe'), 'success'); |
|
687 | 687 | } |
688 | 688 | } |
689 | 689 | |
@@ -693,12 +693,12 @@ discard block |
||
693 | 693 | * @param WC_Order $order The renewal order. |
694 | 694 | * @param stdClass $intent The Payment Intent object (unused). |
695 | 695 | */ |
696 | - protected function handle_intent_verification_failure( $order, $intent ) { |
|
697 | - if ( isset( $_GET['early_renewal'] ) ) { |
|
698 | - $order->delete( true ); |
|
699 | - wc_add_notice( __( 'Payment authorization for the renewal order was unsuccessful, please try again.', 'woocommerce-gateway-stripe' ), 'error' ); |
|
700 | - $renewal_url = wcs_get_early_renewal_url( wcs_get_subscription( $order->get_meta( '_subscription_renewal' ) ) ); |
|
701 | - wp_redirect( $renewal_url ); exit; |
|
696 | + protected function handle_intent_verification_failure($order, $intent) { |
|
697 | + if (isset($_GET['early_renewal'])) { |
|
698 | + $order->delete(true); |
|
699 | + wc_add_notice(__('Payment authorization for the renewal order was unsuccessful, please try again.', 'woocommerce-gateway-stripe'), 'error'); |
|
700 | + $renewal_url = wcs_get_early_renewal_url(wcs_get_subscription($order->get_meta('_subscription_renewal'))); |
|
701 | + wp_redirect($renewal_url); exit; |
|
702 | 702 | } |
703 | 703 | } |
704 | 704 | } |
@@ -5,7 +5,7 @@ discard block |
||
5 | 5 | * @since 4.0.6 |
6 | 6 | */ |
7 | 7 | |
8 | -if ( ! defined( 'ABSPATH' ) ) { |
|
8 | +if ( ! defined('ABSPATH')) { |
|
9 | 9 | exit; |
10 | 10 | } |
11 | 11 | |
@@ -53,23 +53,23 @@ discard block |
||
53 | 53 | public $apple_pay_verify_notice; |
54 | 54 | |
55 | 55 | public function __construct() { |
56 | - add_action( 'woocommerce_stripe_updated', array( $this, 'verify_domain_if_needed' ) ); |
|
57 | - add_action( 'update_option_woocommerce_stripe_settings', array( $this, 'verify_domain_on_new_secret_key' ), 10, 2 ); |
|
56 | + add_action('woocommerce_stripe_updated', array($this, 'verify_domain_if_needed')); |
|
57 | + add_action('update_option_woocommerce_stripe_settings', array($this, 'verify_domain_on_new_secret_key'), 10, 2); |
|
58 | 58 | |
59 | - $this->stripe_settings = get_option( 'woocommerce_stripe_settings', array() ); |
|
60 | - $this->stripe_enabled = $this->get_option( 'enabled' ); |
|
61 | - $this->payment_request = 'yes' === $this->get_option( 'payment_request', 'yes' ); |
|
62 | - $this->apple_pay_domain_set = 'yes' === $this->get_option( 'apple_pay_domain_set', 'no' ); |
|
59 | + $this->stripe_settings = get_option('woocommerce_stripe_settings', array()); |
|
60 | + $this->stripe_enabled = $this->get_option('enabled'); |
|
61 | + $this->payment_request = 'yes' === $this->get_option('payment_request', 'yes'); |
|
62 | + $this->apple_pay_domain_set = 'yes' === $this->get_option('apple_pay_domain_set', 'no'); |
|
63 | 63 | $this->apple_pay_verify_notice = ''; |
64 | 64 | $this->secret_key = $this->get_secret_key(); |
65 | 65 | |
66 | - if ( empty( $this->stripe_settings ) ) { |
|
66 | + if (empty($this->stripe_settings)) { |
|
67 | 67 | return; |
68 | 68 | } |
69 | 69 | |
70 | 70 | $this->init_apple_pay(); |
71 | 71 | |
72 | - add_action( 'admin_notices', array( $this, 'admin_notices' ) ); |
|
72 | + add_action('admin_notices', array($this, 'admin_notices')); |
|
73 | 73 | } |
74 | 74 | |
75 | 75 | /** |
@@ -80,13 +80,13 @@ discard block |
||
80 | 80 | * @param string default |
81 | 81 | * @return string $setting_value |
82 | 82 | */ |
83 | - public function get_option( $setting = '', $default = '' ) { |
|
84 | - if ( empty( $this->stripe_settings ) ) { |
|
83 | + public function get_option($setting = '', $default = '') { |
|
84 | + if (empty($this->stripe_settings)) { |
|
85 | 85 | return $default; |
86 | 86 | } |
87 | 87 | |
88 | - if ( ! empty( $this->stripe_settings[ $setting ] ) ) { |
|
89 | - return $this->stripe_settings[ $setting ]; |
|
88 | + if ( ! empty($this->stripe_settings[$setting])) { |
|
89 | + return $this->stripe_settings[$setting]; |
|
90 | 90 | } |
91 | 91 | |
92 | 92 | return $default; |
@@ -99,8 +99,8 @@ discard block |
||
99 | 99 | * @return string Secret key. |
100 | 100 | */ |
101 | 101 | private function get_secret_key() { |
102 | - $testmode = 'yes' === $this->get_option( 'testmode', 'no' ); |
|
103 | - return $testmode ? $this->get_option( 'test_secret_key' ) : $this->get_option( 'secret_key' ); |
|
102 | + $testmode = 'yes' === $this->get_option('testmode', 'no'); |
|
103 | + return $testmode ? $this->get_option('test_secret_key') : $this->get_option('secret_key'); |
|
104 | 104 | } |
105 | 105 | |
106 | 106 | /** |
@@ -112,9 +112,9 @@ discard block |
||
112 | 112 | public function init_apple_pay() { |
113 | 113 | if ( |
114 | 114 | is_admin() && |
115 | - isset( $_GET['page'] ) && 'wc-settings' === $_GET['page'] && |
|
116 | - isset( $_GET['tab'] ) && 'checkout' === $_GET['tab'] && |
|
117 | - isset( $_GET['section'] ) && 'stripe' === $_GET['section'] && |
|
115 | + isset($_GET['page']) && 'wc-settings' === $_GET['page'] && |
|
116 | + isset($_GET['tab']) && 'checkout' === $_GET['tab'] && |
|
117 | + isset($_GET['section']) && 'stripe' === $_GET['section'] && |
|
118 | 118 | $this->payment_request |
119 | 119 | ) { |
120 | 120 | $this->verify_domain(); |
@@ -128,9 +128,9 @@ discard block |
||
128 | 128 | * @version 3.1.0 |
129 | 129 | * @param string $secret_key |
130 | 130 | */ |
131 | - private function register_domain_with_apple( $secret_key = '' ) { |
|
132 | - if ( empty( $secret_key ) ) { |
|
133 | - throw new Exception( __( 'Unable to verify domain - missing secret key.', 'woocommerce-gateway-stripe' ) ); |
|
131 | + private function register_domain_with_apple($secret_key = '') { |
|
132 | + if (empty($secret_key)) { |
|
133 | + throw new Exception(__('Unable to verify domain - missing secret key.', 'woocommerce-gateway-stripe')); |
|
134 | 134 | } |
135 | 135 | |
136 | 136 | $endpoint = 'https://api.stripe.com/v1/apple_pay/domains'; |
@@ -148,22 +148,22 @@ discard block |
||
148 | 148 | $endpoint, |
149 | 149 | array( |
150 | 150 | 'headers' => $headers, |
151 | - 'body' => http_build_query( $data ), |
|
151 | + 'body' => http_build_query($data), |
|
152 | 152 | ) |
153 | 153 | ); |
154 | 154 | |
155 | - if ( is_wp_error( $response ) ) { |
|
155 | + if (is_wp_error($response)) { |
|
156 | 156 | /* translators: error message */ |
157 | - throw new Exception( sprintf( __( 'Unable to verify domain - %s', 'woocommerce-gateway-stripe' ), $response->get_error_message() ) ); |
|
157 | + throw new Exception(sprintf(__('Unable to verify domain - %s', 'woocommerce-gateway-stripe'), $response->get_error_message())); |
|
158 | 158 | } |
159 | 159 | |
160 | - if ( 200 !== $response['response']['code'] ) { |
|
161 | - $parsed_response = json_decode( $response['body'] ); |
|
160 | + if (200 !== $response['response']['code']) { |
|
161 | + $parsed_response = json_decode($response['body']); |
|
162 | 162 | |
163 | 163 | $this->apple_pay_verify_notice = $parsed_response->error->message; |
164 | 164 | |
165 | 165 | /* translators: error message */ |
166 | - throw new Exception( sprintf( __( 'Unable to verify domain - %s', 'woocommerce-gateway-stripe' ), $parsed_response->error->message ) ); |
|
166 | + throw new Exception(sprintf(__('Unable to verify domain - %s', 'woocommerce-gateway-stripe'), $parsed_response->error->message)); |
|
167 | 167 | } |
168 | 168 | } |
169 | 169 | |
@@ -177,43 +177,43 @@ discard block |
||
177 | 177 | * @since 4.3.0 |
178 | 178 | * @return bool True on success, false on failure. |
179 | 179 | */ |
180 | - public function update_domain_association_file( $force = false ) { |
|
181 | - $path = untrailingslashit( $_SERVER['DOCUMENT_ROOT'] ); |
|
180 | + public function update_domain_association_file($force = false) { |
|
181 | + $path = untrailingslashit($_SERVER['DOCUMENT_ROOT']); |
|
182 | 182 | $dir = '.well-known'; |
183 | 183 | $file = 'apple-developer-merchantid-domain-association'; |
184 | 184 | $fullpath = $path . '/' . $dir . '/' . $file; |
185 | 185 | |
186 | - $existing_contents = @file_get_contents( $fullpath ); |
|
187 | - $new_contents = @file_get_contents( WC_STRIPE_PLUGIN_PATH . '/' . $file ); |
|
188 | - if ( ( ! $existing_contents && ! $force ) || $existing_contents === $new_contents ) { |
|
186 | + $existing_contents = @file_get_contents($fullpath); |
|
187 | + $new_contents = @file_get_contents(WC_STRIPE_PLUGIN_PATH . '/' . $file); |
|
188 | + if (( ! $existing_contents && ! $force) || $existing_contents === $new_contents) { |
|
189 | 189 | return true; |
190 | 190 | } |
191 | 191 | |
192 | 192 | $error = null; |
193 | - if ( ! file_exists( $path . '/' . $dir ) ) { |
|
194 | - if ( ! @mkdir( $path . '/' . $dir, 0755 ) ) { // @codingStandardsIgnoreLine |
|
195 | - $error = __( 'Unable to create domain association folder to domain root.', 'woocommerce-gateway-stripe' ); |
|
193 | + if ( ! file_exists($path . '/' . $dir)) { |
|
194 | + if ( ! @mkdir($path . '/' . $dir, 0755)) { // @codingStandardsIgnoreLine |
|
195 | + $error = __('Unable to create domain association folder to domain root.', 'woocommerce-gateway-stripe'); |
|
196 | 196 | } |
197 | 197 | } |
198 | - if ( ! @copy( WC_STRIPE_PLUGIN_PATH . '/' . $file, $fullpath ) ) { // @codingStandardsIgnoreLine |
|
199 | - $error = __( 'Unable to copy domain association file to domain root.', 'woocommerce-gateway-stripe' ); |
|
198 | + if ( ! @copy(WC_STRIPE_PLUGIN_PATH . '/' . $file, $fullpath)) { // @codingStandardsIgnoreLine |
|
199 | + $error = __('Unable to copy domain association file to domain root.', 'woocommerce-gateway-stripe'); |
|
200 | 200 | } |
201 | 201 | |
202 | - if ( isset( $error ) ) { |
|
202 | + if (isset($error)) { |
|
203 | 203 | $url = 'https://' . $_SERVER['HTTP_HOST'] . '/' . $dir . '/' . $file; |
204 | - $response = wp_remote_get( $url ); |
|
205 | - $already_hosted = wp_remote_retrieve_body( $response ) === $new_contents; |
|
206 | - if ( ! $already_hosted ) { |
|
204 | + $response = wp_remote_get($url); |
|
205 | + $already_hosted = wp_remote_retrieve_body($response) === $new_contents; |
|
206 | + if ( ! $already_hosted) { |
|
207 | 207 | WC_Stripe_Logger::log( |
208 | 208 | 'Error: ' . $error . ' ' . |
209 | 209 | /* translators: expected domain association file URL */ |
210 | - sprintf( __( 'To enable Apple Pay, domain association file must be hosted at %s.', 'woocommerce-gateway-stripe' ), $url ) |
|
210 | + sprintf(__('To enable Apple Pay, domain association file must be hosted at %s.', 'woocommerce-gateway-stripe'), $url) |
|
211 | 211 | ); |
212 | 212 | } |
213 | 213 | return $already_hosted; |
214 | 214 | } |
215 | 215 | |
216 | - WC_Stripe_Logger::log( 'Domain association file updated.' ); |
|
216 | + WC_Stripe_Logger::log('Domain association file updated.'); |
|
217 | 217 | return true; |
218 | 218 | } |
219 | 219 | |
@@ -224,32 +224,32 @@ discard block |
||
224 | 224 | * @version 3.1.0 |
225 | 225 | */ |
226 | 226 | public function verify_domain() { |
227 | - if ( ! $this->update_domain_association_file( true ) ) { |
|
227 | + if ( ! $this->update_domain_association_file(true)) { |
|
228 | 228 | $this->stripe_settings['apple_pay_domain_set'] = 'no'; |
229 | - update_option( 'woocommerce_stripe_settings', $this->stripe_settings ); |
|
229 | + update_option('woocommerce_stripe_settings', $this->stripe_settings); |
|
230 | 230 | return; |
231 | 231 | } |
232 | 232 | |
233 | 233 | try { |
234 | 234 | // At this point then the domain association folder and file should be available. |
235 | 235 | // Proceed to verify/and or verify again. |
236 | - $this->register_domain_with_apple( $this->secret_key ); |
|
236 | + $this->register_domain_with_apple($this->secret_key); |
|
237 | 237 | |
238 | 238 | // No errors to this point, verification success! |
239 | 239 | $this->stripe_settings['apple_pay_domain_set'] = 'yes'; |
240 | 240 | $this->apple_pay_domain_set = true; |
241 | 241 | |
242 | - update_option( 'woocommerce_stripe_settings', $this->stripe_settings ); |
|
242 | + update_option('woocommerce_stripe_settings', $this->stripe_settings); |
|
243 | 243 | |
244 | - WC_Stripe_Logger::log( 'Your domain has been verified with Apple Pay!' ); |
|
244 | + WC_Stripe_Logger::log('Your domain has been verified with Apple Pay!'); |
|
245 | 245 | |
246 | - } catch ( Exception $e ) { |
|
246 | + } catch (Exception $e) { |
|
247 | 247 | $this->stripe_settings['apple_pay_domain_set'] = 'no'; |
248 | 248 | $this->apple_pay_domain_set = false; |
249 | 249 | |
250 | - update_option( 'woocommerce_stripe_settings', $this->stripe_settings ); |
|
250 | + update_option('woocommerce_stripe_settings', $this->stripe_settings); |
|
251 | 251 | |
252 | - WC_Stripe_Logger::log( 'Error: ' . $e->getMessage() ); |
|
252 | + WC_Stripe_Logger::log('Error: ' . $e->getMessage()); |
|
253 | 253 | } |
254 | 254 | } |
255 | 255 | |
@@ -259,14 +259,14 @@ discard block |
||
259 | 259 | * @since 4.5.3 |
260 | 260 | * @version 4.5.3 |
261 | 261 | */ |
262 | - public function verify_domain_on_new_secret_key( $prev_settings, $settings ) { |
|
262 | + public function verify_domain_on_new_secret_key($prev_settings, $settings) { |
|
263 | 263 | $this->stripe_settings = $prev_settings; |
264 | 264 | $prev_secret_key = $this->get_secret_key(); |
265 | 265 | |
266 | 266 | $this->stripe_settings = $settings; |
267 | 267 | $this->secret_key = $this->get_secret_key(); |
268 | 268 | |
269 | - if ( ! empty( $this->secret_key ) && $this->secret_key !== $prev_secret_key ) { |
|
269 | + if ( ! empty($this->secret_key) && $this->secret_key !== $prev_secret_key) { |
|
270 | 270 | $this->verify_domain(); |
271 | 271 | } |
272 | 272 | } |
@@ -278,7 +278,7 @@ discard block |
||
278 | 278 | * @version 4.5.3 |
279 | 279 | */ |
280 | 280 | public function verify_domain_if_needed() { |
281 | - if ( $this->apple_pay_domain_set ) { |
|
281 | + if ($this->apple_pay_domain_set) { |
|
282 | 282 | $this->update_domain_association_file(); |
283 | 283 | } else { |
284 | 284 | $this->verify_domain(); |
@@ -291,16 +291,16 @@ discard block |
||
291 | 291 | * @since 4.0.6 |
292 | 292 | */ |
293 | 293 | public function admin_notices() { |
294 | - if ( ! $this->stripe_enabled || ! $this->payment_request ) { |
|
294 | + if ( ! $this->stripe_enabled || ! $this->payment_request) { |
|
295 | 295 | return; |
296 | 296 | } |
297 | 297 | |
298 | - if ( ! current_user_can( 'manage_woocommerce' ) ) { |
|
298 | + if ( ! current_user_can('manage_woocommerce')) { |
|
299 | 299 | return; |
300 | 300 | } |
301 | 301 | |
302 | - $empty_notice = empty( $this->apple_pay_verify_notice ); |
|
303 | - if ( $empty_notice && ( $this->apple_pay_domain_set || empty( $this->secret_key ) ) ) { |
|
302 | + $empty_notice = empty($this->apple_pay_verify_notice); |
|
303 | + if ($empty_notice && ($this->apple_pay_domain_set || empty($this->secret_key))) { |
|
304 | 304 | return; |
305 | 305 | } |
306 | 306 | |
@@ -309,28 +309,28 @@ discard block |
||
309 | 309 | * when setting screen is displayed. So if domain verification is not set, |
310 | 310 | * something went wrong so lets notify user. |
311 | 311 | */ |
312 | - $allowed_html = array( |
|
312 | + $allowed_html = array( |
|
313 | 313 | 'a' => array( |
314 | 314 | 'href' => array(), |
315 | 315 | 'title' => array(), |
316 | 316 | ), |
317 | 317 | ); |
318 | - $verification_failed_without_error = __( 'Apple Pay domain verification failed.', 'woocommerce-gateway-stripe' ); |
|
319 | - $verification_failed_with_error = __( 'Apple Pay domain verification failed with the following error:', 'woocommerce-gateway-stripe' ); |
|
318 | + $verification_failed_without_error = __('Apple Pay domain verification failed.', 'woocommerce-gateway-stripe'); |
|
319 | + $verification_failed_with_error = __('Apple Pay domain verification failed with the following error:', 'woocommerce-gateway-stripe'); |
|
320 | 320 | $check_log_text = sprintf( |
321 | 321 | /* translators: 1) HTML anchor open tag 2) HTML anchor closing tag */ |
322 | - esc_html__( 'Please check the %1$slogs%2$s for more details on this issue. Logging must be enabled to see recorded logs.', 'woocommerce-gateway-stripe' ), |
|
323 | - '<a href="' . admin_url( 'admin.php?page=wc-status&tab=logs' ) . '">', |
|
322 | + esc_html__('Please check the %1$slogs%2$s for more details on this issue. Logging must be enabled to see recorded logs.', 'woocommerce-gateway-stripe'), |
|
323 | + '<a href="' . admin_url('admin.php?page=wc-status&tab=logs') . '">', |
|
324 | 324 | '</a>' |
325 | 325 | ); |
326 | 326 | |
327 | 327 | ?> |
328 | 328 | <div class="error stripe-apple-pay-message"> |
329 | - <?php if ( $empty_notice ) : ?> |
|
330 | - <p><?php echo esc_html( $verification_failed_without_error ); ?></p> |
|
329 | + <?php if ($empty_notice) : ?> |
|
330 | + <p><?php echo esc_html($verification_failed_without_error); ?></p> |
|
331 | 331 | <?php else : ?> |
332 | - <p><?php echo esc_html( $verification_failed_with_error ); ?></p> |
|
333 | - <p><i><?php echo wp_kses( make_clickable( esc_html( $this->apple_pay_verify_notice ) ), $allowed_html ); ?></i></p> |
|
332 | + <p><?php echo esc_html($verification_failed_with_error); ?></p> |
|
333 | + <p><i><?php echo wp_kses(make_clickable(esc_html($this->apple_pay_verify_notice)), $allowed_html); ?></i></p> |
|
334 | 334 | <?php endif; ?> |
335 | 335 | <p><?php echo $check_log_text; ?></p> |
336 | 336 | </div> |