vanilo/payment
Vanilo Payment brings payment processing to Vanilo e-commerce apps: manage payment methods, integrate gateways, record transactions, and link payments to orders via Laravel-friendly, extensible APIs. It offers a consistent abstraction for multiple providers and custom drivers.
What it is, in product terms: Vanilo's payment module is the provider-agnostic layer of a Laravel commerce stack — it owns the payment record (a payment tied to an order/payable), the payment method (admin-configurable, per-channel), the status lifecycle (created → pending → authorized/paid → refunded/failed/cancelled), and a gateway contract that provider integrations implement. In other words: it is the seam between "our order" and "their money."
Decisions it directly informs:
Consider it when:
vanilo/order, vanilo/checkout, vanilo/cart). The payment module expects to bind to a payable/order entity; used in isolation it becomes a glue-writing exercise and much of its value evaporates.Look elsewhere when:
Adoption diligence — do these before committing. The standalone repository metrics (6 stars, 0 dependents) are not the health signal; the real signal is the umbrella project. Check instead: (1) the vanilo/framework release cadence and Laravel version matrix; (2) test coverage and CI status on this module; (3) whether the provider drivers you need — Stripe, PayPal, etc. — are separate packages that are actually maintained, since the abstraction is only worth what its drivers are; (4) whether refunds and partial refunds are first-class in the current version rather than aspirational. Run all four as a timeboxed spike, not a research project.
For executives — the one-paragraph version: This is an open-source (MIT, zero license cost) payments module from a Laravel e-commerce framework. Its job is to make our payment provider a configurable integration instead of a load-bearing architectural choice — so switching PSPs, adding a regional method, or enabling refunds is work measured in days rather than a checkout rebuild. The trade-off is honest: it is a small project, so we are taking on dependency risk and some maintenance ownership in exchange for provider flexibility and speed to a second gateway. Recommendation: adopt as a bounded pilot behind one storefront with a 4–6 week go/no-go gate; because the provider seam is thin, the exit cost stays low and we retain the option to fall back to hosted checkout.
For engineering — what you are actually signing up for: You get Eloquent-backed payment and payment-method models, a gateway contract and registry so each provider is a driver rather than a branch in the checkout controller, a status lifecycle with events to hook order state and notifications onto, and a refund path. That is real leverage: the second gateway is incremental, not a rewrite. The costs are equally real — you own the integration and the upgrade path, using it outside the Vanilo suite means writing the payable/order glue yourself, and the provider drivers live in sibling packages whose maintenance you must verify before you depend on them. The ask: one spike that integrates our current provider plus a second sandbox provider end-to-end, including a refund. If the abstraction holds across two providers with no order-flow changes, the architecture argument is settled on evidence; if it doesn't, we learned that cheaply.
How can I help you explore Laravel packages today?