Automattic\WooCommerce\StoreApi\Routes\V1\Agentic
CheckoutSessionsComplete::has_cart_token
Use the checkout_session_id as Cart-Token, and set the respective values to HTTP header and request.
Метод класса: CheckoutSessionsComplete{}
Хуков нет.
Возвращает
true|false|null.
Использование
// protected - в коде основоного (родительского) или дочернего класса $result = $this->has_cart_token( $request );
- $request(WP_REST_Request) (обязательный)
- Request object.
Код CheckoutSessionsComplete::has_cart_token() CheckoutSessionsComplete::has cart token WC 11.0.1
protected function has_cart_token( \WP_REST_Request $request ) {
$session_id = $request->get_param( 'checkout_session_id' );
if ( is_null( $this->has_cart_token ) ) {
$this->has_cart_token = CartTokenUtils::validate_cart_token( $session_id );
}
// This allows the session will be loaded later without any further intervention.
if ( true === $this->has_cart_token ) {
$request->set_header( 'Cart-Token', $session_id );
// phpcs:ignore WooCommerceStoreApi.StoreApi.CartTokenSource.ServerSuperglobalWrite -- $session_id was validated above; this keeps the consumed token in sync with the validated one.
$_SERVER['HTTP_CART_TOKEN'] = $session_id;
}
return $this->has_cart_token;
}