Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

Azoruk's avatar

Laravel Cashier SCA payment returning incomplete subscription

I'm currently implementing subscriptions on my app. Everything is working fine so far, but when testing strong customer authentication (test card with value 4000 0027 6000 3184 instead of 4242 4242 4242 4242), it returns the subscription in the Subscriptions table has a stripe_status value of incomplete.

Relevant code:

	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')
			]
		);
	}

When SCA is required, it does catch an IncompletePayment exception, just as it says it will in the Cashier Docs. This will prompt the user to once again put in their card information, and then finally the last argument makes it so it redirects to the route of my choice. All of this works, so why does is the subscription marked as incomplete?

0 likes
0 replies

Please or to participate in this conversation.