udaykumar77/stripe

There is no license information available for the latest version (v1.0) of this package.

stripe easy integration with laravel

v1.0 2016-09-02 10:22 UTC

This package is not auto-updated.

Last update: 2024-04-22 12:05:26 UTC


README

Stripe is the best way to accept payments online and in mobile apps. We handle billions of dollars every year for forward-thinking businesses around the world.

Installation (Laravel Cashier)

Composer

First, add the Cashier package for Stripe to your composer.json file and run the composer update command:

"laravel/cashier": "~6.0"

Service Provider

Next, register the Laravel\Cashier\CashierServiceProvider service provider in your app configuration file.

Laravel\Cashier\CashierServiceProvider::class,

Database Migrations

Before using Cashier, we'll also need to prepare the database. We need to add several columns to your users table and create a new subscriptions table to hold all of our customer's subscriptions:

Schema::table('users', function ($table) {
    $table->string('stripe_id')->nullable();
    $table->string('card_brand')->nullable();
    $table->string('card_last_four')->nullable();
    $table->timestamp('trial_ends_at')->nullable();
});

Schema::create('subscriptions', function ($table) {
    $table->increments('id');
    $table->integer('user_id');
    $table->string('name');
    $table->string('stripe_id');
    $table->string('stripe_plan');
    $table->integer('quantity');
    $table->timestamp('trial_ends_at')->nullable();
    $table->timestamp('ends_at')->nullable();
    $table->timestamps();
});

Once the migrations have been created, simply run the migrate Artisan command.

Model Setup

Next, add the Billable trait to your model definition:

use Laravel\Cashier\Billable;

class User extends Authenticatable
{
    use Billable;
}

Provider Keys

Next, you should configure your Stripe key in your services.php configuration file:

'stripe' => [
    'model'  => App\User::class,
    'secret' => env('STRIPE_SECRET'),
],

Installation Stripe

composer

First, add the udaykumar77/stripe package to your composer.json file and run the composer update command:

"udaykumar77/stripe": "v1.0"

Service Provider

Next, register the UdayKumar77\Stripe\StripeServiceProvider service provider in your app configuration file.

UdayKumar77\Stripe\StripeServiceProvider::class,

Facade

Next, register the UdayKumar77\Stripe\Facade\StripeController facade in your app configuration file aliases.

'Stripe' => UdayKumar77\Stripe\Facade\StripeController::class,

Command

Run the following command from your terminal.

composer dump-autoload

Register your stripe account

  • Go to Account Settings -> API Keys
  • Add the Secret & Publishable keys in your .env file

.env

Add the following in your .env file

STRIPE_SECRET=**************************
STRIPE_PUBLISHABLE_SECRET=*********************

Methods

  • To generate Stripe Token
Stripe::generateCardToken(array $params)

$params = ["number"     => "4242424242424242",
            "exp_month" => "9",
            "exp_year"  => "2017",
            "cvc"       => "456"]

Usage

use the name space in your controller like this

<?php
namespace App\Http\Controllers\Stripe;
use Stripe;

public function generateToken() {
        $stripeToken = Stripe::generateCardToken(
                               ["number"    => "4242424242424242",
                                "exp_month" => "9",
                                "exp_year"  => "2017",
                                "cvc"       => "456"]);
        return response()->json($stripeToken);
    }

License

MIT License (MIT) @ Uday Kumar Gudivada