【问题标题】:In Laravel 5.2, Laravel Cashier stripe can'not create subscription.在 Laravel 5.2 中,Laravel Cashier stripe 不能创建订阅。
【发布时间】:2016-08-04 13:40:28
【问题描述】:

我正在使用 Laravel 5.2 和 Cashier。 我要创建订阅

 $user->newSubscription('premium', 'monthly')->create($request->get('stripeToken'));

我得到了这个错误

RequestOptions.php 第 78 行中的 API: Stripe API 方法调用的第二个参数是一个可选的 per-request apiKey,它必须是一个字符串,或者 per-request 选项,它必须是一个数组。 (提示:你可以通过 "Stripe::setApiKey()" 设置全局 apiKey)

【问题讨论】:

  • 我发现了问题。在 .env 中,条带键只能使用 STRIPE_KEY 名称定义。我使用我的随机名称,这是一个问题,将其更改为 STRIPE_KEY 后一切正常。

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


【解决方案1】:

我今天遇到了同样的问题 - 其背后的原因是 Laravel\Cashier\Billable::getStripeKey() 方法通过使用 getenv('STRIPE_SECRET') 而不是实际使用 config 获取环境变量,这迫使您拥有名为 @987654323 的环境变量@ - 我的命名不同,这导致了问题 - 所以请确保您的条带密钥的环境变量命名为 STRIPE_SECRET

导致问题的方法:

/**
 * Get the Stripe API key.
 *
 * @return string
 */
public static function getStripeKey()
{
    return static::$stripeKey ?: getenv('STRIPE_SECRET');
}

【讨论】:

    猜你喜欢
    • 2015-05-01
    • 2016-07-31
    • 1970-01-01
    • 2020-07-25
    • 2016-03-10
    • 2020-05-09
    • 2021-08-04
    • 1970-01-01
    • 2021-04-02
    相关资源
    最近更新 更多