- Add support for Google Pay and Apple Pay through the official
pay
library- Pass the resulting
paymentResult
to the respectiveStripe.confirmPaymentWith...
method. - See https://pub.dev/packages/pay for more information.
- Pass the resulting
- Add support for null safety and dart 3.0
- Remove most UI and screens from the library, users are encouraged to implement their own UI.
- Add example UI screens to the example app.
- Remove convenience methods for creating payment methods, users are encouraged to use the
flutter_stripe
package to add payment methods.- You can still use the low-level methods to add a payment method, but this is not recommended.
- By using this library to add payment methods, you will eventually be required to complete a PCI SAQ-D form, which requires you to be PCI compliant.
- Instead, use https://pub.dev/packages/flutter_stripe to add payment methods and benefit from Stripe's PCI compliance.
- You can still use this library to perform any other Stripe API calls, and remain PCI compliant, with full support for web.
- Update dependencies to latest versions
- Update example app
- Fix a bug with date validation
- Fix assertion for webReturnPath
- Refactor, simplify and improve credit card validation in
StripeCard
- Add support for postal code in
AddPaymentMethodScreen
andStripeCard
- Removed experimental status of
AddPaymentMethodScreen
andPaymentMethodsScreen
- List up to 100 payment methods in
PaymentMethodsScreen
, up from 10 - Add support for additional request parameters in
CustomerSession.listPaymentMethods
- Misc UI improvements on
AddPaymentMethodScreen
, e.g proper autofill hints and more. - Add new optional parameter
webReturnPath
to all SCA-capable methods. This allow specifying a custom return_url when compiled for web. - Fix issue with iOS not closing webview after SCA.
This update removes many utility methods that were public, but not strictly related to Stripe or this library. In most cases this will not affect you, but if you relied on any of the removed methods I recommend you copy the methods into your project, or find other replacements.
- Removed many unused and unnecessary methods and constants on
StripeCard
- Removed file
card_utils.dart
and all it's contents.
- Add new method:
StripeApi.createSource()
CustomerSession
now implementsChangeNotifier
, notifying listeners when the session is ended.CustomerSession
will throw an error if attempted used after the session has ended.- Added
CustomerSession.endSession()
instance method. PaymentMethodStore
will now be cleared, listeners notified and finally disposed when the relatedCustomerSession
is ended.
CustomerSession.endCustomerSession()
has been deprecated and replaced byCustomerSession.instance.endSession
.
- Update dependencies
- Fix misc warnings and lint issues
- Fix lint issues
- Fix unhandled exception due to unknown parameter: exp_mont
- Added Support for custom decorations in card form
- Updated default stripe api version to
2020-03-02
- Removed
Card.toMap()
- Removed support for non-card properties on Card (billing details)
- See #61 (comment)
- Rename
confirmSetupIntentWithPaymentMethod
toconfirmSetupIntent
as this is the default, general case. - Rename
confirmSetupIntent
toauthenticateSetupIntent
so it aligns more withauthenticatePaymentIntent
, as they share similar behavior. - Make
returnUrlForSca
a required parameter for Stripe
- class: CardNumberFormatter
- constructor: CustomerSession
- Stripe.getReturnUrl
- Stripe.handlePaymentIntent
- Stripe.handleSetupIntent
- Updated readme
- Updated uni_links
- Added additional API documentation
- Fixed validation for expiration month
Please provide feedback on experimental features and examples.
- Fix misc minor bugs
- Fix misc lint issues
- Major improvements to UI and functionality
- Use a shared cache to avoid loading all payment methods repeatedly
- Create setup intent immediately upon entering add PM screen
- Basic implementation of a checkout screen
- Misc changes related to PaymentMethodsScreen
- Started example implementation of CheckoutScreen
-
Expose StripeApiException and StripeApiError
-
Deprecated Stripe.handlePaymentIntent. Contact me if you used this.
-
Deprecated Stripe.handleSetupIntent. Contact me if you used this.
-
Deprecated
CustomerSession()
constructor. 3.0 will enforce the singleton pattern. -
Removed experimental parameter
nextAction
fromStripe.authenticatePayment()
-
Added
Stripe.authenticatePaymentWithNextAction()
A complete UI screen that lets a user view, delete and add stripe payment methods.
- Slide right to display delete option
- Press
+
to openAddPaymentMethodScreen
- Re-organize example code
-
Use explicit type for CreateSetupIntent return.
-
Added optional [nextAction] parameter to Stripe.authenticatePayment.
-
Make [paymentMethodId] of
Stripe.confirmPayment
optional -
Fix bug which prevented ephemeral keys from refreshing correctly.
- Add [Customer Details]
- Add [Payments] with automatic and manual confirmation
-
Add visual card widget in CardForm
-
Fix misc bugs in CardForm
- Add focus handling for CardForm.
- Give card number focus by default.
- Enable tapping "next/arrow" on keyboard to move to next field.
-
Added a complete demo application, available in /examples/app.
- Display, add and remove payment methods.
- Add payment methods with and without Setup Intent.
- Quickly test pre-made Stripe test cards, with SCA and more.
-
Made the
StripeApi
instance onStripe
objects public. This avoids having to create a separate StripeApi instance. -
Fixed bug which prevented ephemeral keys from refreshing correctly.
- Added "AddPaymentMethod" screen, which handles the complete flow of adding a payment card.
- This is still WIP and in beta stage, meaning the API might change.
Minor breaking change.
- Rename returnUrlForSCA to returnUrlForSca.
- Add support for custom return url scheme
- Update documentation
- Add links to complete examples of the stripe SDK and supporting backend.
- Fix bug which caused initial expiry date not to be set
- Add runnable example in example/app
- Add support for custom text style on card form and form fields
- Added examples for card form and form fields
- Allow custom form field error text
- Fix bug where card number input field would allow more than 16 digits
- Add support for custom input decorators on card form and form fields
-
Minor breaking change: Split package into two separate sub-libraries:
- stripe_sdk: API related functionality
- stripe_sdk_ui: UI widgets and utilities
-
Replaced ListView with Column inside the CardForm
-
Updated dependencies
- Add CardForm widget, which can be used to add or edit credit cards.
- Complete validation for card number, expiration date and CVC
- Individual FormField widgets can be used to create a custom form
- Fix bug in Stripe.authenticatePayment
- Add support for connected accounts
- Add optional constructor parameter
stripeAccount
for all APIs
- Add optional constructor parameter
- Remove unused stripeAccount property on
StripeApi
- Add Stripe.confirmSetupIntentWithPaymentMethod
- Rewrite of internal API
- Fixed several issues and bugs
- Restructured public API with breaking changes
- Split
Stripe
intoStripeApi
andStripe
- SCA related features moved to
Stripe
- Moved basic Stripe API requests to
StripeApi
- Split
See README and examples for further details details.
- Misc minor updates and fixes
- Complete support for SetupIntent with SCA
- Fix bug with confirmPayment
- Internal refactoring
- Support multiple simultaneous authentication flows
- Improve documentation and examples
- Allow specifying apiVersion for CustomerSession
- Allow multiple instances of Stripe and CustomerSession
- Improve examples
- Improve API for SCA-related features
- Improve examples
- Remove typed models
- Add some support for payment intents
- Complete support for payment methods
- Complete support for tokens
- Add examples
- Major cleanup
- Add analysis_options.yaml
- Fix dartanalyzer issues
- Fix other misc packaging issues
- Initial release