条纹webhook响应时间

时间:2020-02-16 10:42:59

标签: php laravel laravel-5 stripe-payments webhooks

当客户付款时,以下条目将存储到数据库中:

DB::table('subscriptions')->insert([
    'user_id' => $user->id,
    'quantity' => 1,
    'stripe_id' => $request->paymentIntent,
    'created_at' => date('Y-m-d H:i:s'),
    'updated_at' => date('Y-m-d H:i:s')
]);

记录已成功保存。收听Stripe Webhook payment_intent.succeeded时,我想从Webhook中获取paymentIntent ID,并在数据库中找到记录:

$paymentInstance = DB::table('subscriptions')->where('stripe_id',$paymentIntent->id)->first();

变量$paymentIntent直接在Webhook中初始化:

$event = \Stripe\Webhook::constructEvent(
    $payload, $sig_header, $endpoint_secret
);
...
switch ($event->type) {
    case 'payment_intent.succeeded':
        $paymentIntent = $event->data->object;
        // Usage of $paymentIntent->id....

第一个呼叫以null响应(回显$ paymentInstance)。当我在Stripe仪表板中单击“重新发送”时,将获得所需的结果。 这怎么可能?初始记录的存储必须比第一次Webhook到达服务器要快-还是我弄错了?

0 个答案:

没有答案