Description:
When a user selects Pay with Link in the Stripe Payment Sheet, they are redirected to Chrome Custom Tabs to complete the Link authentication. After completing payment, tapping "Back to Customer App" closes Chrome but the app does not receive the redirect, the payment sheet does not resolve, and the order is never placed.
Steps to Reproduce
Navigate to Checkout
Open the Stripe Payment Sheet
Select Link as the payment method
Complete authentication in the Chrome Custom Tab
Tap "Back to Customer App"
Expected: Payment sheet resolves as successful, order is placed.
Actual: Chrome tab not closed, app resumes on checkout screen, payment sheet is stuck or dismissed, order is not placed.
I've added the following
Stripe.urlScheme = 'custapp';
<----------------------------------------------------------------------->
<meta-data
android:name="flutter_deeplinking_enabled"
android:value="false" />
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:scheme="custapp"
android:host="stripe-redirect" />
</intent-filter>
<----------------------------------------------------------------------->
await Stripe.instance.initPaymentSheet(
paymentSheetParameters: SetupPaymentSheetParameters(
paymentIntentClientSecret: paymentIntentClientSecret,
allowsRemovalOfLastSavedPaymentMethod: false,
opensCardScannerAutomatically: true,
returnURL: 'custapp://stripe-redirect',
Description:
When a user selects Pay with Link in the Stripe Payment Sheet, they are redirected to Chrome Custom Tabs to complete the Link authentication. After completing payment, tapping "Back to Customer App" closes Chrome but the app does not receive the redirect, the payment sheet does not resolve, and the order is never placed.
Steps to Reproduce
Navigate to Checkout
Open the Stripe Payment Sheet
Select Link as the payment method
Complete authentication in the Chrome Custom Tab
Tap "Back to Customer App"
Expected: Payment sheet resolves as successful, order is placed.
Actual: Chrome tab not closed, app resumes on checkout screen, payment sheet is stuck or dismissed, order is not placed.
I've added the following
Stripe.urlScheme = 'custapp';<----------------------------------------------------------------------->
<----------------------------------------------------------------------->