- What Laravel versions does ptuchik/billing support?
- ptuchik/billing is described as a billing package for Laravel 5.5 and is built around that era's Eloquent, service providers, config publishing, and migrations. The technical evaluation notes it is an end-of-life framework target and is a poor fit for modern Laravel or PHP 8+ applications. Verify the Composer constraints before installing, and expect to test or fork if you need a newer Laravel release.
- How do I install ptuchik/billing in a Laravel app?
- Install it with Composer, then publish the package config and migrations and run the migrations against your database. You attach the package's billing traits and models to your existing user or customer model, then configure payment gateway credentials. The evaluation recommends doing this first in a non-production environment as a time-boxed spike.
- Which payment gateways does ptuchik/billing support?
- The overview does not list supported gateways, and the technical evaluation flags gateway support as an undocumented assumption that must be confirmed. Before relying on it, check the source and README for the specific provider integration, webhook handling, and payment methods you need. If your provider is not covered, you would need custom work or a different solution.
- Can ptuchik/billing handle subscriptions, trials, upgrades, and proration?
- The package provides models and traits for plans, subscriptions, invoices, payments, coupons, and transactions, so the core subscription data model is present. However, the evaluation notes that trials, proration, upgrade and downgrade behavior, refunds, dunning, and failed payment handling are not clearly documented and must be validated in a sandbox. Treat these flows as spike items rather than assumed features.
- Does ptuchik/billing support coupons and addons?
- Yes, coupons and addons are part of the package's stated domain alongside packages, plans, payments, and subscriptions. The evaluation cautions that coupon validation rules and addon behavior are likely to require custom hardening and testing. Seed representative coupons and addons during your spike to confirm the rules match your business model.
- Is ptuchik/billing safe for production billing?
- The technical evaluation rates technical risk as high because the package has low adoption, targets an end-of-life Laravel version, and billing is a high-blast-radius domain. Payment security, PCI scope, SCA/PSD2, idempotency, audit trails, and reconciliation are likely not fully addressed. If you use it in production, assume your team must fork, harden, and own the code.
- Is ptuchik/billing actively maintained?
- The package has low adoption, roughly 30 stars according to the evaluation, and targets Laravel 5.5, which is end of life. The evaluation explicitly recommends confirming maintainership, license, security disclosure process, and upgrade history before committing. If maintenance is inactive, plan for explicit internal ownership of the code.
- Can I test ptuchik/billing in a sandbox before going live?
- Yes, and the evaluation recommends a time-boxed spike in a non-production environment. Install the package, publish migrations and config, seed representative plans and coupons, connect a sandbox payment gateway, and exercise signup, upgrade, downgrade, renewal, coupon, addon, payment failure, and refund flows. Wrap the package in an anti-corruption layer so your domain code does not depend directly on its models or gateway assumptions.
- What are good alternatives to ptuchik/billing for Laravel?
- For modern Laravel applications, the evaluation suggests evaluating Laravel Cashier, Stripe Billing, Paddle, or a custom billing adapter instead. These options are better suited to current Laravel and PHP versions and to production billing concerns such as webhooks, idempotency, and reconciliation. Use ptuchik/billing only as an accelerator for a constrained legacy MVP.
- How hard is it to migrate off ptuchik/billing later?
- The evaluation recommends building an anti-corruption layer around the package from the start so your domain code does not depend directly on its models or gateway assumptions. That isolation makes it easier to replace the package with a maintained billing provider or a custom adapter. Plan the exit path before you commit to production use.