Common Issues

Start with the store view, customer group, login state, cart type and exact checkout action. The module changes the page and adds optional save steps, while Magento still owns most shipping, payment and quote validation.

Checkout sends the buyer back to the cart

Check these conditions first:

  1. One Step Checkout is enabled for the current store scope.
  2. Magento one-page checkout is enabled.
  3. The quote has items, is active and passes the minimum order amount.
  4. Guest checkout is allowed both in the module and in Magento when the buyer is not signed in.
  5. The product is salable and the quote has no error flag.

The module's route is onestepcheckout/index/index. When the module is enabled, Magento's normal checkout URL is forwarded to that route. Test the direct route only as a diagnostic; customer links should continue to use Magento URL generation.

The normal checkout layout still appears

Confirm the module is enabled in the current website or store view and that the compiled/static assets belong to the current source tree. Clear the relevant caches and open a fresh private session. A custom theme or checkout module that changes Magento's component paths can prevent the layout processor from finding the expected shipping, payment or summary nodes.

A configured field is missing

Check the field's Magento address or customer metadata, the selected store scope, the field order map and the field behavior map. A custom field that is not part of Magento's checkout component tree cannot be rendered by this module. A field required by Magento metadata can remain locked even when the builder does not offer an optional state.

The order fails with a required-field message

The submit observer checks visible fields marked required for an active One Step Checkout quote. Complete the field in the correct shipping or billing address, then submit again. For region values, either a region ID or region name is accepted. For email, the quote email can satisfy the address check.

No shipping method appears

Test the same cart and address in Magento's normal checkout. Review carrier enablement, destination restrictions, product dimensions, stock, customer group and any shipping-condition module. One Step Checkout renders the rates Magento returns; it does not create a carrier method.

For a virtual-only quote, no shipping method is expected.

No payment method appears

Review the payment method's country, currency, total, customer-group and store rules. Also check whether Enable Coupon, Enable Gift Card or another checkout customization removed a component around the payment block. A payment provider can reject a method after the checkout has loaded.

Login succeeds but the checkout remains a guest checkout

Inspect the browser console and customer-data requests. The authentication mixin invalidates customer, cart and checkout data and reloads the page after login. A custom login implementation that bypasses Magento's normal customer action can leave stale private content.

The delivery date is rejected

Compare the submitted date with the store's local date, minimum and maximum offsets, disabled weekdays, selected holiday calendar and every blackout line. Use YYYY-MM-DD for a one-time date and MM-DD for a recurring date. The server validates the value again even when the browser picker allowed it.

Google Places shows no suggestions

Check the encrypted key, allowed browser referrers, enabled Google APIs, country restriction and CSP response. With an empty key the module deliberately loads no Places script. Manual address entry should remain available.

Checkout extras are not in the order

Confirm the relevant feature was enabled in the order's store scope and that the quote was marked as an active One Step Checkout flow. A newsletter choice is processed after a successful order and is not rendered in the Checkout Extras section. A gift message also requires Magento's order-level Gift Options setting.

The custom success page is missing

Check Success Page > Enable Custom Success Page, the selected layout and whether Magento has a completed order in the checkout session. A missing or stale last order causes the custom block to return no content.

Cart recovery does not send an email

Check the default cron group, the recovery enable flag, email template, threshold, active quote and recipient email. A quote without a recipient is deferred and eventually skipped according to the retry settings. Check cron_schedule, the Magento system and exception logs, and Mailpit or the configured mail transport.

The link can be invalid because it is expired, tampered with, tied to another store, tied to another signed-in customer, or points to an inactive quote. Guest links use a masked quote identifier. Registered-customer links require the matching customer session.

The recovered cart has unexpected items

Check Existing Cart. Merge combines compatible active carts and recollects totals. Replace deactivates the current active quote and uses the recovered quote. Product availability and prices are recalculated by Magento after recovery.

Multi-address shipping is not visible

The entry point requires a signed-in customer, a physical quote with items, the module and multi-address settings enabled, and Magento's own multi-shipping availability check. It is intentionally absent for guests and virtual quotes.

GA4 events are missing

Check the measurement ID, the existing GTM or gtag.js setup, Magento cookie-restriction mode and the consent cookie. With restriction mode active and no consent, the module blocks the loader. Inspect the browser network and data layer rather than relying on a screenshot.

What to include in a support request

Include the store scope, customer state, quote type, product type, exact action, message, browser console error, request time and relevant Magento log excerpt. Do not send passwords, API keys, reset links, recovery tokens or a production database dump.