1

我在 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是空的。

在继续进行数据库插入查询之前,如何检查最后一次条带支付是否成功?我已经阅读了文档,它只提到了检查整体订阅,比如使用

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

但它没有提到如何检查最后一次条带订阅费用是否成功。我将如何做到这一点?

4

2 回答 2

2

您可以参考 Stripe Charge 对象的返回值。如果paid = "true" 则收费成功。

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

于 2015-08-05T07:47:31.523 回答
1

您可能需要查看“处理失败的订阅”和“处理其他 webhook”部分。http://laravel.com/docs/5.0/billing#handling-failed-subscriptions

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

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

于 2015-08-05T07:49:23.983 回答