flutter_stripe_connect 0.5.0 copy "flutter_stripe_connect: ^0.5.0" to clipboard
flutter_stripe_connect: ^0.5.0 copied to clipboard

Flutter plugin for Stripe Connect embedded components. Embed account onboarding, account management, payouts, and payments UI in your Flutter app.

Changelog #

0.5.0 #

  • WebAssembly compatibility - Select the Connect.js implementation for both JavaScript and Wasm web builds. Remove the unconditional dart:io import from the component widgets and keep mobile WebView imports out of web builds.
  • Built-in Kotlin - Migrate the Android plugin and example off the legacy Kotlin Gradle plugin. The minimum supported SDKs are now Flutter 3.44 and Dart 3.12; the example validates the migration with AGP 9. Update webview_flutter to a compatible version, raising Android minSdk to 24.
  • Terms Collection - Add AccountCollectionOptions.excludeTermsOfService using Stripe's tos_acceptance.* requirement exclusion on web and iOS, with the equivalent native flag on Android. Deprecate the older skipTermsOfServiceCollection argument.
  • Appearance API - Deprecate the ineffective appearance argument on individual component widgets. Appearance remains available through StripeConnect.initialize and updateAppearance.
  • Android SDK - Update com.stripe:connect from 23.17.1 to 23.21.0. Align the plugin and example with Stripe's compile SDK 36 requirement.

0.4.0 #

  • Example Setup - Use a configured test account on the local example server and pass the example app's publishable key with --dart-define instead of embedding account and key values in source

  • Requirement Collection Options - AccountCollectionOptions on StripeConnect.presentAccountOnboarding and on the StripeAccountOnboarding widget, so onboarding can collect eventually_due and future requirements instead of only what is currently due. Supported on iOS, Android and Web

  • Terms of Service and Privacy Policy URLs - fullTermsOfServiceUrl, recipientTermsOfServiceUrl, privacyPolicyUrl and skipTermsOfServiceCollection are now passed through to the component

  • Onboarding Title - title replaces the hardcoded English "Account Onboarding" on Android and the missing title on iOS

  • Appearance Applied on Native - ConnectAppearance passed to initialize now reaches the iOS and Android component managers, which previously dropped it; StripeConnect.updateAppearance restyles components already on screen

    • On Android the action and form colors go through Action and Form, which replace the deprecated setters on Colors.Builder
    • Web now sends actionPrimaryText, actionSecondaryText, formBackground and formHighlightBorder on to Connect.js; four of the nine documented colors were being dropped
    • cornerRadius reaches Connect.js as a pixel value, so it applies on web at all
    • fontFamily is documented for what it does: components render in a web context that has no access to the app's own fonts, and the plugin does not pass font files to the SDKs, so only system families render
  • Updated iOS Dependency - StripeConnect moved to ~> 26.0

  • Updated Android Dependency - com.stripe:connect upgraded to 23.17.1

    • Drops the PreviewConnectSDK opt-in, which no longer exists in the SDK
    • The example no longer declares com.stripe:connect itself; it was pinned to 22.4.0 and the plugin already brings the SDK in
  • Fixed Swift Package Manager Dependency - Package.swift resolved a different StripeConnect major than the podspec asked for

  • Bridge Tests - the Kotlin and Swift argument decoders are covered by unit tests; neither ./gradlew testDebugUnitTest nor xcodebuild test passed before, both calling a getPlatformVersion handler that no longer exists

  • Connect.js Names Tested - the appearance variables and component names moved out of the interop layer into connectAppearanceVariables and connectComponentName, which flutter test covers without a browser

  • Fixed iOS Example - the Runner target was left at iOS 13.0 while the plugin requires 15.0, so the example could not be built for iOS

    • Podfile.lock still pinned flutter_stripe_connect 0.2.1 and StripeConnect 25.2.0, so pod install failed on a fresh checkout
    • Every pod target is now raised to iOS 15.0; Flutter's own post_install helper only raises them to the Flutter minimum

