mage2kishan / module-checkout-success
Modern, configurable checkout success page for Magento 2. Replaces the default order confirmation with a two-column or single-column layout showing order details, items with thumbnails, shipping/billing addresses, order totals, payment/shipping method, guest account creation prompt, CMS block slot,
Package info
github.com/mage2sk/module-checkout-success
Type:magento2-module
pkg:composer/mage2kishan/module-checkout-success
Requires
- php: ~8.1.0||~8.2.0||~8.3.0||~8.4.0
- mage2kishan/module-core: ^1.0
- magento/framework: ^103.0
- magento/module-backend: ^102.0
- magento/module-catalog: ^104.0
- magento/module-checkout: ^100.4
- magento/module-cms: ^104.0
- magento/module-config: ^101.2
- magento/module-customer: ^103.0
- magento/module-sales: ^103.0
- magento/module-store: ^101.1
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
Panth Checkout Success replaces the content of the Magento 2 order success page (checkout/onepage/success) with a configurable order confirmation page. When enabled, it removes the default page title, success message and guest registration blocks and renders its own block in their place, showing the order number and date, the items ordered with thumbnails, the shipping and billing addresses, the order totals, the payment and shipping method, an account creation prompt for guests, an optional CMS block and a custom script slot with order value placeholders.
It is intended for merchants who want a fuller confirmation page and a place to run conversion tracking scripts with real order values. Every section can be switched on or off in the admin configuration. The product page lists Hyva and Luma as supported themes; the module ships a single template and a standalone CSS file that is loaded through layout XML, with no theme-specific code.
Product page: kishansavaliya.com/magento-2-checkout-success.html
Features
- Replaces the default success page content through layout XML; the block is marked non-cacheable. The removal of the default blocks is applied only while the module is enabled in configuration.
- Two page layouts selectable in admin: "Single Column (Centered)" or "Two Column (Details + Summary)".
- Configurable "Thank You Title" and "Thank You Message", settable per website and store view.
- Order details card with order number, order date, payment method title and shipping method title.
- Items list with product thumbnail (rendered at 48x48 from a 96x96 image), name, SKU, quantity and row total.
- Shipping address rendered with Magento's order address renderer; billing address shown alongside only when it differs from the shipping address.
- Order summary with subtotal, shipping, tax, discount (each shown only when non-zero), any additional order totals added by other modules to the
order_totalschild block (for example extra fees) and grand total. - "Create Account" card linking to
customer/account/create, shown to guest orders only. - "View My Orders" link and, when the order has an invoice, a "Download Invoice" link, shown to logged-in customers only.
- "Continue Shopping" button linking to the store base URL.
- Optional CMS block rendered below the order details, selected from the existing CMS blocks.
- "Custom Scripts" field whose content is injected into the page with twelve
{{...}}placeholders replaced by order values, each JavaScript-escaped. - A sample CMS block with identifier
panth_checkout_success_bottom(title "Checkout Success - Trust Signals") is created by a data patch duringsetup:upgrade; it is not selected automatically. - Fallback message with a "Continue Shopping" link when the success URL is opened without an order in the checkout session.
Compatibility
| Platform | Versions |
|---|---|
| Magento Open Source | 2.4.4 to 2.4.8 (as published on the product page) |
| Adobe Commerce | 2.4.4 to 2.4.8 (as published on the product page) |
| PHP | 8.1, 8.2, 8.3, 8.4 (`~8.1.0 |
| Themes | Hyva and Luma (as published on the product page); the module contains no theme-specific templates or code |
Composer constraints on Magento packages: magento/framework ^103.0, magento/module-checkout ^100.4, magento/module-sales ^103.0, magento/module-catalog ^104.0, magento/module-cms ^104.0, magento/module-customer ^103.0, magento/module-config ^101.2, magento/module-store ^101.1, magento/module-backend ^102.0.
Requirements
- Magento Open Source or Adobe Commerce 2.4.4 to 2.4.8
- PHP 8.1, 8.2, 8.3 or 8.4
mage2kishan/module-core^1.0 (modulePanth_Core), installed by Composer as a dependency; it provides the "Panth Extensions" configuration tab- The
magento/*packages listed under Compatibility;composer.jsondeclares no suggested packages
Installation
composer require mage2kishan/module-checkout-success bin/magento module:enable Panth_Core Panth_CheckoutSuccess bin/magento setup:upgrade bin/magento setup:di:compile bin/magento setup:static-content:deploy -f bin/magento cache:flush
setup:di:compile is only needed in production mode. The module ships a CSS file under view/frontend/web, so static content must be deployed in production mode.
Check the module is enabled:
bin/magento module:status Panth_CheckoutSuccess
Configuration
Admin path: Stores > Configuration > Panth Extensions > Checkout Success Page. All fields can be set at default, website and store view scope. Access is controlled by the ACL resource Panth_CheckoutSuccess::config ("Panth Checkout Success").
General
| Setting | Default | What it does |
|---|---|---|
| Enable Custom Success Page | Yes | When set to No, the module's template renders nothing and the default Magento success page (page title, success message and guest registration block) is shown instead. |
Content Sections
| Setting | Default | What it does |
|---|---|---|
| Show Order Number | Yes | Shows the order number row in the order details card. |
| Show Order Date | Yes | Shows the order date row in the order details card. |
| Show Ordered Items | Yes | Shows the items list with thumbnails, SKU, quantity and row total. |
| Show Order Totals | Yes | Shows the order summary card. |
| Show Shipping Address | Yes | Shows the shipping method row in the order details card and the shipping address card (with the billing address when it differs). |
| Show Payment Method | Yes | Shows the payment method row in the order details card. |
| Show Create Account | Yes | Shows the "Create an Account" card to guest orders. |
| Show Continue Shopping Button | Yes | Shows the "Continue Shopping" button. |
| Additional CMS Block | (none) | CMS block rendered below the order details. Only active blocks assigned to the current store view (or to All Store Views) are rendered; when the identifier exists for several store views, the current store view version is used. |
Appearance
| Setting | Default | What it does |
|---|---|---|
| Page Layout | Two Column (Details + Summary) | Two-column grid (details on the left, summary on the right) or single centered column. |
| Thank You Title | Thank you for your order! | Page heading. |
| Thank You Message | We've received your order and will process it shortly. You'll receive a confirmation email with tracking details. | Text under the heading; hidden when empty. |
Tracking & Scripts
| Setting | Default | What it does |
|---|---|---|
| Custom Scripts | (empty) | HTML/JS output at the end of the success page with placeholders replaced by order values. |
Placeholders available in "Custom Scripts": {{orderId}} (increment ID), {{orderTotal}}, {{orderSubtotal}}, {{orderCurrency}}, {{customerEmail}}, {{paymentTitle}}, {{shippingTitle}}, {{couponCode}}, {{orderItemCount}}, {{shippingAmount}}, {{taxAmount}}, {{discountAmount}}. Values are passed through Magento\Framework\Escaper::escapeJs() before replacement. Amounts are raw numeric values, not formatted prices.
Config paths (all under panth_checkout_success/): general/enabled, content/show_order_number, content/show_order_date, content/show_order_items, content/show_order_totals, content/show_shipping_info, content/show_payment_info, content/show_create_account, content/show_continue_shopping, content/cms_block, style/layout, style/thank_you_title, style/thank_you_message, tracking/custom_scripts.
With the defaults, every section is shown, the two-column layout is used, no CMS block is selected and no custom scripts are output.
Usage
After an order is placed, Magento redirects to checkout/onepage/success. The module reads the last real order from the checkout session and renders, in this order:
- Header: check icon, "Thank You Title", "Thank You Message", and "Order # . ". For logged-in customers the order number links to the order view page.
- Main column: "Order Details" card (order number, order date, payment method, shipping method), "Items Ordered" card, "Shipping Address" card (plus "Billing Address" when different).
- Sidebar column: "Order Summary" totals, "Create an Account" card (guests only), "View My Orders" link (logged-in only), "Download Invoice" link (logged-in customers whose order has an invoice), "Continue Shopping" button.
- The selected CMS block, if any.
- The "Custom Scripts" output, if any.
In the single-column layout the same cards are rendered in the same order without the grid. The shipping address card and shipping method row are omitted when the order has no shipping address or shipping description (for example virtual orders). If the success URL is opened without an order in the session, a short thank-you message and a "Continue Shopping" link are shown instead.
The date is formatted with the store locale (IntlDateFormatter::LONG). Prices are formatted with the order currency.
Admin: all settings live under Stores > Configuration > Panth Extensions > Checkout Success Page. The module adds no admin menu items, grids or routes.
Templates and assets that can be overridden in a theme:
view/frontend/templates/success.phtml(blockpanth.checkout.success)view/frontend/layout/checkout_onepage_success.xmlview/frontend/layout/panth_checkout_success_enabled.xmlview/frontend/web/css/checkout-success.css(loaded through the layout<head>)view/frontend/web/css/source/_module.less(for themes using the Luma LESS pipeline)
Developer Notes
- Module name:
Panth_CheckoutSuccess; Composer package:mage2kishan/module-checkout-success; PHP namespace:Panth\CheckoutSuccess. - Module sequence:
Panth_Core,Magento_Checkout,Magento_Sales,Magento_Cms. Block\Success(extendsMagento\Framework\View\Element\Template): public methods includegetOrder(),isEnabled(),getLayoutMode(),getThankYouTitle(),getThankYouMessage(),showSection(string $section),getFormattedDate(),getOrderItems(),getOrderItemImages(),getShippingAddress(),getBillingAddress(),isBillingDifferentFromShipping(),getPaymentMethodTitle(),getShippingMethodTitle(),isGuestOrder(),isCustomerLoggedIn(),getOrderUrl(),getMyOrdersUrl(),hasInvoices(),getInvoicePrintUrl(),getContinueShoppingUrl(),getCouponCode(),getCustomerEmail(),getCmsBlockHtml(),getCustomScriptsHtml().Helper\Data:isEnabled(),getLayout(),getThankYouTitle(),getThankYouMessage(),showSection(),getCmsBlockId(),getCustomScripts(),processVariables(string $content, array $orderData),getConfigValue(string $group, string $field, $storeId = null).Model\Config\Source\SuccessLayout: option source with valuessingle-columnandtwo-column.Observer\AddEnabledLayoutHandle: listens tolayout_load_beforein the frontend area and adds the layout handlepanth_checkout_success_enabledtocheckout_onepage_successwhen "Enable Custom Success Page" is Yes for the current store.- The block reads the order only from the checkout session (last real order); no order ID is taken from the request.
Setup\Patch\Data\CreateSuccessCmsBlock: creates thepanth_checkout_success_bottomCMS block once, if it does not already exist.- Layout:
checkout_onepage_success.xmladds the blockpanth.checkout.successwithcacheable="false".panth_checkout_success_enabled.xmlremovespage.main.title,checkout.successandcheckout.registration, adds the body classpanth-checkout-successand loads the CSS file. - ACL resource:
Panth_CheckoutSuccess::configunderMagento_Config::config. - No database tables: the module has no
db_schema.xml, no routes, no console commands, no cron jobs and no web API endpoints.
Uninstallation
bin/magento module:disable Panth_CheckoutSuccess composer remove mage2kishan/module-checkout-success bin/magento setup:upgrade bin/magento setup:di:compile bin/magento cache:flush
The module creates no database tables. The configuration values under panth_checkout_success/* in core_config_data, the CMS block panth_checkout_success_bottom and the data patch entry in patch_list remain after removal and can be deleted manually if required.
Support
- Product page: kishansavaliya.com/magento-2-checkout-success.html
- Contact form: kishansavaliya.com/contact
- Email: kishansavaliyakb@gmail.com
- Bug reports: GitHub issues
Documentation
USER_GUIDE.md covers installation (Composer and manual zip), verifying the module is active, each configuration group, the two layout modes, the CMS block slot, custom tracking scripts with placeholder examples, and a troubleshooting table.
License
Commercial software license. See LICENSE.txt in this repository.
Changelog
See CHANGELOG.md.
Links
- Website: kishansavaliya.com
- All extensions: kishansavaliya.com/magento-extensions.html
- GitHub: mage2sk/module-checkout-success
- Packagist: mage2kishan/module-checkout-success