Php Laravel\u事件api密钥默认为空?
我正在使用Stripe和它的Webhook。我有自己的控制器,它扩展了出纳自己的Webhook控制器。我注意到出纳的webhook控制器有一个名为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'])) {
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
语句