Php 由多个测试环境处理的条带支付意图事件

Php 由多个测试环境处理的条带支付意图事件,php,laravel,stripe-payments,Php,Laravel,Stripe Payments,我有一个使用Stripe的webshop(LaravelAPI/Vue)。我有3个用于此应用程序的环境:本地环境、开发/暂存环境和生产环境 本地和开发/登台使用相同的条带可发布和机密测试密钥,但使用不同的webhook机密测试密钥 我的本地环境使用Laravel Homestead,我使用安装在pc(windows)上的ngrok将本地环境转发到实时服务器 我最近注意到,每当我在本地服务器上测试一个事务时,它会触发条带上的payment\u intent.successed事件,该事件会在本地和

我有一个使用Stripe的webshop(LaravelAPI/Vue)。我有3个用于此应用程序的环境:本地环境、开发/暂存环境和生产环境

本地和开发/登台使用相同的条带可发布和机密测试密钥,但使用不同的webhook机密测试密钥

我的本地环境使用Laravel Homestead,我使用安装在pc(windows)上的ngrok将本地环境转发到实时服务器

我最近注意到,每当我在本地服务器上测试一个事务时,它会触发条带上的
payment\u intent.successed
事件,该事件会在本地和开发/登台的作业中得到处理。这将导致处理订单并将其保存在开发数据库中,即使该订单是使用本地环境放置的。每当我在开发环境中测试事务时,情况正好相反

在Stripe仪表板上,我使用了两个webhook端点,一个用于本地(即ngrok live server),另一个用于开发/登台环境


我对此没有任何解释。任何指针都可以解决这个奇怪的问题。

如果您的本地端点和开发/声明端点都在侦听相同的事件,那么这是因为事件是在帐户级别生成的,而不是在单个端点级别生成的

例如,如果您的两个端点都在侦听
payment\u intent.successed
事件,则如果支付成功,您的两个端点都将接收该事件

为了绝对确保不会将事件发送到两个环境,您应该考虑使用单独的条带帐户来测试本地环境