mirror of
https://github.com/woocommerce/woocommerce-paypal-payments.git
synced 2025-09-06 18:16:38 +08:00
Extract saved payment check scheduling
This commit is contained in:
parent
5bdc4b78c1
commit
fb0bd85da6
3 changed files with 20 additions and 18 deletions
|
@ -539,15 +539,7 @@ class CreditCardGateway extends \WC_Payment_Gateway_CC {
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( $this->subscription_helper->has_subscription( $order_id ) ) {
|
if ( $this->subscription_helper->has_subscription( $order_id ) ) {
|
||||||
as_schedule_single_action(
|
$this->schedule_saved_payment_check( $order_id, $wc_order->get_customer_id() );
|
||||||
time() + ( 1 * MINUTE_IN_SECONDS ),
|
|
||||||
'woocommerce_paypal_payments_check_saved_payment',
|
|
||||||
array(
|
|
||||||
'order_id' => $order_id,
|
|
||||||
'customer_id' => $wc_order->get_customer_id(),
|
|
||||||
'intent' => $this->config->has( 'intent' ) ? $this->config->get( 'intent' ) : '',
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->handle_payment_success( $wc_order );
|
return $this->handle_payment_success( $wc_order );
|
||||||
|
|
|
@ -453,15 +453,7 @@ class PayPalGateway extends \WC_Payment_Gateway {
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( $this->subscription_helper->has_subscription( $order_id ) ) {
|
if ( $this->subscription_helper->has_subscription( $order_id ) ) {
|
||||||
as_schedule_single_action(
|
$this->schedule_saved_payment_check( $order_id, $wc_order->get_customer_id() );
|
||||||
time() + ( 1 * MINUTE_IN_SECONDS ),
|
|
||||||
'woocommerce_paypal_payments_check_saved_payment',
|
|
||||||
array(
|
|
||||||
'order_id' => $order_id,
|
|
||||||
'customer_id' => $wc_order->get_customer_id(),
|
|
||||||
'intent' => $this->config->has( 'intent' ) ? $this->config->get( 'intent' ) : '',
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->handle_payment_success( $wc_order );
|
return $this->handle_payment_success( $wc_order );
|
||||||
|
|
|
@ -46,6 +46,24 @@ trait ProcessPaymentTrait {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Scheduled the vaulted payment check.
|
||||||
|
*
|
||||||
|
* @param int $wc_order_id The WC order ID.
|
||||||
|
* @param int $customer_id The customer ID.
|
||||||
|
*/
|
||||||
|
protected function schedule_saved_payment_check( int $wc_order_id, int $customer_id ): void {
|
||||||
|
as_schedule_single_action(
|
||||||
|
time() + ( 1 * MINUTE_IN_SECONDS ),
|
||||||
|
'woocommerce_paypal_payments_check_saved_payment',
|
||||||
|
array(
|
||||||
|
'order_id' => $wc_order_id,
|
||||||
|
'customer_id' => $customer_id,
|
||||||
|
'intent' => $this->config->has( 'intent' ) ? $this->config->get( 'intent' ) : '',
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handles the payment failure.
|
* Handles the payment failure.
|
||||||
*
|
*
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue