Laravel 5.4 Cashier - 缩小文档中的差距

时间:2017-06-10 02:54:19

标签: php laravel-5 stripe-payments laravel-cashier

我一直在Laravels网站上关于收银员的文档。从它的声音来看,它似乎正是我所需要的。与Stripe集成的基本订阅配置。我可以通过配置部分轻松地跟进。然后它转换齿轮并谈论BrainTree集成。然后它直接创建订阅,引用以下代码:

$user = User::find(1);
$user->newSubscription('main', 'monthly')->create($stripeToken);

所以我的第一个问题是 - " $ stripeToken"来自(哪里?我觉得这里的解释存在相当大的差距。即使我运行代码,也会错误地说$ stripeToken无法找到。

我从哪里设置/获取$ stripeToken?

我曾尝试过关于使用Laravel设置Cashier的其他视频教程,但这些似乎都已过时,因为许多设置步骤在Laravel 5.4中已不再适用。例如:

在一个教程中,它说您可以通过以下方式检查用户是否已经在Stripe中订阅了计划:

$user->subscribed('main')

在视频系列中,它显示他将数据库字段(stripe_active)从0更改为1,以在视图中显示不同的消息。然而,通过新流程,没有" stripe_active"田野甚至创造了。

所以 - 冒着这是一个开放式模糊问题的风险,我提出3个问题来解决问题。

a。)任何人都可以告诉我如何/在哪里设置$ stripeToken以使文档中的代码生效?

b。)任何人都可以告诉我如何使用Cashier 7.0&amp ;;查看Stripe中是否存在订阅Laravel 5.4?

c。)是否有人知道使用每个版本的最新版本完成此过程的任何好教程/视频?

1 个答案:

答案 0 :(得分:2)

你是对的 - 文档中存在巨大的差距。

A)你需要在前端视图上创建一个表单,并自己生成令牌,你可以通过javascript捕获它,然后通过POST提交。使用Stripe Checkout执行此操作最简单,但使用Stripe Elements可以更加自定义。

B)您可以使用此处描述的内置方法https://laravel.com/docs/5.4/billing#checking-subscription-status查看User是否在Laravel中有订阅。如果您正在询问如何通过从 Laravel调用Stripe 来获取Stripe订阅,则可以使用$plans = Plan::getStripePlans();库中的stripe/stripe-php来执行此操作,该库是Laravel的依赖项出纳员。

C)我发现本教程非常有用,而且目前它是最新的,虽然可能会有所改变:http://www.qcode.in/subscription-with-coupon-using-laravel-cashier-stripe/