Laravel Cashier - 如何检查条纹付款是否成功

时间:2015-08-05 07:38:15

标签: laravel laravel-5 stripe-payments laravel-cashier

我在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
}

我认为条带订阅将返回true或false,因此我可以检查上次付款是否成功并继续。但 $subscribe 是空的。

在继续数据库插入查询之前,如何检查最后一次条带付款是否成功?我已经阅读了docs,它只提到了如何使用

检查整体订阅
`if ($user->subscribed())`

但它没有提及如何检查最后一个条带订阅费用是否成功。我该怎么做?

2 个答案:

答案 0 :(得分:2)

您可以参考Stripe Charge对象的返回值。如果付款="真"收费成功。

请参阅此链接:https://stripe.com/docs/api#charge_object

答案 1 :(得分:1)

您可能希望查看"处理失败的订阅"和#34;处理其他webhooks"部分。 http://laravel.com/docs/5.0/billing#handling-failed-subscriptions

Webhooks是第三方对您的应用程序的URL进行回调的地方。例如,条件有人刚刚订阅并付款,条带将访问您的应用程序的URL,其中包含有关该付款是否下降,成功等的各种信息。请参阅https://stripe.com/docs/webhooks

您可以在您的帐户>下的条带信息中心中注册到您的应用程序的路线帐户设置> Webhooks>添加新端点