Laravel Cashier SCA 订阅返回不完整的订阅

Posted

技术标签:

【中文标题】Laravel Cashier SCA 订阅返回不完整的订阅【英文标题】:Laravel Cashier SCA subscription returning incomplete subscription 【发布时间】:2022-01-03 06:34:26 【问题描述】:

我目前正在我的应用上实现订阅。到目前为止一切正常,但是在测试强客户身份验证时(测试卡的值为 4000 0027 6000 3184 而不是 4242 4242 4242 4242),它会返回订阅表中的订阅,其 stripe_status 值为 incomplete

相关代码:

    try 
        Auth::user()->newSubscription('default', $plan->stripe_id)
            ->create($request->token);
     catch (IncompletePayment $e) 
        return redirect()->route(
            'cashier.payment', [
                $e->payment->id,
                'redirect' => route('get.premium.settings')
            ]
        );
    

当需要 SCA 时,它会捕获一个 IncompletePayment 异常,正如它在 Cashier Docs 中所说的那样。这将提示用户再次输入他们的卡信息,最后最后一个参数使它重定向到我选择的路线。 所有这些都有效,那么为什么订阅会被标记为不完整呢?

【问题讨论】:

【参考方案1】:

我的 webhook 端点无效。我在 Stripe webhook 设置中更改了我的端点,它工作得很好。

【讨论】:

以上是关于Laravel Cashier SCA 订阅返回不完整的订阅的主要内容,如果未能解决你的问题,请参考以下文章

无需订阅即可使用 Laravel Cashier 一次性付款

Laravel Cashier 新订阅 Stripe 抛出“无法确定请求哪个 URL:”错误

使用具有多个订阅的 Laravel Cashier

Laravel Cashier - 使用现有客户对象创建新订阅

Laravel Cashier - 更新订阅的付款方式

Laravel Cashier - 找不到类“App\Models\User”