Laravel 7.0 Cashier - 条纹支付异常

Posted

技术标签:

【中文标题】Laravel 7.0 Cashier - 条纹支付异常【英文标题】:Laravel 7.0 Cashier - Stripe Payment Exception 【发布时间】:2020-11-08 00:37:02 【问题描述】:

我在使用 Laravel Cashier Stripe 付款时遇到问题。我需要将费用和新订阅合二为一,这样当出现 IncompletePayment 异常时,我仍然可以获得条带 webhook。

try
  $user->charge(1000, $creditCard->id, [
                'description' => 'Premium Registration',
            ])
  $user->newSubscription('premium_member', $recurring)
          ->create($creditCard->id);


 catch (IncompletePayment $e) 

            $intent = \Stripe\PaymentIntent::retrieve($e->payment->id);
            $intent->confirm([
                'return_url' => url('api/payments-3d-success'),
            ]);

            return response()->json([
                'e' => $intent,
            ]);
        

另一种方法是捕获异常并构建类似 laravel 的方式来处理不完整的异常。

try

  $subscription = \Stripe\Subscription::create([
                'customer' => $customer->id,
                'items' => [[
                    'price' => $recurring,
                ]],
                'add_invoice_items' => [[
                    'price' => $oneTime,
                ]],
            ]);


//I need to catch the exception here from stripe and build like a laravel way like IncompletePayment exceptions
catch(Exception $e)
$intent = \Stripe\PaymentIntent::retrieve($e->payment->id);
            $intent->confirm([
                'return_url' => url('api/payments-3d-success'),
            ]);

            return response()->json([
                'e' => $intent,
            ]);

请告诉我你是如何处理这个问题的。谢谢

【问题讨论】:

【参考方案1】:

您可以使用发票项目执行此操作:https://stripe.com/docs/billing/invoices/subscription#adding-upcoming-invoice-items

【讨论】:

以上是关于Laravel 7.0 Cashier - 条纹支付异常的主要内容,如果未能解决你的问题,请参考以下文章

使用产品结账时如何用 laravel + cashier 生成发票

Laravel Cashier 未定义方法meteredPrice()

Laravel Cashier - $stripeToken 来自哪里?

Laravel Cashier - updateCard() - 指导

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

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