Laravel 收银员 - 如何检查 Stripe 支付是否成功

Laravel Cashier - How to Check if Stripe Payment was Successful

我在 Laravel 5.1 中使用 Cashier 进行条纹支付。我想检查如何仅在条带支付成功时创建一个新的数据库条目。我正在做这样的事情:

if ($user->subscribed())
{
        $subscribe = $user->subscription()->increment($totalQuantity);
}
else {
        $subscribe = $user->subscription('monthly')->quantity($totalQuantity)->create($postData['token']);
}

if($subscribe) {
   // Insert into Database
}

我认为条纹订阅会 return true 或 false 所以我可以检查最后一次付款是否成功并继续。但是 $subscribe 是空的。

在继续数据库插入查询之前,如何检查最后一次条纹支付是否成功?我读过docs,它只提到检查整体订阅,比如使用

`if ($user->subscribed())`

但它没有提到如何检查最后一次条纹订阅收费是否成功。我该怎么做?

您可以参考 Stripe Charge 对象的 return 值。如果paid="true"则充值成功

看到这个link:https://stripe.com/docs/api#charge_object

您可能需要查看 "handling failed subscriptions" 和 "handling other webhooks" 部分。 http://laravel.com/docs/5.0/billing#handling-failed-subscriptions

Webhook 是第 3 方为您的应用程序回调 URL 的地方。例如,对于有人刚刚订阅并付款的 stripe,stripe 将访问您的应用程序的 URL,其中包含有关付款是否被拒绝、成功等的各种信息。参见 https://stripe.com/docs/webhooks

您可以在您的帐户 > 帐户设置 > Webhooks > 添加新端点下的条纹仪表板中注册到您的应用程序的路由