- 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
- Renamed
appearance.shapes.shadow.borderRadius
toappearance.shapes.shadow.blurRadius
, andappearance.primaryButton.shapes.shadow.borderRadius
toappearance.primaryButton.shapes.shadow.blurRadius
. #962
- 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
- Removed support for
primaryButtonColor
field oninitPaymentSheet()
. Please use the newappearance.primaryButton.colors.background
field instead. #940
- 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
- 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
- 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
- #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.