По умолчанию для ключа API Laravel Cashier Stripe_Event установлено значение NULL?

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

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 не позволяет мне выполнять мой код, когда я получаю веб-крючок от Stripe. Это значение NULL намеренно, и я делаю что-то не так? Что мне не хватает?

2

Решение

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

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

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

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]