- What is vanilo/checkout and what checkout steps does it handle?
- vanilo/checkout is the checkout module for Vanilo and Laravel ecommerce applications. It orchestrates an ordered checkout flow that converts carts into orders through steps for customer or billpayer details, shipping method, payment method, and confirmation. It is deliberately thin on presentation and works as a headless state machine for the checkout funnel. Expect to build your own controllers, views, or API resources around it.
- Is vanilo/checkout a standalone Laravel checkout package?
- No, it is not independently consumable. It is one module in the Vanilo commerce suite and assumes sibling modules such as vanilo/cart, vanilo/order, and typically vanilo/payment, vanilo/shipping, and vanilo/properties, plus Konekt's Concord module framework. Adopting it effectively means adopting Vanilo's cart, order, address, payment, and shipping contracts, so treat it as a suite-level decision rather than a single package install.
- How do I install vanilo/checkout with Composer?
- Install it with Composer as part of a compatible Vanilo module set, not in isolation. Confirm the exact vanilo/checkout release that matches your Laravel and PHP baseline and use the sibling module versions that release pins. Register the service providers as required by Vanilo and Concord, then verify the contract bindings before building your checkout flow.
- Which Laravel and PHP versions does vanilo/checkout support?
- Vanilo majors track Laravel majors, so compatibility must be checked against the specific vanilo/checkout release. There is no single universal Laravel or PHP answer; confirm the release matrix and the sibling module versions it pins. Those versions must move together with your framework baseline.
- Does vanilo/checkout include checkout routes, controllers, or views?
- No, it is not a turnkey checkout page. The module focuses on domain and state orchestration for the checkout steps, validation gates, and conversion of a cart into an order. You will typically build your own controllers, views or API resources, and JavaScript. Treat it as a headless checkout state machine rather than a ready-made UI.
- What contracts do I need to implement to configure vanilo/checkout?
- You should expect to implement or bind your own billpayer or customer resolution, shipping method resolver, and payment method resolver. If your existing user or address model diverges from Vanilo's contracts, budget adapter work because that is where most integration effort lands. Review the release's contract surface and bind implementations through Concord before wiring the checkout steps.
- How is in-progress checkout state persisted in vanilo/checkout?
- You need to verify this for the specific release because the module's job is to persist and advance an in-progress checkout state, not to dictate your deployment model. Determine whether that state lives in the session, in the database, or both, and how it reconciles with the cart. This decision directly affects load balancing, sticky sessions, and horizontal scaling.
- Can vanilo/checkout run safely across multiple Laravel nodes without sticky sessions?
- That depends on the checkout-state persistence semantics for your release. If in-progress state is session-backed, you need shared session storage or sticky sessions; if it is database-backed, validate consistency and cart reconciliation across nodes. Also test cart mutation, price recalculation, and inventory drift between step entry and order placement, because those are classic checkout failure points.
- How do I test checkout flows and payment handling with vanilo/checkout?
- Test the module as an ordered state machine: step transitions, validation gates, cart-to-order conversion, and behavior when prices or inventory change mid-checkout. Use Laravel feature tests and mock your billpayer, shipping, and payment resolvers where appropriate. For payments, remember that vanilo/checkout selects a payment method but does not make you PCI-compliant; gateway integration, idempotency, webhook reconciliation, and payment tests remain your build.
- What are alternatives to vanilo/checkout, and how actively is it maintained?
- Alternatives are generally other Laravel ecommerce suites or custom checkout orchestration built on your own cart and order models; vanilo/checkout is most compelling if you are already committed to Vanilo. The package is MIT-licensed and part of a known, actively maintained suite, but its public footprint is thin, with few stars and dependents and a small maintainer set. That is an adoption signal rather than a quality signal, so weigh the ecosystem coupling and upgrade path carefully.