A fork of laravel/cashier
Work in Progress, but all tests are passing so assume everything is fine
composer require --dev unicorn/lumen-cashier
- Removed Sessions
- Removed Views
- JSON Responses
- Updated Routing
- Works in Lumen
- Lumen Testing Tools Compatibility (wip)
- Nothing, as far as the tests are concerned. But we can't be sure, feel free to report any issues encountered
The tests in Laravel\Cashier rely on the orchestra testbench package.
That package doesn't have Lumen compatibility, so it was forked to a new Lumen compatible package.
That package contained another core package, which also needed to be a new fork. This one then contained another package for Lumen testing that had partial support, so we had to add support for that too.
An upstream PR is open for the testing tool but has not been merged by the maintainer yet. Tests are all passing for the core functionality(at least for our use case), except for custom logger tests which we've commented out for now.
NOTE: The project does not ship with a phpunit.xml
file. To run tests,
create one from the provided phpunit.xml.dist
and add your test STRIPE_SECRET
in it.
Use at your own risk! This tool is work in progress and we cannot be held responsibile for anything that happens if you use this tool!
Big ups to the team that created the parent project, laravel/cashier - this project wouldn't exist without you.
Shout out to the orchestral/testbench-core team, for the testing tools parent project, and to albertcht/lumen-testing for making the testing conversion easier.
Laravel Cashier provides an expressive, fluent interface to Stripe's subscription billing services. It handles almost all of the boilerplate subscription billing code you are dreading writing. In addition to basic subscription management, Cashier can handle coupons, swapping subscription, subscription "quantities", cancellation grace periods, and even generate invoice PDFs.
Documentation for Cashier can be found on the Laravel website.
You will need to set the Stripe testing secret environment variable in a custom phpunit.xml
file in order to run the Cashier tests.
Copy the default file using cp phpunit.xml.dist phpunit.xml
and add the following line below the CASHIER_MODEL
environment variable in your new phpunit.xml
file:
<env name="STRIPE_SECRET" value="Your Stripe Secret Key"/>
Please note that due to the fact that actual API requests against Stripe are being made, these tests take a few minutes to run.
Thank you for considering contributing to the Cashier. You can read the contribution guide lines here.
Laravel Cashier is open-sourced software licensed under the MIT license.