Skip to content

confirmSetupElement() throws error for adding card on Flutter web #2159

Open
@artemsorochan

Description

@artemsorochan

Describe the bug
confirmSetupElement() throws error for adding card.

If setup_intent contains both "card" and "paypal" payment methods - confirming card addition throws an error.
But in general, the card was successfully added in Stripe (visible in dashboard).

Note: adding PayPal actually works fine.

To Reproduce
Steps to reproduce the behavior:

  1. Create setup_intent with both "card" and "paypal" payment methods.
  2. Use example project of PaymentElement, BUT instead of confirmPaymentElement() use confirmSetupElement().
  3. Fill card-details and try to add it.

Expected behavior
Method completes with no error.

Actual behavior

Throws an error:

Invalid argument(s): paypal is not one of the supported values: acss_debit, affirm, afterpay_clearpay, alipay, au_becs_debit, bacs_debit, bancontact, blik, boleto, card, cashapp, bacs_debit, customer_balance, eps, fpx, giropay, grabpay, ideal, interac_present, klarna, konbini, link, oxxo, p24, paynow, pix, promptpay, sepa_debit, sofort, us_bank_account, wechat_pay

package:json_annotation/src/enum_helpers.dart 83:5 $36enumDecode package:stripe_js/src/api/setup_intents/setup_intent.g.dart 36:28 <fn> ../dart-sdk/lib/internal/iterable.dart 442:31 elementAt ../dart-sdk/lib/internal/iterable.dart 371:26 moveNext ../dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 1158:20 next ../dart-sdk/lib/_internal/js_dev_runtime/patch/core_patch.dart 358:14 of ../dart-sdk/lib/internal/iterable.dart 224:7 toList package:stripe_js/src/api/setup_intents/setup_intent.g.dart 36:69 _$36$36SetupIntentImplFromJson package:stripe_js/src/api/setup_intents/setup_intent.freezed.dart 528:7 fromJson package:stripe_js/src/api/setup_intents/setup_intent.freezed.dart 18:23 _$36SetupIntentFromJson package:stripe_js/src/api/setup_intents/setup_intent.dart 181:7 fromJson package:stripe_js/src/api/setup_intents/setup_intent_response.g.dart 13:25 _$36$36SetupIntentResponseImplFromJson package:stripe_js/src/api/setup_intents/setup_intent_response.freezed.dart 161:7 fromJson package:stripe_js/src/api/setup_intents/setup_intent_response.freezed.dart 18:31 _$36SetupIntentResponseFromJson package:stripe_js/src/api/setup_intents/setup_intent_response.dart 18:7 fromJson package:stripe_js/src/js/utils/parse_intent_response.dart 22:32 JSSetupIntentResponse.get$35toDart package:stripe_js/src/js/setup_intents/confirm_setup.dart 25:38 <fn>

  • Flutter WEB version 3.29.2
  • flutter_stripe: 11.5.0
  • stripe_platform_interface: 11.5.0
  • flutter_stripe_web: 6.5.1

Additional context
The problem is fixed, once adding paypal in:

  • stripe_js-6.4.0/lib/src/api/setup_intents/setup_intent.g.dart (_$PaymentMethodTypeEnumMap)
  • stripe_js-6.4.0/lib/src/api/payment_methods/payment_type.dart (PaymentMethodType)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions