Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

adding paymentMethodTypes within SetupPaymentSheetParameters intentConfiguration has no effect on ios #2011

Open
DavidEcclesPH opened this issue Dec 11, 2024 · 0 comments
Labels
bug Something isn't working iOS Issue related to iOS native bindings

Comments

@DavidEcclesPH
Copy link

DavidEcclesPH commented Dec 11, 2024

Describe the bug
Adding paymentMethodTypes to the payment sheet intentConfiguration works on android but not iOS.

To Reproduce
Steps to reproduce the behavior:
configure the payment sheet with the intentConfiguration property. enable some methods on the stripe dashboard, and add the identifiers for these methods to the intentConfiguration paymentMethodTypes list.

Additionally, omitting this list does not automatically use the methods from the stripe dashboard as stated by the comment on payment_sheer.dart line 124: /// If not set, the payment sheet will display all the payment methods enabled in your Stripe dashboard.

Expected behavior
I expect these payment methods to appear on the sheet on both platforms, but currently the payment methods provided in the list appear on the payment sheet in android but not in iOS.

Smartphone / tablet

  • Device: iPhone 12 / iPhone 16 simulator
  • OS: ios 17.5.1
  • Package version: 11.3.0
  • Flutter version 3.24.3

Additional context

payment sheet setup:

        await Stripe.instance.initPaymentSheet(
          paymentSheetParameters: SetupPaymentSheetParameters(
            primaryButtonLabel: payButtonString,
            merchantDisplayName: checkout.description,
            allowsDelayedPaymentMethods: true,
            intentConfiguration: IntentConfiguration(
                mode: const IntentMode.paymentMode(
                  currencyCode: 'GBP',
                  amount: 1500,
                ),
                paymentMethodTypes: [
                  //"customer_balance", //this is the identifier for bank transfers but throws an error
                  "paypal",
                  "klarna",
                  "card",
                ],
                confirmHandler: (method, saveFuture) {
                  // This is the method where you call the server to create a paymentintent for the payment method id supplied in the callback.
                  _createIntentAndConfirmToUser(method.id);
                }),
          ),
        );

android:
image

iOS:
image

@DavidEcclesPH DavidEcclesPH added the needs triage Needs triage label Dec 11, 2024
@remonh87 remonh87 added bug Something isn't working iOS Issue related to iOS native bindings and removed needs triage Needs triage labels Jan 2, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working iOS Issue related to iOS native bindings
Projects
None yet
Development

No branches or pull requests

2 participants