asciisd/cashier-core
Core billing toolkit for Laravel: subscription management, invoicing, and payment gateway abstractions. It packages reusable Cashier foundations so you can add recurring payments to any Laravel app with minimal boilerplate and consistent APIs.
Architecture fit
cashier-core 2.5.0 remains a Laravel-native, driver-based payment package, and Xoala follows the existing connection-driver configuration pattern.supports() reports charge and webhook; refund, capture, authorize, and void throw. It is suitable only for deposit-style flows unless refunds are handled outside the package.throttle:cashier-checkout, with no web middleware, session, or CSRF token. That is intentional but should be treated as a security-review item.cashier-core.routes.enabled / Cashier::ignoreRoutes() guard, which preserves a coherent disable switch.Integration feasibility
cashier-core: add a xoala connection, set required env values, optionally publish views for branding, and ensure package routes are enabled.member_id, secure_key, base_url, and especially totype, which is account-specific and part of the request checksum.Technical risk
web middleware/CSRF means the flow should be reviewed against replay, link expiry, and transaction-state assumptions.totype misconfiguration fails opaquely at the hosted page. The provider refuses to resolve without it, but a wrong value is a poor-operability failure mode..claude/skills/xoala/. That improves internal reference but raises supportability and onboarding concerns.Key questions
cashier-checkout rate limiter registered by the package or expected from the host? How are trusted proxies configured for per-IP throttling?Stack fit
cashier-core and needing another deposit/payment driver without adding a separate SDK integration.Cashier::ignoreRoutes() will also disable Xoala checkout.Migration path
cashier-core to 2.5.0; no breaking changes are reported.cashier-core-views only if branding or copy changes are required; otherwise use package defaults.Compatibility
signed middleware configuration, app URL/proxy settings, and named throttle limiter availability.Sequencing
totype.Maintenance
.claude/skills/xoala/ should be maintained as internal documentation, not treated as a substitute for vendor support.dev-2.x branch alias fix is useful for teams tracking development branches but has low production impact.Support
totype, member_id, secure_key, and base_url issues.charge() performs no HTTP, gateway reachability and configuration errors are deferred to the browser checkout step. Support must distinguish package/route failures from gateway-hosted-page failures.Scaling
Failure modes
totype or credentials: opaque failure at the hosted page.Ramp-up
How can I help you explore Laravel packages today?