mirror of
https://github.com/woocommerce/woocommerce-paypal-payments.git
synced 2025-09-06 13:44:42 +08:00
Do not use custom ajax endpoint for get order from session
This commit is contained in:
parent
e93e9db3be
commit
a42488b41d
4 changed files with 1 additions and 68 deletions
|
@ -78,17 +78,9 @@ export function CardFields({config, eventRegistration, emitResponse}) {
|
||||||
// TODO temporary workaround to wait for PayPal order in the session
|
// TODO temporary workaround to wait for PayPal order in the session
|
||||||
await wait(3000)
|
await wait(3000)
|
||||||
|
|
||||||
const response = await fetch(config.scriptData.ajax.get_paypal_order_from_session.endpoint)
|
|
||||||
const result = await response.json()
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
type: responseTypes.SUCCESS,
|
type: responseTypes.SUCCESS,
|
||||||
meta: {
|
}
|
||||||
paymentMethodData: {
|
|
||||||
'paypal_order_id': result.data,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return handlePaymentProcessing();
|
return handlePaymentProcessing();
|
||||||
|
|
|
@ -10,7 +10,6 @@ declare(strict_types=1);
|
||||||
namespace WooCommerce\PayPalCommerce\Blocks;
|
namespace WooCommerce\PayPalCommerce\Blocks;
|
||||||
|
|
||||||
use Automattic\WooCommerce\Blocks\Payments\PaymentMethodRegistry;
|
use Automattic\WooCommerce\Blocks\Payments\PaymentMethodRegistry;
|
||||||
use WooCommerce\PayPalCommerce\Blocks\Endpoint\GetPayPalOrderFromSession;
|
|
||||||
use WooCommerce\PayPalCommerce\Blocks\Endpoint\UpdateShippingEndpoint;
|
use WooCommerce\PayPalCommerce\Blocks\Endpoint\UpdateShippingEndpoint;
|
||||||
use WooCommerce\PayPalCommerce\Button\Assets\SmartButtonInterface;
|
use WooCommerce\PayPalCommerce\Button\Assets\SmartButtonInterface;
|
||||||
use WooCommerce\PayPalCommerce\Vendor\Dhii\Container\ServiceProvider;
|
use WooCommerce\PayPalCommerce\Vendor\Dhii\Container\ServiceProvider;
|
||||||
|
@ -91,16 +90,6 @@ class BlocksModule implements ModuleInterface {
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
add_action(
|
|
||||||
'wc_ajax_' . GetPayPalOrderFromSession::ENDPOINT,
|
|
||||||
static function () use ( $c ) {
|
|
||||||
$endpoint = $c->get( 'blocks.endpoint.get-paypal-order-from-session' );
|
|
||||||
assert( $endpoint instanceof GetPayPalOrderFromSession );
|
|
||||||
|
|
||||||
$endpoint->handle_request();
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
// Enqueue frontend scripts.
|
// Enqueue frontend scripts.
|
||||||
add_action(
|
add_action(
|
||||||
'wp_enqueue_scripts',
|
'wp_enqueue_scripts',
|
||||||
|
|
|
@ -1,43 +0,0 @@
|
||||||
<?php
|
|
||||||
/**
|
|
||||||
* Get PayPal order from the current session.
|
|
||||||
*
|
|
||||||
* @package WooCommerce\PayPalCommerce\Button\Endpoint
|
|
||||||
*/
|
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
namespace WooCommerce\PayPalCommerce\Blocks\Endpoint;
|
|
||||||
|
|
||||||
use WooCommerce\PayPalCommerce\Button\Endpoint\EndpointInterface;
|
|
||||||
use WooCommerce\PayPalCommerce\Session\SessionHandler;
|
|
||||||
|
|
||||||
class GetPayPalOrderFromSession implements EndpointInterface
|
|
||||||
{
|
|
||||||
const ENDPOINT = 'ppc-get-paypal-order-from-session';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The session handler.
|
|
||||||
*
|
|
||||||
* @var SessionHandler
|
|
||||||
*/
|
|
||||||
private $session_handler;
|
|
||||||
|
|
||||||
public function __construct(SessionHandler $session_handler)
|
|
||||||
{
|
|
||||||
$this->session_handler = $session_handler;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static function nonce(): string
|
|
||||||
{
|
|
||||||
return self::ENDPOINT;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function handle_request(): bool
|
|
||||||
{
|
|
||||||
$order = $this->session_handler->order();
|
|
||||||
|
|
||||||
wp_send_json_success($order->id());
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -19,7 +19,6 @@ use WooCommerce\PayPalCommerce\ApiClient\Entity\Money;
|
||||||
use WooCommerce\PayPalCommerce\ApiClient\Entity\PaymentToken;
|
use WooCommerce\PayPalCommerce\ApiClient\Entity\PaymentToken;
|
||||||
use WooCommerce\PayPalCommerce\ApiClient\Factory\PayerFactory;
|
use WooCommerce\PayPalCommerce\ApiClient\Factory\PayerFactory;
|
||||||
use WooCommerce\PayPalCommerce\ApiClient\Helper\DccApplies;
|
use WooCommerce\PayPalCommerce\ApiClient\Helper\DccApplies;
|
||||||
use WooCommerce\PayPalCommerce\Blocks\Endpoint\GetPayPalOrderFromSession;
|
|
||||||
use WooCommerce\PayPalCommerce\Blocks\Endpoint\UpdateShippingEndpoint;
|
use WooCommerce\PayPalCommerce\Blocks\Endpoint\UpdateShippingEndpoint;
|
||||||
use WooCommerce\PayPalCommerce\Button\Endpoint\ApproveOrderEndpoint;
|
use WooCommerce\PayPalCommerce\Button\Endpoint\ApproveOrderEndpoint;
|
||||||
use WooCommerce\PayPalCommerce\Button\Endpoint\ApproveSubscriptionEndpoint;
|
use WooCommerce\PayPalCommerce\Button\Endpoint\ApproveSubscriptionEndpoint;
|
||||||
|
@ -1160,10 +1159,6 @@ document.querySelector("#payment").before(document.querySelector(".ppcp-messages
|
||||||
'wp_rest_nonce' => wp_create_nonce( 'wc_store_api' ),
|
'wp_rest_nonce' => wp_create_nonce( 'wc_store_api' ),
|
||||||
'update_shipping_method' => \WC_AJAX::get_endpoint( 'update_shipping_method' ),
|
'update_shipping_method' => \WC_AJAX::get_endpoint( 'update_shipping_method' ),
|
||||||
),
|
),
|
||||||
'get_paypal_order_from_session' => array(
|
|
||||||
'endpoint' => \WC_AJAX::get_endpoint( GetPayPalOrderFromSession::ENDPOINT ),
|
|
||||||
'nonce' => wp_create_nonce( GetPayPalOrderFromSession::nonce() ),
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
'cart_contains_subscription' => $this->subscription_helper->cart_contains_subscription(),
|
'cart_contains_subscription' => $this->subscription_helper->cart_contains_subscription(),
|
||||||
'subscription_plan_id' => $this->subscription_helper->paypal_subscription_id(),
|
'subscription_plan_id' => $this->subscription_helper->paypal_subscription_id(),
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue