Laravel 收银员 10 - 尝试显示条纹元素时出错
Laravel Cashier 10 - Errors trying to show a Stripe element
我正在使用本教程通过 Cashier 将 Stripe 集成到我的 Laravel 网站中:
https://appdividend.com/2018/12/05/laravel-stripe-payment-gateway-integration-tutorial-with-example/
本教程是为 Cashier 9 编写的,因此它不适用于 Cashier 10。但是,它确实可以在这个 SO 答案中进行调整:
除此之外,它仅适用于现有的 Stripe 客户。当我注册一个全新的用户并尝试查看计划时,出现此错误:User is not a Stripe customer. See the createAsStripeCustomer method.
所以,我尝试这样做:
public function show(Plan $plan, Request $request)
{
if($request->user()->stripe_id === null)
{
$request->user()->createAsStripeCustomer();
}
$paymentMethods = $request->user()->paymentMethods();
$intent = $request->user()->createSetupIntent();
return view('plans.show', compact('plan', 'intent'));
}
产生此错误:No API key provided. (HINT: set your API key using "Stripe::setApiKey(<API-KEY>)". You can generate API keys from the Stripe web interface. See https://stripe.com/api for details, or email support@stripe.com if you have any questions.
这个 SO 答案解决了这个问题:
但是这个解决方案只适用于Cashier 9,因为Billable变了,所以不清楚如何设置API键。
如果新客户还不是 Stripe 客户,我在这里做错了什么?
编辑
- 我正在使用默认的收银台配置,我已经确认它指向 .env 变量。
我输入 dd(config('cashier.key'));
以确认配置正常工作
我删除了旧的 services.php 配置部分
环境变量设置正确
展示方法如下:
public function show(Plan $plan, Request $request)
{
$paymentMethods = $request->user()->paymentMethods();
$intent = $request->user()->createSetupIntent();
return view('plans.show', compact('plan', 'intent'));
}
现在是错误:User is not a Stripe customer. See the createAsStripeCustomer method.
收银员 10 对配置进行了一些更改,包括设置 cashier.php
配置文件。 upgrade guide details how, this pull request commit 显示文件。
调试这个的几件事:
- 确保您已正确设置收银台 10 的配置。
- 确保配置键
cashier.key
可用(例如 ddd(config('cashier.key'));
- 仔细检查您的 .env 变量是否为 stripe 的 API 键
正确设置
我正在使用本教程通过 Cashier 将 Stripe 集成到我的 Laravel 网站中: https://appdividend.com/2018/12/05/laravel-stripe-payment-gateway-integration-tutorial-with-example/
本教程是为 Cashier 9 编写的,因此它不适用于 Cashier 10。但是,它确实可以在这个 SO 答案中进行调整:
除此之外,它仅适用于现有的 Stripe 客户。当我注册一个全新的用户并尝试查看计划时,出现此错误:User is not a Stripe customer. See the createAsStripeCustomer method.
所以,我尝试这样做:
public function show(Plan $plan, Request $request)
{
if($request->user()->stripe_id === null)
{
$request->user()->createAsStripeCustomer();
}
$paymentMethods = $request->user()->paymentMethods();
$intent = $request->user()->createSetupIntent();
return view('plans.show', compact('plan', 'intent'));
}
产生此错误:No API key provided. (HINT: set your API key using "Stripe::setApiKey(<API-KEY>)". You can generate API keys from the Stripe web interface. See https://stripe.com/api for details, or email support@stripe.com if you have any questions.
这个 SO 答案解决了这个问题:
但是这个解决方案只适用于Cashier 9,因为Billable变了,所以不清楚如何设置API键。
如果新客户还不是 Stripe 客户,我在这里做错了什么?
编辑 - 我正在使用默认的收银台配置,我已经确认它指向 .env 变量。
我输入
dd(config('cashier.key'));
以确认配置正常工作我删除了旧的 services.php 配置部分
环境变量设置正确
展示方法如下:
public function show(Plan $plan, Request $request)
{
$paymentMethods = $request->user()->paymentMethods();
$intent = $request->user()->createSetupIntent();
return view('plans.show', compact('plan', 'intent'));
}
现在是错误:User is not a Stripe customer. See the createAsStripeCustomer method.
收银员 10 对配置进行了一些更改,包括设置 cashier.php
配置文件。 upgrade guide details how, this pull request commit 显示文件。
调试这个的几件事:
- 确保您已正确设置收银台 10 的配置。
- 确保配置键
cashier.key
可用(例如ddd(config('cashier.key'));
- 仔细检查您的 .env 变量是否为 stripe 的 API 键 正确设置