registerStripe(); $this->registerConfig(); } /** * {@inheritDoc} */ public function provides() { return [ 'stripe', 'stripe.config' ]; } /** * Register the Stripe API class. * * @return void */ protected function registerStripe() { $this->app->singleton('stripe', function ($app) { $config = $app['config']->get('services.stripe'); $secret = isset($config['secret']) ? $config['secret'] : null; $version = isset($config['version']) ? $config['version'] : null; return new Stripe($secret, $version); }); $this->app->alias('stripe', 'Cartalyst\Stripe\Stripe'); } /** * Register the config class. * * @return void */ protected function registerConfig() { $this->app->singleton('stripe.config', function ($app) { return $app['stripe']->getConfig(); }); $this->app->alias('stripe.config', 'Cartalyst\Stripe\Config'); $this->app->alias('stripe.config', 'Cartalyst\Stripe\ConfigInterface'); } }