首页 > 解决方案 > Laravel Stripe (no Cashier) 多个 webhook

问题描述

我将 Laravel 与 Stripe 一起使用(直接使用 stripe/stripe-php,而不是 Cashier)。在配置中有这样的内容:

'stripe' => [
    'model' => App\User::class,
    'key' => env('STRIPE_KEY'),
    'secret' => env('STRIPE_SECRET'),
    'webhook' => [
        'secret' => env('STRIPE_WEBHOOK_SECRET'),
        'tolerance' => env('STRIPE_WEBHOOK_TOLERANCE', 300),
    ],
], 

那里只有一个可用的 webhook secret 有什么意义?

'secret' => env('STRIPE_WEBHOOK_SECRET'),

大多数应用程序都会有多个 webhook 侦听器。在我的情况下,我在 env 文件中添加了几个不同的 webhook 秘密,实际上每个一个,但我将配置/服务留给了第一个:

.env
STRIPE_WHS_CHECKOUT_OK=whsec_Z***Rp
STRIPE_WHS_PAYMENT_FAIL=whsec_M***g7

config/services.php
'secret' => env('STRIPE_WHS_CHECKOUT_OK'),

我试图对 Laravel 文档进行一些研究,但没有太多关于此的信息,任何人都可以阐明一下吗?并不是说该应用程序已损坏,它可以按说明工作,但只是好奇

标签: laravelstripe-payments

解决方案


在您的情况下,您应该只使用一个接收多个事件的端点。您可以控制要从仪表板查看的事件类型:

https://stripe.com/docs/webhooks/best-practices#event-types


推荐阅读