🔥 Remove the GetOrderEndpoint logic

We don’t need this endpoint, as orders are processed on server side
This commit is contained in:
Philipp Stracker 2025-03-04 14:41:47 +01:00
parent c403f4beca
commit 3083d89173
No known key found for this signature in database
4 changed files with 0 additions and 105 deletions

View file

@ -11,7 +11,6 @@ namespace WooCommerce\PayPalCommerce\Button;
use WooCommerce\PayPalCommerce\Button\Endpoint\ApproveSubscriptionEndpoint;
use WooCommerce\PayPalCommerce\Button\Endpoint\CartScriptParamsEndpoint;
use WooCommerce\PayPalCommerce\Button\Endpoint\GetOrderEndpoint;
use WooCommerce\PayPalCommerce\Button\Endpoint\SimulateCartEndpoint;
use WooCommerce\PayPalCommerce\Button\Helper\CartProductsHelper;
use WooCommerce\PayPalCommerce\Button\Helper\CheckoutFormSaver;
@ -283,12 +282,6 @@ return array(
$container->get( 'wcgateway.paypal-gateway' )
);
},
'button.endpoint.get-order' => static function( ContainerInterface $container ): GetOrderEndpoint {
return new GetOrderEndpoint(
$container->get( 'button.request-data' ),
$container->get( 'api.endpoint.order' )
);
},
'button.checkout-form-saver' => static function ( ContainerInterface $container ): CheckoutFormSaver {
return new CheckoutFormSaver(
$container->get( 'session.handler' )

View file

@ -24,12 +24,10 @@ use WooCommerce\PayPalCommerce\ApiClient\Helper\DccApplies;
use WooCommerce\PayPalCommerce\Blocks\Endpoint\UpdateShippingEndpoint;
use WooCommerce\PayPalCommerce\Button\Endpoint\ApproveOrderEndpoint;
use WooCommerce\PayPalCommerce\Button\Endpoint\ApproveSubscriptionEndpoint;
use WooCommerce\PayPalCommerce\Button\Endpoint\CaptureOrderEndpoint;
use WooCommerce\PayPalCommerce\Button\Endpoint\CartScriptParamsEndpoint;
use WooCommerce\PayPalCommerce\Button\Endpoint\ChangeCartEndpoint;
use WooCommerce\PayPalCommerce\Button\Endpoint\CreateOrderEndpoint;
use WooCommerce\PayPalCommerce\Button\Endpoint\DataClientIdEndpoint;
use WooCommerce\PayPalCommerce\Button\Endpoint\GetOrderEndpoint;
use WooCommerce\PayPalCommerce\Button\Endpoint\RequestData;
use WooCommerce\PayPalCommerce\Button\Endpoint\SaveCheckoutFormEndpoint;
use WooCommerce\PayPalCommerce\Button\Endpoint\SimulateCartEndpoint;
@ -1145,10 +1143,6 @@ document.querySelector("#payment").before(document.querySelector(".ppcp-messages
'endpoint' => \WC_AJAX::get_endpoint( ChangeCartEndpoint::ENDPOINT ),
'nonce' => wp_create_nonce( ChangeCartEndpoint::nonce() ),
),
'get_order' => array(
'endpoint' => \WC_AJAX::get_endpoint( GetOrderEndpoint::ENDPOINT ),
'nonce' => wp_create_nonce( GetOrderEndpoint::nonce() ),
),
'create_order' => array(
'endpoint' => \WC_AJAX::get_endpoint( CreateOrderEndpoint::ENDPOINT ),
'nonce' => wp_create_nonce( CreateOrderEndpoint::nonce() ),

View file

@ -11,7 +11,6 @@ namespace WooCommerce\PayPalCommerce\Button;
use WooCommerce\PayPalCommerce\Button\Endpoint\ApproveSubscriptionEndpoint;
use WooCommerce\PayPalCommerce\Button\Endpoint\CartScriptParamsEndpoint;
use WooCommerce\PayPalCommerce\Button\Endpoint\GetOrderEndpoint;
use WooCommerce\PayPalCommerce\Button\Endpoint\SaveCheckoutFormEndpoint;
use WooCommerce\PayPalCommerce\Button\Endpoint\SimulateCartEndpoint;
use WooCommerce\PayPalCommerce\Button\Endpoint\ValidateCheckoutEndpoint;
@ -178,16 +177,6 @@ class ButtonModule implements ServiceModule, ExtendingModule, ExecutableModule {
}
);
add_action(
'wc_ajax_' . GetOrderEndpoint::ENDPOINT,
static function () use ( $container ) {
$endpoint = $container->get( 'button.endpoint.get-order' );
assert( $endpoint instanceof GetOrderEndpoint );
$endpoint->handle_request();
}
);
add_action(
'wc_ajax_' . CreateOrderEndpoint::ENDPOINT,
static function () use ( $container ) {

View file

@ -1,81 +0,0 @@
<?php
/**
* Endpoint to get the PayPal order.
*
* @package WooCommerce\PayPalCommerce\Button\Endpoint
*/
declare( strict_types = 1 );
namespace WooCommerce\PayPalCommerce\Button\Endpoint;
use WooCommerce\PayPalCommerce\ApiClient\Endpoint\OrderEndpoint;
use WooCommerce\PayPalCommerce\Button\Exception\RuntimeException;
/**
* Class ApproveSubscriptionEndpoint
*/
class GetOrderEndpoint implements EndpointInterface {
public const ENDPOINT = 'ppc-get-order';
/**
* The request data helper.
*
* @var RequestData
*/
private RequestData $request_data;
/**
* The order endpoint.
*
* @var OrderEndpoint
*/
private OrderEndpoint $order_endpoint;
/**
* Constructor.
*
* @param RequestData $request_data The request data helper.
* @param OrderEndpoint $order_endpoint The order endpoint.
*/
public function __construct(
RequestData $request_data,
OrderEndpoint $order_endpoint
) {
$this->request_data = $request_data;
$this->order_endpoint = $order_endpoint;
}
/**
* The nonce.
*
* @return string
*/
public static function nonce() : string {
return self::ENDPOINT;
}
/**
* Handles the request responds with the PayPal order details.
*
* @return bool This method never returns a value, but we must implement the interface.
* @throws RuntimeException When order not found or handling failed.
*/
public function handle_request() : bool {
$data = $this->request_data->read_request( self::nonce() );
if ( ! isset( $data['order_id'] ) ) {
throw new RuntimeException(
__( 'No order id given', 'woocommerce-paypal-payments' )
);
}
$order = $this->order_endpoint->raw_order( $data['order_id'] );
wp_send_json_success( $order );
return true;
}
}