A PHP package for testing Stripe Webhooks localy
PHP
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src
tests/stripe guzzle update Mar 10, 2016
.gitignore
.travis.yml
CHANGELOG.md
CONTRIBUTING.md
LICENSE.md charge.succeeded webhook Mar 27, 2015
README.md
composer.json
phpunit.php
phpunit.xml

README.md

PHP Stripe Webhook Tester

Latest Version Software License Build Status Coverage Status Quality Score Total Downloads

The goal of this package is to make testing stripe webhooks easy on a local machine without the use of ngrok or other similar tunneling services. The package will simulate a post request to a specified endpoint with a json containing event data and make sure that your application reacts accordingly.

Install

Via Composer

$ composer require TeamTNT/php-stripe-webhook-tester

Usage

$tester = new TeamTNT\Stripe\WebhookTester();
$tester->setVersion('2018-05-21');
$tester->setEndpoint('http://local.dev/stripe/webhooks');

$response = $tester->triggerEvent('charge.succeeded');

For your convenience you can use chained methods

$tester = new TeamTNT\Stripe\WebhookTester('http://local.dev/stripe/webhooks);
$response = $tester->setVersion('2014-09-08')->triggerEvent('charge.succeeded');

Laravel Integration

To implement this package with Laravel Cashier, you will need to override the eventExistsOnStripe() method in Laravel\Cashier\WebhookController with something like this:

protected function eventExistsOnStripe($id)
{
    if(App::environment() == 'testing' or App::environment() == 'local') {
        return true;
    }
    try {
        return ! is_null(StripeEvent::retrieve($id, Config::get('services.stripe.secret')));
    } catch (Exception $e) {
        return false;
    }
}

Without the environment checks Cashier attempts to verify that the dummy event is a valid webhook with Stripe, which will obviously fail.

Available versions and events

Available versions and events can be found in the webhooks directory

Testing

$ phpunit

Contributing

Please see CONTRIBUTING for details.

Credits

License

The MIT License (MIT). Please see License File for more information.