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.

Contents
- 1 Confirm channel assignment first
- 2 Check enabled state and translations
- 3 Review gateway configuration
- 4 Inspect eligibility rules
- 5 Check the order context
- 6 Review forms, Twig hooks, and JavaScript
- 7 Check cache and environment differences
- 8 Test the full payment workflow
- 9 Practical reproduction checklist
- 10 Related technical support
- 11 Conclusion
- 12 Frequently asked questions
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.