Code Duplication    Length = 42-42 lines in 2 locations

includes/compat/class-wc-stripe-sepa-compat.php 1 location

@@ 142-183 (lines=42) @@
139
	 * @param mixed $renewal_order
140
	 * @param bool $is_retry Is this a retry process.
141
	 */
142
	public function process_subscription_payment( $amount = 0.0, $renewal_order, $is_retry = false ) {
143
		if ( $amount * 100 < WC_Stripe_Helper::get_minimum_amount() ) {
144
			/* translators: minimum amount */
145
			return new WP_Error( 'stripe_error', sprintf( __( 'Sorry, the minimum allowed order total is %1$s to use this payment method.', 'woocommerce-gateway-stripe' ), wc_price( WC_Stripe_Helper::get_minimum_amount() / 100 ) ) );
146
		}
147
148
		$order_id = WC_Stripe_Helper::is_pre_30() ? $renewal_order->id : $renewal_order->get_id();
149
150
		// Get source from order.
151
		$prepared_source = $this->prepare_order_source( $renewal_order );
152
153
		if ( ! $prepared_source->customer ) {
154
			return new WP_Error( 'stripe_error', __( 'Customer not found', 'woocommerce-gateway-stripe' ) );
155
		}
156
157
		WC_Stripe_Logger::log( "Info: Begin processing subscription payment for order {$order_id} for the amount of {$amount}" );
158
159
		if ( $is_retry ) {
160
			// Passing empty source with charge customer default.
161
			$prepared_source->source = '';
162
		}
163
164
		$request            = $this->generate_payment_request( $renewal_order, $prepared_source );
165
		$request['capture'] = 'true';
166
		$request['amount']  = WC_Stripe_Helper::get_stripe_amount( $amount, $request['currency'] );
167
		$response           = WC_Stripe_API::request( $request );
168
169
		if ( ! empty( $response->error ) || is_wp_error( $response ) ) {
170
			if ( $is_retry ) {
171
				/* translators: error message */
172
				$renewal_order->update_status( 'failed', sprintf( __( 'Stripe Transaction Failed (%s)', 'woocommerce-gateway-stripe' ), $response->error->message ) );
173
			}
174
175
			return $response; // Default catch all errors.
176
		}
177
178
		$this->process_response( $response, $renewal_order );
179
180
		if ( ! $is_retry ) {
181
			return $response;
182
		}
183
	}
184
185
	/**
186
	 * Don't transfer Stripe customer/token meta to resubscribe orders.

includes/compat/class-wc-stripe-compat.php 1 location

@@ 207-248 (lines=42) @@
204
	 * @param mixed $renewal_order
205
	 * @param bool $is_retry Is this a retry process.
206
	 */
207
	public function process_subscription_payment( $amount = 0.0, $renewal_order, $is_retry = false ) {
208
		if ( $amount * 100 < WC_Stripe_Helper::get_minimum_amount() ) {
209
			/* translators: minimum amount */
210
			return new WP_Error( 'stripe_error', sprintf( __( 'Sorry, the minimum allowed order total is %1$s to use this payment method.', 'woocommerce-gateway-stripe' ), wc_price( WC_Stripe_Helper::get_minimum_amount() / 100 ) ) );
211
		}
212
213
		$order_id = WC_Stripe_Helper::is_pre_30() ? $renewal_order->id : $renewal_order->get_id();
214
215
		// Get source from order
216
		$prepared_source = $this->prepare_order_source( $renewal_order );
217
218
		if ( ! $prepared_source->customer ) {
219
			return new WP_Error( 'stripe_error', __( 'Customer not found', 'woocommerce-gateway-stripe' ) );
220
		}
221
222
		WC_Stripe_Logger::log( "Info: Begin processing subscription payment for order {$order_id} for the amount of {$amount}" );
223
224
		if ( $is_retry ) {
225
			// Passing empty source with charge customer default.
226
			$prepared_source->source = '';
227
		}
228
229
		$request            = $this->generate_payment_request( $renewal_order, $prepared_source );
230
		$request['capture'] = 'true';
231
		$request['amount']  = WC_Stripe_Helper::get_stripe_amount( $amount, $request['currency'] );
232
		$response           = WC_Stripe_API::request( $request );
233
234
		if ( ! empty( $response->error ) || is_wp_error( $response ) ) {
235
			if ( $is_retry ) {
236
				/* translators: error message */
237
				$renewal_order->update_status( 'failed', sprintf( __( 'Stripe Transaction Failed (%s)', 'woocommerce-gateway-stripe' ), $response->error->message ) );
238
			}
239
240
			return $response; // Default catch all errors.
241
		}
242
243
		$this->process_response( $response, $renewal_order );
244
245
		if ( ! $is_retry ) {
246
			return $response;
247
		}
248
	}
249
250
	/**
251
	 * Don't transfer Stripe customer/token meta to resubscribe orders.