- What is cashier-provider/core used for?
- It provides shared contracts, utilities, and abstractions for building Cashier payment providers in Laravel. It is intended for developers creating custom billing and subscription integrations who want a consistent structure across providers. The package helps standardize provider implementations and reduce duplicated code in Cashier-based PHP applications.
- How do I install cashier-provider/core?
- Install it with Composer using composer require cashier-provider/core. Because this repository is a subtree split, you should consume it through Composer rather than cloning or editing the split repository directly. Check the package composer.json for the exact PHP and Laravel version constraints before adding it to an existing application.
- Is cashier-provider/core a complete payment gateway integration?
- No, it is the core layer for Cashier payment providers, not a ready-made gateway integration. It supplies contracts and abstractions that provider packages or custom implementations build on. You still need to implement or install the concrete provider logic for checkout, webhooks, subscriptions, and other gateway-specific behavior.
- Which Laravel versions does cashier-provider/core support?
- The supported Laravel versions are defined by the package Composer constraints, so check composer.json or the Packagist release metadata for the version you plan to use. The package is designed for Laravel Cashier-style billing and subscription integrations, so verify compatibility with your application's Laravel and PHP versions before upgrading. Pin a release that matches your framework constraints.
- Why is the cashier-provider/core repository a subtree split?
- It is a read-only subtree split of the Cashbox component, with cashbox/foundation as the source repository. That means changes should be made in the foundation repository, not directly in the split. Install the package through Composer and avoid submitting pull requests against the split repository.
- How does cashier-provider/core relate to cashbox/foundation?
- cashier-provider/core is generated from the Cashbox component, and cashbox/foundation is the upstream source referenced in the package overview. They contain the same core code, but the split package is intended for Composer-based consumption. You should generally require only one of them in a project to avoid duplicate or conflicting classes.
- Can I use cashier-provider/core outside of Laravel?
- It is built for Laravel applications and provider packages, so it expects Laravel conventions and dependencies. It is not positioned as a framework-agnostic billing library. If you need standalone billing abstractions, evaluate whether the contracts and utilities fit your environment before adopting it.
- How do I test a custom Cashier provider built on cashier-provider/core?
- Write unit tests around your provider implementations using the shared contracts as boundaries, and use Laravel's testing tools to fake HTTP calls and avoid real charges. If you are developing a package, test it in a Laravel test harness such as Orchestra Testbench. Focus on contract compliance, subscription state changes, and webhook handling without hitting live payment APIs.
- Is cashier-provider/core production-ready and actively maintained?
- Maintenance follows the upstream Cashbox foundation repository, since this is a subtree split. Review the available Packagist releases and commit history for the version you intend to use. For production, pin a specific release and test it against your Laravel and payment provider requirements.
- What are the alternatives to cashier-provider/core?
- Alternatives include Laravel Cashier for Stripe or Paddle, using cashbox/foundation directly as the upstream source, or choosing a provider-specific Cashier package. cashier-provider/core is most useful when you are building your own Cashier-style provider and want shared contracts and abstractions. Compare the available provider packages against your gateway and subscription requirements before deciding.