Description
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:
- Create setup_intent with both "card" and "paypal" payment methods.
- Use example project of PaymentElement, BUT instead of confirmPaymentElement() use confirmSetupElement().
- 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)