public function generateToken(array $params)
    {
        $stripe = new Stripe(Billable::getStripeKey());

        try {
            $attributes = [
                'card' => [
                    'number'    => $params['cardNumber'],
                    'exp_month' => $params['expiryMonth'],
                    'cvc'       => $params['cvc'],
                    'exp_year'  => $params['expiryYear'],
                ],
            ];

            $token = $stripe->tokens()->create($attributes);

            return [
                'status' => 'success',
                'token' => $token['id']
            ];
        } catch (\Exception $e) {
            return [
                'status' => 'error',
                'message' => $e->getMessage()
            ];
        }
    }