amish/stripe-test-clock

Work with stripe test clocks in Laravel

v0.1.0 2023-05-05 14:37 UTC

This package is auto-updated.

Last update: 2024-05-05 16:44:25 UTC


README

Latest Version on Packagist Total Downloads Build Status StyleCI

Work with Stripe test clocks in laravel.

Installation

Via Composer

composer require amish/stripe-test-clock

Publish config

php artisan vendor:publish --tag "stripe-test-clock.config"

Run migrations

php artisan migrate

Usage

Create a test clock:

php artisan test-clock:create "Test 1 week trial"

Assigning test clocks to your customers.

To assign a clock to a customer for testing use the StripeTestClock::stripeOptions() method. This will add the 'test_clock' key to your array if there is an active clock. It will not add the key if 'enabled' is set to false in your config, or if you don't have a clock active.

use Amish\StripeTestClock\Facades\StripeTestClock;

// using the StripeClient
$stripe->customers->create(StripeTestClock::stripeOptions([
    'email' => 'email@example.com',
    //...
]));

// Or using cashier
$user->createAsStripeCustomer(StripeTestClock::options());

From there you can work with the clock from the stripe dashboard or using the cli.

php artisan test-clock:advance -w 1 # advance the current clock by 1 week
php artisan test-clock:advance -m 1 -d 4 # advance the current clock by 1 month & 5 days
php artisan test-clock:advance "2023-07-19" # advance the clock to a specific date.

If a test clock is deleted in stripe or expires you can prune using the artisan test-clock:prune command to delete the models.

When testing locally I recommend using the stripe cli to forward webhook events to your app.

stripe listen -f http://localhost/stripe/webhook

Change log

Please see the changelog for more information on what has changed recently.

Testing

composer test

Contributing

Please see contributing.md for details and a todolist.

Security

If you discover any security related issues, please email author@email.com instead of using the issue tracker.

Credits

License

MIT. Please see the license file for more information.