11

I want to create a plan from my application on stripe. The scenario is that users are charged with different prices as recurring payments. So, that is why I want to create plan for each user.

I am using laravel 5 and using "laravel/cashier": "~5.0"

Jamal Abdul Nasir
  • 2,557
  • 5
  • 28
  • 47

2 Answers2

16

laravel/cashier just doesn't have this functionality baked in. You aren't out of luck though as it is easy to just use Stripe's API which should be downloaded as a dependency in your vendor folder. If not you can just download it with composer.

composer require stripe/stripe-php 2.*

You can use it with

use \Stripe\Plan;

Plan::create(array(
  "amount" => 2000,
  "interval" => "month",
  "name" => "Amazing Gold Plan",
  "currency" => "usd",
  "id" => "gold")
);

You can read more here - https://stripe.com/docs/api#create_plan

Goddard
  • 2,863
  • 31
  • 37
  • may I ask you to take a look at a l Stripe rekated question here : https://stackoverflow.com/questions/62238551/stripe-cannot-create-a-plan ? – Istiaque Ahmed Jun 06 '20 at 22:07
7

For latest cashier and stripe-php versions few thing need to be changed.

My cashier version is 7.0 ("laravel/cashier": "~7.0") and it automatically installs stripe-php 5. But some parameters has changed from stripe api. So this code will be working,

\Stripe\Stripe::setApiKey("sk_test_your_key");

\Stripe\Plan::create(array(
  "amount" => 5000,
  "interval" => "month",
  "product" => array(
    "name" => "Bronze standard"
  ),
  "currency" => "eur",
  "id" => "bronze-standard"
));

And you can read more in PHP section of stripe api docs... (https://stripe.com/docs/api/php#create_plan)

John
  • 180
  • 11
vimuth
  • 5,064
  • 33
  • 79
  • 116