Php Laravel\u事件api密钥默认为空?

Php Laravel\u事件api密钥默认为空?,php,laravel,webhooks,Php,Laravel,Webhooks,我正在使用Stripe和它的Webhook。我有自己的控制器,它扩展了出纳自己的Webhook控制器。我注意到出纳的webhook控制器有一个名为handleWebhook的方法,用于检查条带上是否存在事件: public function handleWebhook() { $payload = $this->getJsonPayload(); if ( ! $this->eventExistsOnStripe($payload['id'])) {

我正在使用Stripe和它的Webhook。我有自己的控制器,它扩展了出纳自己的Webhook控制器。我注意到出纳的webhook控制器有一个名为
handleWebhook
的方法,用于检查条带上是否存在事件:

public function handleWebhook()
{
    $payload = $this->getJsonPayload();

    if ( ! $this->eventExistsOnStripe($payload['id']))
    {
        return;
    }
    // More code...
}

protected function eventExistsOnStripe($id)
{
    try
    {
        return ! is_null(Stripe_Event::retrieve($id));
    }
    catch (Exception $e)
    {
        return false;
    }
}
现在,Stripe_事件类具有检索函数,apiKey是其默认为NULL的参数之一:

  public static function retrieve($id, $apiKey=null)
  {
    $class = get_class();
    return self::_scopedRetrieve($class, $id, $apiKey);
  }

当我从Stripe收到webhook时,NULL apiKey阻止我执行代码。这个空值是故意的,我做错了什么?我缺少什么?

您需要手动设置条带API密钥。我还扩展了出纳的webhook控制器,并添加了此构造函数:

public function __construct()
{
    Stripe::setApiKey(Config::get('services.stripe.secret'));
    Stripe::setApiVersion("2015-10-16"); // use your Stripe API version
}
不要忘记类顶部的
use Config,Stripe
语句