flutter_stripe 10.2.0 flutter_stripe: ^10.2.0 copied to clipboard
Flutter library for Stripe. Supports PaymentSheets, Apple & Google Pay, SCA, PSD2 and much more.
10.2.0 #
Features
- Sync with Stripe 0.38.0:
- Adds support for paymentMethodOrder in PaymentSheet, which provides client side sorting of payment methods. Fixes
- Fix: Apply dynamic Stripe account ID to confirmPayment method in WebStripe (#1798)
- Update models and bugfixes for flutter_stripe_web
10.1.1 #
Fixes
- #1670 Fix issue when not providing preferredNetworks on
CardField
orCardForm
10.1.0 #
Features
- #1122 Add google pay and apple pay for web
- Sync with Stripe 0.37.0
- #1606 Enable tap to pay
Fixes
- #1637 Cash app pay causes crash on web.
- #1608 prevent paymentintent crash.
- #1465 unknow result.
- #1512 add latest charge field to payment intent (Web only).
10.0.0 #
Breaking changes
Rename ApplePayShippingContact
to PlatformpayshippingContact
.
Fixes
- #1465 Handle nullable result coming from Stripe sdk.
- #1512 add latest charge field to payment intent (Web only).
- #1522 add bankidentifiercode to ideal paymentdata.
- #1560 fix payment sheet crash when pressing back button.
9.6.0+1 #
- add requirement for Android gradle plugin to readme
9.6.0 #
Sync with Stripe React Native v0.34 and v0.35:
Features
- Added new presentationStyle options for CustomerSheet and AddressSheet.
- Support PlatformPayButton's appearance and borderRadius props on Android.
- PaymentSheet now supports Swish for PaymentIntents in private beta.
- PaymentSheet now supports saved payment method support for SEPA family payment methods.
- Added support for Flutter 3.16 and AGP 8
Fixes #1459 allow image to be null (#1466). #1409 send usesDeprecatedTokenFlow to stripe platform (#1410).
9.5.0 #
Sync with Stripe React Native v0.33:
Features
-
Added the
amount
andlabel
params toinitPaymentSheet
'sgooglePay
field configuration. Use this to diplay the amount for setup intents. -
Added the
amount
andlabel
paramscreatePlatformPayPaymentMethod
,confirmPlatformPayPayment
, andconfirmPlatformPaySetupIntent
. -
PaymentSheet now supports the following payment methods on both iOS and Android (previously some of the following were iOS only) for SetupIntents and PaymentIntents with setup for future usage:
- Alipay
- BECS Direct Debit
- Cash App Pay
- iDEAL
- SEPA
- Sofort
- Bancontact
- BLIK
- Boleto
- Revolut Pay
- OXXO (PaymentIntents only)
- Konbini (PaymentIntents only)
-
PaymentSheet now supports the following payment methods on iOS only for SetupIntents and PaymentIntents with setup for future usage:
- PayNow
- PromptPay
-
createPlatformPayPaymentMethod
andcreatePlatformPayToken
now also include an optionalshippingContact
field in their results. #1500 -
Added the
removeSavedPaymentMethodMessage
field toinitPaymentSheet
to display a custom message when a saved payment method is removed. iOS Only. #1498 -
[BETA] Added CustomerSheet API, a prebuilt UI component that lets your customers manage their saved payment methods. #1491
-
[PaymentSheet] Added support for AmazonPay (private beta), BLIK (iOS only), GrabPay, and FPX with PaymentIntents. #1491
Fixes
- Fixed an issue on iOS where the value for the
paymentMethod
field on the returnedpaymentIntent
object fromconfirmPlatformPayPayment
and the returnedsetupIntent
object fromconfirmPlatformPaySetupIntent
would be null. - Fixed an issue on iOS where recollecting the CVC wouldn't work correctly. #1501
- Fixed font scaling on Android PaymentSheet not respecting floating-point number values. #1469
9.4.0 #
9.3.0 #
Features
- Add method for retrieve setupintent.
Fixes
- Calling confirm payment without params won't crash #1246
- Fix inproper calling of cashapp payment method. #1313
- Sync with Stripe 0.28.0.
9.2.2 #
Fixes
- Updates json_annotation version requirement
9.2.1 #
Fixes
- Move amount value to GooglePayPaymentMethodParams #1255
- iOS: Apple Pay updatePlatformSheet now pass the errors #1230
- iOS: Fixes styling parameter for ApplePayButton #1231
- Android: Fixes bug that to display image in card form #1254
- Sync with Stripe 0.27.1.
9.2.0 #
Features
- Add
BillingDetailsCollectionConfiguration
to payment sheet for collecting addresses. - Sync with Stripe 0.27.
Fixes
- Make project compatible with Android gradle plugin 8.0.
- New google pay button assets in order to comply with Google's new branding guidelines.
- #1219 use correct value for enum PaymentConfirmationRedirect.ifRequired.
- Add setting to render the cardfield using the standard AndroidView instead as alternative to the default ExpensiveAndroid view.
9.1.1 #
This release brings a lot of improvments to the web plugin, like later payments using SetupIntents or using tokens. It also fixes the Apple Pay plugin that comes with new native features like order tracking and discount codes
Deprecated fields
- The field
createdDateTime
inTokenData
has changed tocreated
. It will be removed in later versions
Features
9.0.0+1 #
- Fix Android compilation issue (thanks to @asaarnak)
9.0.0 #
This release is based on version 0.25.0 of Stripe React Native:
Breaking Changes
- Renamed the
paymentSummaryItems
field ininitPaymentSheet()
'sapplePay
params tocartItems
.
Features
- Added the
supportsTapToPay
option tocanAddCardToWallet
. reference - Added the
setOrderTracking
property to thePlatformPayButton
component and theinitPaymentSheet
method. Use this callback for setting the order details to give users the ability to track and manage their purchases in Wallet. To learn more about order tracking, see Apple’s Wallet Orders documentation. reference - Added the
buttonType
field toinitPaymentSheet()
'sapplePay
params. Use this to set the text displayed by the call to action button in the Apple Pay sheet.reference - Added the
request
field toinitPaymentSheet()
's,confirmPlatformPayPayment()
's, andconfirmPlatformPaySetupIntent
'sapplePay
params. Use this to support different types of payment requests, likeRecurringPaymentRequest
,AutomaticReloadPaymentRequest
, andMultiMerchantRequest
.reference - Added an
options
argument topresentPaymentSheet
which includes atimeout
property. reference - Added the
hasPairedAppleWatch
option tocanAddCardToWallet
. reference - Added new functions and a new component to streamline integrating with Apple and Google Pay and add more feature support. See the Migrating to Platform Pay guide for more details. The old Apple and Google Pay APIs are marked as
deprecated
and will be removed in a future release, but are still supported in this version.
Fixes
- Fixed an issue on iOS where
canAddCardToWallet
would always return adetails.status
ofUNSUPPORTED_DEVICE
on iPads. reference - Fixed an issue on iOS where
canAddCardToWallet
would always return a{canAddCard: false}
if the card in question had been provsioned on the current device, but had not yet been provisioned on a paired Watch. ref - Fixed an issue on iOS where the deprecated
onDidSetShippingMethod
&onDidSetShippingContact
events wouldn't be triggered if you were using theuseApplePay
hook without using theApplePayButton
component. ref - Fixed an issue on Android where
canAddCardToWallet
could result in a null pointer exception on devices without NFC compatibility. ref - Fixes a build failure on Android when using
stripe-android
v20.19.2. ref - Fixed a bug on Android where
canAddCardToWallet
wouldn't correctly return thedetails.token
object. ref - Fixed an issue with
confirmPlatformPaySetupIntent
on iOS. ref - Fixed types so that Klarna accepts the
shippingDetails
property. ref - Both
PaymentIntent.Result
andSetupIntent.Result
types now include apaymentMethod
field. This replaces thepaymentMethodId
field, which will be removed in a later release. ref - Fixed an issue with
createPlatformPayPaymentMethod
on iOS where a "Canceled" error could be returned in production. ref - Fixed an issue where the
PlatformPayButton
withtype={PlatformPay.ButtonType.GooglePayMark}
would be unclickable. ref - Fixed an issue on Android where
CardField
would render without the necessary padding. 48debb2 - Fixed an issue on iOS where providing a
null
value to certain method parameters would result in a crash. ref - Fixed the
ShippingMethod
type to contain theisPending
field instead of atype
field (which previously was never correct). This reflects the inputs accepted. ref - Fixed the
ShippingMethod
type to contain thestartDate
andendDate
keys, if applicable. ref - Fixed instances of the "duplicate registered views" error. ref
- Fixed extra margin that was being added to
<CardForm />
on Android. ref - Fixed an issue where builds would error with the message
'const' enums are not supported.
see commit - Fixed an issue where the
canAddCardToWallet
method would sometimes wrongly returnfalse
with adetails.status
ofMISSING_CONFIGURATION
in production builds. ref - Fixed an issue on Android where, for certain countries, the postal code would not be enabled but would still be required. ref
- Fixed an issue on iOS where
canAddCardToWallet
would returnfalse
if the card had already been provisioned on a paired device like an Apple Watch, but had not yet been provisioned on the current device, and would also returnfalse
if the card had been provisioned on the current device, but not on a paired Apple Watch. ref
Note
This version pulls in a new version of stripe-android
that now requires v1.8.0 of the Kotlin Gradle plugin. Refer to this issue for a limited workaround.
8.0.0+1 #
Breaking Changes
- This library now supports the new Stripe platform pay methods. See: migration guide for more details.
Fixes
- Fix for #955 and #1081, enable automatic webview closing.
- Fix #1083 use correct method channel for dangerouslyupdateCard.
- Several fixes by the Stripe sdk v.0.21.0 , v.0.22.0 and v.0.23.0.
- FIX: #1083 use correct method channel for dangerouslyupdateCard (#1094).
- FEAT: scroll to keep card field visible (#1061).
7.0.0 #
Breaking Changes
- This library now supports iOS 13 and up, due to stripe-ios increasing the deployment target
Features
-
Added Link support in Payment Sheet.
-
Added the resetPaymentSheetCustomer method to clear persisted authentication state in the PaymentSheet.
-
Added preferredNetwork and availableNetworks fields to the CardResult payment method.
-
Added support for custom fonts to CardForm and CardView on Android.
-
Added support for customizing the call to action button label in Payment Sheet by providing the primaryButtonLabel property to initPaymentSheet().
-
Fixes
-
Several fixes by the Stripe sdk v.0.20.0.
6.0.0 #
Breaking Changes
- Move
PaymentMethodOptions
out ofPaymentMethodparams
so interface is similar with Stripe sdk.
Before
await Stripe.instance.confirmPayment(
paymentIntentClientSecret: clientSecret,
data: PaymentMethodParams.card(
paymentMethodData: PaymentMethodData(
billingDetails: billingDetails,
),
options: PaymentMethodOptions(
setupFutureUsage: PaymentIntentsFutureUsage.OffSession : null,
),
),
);
Now
await Stripe.instance.confirmPayment(
paymentIntentClientSecret: clientSecret,
data: PaymentMethodParams.card(
paymentMethodData: PaymentMethodData(
billingDetails: billingDetails,
),
),
options: PaymentMethodOptions(
setupFutureUsage: PaymentIntentsFutureUsage.OffSession : null,
),
);
- Deprecate support for Flutter 2 in order to use the new expensive Androidviews. This improves the overall experience on Android.
5.1.0 #
- Several fixes by the Stripe sdk v.0.19.0.
- Fix for #462, added
handleURLCallback
method for iOS to handlereturnUrl
when iDeal payment is successful. This will close the in-app webview of Safari.
5.0.1 #
- Fix for #462, added
handleURLCallback
method for iOS to handlereturnUrl
when iDeal payment is successful. This will close the in-app webview of Safari
5.0.0 #
Breaking changes
- Your compileSdkVersion (in android/build.gradle) now must be at least 32. Changing your compileSdkVersion does not change runtime behavior.
Features
- Added support for pay_dark and standard_dark to the GooglePayButton component. This allows you to display the dark Google Pay button.
- Added support for borderColor, borderRadius, and cursorColor to CardForm's cardStyle prop on iOS (already exists on Android).
- Added the collectBankAccountToken & collectFinancialConnectionsAccounts functions.
- confirmPayment can now be called with just a client secret (e.g. await confirmPayment("payment-intent-id")), in other words the payment method can be excluded. If the payment method is excluded, it is assumed by the SDK that you have attached the payment method on the server-side during payment intent creation.
- Payment Sheet now supports Link on iOS. #1086.
Other changes
4.0.0 #
** Breaking changes **
- Added support for iOS 15 paymentSummaryItems: PKDeferredPaymentSummaryItem and PKRecurringPaymentSummaryItem. Adding a summary item before was:
ApplePayCartSummaryItem(
label: 'Product Test',
amount: '0.01',
);
Becomes
ApplePayCartSummaryItem.immediate(
label: 'Product Test',
amount: '0.01',
);
-
Changed paymentsheet parameters to make it more clear which settings are used for Google Pay and Apple Pay. Changes:
merchantCountryCode
is now moved into bothPaymentSheetApplePay
andPaymentSheetGooglePay
,currencyCode
andtestEnv
is now part of thePaymentSheetGooglePay
object. -
Added possibility to add
ApplePayCartSummaryItem
to the paymensheet.
Other changes
- Support for affirm payment method.
- Several fixes by the Stripe sdk v.0.15.0.
3.2.0 #
- Added possibility to create a PII token.
- Support country code in Cardfield.
- Added default values to CardformField.
- Several fixes by the Stripe sdk v.0.13.0.
3.1.1 #
- Fix #771
3.1.0 #
- Added styling parameters for the payment sheet.
- Better error logging for Google Pay.
- Fix #462 Not returning back when using in app browser.
- Fix bug that threw not implemented exception in the nextCardAction method when using 3d Secure.
- Make Flutter Stripe backwards compatible with Flutter v2.
- Fix #731 Styling for the Cardform field.
- Several fixes by the Stripe sdk v.0.10.0, v.0.11.0 and v.0.12.0 .
3.0.2 #
- fix internal dependency version to stripe_platform_interface
3.0.1 #
** Breaking change **
- handleCardAction is now called handleNextAction
3.0.0 #
** Breaking changes **
- Support for Flutter 3 and support Dart sdk 2.16 and higher.
- Only supports application running on Freezed v2.0.0 and higher
- Changed parameter structure for
createPaymentMethod
,confirmPayment
,confirmSetupIntent
in line with latest changes of the Stripe SDK. For example
Stripe.instance.confirmPayment(
clientSecret,
PaymentMethodParams.ideal(
bankName: 'revolut',
),
);
Becomes
Stripe.instance.confirmPayment(
clientSecret,
PaymentMethodParams.ideal(
paymentMethodData:
PaymentMethodDataIdeal( 'revolut'),
),
);
- Change styling parameter structure for Cardformfield in order to support more styling options.
Other changes
2.5.0 #
- BREAKING CHANGE: Mostly fixes and changes to types, but some method's now accept slightly different parameters:
- Removed setUrlSchemeOnAndroid in favor of setReturnUrlSchemeOnAndroid. setReturnUrlSchemeOnAndroid functions exactly the same, this is just a rename.
- Removed handleCardAction in favor of handleNextAction. handleNextAction functions exactly the same, this is just a rename.
- BREAKING: This library now supports iOS 12 and up, due to
stripe-ios
increasing the deployment target.- To upgrade your iOS deployment target to 12.0, you can either do so in Xcode under your Build Settings, or by modifying IPHONEOS_DEPLOYMENT_TARGET in your project.pbxproj directly. You will also need to update your Podfile to target :ios, '12.0'.
- Feat: add card ID and bankAccount ID to token response
- Feat: Add support for ACHv2
- Feat: Add support for setting a card's currency when creating a Token
- Feat: Added support for placeholderColor, textErrorColor , borderColor, borderRadius, and borderWidth for AuBECSDebitForm on iOS
- Several fixes by the Stripe sdk v0.7.0
- Updated freezed dependency to allow 2.x
2.4.0 #
2.3.0 #
- add isGooglePaySupported method
- reenable support for legacy bank account token creation
- Several fixes by the Stripe sdk v0.3.0
2.2.0 #
2.1.1 #
2.1.0 #
** Enabled web support (Beta) **
Other changes
- Integrated native form to collect Aubecs payment data
- Add Button Border-Radius for Apple Pay Button #448
- Update dependencies to comply to new Flutter and dart release
- Add billing name for future payments #441
2.0.2 #
- New params
primaryButtonColor
,billingDetails
andallowsDelayedPaymentMethods
forinitPaymentSheet
- Fixed iOS focus issues #408
2.0.1 #
- FIX: focus issue on CardFormField on Android. #397
- DOCS: correct AppCompat mention in README.md. #392
2.0.0 #
1.3.0 #
** BREAKING CHANGES **
- Deprecate redundant parameters for payment sheet.
Other changes
- Add new multiline card form.
- Add Stripe Google pay integration.
- Add WeChat payment method.
- Improved example app.
1.2.0 #
** Breaking changes **
- Rename
confirmPaymentMethod
toconfirmPayment
accordingly with the change in the native SDK
Other changes
- Sync with latest Stripe sdk.
- Add
StripeException
that encapsulates finer grained and localized error messaging coming from the Stripe SDK. - Add
CardEditController
to handle theclear
,focus
,blur
methods from the cardfield. - Implement
FontFamily
on iOS. - Add
dangerouslyUpdateCardDetails
to allow custom UIs. (Please be sure to understand the severe implications of this approach here).
1.1.0 #
** Breaking changes **
- Make
paymentIntentClientSecret
nullable for SetupPaymentSheetParameters and add setupIntentClientSecret. - Rename
ThreeDSecureSubmitButtonThemeData
toThreeDSecureButtonThemeData
in order to facilitate for a generic class to customise 3D secure buttons.
Other changes
- Sync with latest Stripe sdk.
- Fix #147 add
urlscheme to initialise method
. Thanks to @dariuspo. - Improved focus behavior on Cardfield.
- Add
dangerouslyGetFullCardDetails
andFontFamily
to cardfield. - Better debug logging in case something goes wrong.
1.0.2 #
1.0.1+3 #
- Fix: CardField textColor and enablePostalCode params
1.0.1 #
- Include Payment Sheet
1.0.0 #
- Initial beta release