Breaking changes
- Removed support for FPX payments via the bank picker UI. If you'd like to accept FPX payments, we recommend using Mobile Payment Element. Also see the FPX Payment guide for more info on how to integrate FPX specifically.
Features
CustomerSheet
is now generally available!- If you were using
CustomerSheetBeta
, change that toCustomerSheet
. - If you were using
CustomerSheetBeta.CustomerSheet
, change that toCustomerSheet.Component
- If you were using
Features
- Adds support for CustomerSession in private beta 1744
- Added
onBehalfOf
prop to CardField
Fixes
- Updated
stripe-ios
to 23.30.* - Updated
stripe-android
to 20.52.*
Fixes
- Fixed build errors on Android when using React Native 0.75.x
Fixes
- Fixed an issue on Android where
allowsRemovalOfLastSavedPaymentMethod
would default tofalse
if not provided.
Fixes
- Fixed an issue on Android where
CustomerSheet
could get stuck in an error state after forwarding an error to theintentCreationCallback
.
Fixes
- Updated
stripe-ios
to 23.28.* - Updated
stripe-android
to 20.48.*
Fixes
- Fixed
preferredNetworks
prop on CardForm on iOS not always being applied - Updated
stripe-android
to 20.47.3
Features
- Adds support for
paymentMethodOrder
in PaymentSheet, which provides client side sorting of payment methods. - Updated
stripe-android
to 20.44.*
Fixes
- Fixed an issue with generating App Privacy reports.
- Updated
stripe-ios
to 23.27.* - Updated
stripe-android
to 20.41.*
Fixes
- Updated
stripe-ios
to 23.26.* - Updated
stripe-android
to 20.40.*
Fixes
- Updated
stripe-ios
to 23.25.* - Updated
stripe-android
to 20.39.*
Breaking changes
- Your
compileSdkVersion
(inandroid/build.gradle
) now must be at least 34. Changing yourcompileSdkVersion
does not change runtime behavior.
Fixes
- Fixed an issue on Android where the SDK was unable to follow URL redirects in some cases.
- Fixed an issue on Android where Google Pay & Link were not saved as default payment methods in PaymentSheet.
Features
- Use
preferredNetworks
onCardField
,CardForm
,CustomerSheet
, andPaymentSheet
to set the list of preferred networks that should be used to process payments made with a co-branded card. - Set the Google Pay button type that is used in PaymentSheet with the
googlePay.buttonType
parameter.
Fixes
- Fixed an issue on Android where
CardField
'splaceholderColor
wasn't being applied to the card brand icon.
Fixes
- Fixed a build error on Android when using React Native 0.73.0 and higher #1579
- Fixed the test mock for
useStripe
#1559 - Fixed a build error on Android that would only occur when using the
nx
build tool #1586
Features
- Added support for RevolutPay bindings
Features
- Added new
presentationStyle
options for CustomerSheet and AddressSheet. #1515 - Support
PlatformPayButton
'sappearance
andborderRadius
props on Android. #1534 - PaymentSheet now supports Swish for PaymentIntents in private beta #1542
- PaymentSheet now supports saved payment method support for SEPA family payment methods #1542
Fixes
- Fixed an issue on Android where apps could crash when launching Google Pay
- Fixed an issue on Android where
street
inshippingContact
for PlatformPay methods would includenull
in the string - Fixed an issue on Android where
phoneNumber
inShippingContact
for PlatformPay methods would benull
- Removed XML asset files, library size reduced. #1534
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
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.
Features
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
Fixes
- Fixed an issue on iOS where recollecting the CVC wouldn't work correctly. #1501
Features
- [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 font scaling on Android PaymentSheet not respecting floating-point number values. #1469
Features
- Added the
handleNextActionForSetup
method. This can be used exactly likehandleNextAction
, except with SetupIntents. #1440 canAddCardToWallet
now returns thefpanLastFour
anddpanLastFour
in theGooglePayCardToken
type. ThecardLastFour
field (which is now superseded byfpanLastFour
) is deprecated.
Fixes
- Fixed an error on Android where
AddressSheet
would throw an error if submitted with the keyboard open. #1462 - Fixed an issue where
state
was not included in the returned PaymentIntent'sshippingDetails
on iOS. #1465 - Fixed an error where
usePaymentSheet
could cause infinite reloads. #1439'
Breaking changes
- The Apple Pay and Google Pay APIs, which are deprecated and were replaced with the Platform Pay API last year, have been removed. #1424
Features
- You can now collect payment details before creating a
PaymentIntent
orSetupIntent
. See our docs for more info. This integration also allows you to confirm the Intent on the server. #1424
Fixes
- Fixes
handleURLCallback
to only take action on iOS, no-op on Android. #1423
Features
- Added a
disabled
prop toCardField
andCardForm
which applies a disabled state such that user input is not accepted. #1403
Fixes
- Fixed an instance on Android where
collectBankAccountToken
orcollectFinancialConnectionsAccounts
could result in a fatal error. #1401 - Resolve with better error objects on iOS in
confirmPaymentSheetPayment
,createTokenForCVCUpdate
,createPaymentMethod
,retrievePaymentIntent
, andretrieveSetupIntent
#1399
Fixes
Note: Xcode 13 is no longer supported by Apple. Please upgrade to Xcode 14.1 or later.
Fixes
- Fixed the type of
created
onToken.Result
on Android (was a number, should be a string). #1369 - Fixed
AddToWalletButton
not properly resolving theandroidAssetSource
in release mode. #1373 - Fixed
isPlatformPaySupported
not respectingexistingPaymentMethodRequired
ortestEnv
on Android. #1374
Features
- Added
billingDetailsCollectionConfiguration
toinitPaymentSheet
parameters. Use this to configure the collection of email, phone, name, or address in the Payment Sheet. See the docs here #1361
Fixes
- Updated Google Pay button asset to match Google's most recent branding guidelines. #1343
- Fixed type for
ApplePay.ShippingContact.phoneNumber
. #1349 - Fixed
CardResult
type to includethreeDSecureUsage
. #1347
Features
- Added support for PayPal and CashApp to PaymentSheet,
confirmPayment
, andconfirmSetupIntent
. #1331
Fixes
- Compatible with v0.1.4 of
@stripe/stripe-identity-react-native
. 8fa8a7a
Features
- Added the
supportsTapToPay
option tocanAddCardToWallet
. #1308
Fixes
- Fixed an issue on iOS where
canAddCardToWallet
would always return adetails.status
ofUNSUPPORTED_DEVICE
on iPads. #1305 - 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. #1305 - 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. #1298 - Fixed an issue on Android where
canAddCardToWallet
could result in a null pointer exception on devices without NFC compatibility. #1308
Breaking changes
- #1248 Renamed the
paymentSummaryItems
field ininitPaymentSheet()
'sapplePay
params tocartItems
. So your change will look like this:
initPaymentSheet({
...
applePay: {
- paymentSummaryItems: [
+ cartItems: [
}
...
})
Features
- 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. #1248 - 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.#1248 - Added the
request
field toinitPaymentSheet()
's,confirmPlatformPayPayment()
's, andconfirmPlatformPaySetupIntent
'sapplePay
params. Use this to support different types of payment requests, likeRecurringPaymentRequest
,AutomaticReloadPaymentRequest
, andMultiMerchantRequest
.#1248 - Added an
options
argument topresentPaymentSheet
which includes atimeout
property. #1287
Fixes
- Fixes a build failure on Android when using
stripe-android
v20.19.2. #1289
Fixes
- Fixed a bug on Android where
canAddCardToWallet
wouldn't correctly return thedetails.token
object. #1282
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.
Fixes
- Fixed an issue with
confirmPlatformPaySetupIntent
on iOS. #1266 - Fixed types so that Klarna accepts the
shippingDetails
property. #1272 - Both
PaymentIntent.Result
andSetupIntent.Result
types now include apaymentMethod
field. This replaces thepaymentMethodId
field, which will be removed in a later release. #1272
Breaking changes
createPlatformPayPaymentMethod
no longer returns atoken
object. #1236- If your integration depends on Stripe's Tokens API, please use
createPlatformPayToken
, which accepts identical arguments.
- If your integration depends on Stripe's Tokens API, please use
Fixes
- Fixed an issue with
createPlatformPayPaymentMethod
on iOS where a "Canceled" error could be returned in production. #1236 - Fixed an issue where the
PlatformPayButton
withtype={PlatformPay.ButtonType.GooglePayMark}
would be unclickable. #1236 - 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. #1252
Fixes
- Fixed the
ShippingMethod
type to contain theisPending
field instead of atype
field (which previously was never correct). This reflects the inputs accepted. #1227 - Fixed the
ShippingMethod
type to contain thestartDate
andendDate
keys, if applicable. #1227 - Fixed instances of the "duplicate registered views" error. #1233
- Fixed extra margin that was being added to
<CardForm />
on Android. #1234
Breaking changes
Features
- Added the
hasPairedAppleWatch
option tocanAddCardToWallet
. #1219 - 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 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. #1215 - Fixed an issue on Android where, for certain countries, the postal code would not be enabled but would still be required. #1213
- 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. #1219
Breaking changes
Features
- Added the
<AddressSheet />
component, which enables you to collect local and international shipping or billing addresses from your customers with address autocomplete. #1169 - Added the
defaultShippingDetails
field to theparams
argument ininitPaymentSheet(params)
. This will allow you to collect shipping details (either in your own UI or using the new<AddressSheet />
component) for payments in the Payment Sheet. #1169
Fixes
- Fixed a build error on Android when using Kotlin version 1.7.10. #1195
Breaking changes
- This library now supports iOS 13 and up, due to
stripe-ios
increasing the deployment target. If you would like to build for iOS 12, please continue to use@stripe/[email protected]
. #1190
Features
- Added Link support in Payment Sheet. #1176
- Added the
resetPaymentSheetCustomer
method to clear persisted authentication state in the PaymentSheet. #1176 - Added
preferredNetwork
andavailableNetworks
fields to theCardResult
payment method. #1176 - Added support for custom fonts to
CardForm
andCardView
on Android. #1150 - Added support for customizing the call to action button label in Payment Sheet by providing the
primaryButtonLabel
property toinitPaymentSheet()
. #1190
Fixes
- Fixed an issue on iOS where
confirmSetupIntent
would throw an error if theCard
payment method was provided with thepaymentMethodId
parameter. #1151 - Upgraded
stripe-android
to 20.15.+. #1176 - Upgraded
stripe-ios
to 23.1.+. #1190 - Fixed
FinancialConnections.Subcategory
andFinancialConnections.Permission
types to be camel-case instead of snake case. #1176 - Fixed an issue with Financial Connections on iOS where the app wouldn't properly redirect back after authentication. #1178
- Fixed
borderWidth
andborderRadius
for<CardField />
andCardForm />
was inconsistent across iOS and Android. #1182
Breaking changes
- To comply with Google's new branding guidelines for the Google Pay button, the
<GooglePayButton />
component'stype
prop now only acceptsstandard
orpay
(pay_shadow
,pay_dark
,standard_shadow
, andstandard_dark
were all removed). It defaults tostandard
. #1135 - Your
compileSdkVersion
(inandroid/build.gradle
) now must be at least 33. Changing yourcompileSdkVersion
does not change runtime behavior.
Features
- Add
returnURL
as an optional parameter tohandleNextAction
. Use this so the Stripe SDK can redirect back to your app after authentication. #1104
Fixes
- Fixed an issue where the error resolved on iOS wasn't the root error. #1105
- Fix Expo Config Plugin support on SDK 46. #1111
- Updated
stripe-ios
from 22.7.+ to 22.8.+. Updatedstripe-android
from 20.9.+ to 20.12.+. This updates the Google Pay button to match the new brand guidelines. #1135
Breaking changes
Features
Fixes
- Fixed an issue where some promises on Android would never resolve when using React Native 0.65.x or under. #1089.
Breaking changes
- Your
compileSdkVersion
(inandroid/build.gradle
) now must be at least32
. Changing yourcompileSdkVersion
does not change runtime behavior.
Features
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. #1084- Payment Sheet now supports Link on iOS. #1086.
Fixes
- Fixed a bug on Android where
collectBankAccountForPayment
,collectBankAccountForSetup
,collectBankAccountToken
, andcollectFinancialConnectionsAccounts
wouldn't work with Stripe Connect accounts. #1086. - Upgraded
stripe-ios
to 22.7.+ andstripe-android
to 20.9.+.
Breaking changes
Features
- Added the
collectBankAccountToken
&collectFinancialConnectionsAccounts
functions.
Fixes
- Fixed an issue where
collectBankAccountForPayment
andcollectBankAccountForSetup
would fail on Android when using React Native 0.65.x or under. #1059 - Fixed an issue where Android apps could crash with the error
IllegalStateException: Cannot remove Fragment attached to a different FragmentManager
. #1054 - Bumped Gradle from 4.2.2 to 7.1.1. #1058
Breaking changes
- The
<GooglePayButton />
component no longer overrides thetype
to use the dark mode version when the device is in Dark Mode. If you set thetype
value, it will always be respected. If you don't set thetype
value, it will match the system's theme (standard_shadow
when in Light Mode, andstandard_dark
when in Dark Mode). #1051
Features
- Added support for
pay_dark
andstandard_dark
to the<GooglePayButton />
component'stype
prop. This allows you to display the dark Google Pay button. #1051 - Added support for
borderColor
,borderRadius
, andcursorColor
toCardForm
'scardStyle
prop on iOS (already exists on Android). #1048
Fixes
- Reduced the size of the
@stripe/stripe-react-native
by preventing unnecessary files from being published. #1043
Breaking changes
- #1020 Changed some of fields for the
params
object that is supplied toinitPaymentSheet(params)
:- Changed the
applePay
field. Previously this field accepted a boolean, now it accepts an object of typeApplePayParams
, which includes themerchantCountryCode
field, and a newpaymentSummaryItems
field (see "Features" below). - Changed the
googlePay
field. Previously this field accepted a boolean, now it accepts an object of typeGooglePayParams
, which includes themerchantCountryCode
,currencyCode
, andtestEnv
fields. - Since the
merchantCountryCode
field now lives under theapplePay
andgooglePay
objects, it has been removed from the baseparams
object. - Similarly, since the
currencyCode
andtestEnv
fields now live under thegooglePay
object, they have been removed from the baseparams
object .
- Changed the
- #1020 In
ApplePay.CartSummaryItem
:- Renamed
type
toisPending
- (if you hadtype: 'pending'
, replace it withisPending: true
. iftype: 'final'
, either remove it or setisPending: false
).- The same change was made to
ApplePay.ShippingMethod
: renamedtype
toisPending
.
- The same change was made to
- Added a new
paymentType
field. This field is required, and in all pre-existing cases where you created aCartSummaryItem
, should be set topaymentType: 'Immediate'
(support for typesDeferred
andRecurring
wasn't available until this release).
- Renamed
Features
- Added support for iOS 15
paymentSummaryItems
:PKDeferredPaymentSummaryItem
andPKRecurringPaymentSummaryItem
. - You can now specify Apple Pay line items to be displayed when paying with Apple Pay in PaymentSheet by providing
applePay.paymentSummaryItems
to theinitPaymentSheet
method. #1020 - Added support for Affirm (previously, Affirm was only available in the Payment Sheet). 1036
Fixes
- Fixed behavior of
CardField
andCardForm
on Android to match that on iOS; postal code input no longer accepts characters that are never present in postal codes (anything besides 0-9, a-z, A-Z, hyphens, and whitespace). #1027. - Fixed an issue on older version of React Native where calling
collectBankAccountForSetup
orcollectBankAccountForPayment
and getting aCanceled
result could cause a crash. #1037 - Fixed an issue where some Android builds would fail on the
lintVitalRelease
step. #1038
Breaking changes
Features
- Added the
canAddCardToWallet
method. #986.
Fixes
- Fix build errors on Xcode 14 beta 1 by upgrading
stripe-ios
to~>22.5.1
. #1011 - Fixed an issue on Android where the
brand
field inCardField
'sonCardChange
callback wouldn't be set unless the card details were fully complete. #1012 - Fixed an issue where Payment Sheet would cause crashes on Android if
merchantDisplayName
wasn't provided. #1015 - Fixed a bug on Android where a crash could occur if the PaymentSheet was canceled and opened again. #1014
- Fixed an instance on iOS where
CardField
's expiry date would remain marked as valid, even when it's invalid. #1018
Breaking changes
Features
Fixes
- Never show postal code input in
CardField
ifpostalCodeEnabled=false
(regardless ofcountryCode
). #996
Breaking changes
Features
- Added a
defaultValues
prop to theCardForm
component. Currently only acceptscountryCode
, and is Android-only. #974 - Added the
countryCode
prop to theCardField
component. #989 - Added option to create a PII token (represents the details of personally identifiable information) to the
createToken
method. #976
Fixes
- Resolve with an Error (of type
Canceled
) if no payment option is selected in the Payment Sheet custom flow (i.e., thex
button is clicked to close the Payment Sheet). #975 - Fixed an issue on Android where the
complete
field in theonCardChange
callback would incorrectly be set totrue
even if the postal code wasn't filled out. #989 - Make
SetupIntent.lastSetupError
andPaymentIntent.lastPaymentError
object shape consistent on iOS and Android.#990
Breaking changes
- Renamed
appearance.shapes.shadow.borderRadius
toappearance.shapes.shadow.blurRadius
, andappearance.primaryButton.shapes.shadow.borderRadius
toappearance.primaryButton.shapes.shadow.blurRadius
. #962
Features
Fixes
- Fixed cases where Android apps would crash with the error:
Unable to instantiate fragment com.reactnativestripesdk.PaymentLauncherFragment
. #965 - Fixed
appearance.shapes.shadow.offset
andappearance.primaryButton.shapes.shadow.offset
not applying the y-coordinate in the correct direction. #962 - Fixed a bug where
handleNextAction
wouldn't resolve on Android when using 3DS2. #966 - Fixed a bug where the wrong CVC icon was show in the
CardForm
component on Android. #966 - The card brand tint color is now correctly set in the
CardField
component on Android via thecardStyle.textColor
prop. #851
Breaking changes
- Removed support for
primaryButtonColor
field oninitPaymentSheet()
. Please use the newappearance.primaryButton.colors.background
field instead. #940
Features
- You can now customize the appearance of your Payment Sheet via the
appearance
field oninitPaymentSheet()
. #940 - Added Affirm and AU BECS Direct Debit support to Payment Sheet. #940
Fixes
- Improved error messages on Android for failed
confirmPayment
andconfirmSetupIntent
calls, and any Google Pay related methods. #957 - Made Android card validation state consistent with iOS in the
CardField
onCardChange
callback. #958
Breaking changes
Features
- Card scanning is available in payment sheet on Android. #944
- To enable this, you will need to add
implementation 'com.stripe:stripecardscan:20.3.+'
to yourdependencies {}
block inandroid/app/build.gradle
.
- To enable this, you will need to add
us_bank_account
payment method is now available in the payment sheet on Android. #944
Fixes
- #913 BREAKING CHANGE: Changed props for the
<AddToWalletButton />
component. Instead of passingcardHolderName
,cardLastFour
,cardDescription
, andcardBrand
directly as props, you will instead pass acardDetails
prop, which is an object containing the following fields:primaryAccountIdentifier
: Thewallet.primary_account_identifier
value from the issued card.name
: The card holder name (previouslycardHolderName
).description
: A user-facing description of the card (previouslycardDescription
).lastFour
: Last 4 digits of the card, optional (previouslycardLastFour
).brand
: The card brand, optional (previouslycardBrand
).
- #925 Feat:
us_bank_account
payment method is now available in the payment sheet on iOS. (& Updatedstripe-ios
from 22.2.0 to 22.3.0) - #929 Feat: added PayPal support (not currently supported for SetupIntents)
- #928 feat: expose 'cvc' when
dangerouslyGetCardDetails
is set to true - #931 feat: add token & paymentMethodId handling to confirmPayment for Cards
- #932 fix: manually forward activity results to paymentLauncherFragment
- #933 fix: address "Can not perform this action after onSaveInstanceState" crashes on Android
- #914 fix: add
fingerprint
to Card result object on Android (already present on iOS) - #912 fix: allow for providing zip code straight from
CardField
component on Android
- Breaking: This version requires you use
[email protected]
or above - #902 fix: create custom babel plugin for package.json imports in src/
- #889 Feat: add support for push provisioning (adding cards to native wallets)
- #890 BREAKING CHANGE: Changed parameters for:
createPaymentMethod
,confirmPayment
,confirmSetupIntent
,collectBankAccountForPayment
, andcollectBankAccountForSetup
. Please read this migration guide for details.- Renamed
type
field topaymentMethodType
onPaymentMethod.Result
,PaymentIntent.Result
, andSetupIntent.Result
(result ofcreatePaymentMethod
,retrieveSetupIntent
,confirmSetupIntent
,confirmPayment
,collectBankAccountForPayment
,collectBankAccountForSetup
,verifyMicrodepositsForPayment
, andverifyMicrodepositsForSetup
).
- Renamed
- #849 BREAKING CHANGE: Renamed
placeholder
prop on<CardField />
and<CardForm />
toplaceholders
. - #849 Feat: Added customized styling options to
<CardForm />
on Android.
- #894 Fix:
<CardField />
onBlur
callback will now be called appropriately on Android - #846 Fix: Avoid crashes when
currentActivity
is null - #879 Feat: Add support for ACHv2 payments on Android (already existed on iOS).
- #879 Chore: Upgraded
stripe-android
from v19.3.+ to v20.1.+ - #837 BREAKING CHANGE: Mostly fixes and changes to types, but some method's now accept slightly different parameters:
- Removed
setUrlSchemeOnAndroid
in favor ofsetReturnUrlSchemeOnAndroid
.setReturnUrlSchemeOnAndroid
functions exactly the same, this is just a rename. - Removed
handleCardAction
in favor ofhandleNextAction
.handleNextAction
functions exactly the same, this is just a rename. createPaymentMethod
'sbillingDetails
andshippingDetails
parameters no longer accept theaddressPostalCode
,addressCity
,addressCountry
,addressLine1
,addressLine2
, oraddressState
keys. Instead, they accept anaddress
object containing:city
,country
,line1
,line2
,postalCode
,state
.confirmPayment
'sbillingDetails
andshippingDetails
parameters no longer accept theaddressPostalCode
,addressCity
,addressCountry
,addressLine1
,addressLine2
, oraddressState
keys. Instead, they accept anaddress
object containing:city
,country
,line1
,line2
,postalCode
,state
.BillingDetails
no longer includesaddressPostalCode
,addressCity
,addressCountry
,addressLine1
,addressLine2
, oraddressState
keys. Instead, it includes anaddress
object containing:city
,country
,line1
,line2
,postalCode
,state
keys.ShippingDetails
no longer includesaddressPostalCode
,addressCity
,addressCountry
,addressLine1
,addressLine2
, oraddressState
keys. Instead, it includes anaddress
object containing:city
,country
,line1
,line2
,postalCode
,state
keys.PaymentIntents
was renamedPaymentIntent
. (If you were usingPaymentIntents.Status
, now you must change it toPaymentIntent.Status
)SetupIntents
was renamedSetupIntent
. (If you were usingSetupIntents.Status
, now you must change it toSetupIntent.Status
)- (Typescript)
Card.Token
is nowToken.Result
- (Typescript)
Card.Brand
is nowToken.CardBrand
- (Typescript)
Card.TokenType
is nowToken.Type
- (Typescript)
Card.BankAccount
is nowToken.BankAccount
- (Typescript)
Card.Params
is nowToken.Params
- (Typescript)
CardFormView.Names
is nowCardFormView.FieldName
- (Typescript)
CardFieldInput.Names
is nowCardFieldInput.FieldName
- (Typescript)
ApplePayButtonComponent.Styles
is nowApplePayButtonComponent.Style
- (Typescript)
ApplePayButtonComponent.Types
is nowApplePayButtonComponent.Type
- (Typescript)
PaymentMethod
is nowPaymentMethod.Result
- (Typescript)
PaymentIntent
is nowPaymentIntent.Result
- (Typescript)
SetupIntent
is nowSetupIntent.Result
- (Typescript) Exports that were under the
Card
namespace are now underToken
- (Typescript)
CreateTokenParams
is nowToken.CreateParams
- (Typescript)
BankAcccountHolderType
is nowToken.BankAcccountHolderType
- (Typescript)
ThreeDSecureConfigurationParams
is nowThreeDSecure.ConfigurationParams
- (Typescript)
PaymentMethodCreateParams.Params
is nowPaymentMethod.CreateParams
- (Typescript)
PaymentMethodCreateParams.Options
is nowPaymentMethod.ConfirmOptions
- (Typescript)
CreateTokenParams
is nowToken.CreateParams
- (Typescript)
ConfirmSetupIntent.Params
is nowSetupIntent.ConfirmParams
- (Typescript)
ConfirmSetupIntent.Options
is nowSetupIntent.ConfirmOptions
- (Typescript)
confirmPayment
now accepts thePaymentIntent.ConfirmParams
(same type, just renamed). - (Typescript)
BillingDetails
type is now exported directly, instead of under thePaymentMethodCreateParams
object. - (Typescript)
presentGooglePay
now acceptsGooglePay.PresentParams
- (Typescript)
GooglePay.PresentGooglePayParams
is nowGooglePay.PresentParams
- (Typescript)
GooglePay.PresentGooglePayType
is nowGooglePay.PresentType
- (Typescript)
GooglePay.IsGooglePaySupportedParams
is nowGooglePay.IsSupportedParams
- (Typescript) Removed
GooglePay.SetupIntentParams
- Removed
- #861 BREAKING: This library now supports iOS 12 and up, due to
stripe-ios
increasing the deployment target. If you would like to build for iOS 11, please continue to use@stripe/[email protected]
.- To upgrade your iOS deployment target to 12.0, you can either do so in Xcode under your
Build Settings
, or by modifyingIPHONEOS_DEPLOYMENT_TARGET
in yourproject.pbxproj
directly. You will also need to update your Podfile to target:ios, '12.0'
.
- To upgrade your iOS deployment target to 12.0, you can either do so in Xcode under your
- #861 Feat: Add support for ACHv2 payments on iOS only.
- #861 Chore: Upgrade
stripe-ios
to 22.0.0.
- #863 Feat: add card ID and bankAccount ID to token response
- #862 Feat: Add support for setting a card's
currency
when creating a Token - #854 Chore: Upgrade
stripe-ios
to 21.13.0. Upgradestripe-android
to 19.3.0. - #845 Feat: Added support for
placeholderColor
,textErrorColor
,borderColor
,borderRadius
, andborderWidth
forAuBECSDebitForm
on iOS
- #821 Feat: Add support for Klarna
- #630 Fix: card field focus jumps back to the card number field on Android
- #824 Fix: Google Pay error code when canceled should be 'Canceled'
- #832
- Deprecated
setUrlSchemeOnAndroid
in favor ofsetReturnUrlSchemeOnAndroid
.setReturnUrlSchemeOnAndroid
functions exactly the same, this is just a rename.setUrlSchemeOnAndroid
will be removed in a future release. - Deprecated
handleCardAction
in favor ofhandleNextAction
.handleNextAction
functions exactly the same, this is just a rename.handleCardAction
will be removed in a future release. - fix: Set
returnUrl
on Android inconfirmPayment
andconfirmSetupIntent
. - fix: Don't request focus on initialization of
CardForm
by default.
- Deprecated
- #810 Feat: add
isGooglePaySupported
method - #809 Fix: do not crash if no routing number provided when creating a bank account token on Android
- #814 Fix: cleanup
paymentSheetFlowController
ref before initializing new payment sheet - #806 Fix: properly assign
cursorColor
style on AndroidCardField
(requires Android 10 or higher). - #817 Chore: Upgrade
stripe-ios
to v21.12.0 andstripe-android
to v19.2.+
- #788 fix: assign
paymentSheetFragment
directly, instead of through intents which would sometimes result in aNullPointerException
. - #591 feat: add option to create a token directly from a bank account.
- #801 Upgraded
stripe-ios
to v21.11.1. Upgradedstripe-android
to v19.1.+. Added Android 12 support to example. - #774 feat: Add
currencyCode
support toinitPaymentSheet
for Google Pay & Setup Intents - #726 Update build.gradle to be more flexible in version of
stripe-android
(#726) - #675 Bug fixes for server example (#675)
- #629 feat: Add validation state to CardField (#423) (#629)
- #702 docs: Update GooglePay.md (#702)
- #690 docs: Correct default for existingPaymentMethodRequired (#690)
- #660 docs: Fixed readme js object typo (#660)
- #657 chore: updated the dependencies for the example app (#657)
- #658 fix: TS issue with 0.2.3 StripeProvider cannot be used as a JSX component (#658)
- #635 fix: billing address postal code (#635)
- #565 chore: Add jest mock file (#565)
- #587 chore: Update Podfile.lock stripe-react-native version (#587)
- #568 fix: check support for specific TextInputState methods (#568)
- #631 chore: Update tips migration guide (#631)
- #601 feat: Add button color, return URL, allowsDelayedPaymentMethods, and billing details to PaymentSheet (#601)
- #548 chore: split apple pay address by new line (#531)
- #546 fix: resolve initGooglePay with error if it's not available (#533)
- #525 feat: add
openApplePaySetup
method (#400) - #521 fix: support cardFormView for createToken method
- #514 feat: simpify
presentPaymentSheet
- #513 fix: set
null
as initial value forisApplePaySupported
(#496) - #506 feat: enhance payment sheet dx (#505)
- #415 feat: add multiline card form element (#83)
- #441 feat(android): add standalone Google Pay (#9)
- #422 feat: add WeChat Pay (#52)
- #453 chore: add JCB support for Apple Pay (#43)
- #451 fix: send postal code with card details (#420)
- #436 fix: cardfield crashes app (#391)
- #419 fix(android): error handling for createToken (#405)
- #394 [BREAKING CHANGE] fix: createToken response discrepancy (#344)
- #354 [BREAKING CHANGE] chore: rename top-level export
confirmPaymentMethod
toconfirmPayment
(#318) - #416 fix(android): googlePay setting on initPaymentSheet
- #392 fix:
created
timestamp discrepancy (#368) - #395 fix: resolve
initPaymentSheet
only when ready (#315) - #390 fix: add missing setupFutureUsage param (#367)
- #389 fix: set url scheme when using paymentMethodId (#378)
- #337 feat: expose CardField methods (focus, blur, clear)
- #366 fix: open payment sheet from modal (#315; #290)
- #309 feat: add
retrieveSetupIntent
method (#294) - #306 feat: add
dangerouslyGetFullCardDetails
prop toCardField
component (#280) - #298 feat: support SetupIntents in payment sheet (#293)
- #296 chore: support
testID
prop in all UI components (#268) - #295 feat(ios): return the
paymentMethod
object whenpresentApplePay
resolves (#271) - #273 feat: enrich the response error objects with additional information (#206)
- #276 fix(android): payment sheet not opening when
stripeAccountId
set (#267) - #266 feat(ios): add
borderRadius
prop to theApplePayButton
component (#258) - #260 feat: add the
StripeContainer
component that allows for dismissal of the keyboard when wrapped around theCardField
compnent (#222) - #255 fix(android): crash on
onActivityResult
when Stripe isn't initalized
- #247 feat: add
fontFamily
prop toCardField
component (#103) - #245 fix: clear card params when
CardField
input is invalidated (#237) - #228 feat: add ability to show error in Apple Pay sheet within
onShippingContactSelected
handler (#148) - #221 feat: add legacy
createToken
method for older integrations (#187) - #234 fix: add missing 3D Secure button props (#201)
- #226 feat: add
autofocus
prop toCardField
component (#199)
- #224 chore: upgrade to
stripe-android
version16.8.2
(#212) - #213 fix: expose config-plugin and add blank swift file
- #217 feat: E2E testing CI configuration
- #216 fix: unify cancel handling (#205)
- #215 fix: createPaymentMethod promise reject (#209)
- #208 fix: add
.npmignore
disallow list (#204) - #207 fix: handle different pjson output (#200)
- #197 fix: update library name in expo plugin
- Initial release
Special thanks to: Arek Kubaczkowski, Charlie Cruzan, and Jakub KΕobus.