mirror of
https://github.com/woocommerce/woocommerce-paypal-payments.git
synced 2025-09-05 08:59:14 +08:00
♻️ Chore: Minor code cleanup
This commit is contained in:
parent
f75c3610d8
commit
43d7e0788f
3 changed files with 25 additions and 32 deletions
|
@ -1,3 +1,4 @@
|
|||
/* global jQuery */
|
||||
/* global ApplePaySession */
|
||||
/* global PayPalCommerceGateway */
|
||||
|
||||
|
|
|
@ -9,17 +9,17 @@ declare( strict_types = 1 );
|
|||
|
||||
namespace WooCommerce\PayPalCommerce\Applepay;
|
||||
|
||||
use Exception;
|
||||
use WC_Order;
|
||||
use WC_Payment_Gateway;
|
||||
use WooCommerce\PayPalCommerce\Session\SessionHandler;
|
||||
use WooCommerce\PayPalCommerce\ApiClient\Exception\PayPalApiException;
|
||||
use WooCommerce\PayPalCommerce\WcGateway\Gateway\ProcessPaymentTrait;
|
||||
use WooCommerce\PayPalCommerce\WcGateway\Processor\OrderProcessor;
|
||||
use WooCommerce\PayPalCommerce\WcGateway\Processor\RefundProcessor;
|
||||
use WooCommerce\PayPalCommerce\WcGateway\Gateway\TransactionUrlProvider;
|
||||
use WooCommerce\PayPalCommerce\Session\SessionHandler;
|
||||
use WC_Order;
|
||||
use WooCommerce\PayPalCommerce\WcGateway\Exception\GatewayGenericException;
|
||||
use Exception;
|
||||
use WooCommerce\PayPalCommerce\WcGateway\Exception\PayPalOrderMissingException;
|
||||
use WooCommerce\PayPalCommerce\ApiClient\Exception\PayPalApiException;
|
||||
use WooCommerce\PayPalCommerce\WcGateway\Gateway\Messages;
|
||||
|
||||
/**
|
||||
|
@ -114,10 +114,7 @@ class ApplePayGateway extends WC_Payment_Gateway {
|
|||
|
||||
add_action(
|
||||
'woocommerce_update_options_payment_gateways_' . $this->id,
|
||||
array(
|
||||
$this,
|
||||
'process_admin_options',
|
||||
)
|
||||
array( $this, 'process_admin_options' )
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
@ -341,7 +341,7 @@ class ApplePayButton implements ButtonInterface {
|
|||
}
|
||||
$response = $this->response_templates->apple_formatted_response( $payment_details );
|
||||
$this->response_templates->response_success( $response );
|
||||
} catch ( \Exception $e ) {
|
||||
} catch ( Exception $e ) {
|
||||
$this->response_templates->response_with_data_errors(
|
||||
array(
|
||||
array(
|
||||
|
@ -383,7 +383,7 @@ class ApplePayButton implements ButtonInterface {
|
|||
}
|
||||
$response = $this->response_templates->apple_formatted_response( $payment_details );
|
||||
$this->response_templates->response_success( $response );
|
||||
} catch ( \Exception $e ) {
|
||||
} catch ( Exception $e ) {
|
||||
$this->response_templates->response_with_data_errors(
|
||||
array(
|
||||
array(
|
||||
|
@ -400,7 +400,7 @@ class ApplePayButton implements ButtonInterface {
|
|||
* On error returns an array of errors to be handled by the script
|
||||
* On success returns the new order data
|
||||
*
|
||||
* @throws \Exception When validation fails.
|
||||
* @throws Exception When validation fails.
|
||||
*/
|
||||
public function create_wc_order(): void {
|
||||
$applepay_request_data_object = $this->applepay_data_object_http();
|
||||
|
@ -421,15 +421,18 @@ class ApplePayButton implements ButtonInterface {
|
|||
$applepay_request_data_object->order_data( $context );
|
||||
|
||||
$this->update_posted_data( $applepay_request_data_object );
|
||||
|
||||
if ( $context === 'product' ) {
|
||||
$cart_item_key = $this->prepare_cart( $applepay_request_data_object );
|
||||
$cart = WC()->cart;
|
||||
$address = $applepay_request_data_object->shipping_address();
|
||||
|
||||
$this->calculate_totals_single_product(
|
||||
$cart,
|
||||
$address,
|
||||
$applepay_request_data_object->shipping_method()
|
||||
);
|
||||
|
||||
if ( ! $cart_item_key ) {
|
||||
$this->response_templates->response_with_data_errors(
|
||||
array(
|
||||
|
@ -439,20 +442,17 @@ class ApplePayButton implements ButtonInterface {
|
|||
),
|
||||
)
|
||||
);
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
add_filter(
|
||||
'woocommerce_payment_successful_result',
|
||||
function ( array $result ) use ( $cart, $cart_item_key ) : array {
|
||||
if ( ! is_string( $cart_item_key ) ) {
|
||||
return $result;
|
||||
}
|
||||
$this->clear_current_cart( $cart, $cart_item_key );
|
||||
$this->reload_cart( $cart );
|
||||
return $result;
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
WC()->checkout()->process_checkout();
|
||||
}
|
||||
|
@ -461,17 +461,20 @@ class ApplePayButton implements ButtonInterface {
|
|||
/**
|
||||
* Checks if the nonce in the data object is valid
|
||||
*
|
||||
* @return bool|int
|
||||
* @return bool
|
||||
*/
|
||||
protected function is_nonce_valid(): bool {
|
||||
$nonce = filter_input( INPUT_POST, 'woocommerce-process-checkout-nonce', FILTER_SANITIZE_SPECIAL_CHARS );
|
||||
if ( ! $nonce ) {
|
||||
return false;
|
||||
}
|
||||
return wp_verify_nonce(
|
||||
|
||||
// Return value 1 indicates "valid nonce, generated in past 12 hours".
|
||||
// Return value 2 also indicated valid nonce, but older than 12 hours.
|
||||
return 1 === wp_verify_nonce(
|
||||
$nonce,
|
||||
'woocommerce-process_checkout'
|
||||
) === 1;
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -512,7 +515,7 @@ class ApplePayButton implements ButtonInterface {
|
|||
$address,
|
||||
$applepay_request_data_object->shipping_method()
|
||||
);
|
||||
if ( is_string( $cart_item_key ) ) {
|
||||
if ( $cart_item_key ) {
|
||||
$this->clear_current_cart( $cart, $cart_item_key );
|
||||
$this->reload_cart( $cart );
|
||||
}
|
||||
|
@ -820,9 +823,9 @@ class ApplePayButton implements ButtonInterface {
|
|||
/**
|
||||
* Removes the old cart, saves it, and creates a new one
|
||||
*
|
||||
* @throws Exception If it cannot be added to cart.
|
||||
* @param ApplePayDataObjectHttp $applepay_request_data_object The request data object.
|
||||
* @return bool | string The cart item key after adding to the new cart.
|
||||
* @throws \Exception If it cannot be added to cart.
|
||||
* @return string The cart item key after adding to the new cart.
|
||||
*/
|
||||
public function prepare_cart( ApplePayDataObjectHttp $applepay_request_data_object ): string {
|
||||
$this->save_old_cart();
|
||||
|
@ -839,7 +842,7 @@ class ApplePayButton implements ButtonInterface {
|
|||
);
|
||||
|
||||
$this->cart_products->add_products( array( $product ) );
|
||||
return $this->cart_products->cart_item_keys()[0];
|
||||
return $this->cart_products->cart_item_keys()[0] ?? '';
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -982,6 +985,7 @@ class ApplePayButton implements ButtonInterface {
|
|||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* ApplePay button markup
|
||||
*/
|
||||
|
@ -993,15 +997,6 @@ class ApplePayButton implements ButtonInterface {
|
|||
<?php
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the module should load the script.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function should_load_script(): bool {
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Enqueues the scripts.
|
||||
*
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue