在PHP/Laravel中,如何将变量从函数传递到stripe webhook函数?
我已经建立了一个网站和集成的条纹元素与支付意图。。。我想在服务器从stripe webhook获得charge.Successed事件时激活对用户的订阅。 我有一段代码,可以获取每个用户的未付订阅ID,它写在支付意图上,因此每当用户尝试付款时,它都会被调用:在PHP/Laravel中,如何将变量从函数传递到stripe webhook函数?,php,laravel,stripe-payments,Php,Laravel,Stripe Payments,我已经建立了一个网站和集成的条纹元素与支付意图。。。我想在服务器从stripe webhook获得charge.Successed事件时激活对用户的订阅。 我有一段代码,可以获取每个用户的未付订阅ID,它写在支付意图上,因此每当用户尝试付款时,它都会被调用: $subscription = Subscription::findByUid($subscription_id); 例如,它可以是:60ad280fbc3b9 如果我做了echo$subscription,输出将是: { "
$subscription = Subscription::findByUid($subscription_id);
例如,它可以是:60ad280fbc3b9
如果我做了echo$subscription
,输出将是:
{
"id": 4,
"uid": "60ad280fbc3b9",
"user_id": "60a405d5be7b6",
"plan_id": "58bd4b4d0d4c3",
"status": "new",
"trial_ends_at": null,
"ends_at": "2021-05-25 18:17:55",
"created_at": "2021-05-25 16:38:39",
"updated_at": "2021-05-25 18:18:07",
"metadata": null,
"payment_claimed": "0",
"current_period_ends_at": "2021-06-25 18:17:21",
"timezone": "",
"started_at": "2021-05-25 18:18:07",
"last_period_ends_at": null,
"error": null,
"gateway": "stripe"
}
因此,在payment intent函数级别上,一切都可以完美地工作,我只是不知道如何将此变量$subscription
从payment intent函数发送到stripe webhook函数,以便通过执行此代码激活订阅
case 'charge.succeeded':
$subscription->start()
break;
它总是给我这个错误:
在null上调用成员函数start()
如果我尝试打印订阅id,则不会发生任何情况,因此它不会从支付意图功能收到它
谁能帮我一下吗?
谢谢你你收到的webhook就像一篇帖子——它包含了Stripe中的一些数据,你可以用这些数据来识别费用、客户、订阅等。查看有关如何处理webhook的文档——看起来你可能已经这样做了,所以你差不多做到了。这篇文章包括一个
事件
,你可能已经有了这个事件;对于。然后您需要了解如何从该费用中找到您的$subscription
——例如,如果您正在存储支付意图ID,您可以使用该ID。或者,当您创建支付意图时,您可能正在发送一些元数据(如您的订阅id)——这些元数据将由webhook负责。非常感谢您,我在元数据中添加了订阅id,将其存储在另一个变量中,并在此行中调用$subscription=subscription::findByUid($newvariable)。。。现在它工作得很好。