Laravel:Stripe 未提供 API 密钥。(提示:使用 Stripe::setApiKey() 设置您的 API 密钥

pat*_*cio 6 stripe-payments laravel-5

是的,我知道,那里有一个完全相同的问题,但“解决方案”没有得到批准,也没有按照应有的方式指定。

所以:1)我通过php composer.phar require stripe/etc安装了stripe库v.3.0

它安装正常,(否则我实际上不会收到该错误)

2)我在Head部分的blade Form中有公共测试密钥

3)然后在控制器中我包含在从表单接收数据的公共函数中:(没问题,不是我真正的秘密密钥)

$token = Input::get('stripeToken');
Stripe::setApiKey("sk_test_1VJeJsdfsdgdgVbJODDDD");
Run Code Online (Sandbox Code Playgroud)

3)我也把它放在 .env 文件中

STRIPE_API_SECRET='sk_test_1VJeJsvj7l2ft2eXXsevDD'
Run Code Online (Sandbox Code Playgroud)

并从 config/services.php 作为

'stripe' => [
        'model'  => App\User::class,
        'key'    => '',
        'secret' => env('STRIPE_API_SECRET'),
    ],
Run Code Online (Sandbox Code Playgroud)

但我一直收到那个错误。

SO 的另一个相同问题说它已经通过以下方式“解决”了它:

the solution was to put the stripe api key into AppServiceProvider, into register() class.
Run Code Online (Sandbox Code Playgroud)

那完全是含糊不清的,不准确的,不知道他在说什么。

有谁知道?非常感谢您

mar*_*rth 0

我遇到了类似的问题,这是因为“stripe”在 config/services/php.ini 中配置了两次。您真的确定 config/services.php 中只有一个“stripe”实例吗?

这是我的示例 config/services.php,它与 Stripe 一起使用,供参考:

<?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'),
],
];
Run Code Online (Sandbox Code Playgroud)