Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 条带webhook响应时间_Php_Laravel_Laravel 5_Stripe Payments_Webhooks - Fatal编程技术网

Php 条带webhook响应时间

Php 条带webhook响应时间,php,laravel,laravel-5,stripe-payments,webhooks,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:

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

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')
]);
$paymentInstance = DB::table('subscriptions')->where('stripe_id',$paymentIntent->id)->first();
记录已成功保存。在收听Stripe webhook
payment\u intent.successed
时,我想从webhook中获取paymentIntent Id并在我的数据库中查找记录:

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')
]);
$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
(echo$paymentInstance)。当我在Stripe仪表板中点击resend时,我得到了期望的结果这是怎么可能的?初始记录的存储速度必须比webhook第一次到达服务器的速度更快——或者我弄错了?

变量
$paymentIntent
是如何初始化的?在代码运行并保存完付款之前,事件肯定有可能到达您的手中创建后的意图id。@levi我用这个缺失的部分更新了我的问题。@koopajah这真的不应该发生。如果第一次呼叫成功,那么就不会有第二次甚至第三次尝试,我也无法相应地处理响应。@Andreas,正如@koopajah所说,很难判断问题的原因,肯定有可能是某个地方被中断了。我的建议是,无论您希望向数据库发送什么附加数据,都可以将这些数据添加到前端的
条带请求主体中。因此,您可以从
$paymentIntent
中检索。