2015-02-26 6 views
2

Я использую Stripe и его webhooks. У меня есть собственный контроллер, который расширяет собственный контроллер Webhook от Cashier. Я заметил, что контроллер webhook кассира имеет метод handleWebhook, который проверяет, если событие существует на Stripe:Laravel Cashier Stripe_Event ключ api по умолчанию имеет значение NULL?

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_Event имеет функцию извлечения с apiKey в качестве одного из параметров неплательщиков в NULL:

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

NULL apiKey мешает мне выполнять мой код, когда я получаю webhook от Stripe. Является ли это значение NULL преднамеренным, и я делаю что-то неправильно? Что мне не хватает?

ответ

0

Вам необходимо установить ключ интерфейса Stripe вручную. Я также расширенный контроллер webhook кассира и добавил этот конструктор:

public function __construct() 
{ 
    Stripe::setApiKey(Config::get('services.stripe.secret')); 
    Stripe::setApiVersion("2015-10-16"); // use your Stripe API version 
} 

Не забывайте о use Config, Stripe заявления в верхней части вашего класса.

Смежные вопросы