Laravel 5 Laravel:没有提供API密钥。(提示:使用Stripe::setApiKey()设置API密钥)
是的,我知道,那里有一个完全相同的问题,但“解决方案”没有得到批准,也没有得到应有的规定 因此: 1) 我通过php composer.phar require stripe/etc安装了stripe库v.3.0 它安装得很好(否则我就不会收到那个错误了) 2) 我有在头部的刀片形式的公共测试密钥 3) 然后在控制器中,我将从以下表单接收数据的公共函数包括在内:(没问题,不是我真正的密钥) 3) 我还将其作为Laravel 5 Laravel:没有提供API密钥。(提示:使用Stripe::setApiKey()设置API密钥),laravel-5,stripe-payments,Laravel 5,Stripe Payments,是的,我知道,那里有一个完全相同的问题,但“解决方案”没有得到批准,也没有得到应有的规定 因此: 1) 我通过php composer.phar require stripe/etc安装了stripe库v.3.0 它安装得很好(否则我就不会收到那个错误了) 2) 我有在头部的刀片形式的公共测试密钥 3) 然后在控制器中,我将从以下表单接收数据的公共函数包括在内:(没问题,不是我真正的密钥) 3) 我还将其作为 STRIPE_API_SECRET='sk_test_1VJeJsvj7l2ft2eX
STRIPE_API_SECRET='sk_test_1VJeJsvj7l2ft2eXXsevDD'
并从config/services.php调用
'stripe' => [
'model' => App\User::class,
'key' => '',
'secret' => env('STRIPE_API_SECRET'),
],
但我一直在犯这个错误
SO的另一个同样的问题说,它通过以下方式“解决”了它:
这是完全模糊的,不准确的,不知道他在说什么
有人知道吗?非常感谢我遇到了类似的问题,这是因为在config/services/php中配置了两次“stripe”。您真的确定config/services.php中只有一个“stripe”实例吗 下面是我使用Stripe的config/services.php示例,供参考:
<?php
return [
'mandrill' => [
'secret' => env('MANDRILL_SECRET'),
],
'ses' => [
'key' => env('SES_KEY'),
'secret' => env('SES_SECRET'),
'region' => 'us-east-1',
],
'stripe' => [
'model' => 'App\Models\User',
'key' => env('STRIPE_API_PUBLIC'),
'secret' => env('STRIPE_API_SECRET'),
],
];
如果查看可计费的代码:
/**
* Get the Stripe API key.
*
* @return string
*/
public static function getStripeKey()
{
return static::$stripeKey ?: getenv('STRIPE_SECRET');
}
/**
* Set the Stripe API key.
*
* @param string $key
* @return void
*/
public static function setStripeKey($key)
{
static::$stripeKey = $key;
}
它希望定义静态变量或STRIPE\u SECRET
环境变量
答案有点模糊,但提供了一个解决方案。在您的AppServiceProvider
中:
public function register()
{
\App\Models\User::setStripeKey(\Config::get('services.stripe.secret'));
}
设置公共静态$apiKey='sk_test_your api key';从stripe.php中,我遇到了同样的问题,并通过在控制器构造函数中手动设置密钥来解决它,如下所示:
class SubscriptionController extends Controller {
public function __construct() {
Stripe::setApiKey(env('STRIPE_SECRET'));
}
public function getPlans() {
dd(Plan::all());
}
}
尝试清除缓存
php artisan config:cache
class SubscriptionController extends Controller {
public function __construct() {
Stripe::setApiKey(env('STRIPE_SECRET'));
}
public function getPlans() {
dd(Plan::all());
}
}
php artisan config:cache