Code Duplication    Length = 34-34 lines in 2 locations

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

@@ 269-302 (lines=34) @@
266
	 * @param mixed $renewal_order
267
	 * @param  bool initial_payment
268
	 */
269
	public function retry_subscription_payment( $amount = 0.0, $renewal_order ) {
270
		if ( $amount * 100 < WC_Stripe_Helper::get_minimum_amount() ) {
271
			/* translators: minimum amount */
272
			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 ) ) );
273
		}
274
275
		$order_id = WC_Stripe_Helper::is_pre_30() ? $renewal_order->id : $renewal_order->get_id();
276
277
		// Get source from order
278
		$prepared_source = $this->prepare_order_source( $renewal_order );
279
280
		if ( ! $prepared_source->customer ) {
281
			return new WP_Error( 'stripe_error', __( 'Customer not found', 'woocommerce-gateway-stripe' ) );
282
		}
283
284
		// Passing empty source with charge customer default.
285
		$prepared_source->source = '';
286
287
		WC_Stripe_Logger::log( "Info: Begin processing subscription payment for order {$order_id} for the amount of {$amount}" );
288
289
		// Make the request
290
		$request             = $this->generate_payment_request( $renewal_order, $prepared_source );
291
		$request['capture']  = 'true';
292
		$request['amount']   = WC_Stripe_Helper::get_stripe_amount( $amount, $request['currency'] );
293
		$response            = WC_Stripe_API::request( $request );
294
295
		if ( ! empty( $response->error ) || is_wp_error( $response ) ) {
296
			/* translators: error message */
297
			$renewal_order->update_status( 'failed', sprintf( __( 'Stripe Transaction Failed (%s)', 'woocommerce-gateway-stripe' ), $response->error->message ) );
298
		}
299
300
		$this->process_response( $response, $renewal_order );
301
	}
302
303
	/**
304
	 * Don't transfer Stripe customer/token meta to resubscribe orders.
305
	 * @param int $resubscribe_order The order created for the customer to resubscribe to the old expired/cancelled subscription

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

@@ 181-214 (lines=34) @@
178
	 * @param mixed $renewal_order
179
	 * @param bool initial_payment
180
	 */
181
	public function retry_subscription_payment( $amount = 0.0, $renewal_order ) {
182
		if ( $amount * 100 < WC_Stripe_Helper::get_minimum_amount() ) {
183
			/* translators: minimum amount */
184
			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 ) ) );
185
		}
186
187
		$order_id = WC_Stripe_Helper::is_pre_30() ? $renewal_order->id : $renewal_order->get_id();
188
189
		// Get source from order
190
		$prepared_source = $this->prepare_order_source( $renewal_order );
191
192
		// Or fail :(
193
		if ( ! $prepared_source->customer ) {
194
			return new WP_Error( 'stripe_error', __( 'Customer not found', 'woocommerce-gateway-stripe' ) );
195
		}
196
197
		// Passing empty source with charge customer default.
198
		$prepared_source->source = '';
199
200
		WC_Stripe_Logger::log( "Info: Begin processing subscription payment for order {$order_id} for the amount of {$amount}" );
201
202
		// Make the request
203
		$request             = $this->generate_payment_request( $renewal_order, $prepared_source );
204
		$request['capture']  = 'true';
205
		$request['amount']   = WC_Stripe_Helper::get_stripe_amount( $amount, $request['currency'] );
206
		$response            = WC_Stripe_API::request( $request );
207
208
		if ( ! empty( $response->error ) || is_wp_error( $response ) ) {
209
			/* translators: error message */
210
			$renewal_order->update_status( 'failed', sprintf( __( 'Stripe Transaction Failed (%s)', 'woocommerce-gateway-stripe' ), $response->error->message ) );
211
		}
212
213
		$this->process_response( $response, $renewal_order );
214
	}
215
216
	/**
217
	 * Don't transfer Stripe customer/token meta to resubscribe orders.