Sylius Payment Method Not Showing at Checkout: What to Check

sylius payment method not showing at checkout usually means the method exists in the admin but is not eligible for the current order context. Sylius can filter payment methods by channel, enabled state, gateway configuration, currency, country, customer, order total, custom resolver logic, and checkout customization. The investigation should reproduce the exact channel, cart, address, and customer state.

sylius payment method not showing
A Sylius payment method not showing at checkout usually requires checking channels, enabled state, gateway configuration, eligibility rules, and checkout context.

Confirm channel assignment first

In a multi-channel store, a payment method can be configured correctly but assigned to a different channel. Verify the active channel from the request and confirm that the method is attached to it. Also check whether the channel itself uses the expected currency, locale, and hostname.

Check enabled state and translations

The method must be enabled. Review its translated name and description for the current locale. Missing translations may not always remove the method, but they can create confusing or incomplete frontend rendering and make the admin configuration look inconsistent.

Review gateway configuration

Confirm the gateway factory, credentials, environment mode, merchant account, required fields, and plugin-specific configuration. If the gateway service cannot be created or validated, the method may fail before it reaches the checkout template.

Inspect eligibility rules

Custom payment-method resolvers may filter methods by order amount, currency, billing country, shipping country, customer group, product type, shipping method, or fraud rules. Search for custom implementations and decorators around payment-method eligibility or resolution.

Check the order context

Verify the order channel, currency, locale, billing address, shipping address, shipment state, and totals. Payment choices may change after an address or shipping method is selected. Reproduce the issue with the same cart and customer state as the reported case.

Review forms, Twig hooks, and JavaScript

A valid backend payment choice can still be hidden by form extensions, Twig hook overrides, templates, CSS, or JavaScript. Inspect the submitted form choices and rendered HTML before assuming the resolver is wrong.

Check cache and environment differences

Staging and production may use different gateway credentials, environment variables, channel data, plugin versions, or compiled containers. Clear the correct environment cache and compare effective configuration rather than only source files.

Test the full payment workflow

After the method appears, complete a test order. Verify payment authorization or capture, order state transitions, emails, refunds, failure handling, and webhook processing. Visibility alone does not prove the integration works.

Practical reproduction checklist

Record the channel, currency, locale, customer account, cart contents, order total, shipping address, billing address, and selected shipping method. Compare the available methods before and after address selection. Review the payment-method resolver output and form choices before the template renders. If the store uses custom promotions, tax rules, subscriptions, marketplaces, or B2B customer groups, test those conditions separately. This makes it easier to identify the exact eligibility rule hiding the method.

Related technical support

If this issue affects a live website, store, application, or business-critical workflow, the following service pages provide the most relevant support path.

Conclusion

sylius payment method not showing should be resolved by identifying the actual failure path, applying the smallest safe fix, and verifying the workflows that matter to users and the business.

Frequently asked questions

Why is my Sylius payment method enabled but not visible?

It may not be assigned to the active channel or may be filtered by eligibility logic.

Can currency affect payment availability?

Yes. Gateways or custom rules may only support specific currencies.

Can a theme hide the payment method?

Yes. Checkout templates, forms, CSS, or JavaScript can prevent rendering.

What should be tested after the fix?

Test channels, currencies, locales, customer types, shipping methods, and successful payment completion.