0.3.7 #

  • Fixed Scroll Issue on Flutter Web & WebView (#3)
    • Added overflow: auto to web component container so Stripe content scrolls properly on Flutter Web
    • Added default gestureRecognizers (vertical + horizontal drag) to StripeConnectWebView so scroll gestures pass through to the WebView on mobile
    • gestureRecognizers now correctly forwarded in useWebView mode for all components

0.3.6 #

  • Updated iOS Dependency - Pinned StripeConnect dependency to ~> 25.0
    • Ensures compatibility with the latest Stripe iOS SDK features (Accounts v2 support)
  • Updated Android Dependency - Upgraded com.stripe:connect to 22.7.0
    • Includes EmbeddedErrorType for better error handling stability
    • Verified no breaking changes for current plugin implementation

0.3.5 #

  • Swift Package Manager Support - Added SPM support for iOS to improve pub.dev scoring
    • New Package.swift file for SPM-based dependency resolution
    • Plugin now supports both CocoaPods and Swift Package Manager
    • Added PrivacyInfo.xcprivacy to SPM resources

0.3.4 #

  • Fixed iOS Release Build Authentication Error - Resolved "Something went wrong" error in TestFlight/Release builds
    • Client secrets are now always fetched fresh for each Stripe SDK request
    • Removed any caching/deduplication that could cause secret reuse
    • Each embedded component (Payouts, Payments, AccountManagement) now correctly authenticates

0.3.3 #

  • Native SDK Always Initialized - Native SDK (EmbeddedComponentManager) now initializes regardless of webViewConfig
    • Fixes "EmbeddedComponentManager not initialized" error when using native components with webViewConfig
    • Users can now freely mix native and WebView components in the same app
    • No breaking changes - existing code continues to work

0.3.2 #

  • Customizable WebView URL Parameters - New publishableKeyParam and clientSecretParam options in WebViewConfig
    • Allows customizing URL query parameter names for hosted web apps
    • Defaults to publishableKey and clientSecret for backward compatibility
    • Example: Use pk and secret if your web app expects different parameter names
  • Example App Improvements - Migrated to go_router for web-friendly URL routing
    • Routes now match the Next.js paths documented in WEBVIEW_INTEGRATION.md
    • Supports direct navigation to /onboarding, /payments, /payouts, etc.

0.3.1 #

  • Android Account Management Fix - Removed AccountManagementListener which doesn't exist in the Android Stripe Connect SDK
    • Account Management component now shows a helpful error on Android
    • Use WebView mode or iOS for Account Management on mobile
  • New StripeConnectViewType Enum - Type-safe component type identifiers
    • Replaces raw strings for component types in web components
    • All 13 Stripe Connect component types now available as enum values
    • Better IDE autocomplete and compile-time safety
  • Platform Availability Clarification
    • Account Management: iOS ✅, Android ❌ (WebView required), Web ✅
    • Updated component to show clear error message on Android

0.3.0 #

  • Programmatic Account Onboarding - New StripeConnect.presentAccountOnboarding() static method
    • Trigger onboarding flow from your own UI without embedding the widget
    • Supports onExit and onLoadError callbacks
    • Works on both iOS and Android (Web should use widget)
  • iOS Native Improvements
    • Added presentAccountOnboarding method handler
    • Plugin now conforms to AccountOnboardingControllerDelegate
  • Android Native Improvements
    • Normalized method name from showAccountOnboarding to presentAccountOnboarding
    • Added onDismissListener for exit callback support

0.2.3 #

  • Native vs WebView Control - Added useWebView prop to components with native SDK support
    • StripeAccountOnboarding, StripePayments, StripePayouts now use native SDK by default
    • Set useWebView: true to force WebView rendering (requires webViewConfig)
  • Web-only Components - Components without native SDK support now require WebView on mobile
    • StripeAccountManagement, StripeNotificationBanner, StripeBalances, StripeDocuments
    • StripePayoutsList, StripePaymentDetails, StripePayoutDetails, StripeDisputesList
    • These components show a helpful error if webViewConfig is not configured on mobile
  • Documentation - Reorganized documentation into doc/ folder
    • doc/AUTHENTICATION.md - Authentication flow documentation
    • doc/WEBVIEW_INTEGRATION.md - WebView mode setup guide
    • doc/RESEARCH.md - SDK research notes
  • Updated component platform availability documentation

0.2.2 #

  • Fixed CocoaPods dependency conflict issues
  • Simplified podspec dependency logic

0.2.1 #

  • Documentation cleanup - replaced example branding with generic placeholders
  • Updated WebView integration guide examples

0.2.0 #

  • WebView Mode - Added optional WebView-based rendering for all components
    • New WebViewConfig class to configure self-hosted web app URL
    • Pass webViewConfig to StripeConnect.initialize() to enable
    • All 13 components automatically switch to WebView when configured
  • Tax & Capital on Mobile - Components previously web-only now work on iOS/Android via WebView mode
    • StripeTaxSettings, StripeTaxRegistrations auto-fallback to WebView
  • New exports: StripeConnectWebView, StripeConnectPaths, WebViewConfig
  • Added webview_flutter dependency for WebView support
  • See STRIPE_CONNECT_WEBVIEW_INTEGRATION.md for hosting your own Stripe Connect web app

0.1.0 #

  • Web Platform Support - Added full web platform support using Stripe Connect.js
  • Added new embedded components:
    • StripeNotificationBanner - Show required actions for compliance
    • StripeBalances - Display balance information and payout controls
    • StripeDocuments - Show documents available for download
    • StripeTaxSettings - Configure tax settings (Web only)
    • StripeTaxRegistrations - Manage tax registrations (Web only)
    • StripePayoutsList - Filterable list of payouts
    • StripePaymentDetails - Payment detail overlay
    • StripePayoutDetails - Payout detail overlay
    • StripeDisputesList - View and manage disputes
  • Added appearance parameter to StripeConnect.initialize() for web
  • Updated documentation with comprehensive platform support matrix

0.0.2 #

  • Fixed issue with Android platform.

0.0.1 #

  • Initial release
  • Added StripeAccountOnboarding widget for connected account onboarding
  • Added StripeAccountManagement widget for account settings management
  • Added StripePayouts widget for viewing payout history
  • Added StripePayments widget for viewing payment history
  • Added ConnectAppearance for UI customization
  • Android and iOS platform support
3
likes
160
points
668
downloads

Documentation

API reference

Publisher

verified publisheryouhanasheriff.com

Weekly Downloads

Flutter plugin for Stripe Connect embedded components. Embed account onboarding, account management, payouts, and payments UI in your Flutter app.

Repository (GitHub)
View/report issues

Topics

#stripe #payments #connect #fintech

License

MIT (license)

Dependencies

flutter, flutter_web_plugins, web, webview_flutter

More

Packages that depend on flutter_stripe_connect

Packages that implement flutter_stripe_connect