Home Modules Checkout Magento_Checkout Version Compatibility
Version Compatibility

Magento_Checkout Version Compatibility

Magento_Checkout Version Compatibility

Magento 2.4.7+ Magento_Checkout

Magento_Checkout Version Compatibility

Overview

This document tracks verified API surface, deprecations, and compatibility information for the Magento_Checkout module in version 2.4.7.

Note

This document only contains facts verified against the Magento 2.4.7 source code. Version-to-version changelog entries that could not be verified against source have been removed.

Module Version (2.4.7): 100.4.7 PHP Requirement: ~8.1.0||~8.2.0||~8.3.0


Key Facts

Interface Return Types

Magento 2.4.7 Checkout API interfaces use docblock annotations only — they do NOT have PHP native return type declarations:

// Actual PaymentInformationManagementInterface in 2.4.7
// NO PHP return type declarations
public function savePaymentInformationAndPlaceOrder(
    $cartId,
    \Magento\Quote\Api\Data\PaymentInterface $paymentMethod,
    \Magento\Quote\Api\Data\AddressInterface $billingAddress = null
);

public function savePaymentInformation(
    $cartId,
    \Magento\Quote\Api\Data\PaymentInterface $paymentMethod,
    \Magento\Quote\Api\Data\AddressInterface $billingAddress = null
);

public function getPaymentInformation($cartId);

When implementing these interfaces, match the signature exactly — do NOT add PHP return types.

Non-Existent Methods

The following do NOT exist in Magento_Checkout 2.4.7:

  • Cart::getCartData() — does not exist. The CustomerData\Cart class only has getSectionData() and isGuestCheckoutAllowed().
  • InventoryReservationManagementInterface — does not exist.

RequestInfoFilterInterface Is NOT Deprecated

Magento\Checkout\Model\Cart\RequestInfoFilterInterface is not deprecated. It has @api and @since 100.1.2 annotations with no @deprecated tag.


Composer Dependencies (2.4.7)

Dependency Version Constraint
magento/framework 103.0.*
magento/module-captcha 100.4.*
magento/module-catalog 104.0.*
magento/module-catalog-inventory 100.4.*
magento/module-config 101.2.*
magento/module-customer 103.0.*
magento/module-directory 100.4.*
magento/module-eav 102.1.*
magento/module-msrp 100.4.*
magento/module-page-cache 100.4.*
magento/module-payment 100.4.*
magento/module-quote 101.2.*
magento/module-sales 103.0.*
magento/module-sales-rule 101.2.*
magento/module-security 100.4.*
magento/module-shipping 100.4.*
magento/module-store 101.1.*
magento/module-tax 100.4.*
magento/module-theme 101.1.*
magento/module-ui 101.2.*
magento/module-authorization 100.4.*
magento/module-csp 100.4.*

API Interfaces

Management Interfaces (Api/)

  • PaymentInformationManagementInterface (@api, @since 100.0.2)
  • GuestPaymentInformationManagementInterface (@api, @since 100.0.2)
  • ShippingInformationManagementInterface (@api, @since 100.0.2)
  • GuestShippingInformationManagementInterface (@api, @since 100.0.2)
  • TotalsInformationManagementInterface (@api, @since 100.0.2)
  • GuestTotalsInformationManagementInterface (@api, @since 100.0.2)
  • AgreementsValidatorInterface (@api, @since 100.0.2)
  • PaymentProcessingRateLimiterInterface (@api, no @since)
  • PaymentSavingRateLimiterInterface (no @api, no @since)

Data Interfaces (Api/Data/)

  • PaymentDetailsInterface (@api, @since 100.0.2)
  • ShippingInformationInterface (@api, @since 100.0.2)
  • TotalsInformationInterface (@api, @since 100.0.2)

Exception Classes

  • PaymentProcessingRateLimitExceededException (@api)

Other @api Classes

  • Controller\Cart (abstract, @api)
  • Model\Cart\RequestInfoFilterInterface (@api, @since 100.1.2)

Verified Deprecations (from @deprecated annotations in source)

Deprecated Classes

Class Deprecated Since Replacement
Controller\Account\Create 100.2.5 DelegateCreate
Block\Shipping\Price 100.1.0
Model\Cart\CartInterface 100.1.0 \Magento\Quote\Api\Data\CartInterface
Model\Cart 100.1.0 \Magento\Quote\Api\Data\CartInterface
Model\Sidebar 100.1.0

REST API Endpoints

These REST endpoints are stable across 2.4.x:

POST   /rest/V1/carts/mine/shipping-information
POST   /rest/V1/carts/mine/payment-information
POST   /rest/V1/guest-carts/:cartId/shipping-information
POST   /rest/V1/guest-carts/:cartId/payment-information
GET    /rest/V1/carts/mine/totals
GET    /rest/V1/guest-carts/:cartId/totals

Upgrade Best Practices

Use Service Contracts

// Recommended — uses service contract (stable across versions)
public function __construct(
    private readonly \Magento\Checkout\Api\PaymentInformationManagementInterface $paymentManagement
) {}

// Avoid — uses concrete implementation (may change)
public function __construct(
    private readonly \Magento\Checkout\Model\PaymentInformationManagement $paymentManagement
) {}

Use Extension Attributes for Custom Data

// Recommended — version-safe
$extensionAttributes = $quote->getExtensionAttributes();
$extensionAttributes->setCustomData($value);

// Avoid — triggers PHP 8.2 dynamic property deprecation
$quote->custom_data = $value;

Disclaimer: This document covers the Magento_Checkout module as found in magento/product-community-edition:2.4.7. Version-to-version change details could not be verified from source alone and have been removed. For version-specific changelogs, consult the official Adobe Commerce release notes.