@stripe/stripe-react-native 0.44.0 → 0.45.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.clang-format +90 -0
- package/.editorconfig +3 -0
- package/CHANGELOG.md +7 -1
- package/android/build.gradle +89 -18
- package/android/gradle.properties +1 -1
- package/android/src/main/java/com/reactnativestripesdk/AuBECSDebitFormViewManager.kt +15 -6
- package/android/src/main/java/com/reactnativestripesdk/CardChangeEvent.kt +56 -0
- package/android/src/main/java/com/reactnativestripesdk/CardFieldView.kt +4 -4
- package/android/src/main/java/com/reactnativestripesdk/CardFieldViewManager.kt +55 -45
- package/android/src/main/java/com/reactnativestripesdk/{CardFocusEvent.kt → CardFocusChangeEvent.kt} +2 -2
- package/android/src/main/java/com/reactnativestripesdk/CardFormCompleteEvent.kt +17 -16
- package/android/src/main/java/com/reactnativestripesdk/CardFormView.kt +5 -5
- package/android/src/main/java/com/reactnativestripesdk/CardFormViewManager.kt +39 -33
- package/android/src/main/java/com/reactnativestripesdk/CollectBankAccountLauncherFragment.kt +4 -2
- package/android/src/main/java/com/reactnativestripesdk/EmbeddedPaymentElementView.kt +182 -0
- package/android/src/main/java/com/reactnativestripesdk/EmbeddedPaymentElementViewManager.kt +231 -0
- package/android/src/main/java/com/reactnativestripesdk/FinancialConnectionsSheetFragment.kt +8 -5
- package/android/src/main/java/com/reactnativestripesdk/GooglePayButtonManager.kt +14 -6
- package/android/src/main/java/com/reactnativestripesdk/PaymentMethodCreateParamsFactory.kt +3 -1
- package/android/src/main/java/com/reactnativestripesdk/PaymentOptionDisplayDataMapper.kt +17 -0
- package/android/src/main/java/com/reactnativestripesdk/PaymentSheetAppearance.kt +266 -0
- package/android/src/main/java/com/reactnativestripesdk/PaymentSheetFragment.kt +8 -13
- package/android/src/main/java/com/reactnativestripesdk/StripeContainerManager.kt +11 -3
- package/android/src/main/java/com/reactnativestripesdk/StripeSdkModule.kt +106 -59
- package/android/src/main/java/com/reactnativestripesdk/StripeSdkPackage.kt +34 -4
- package/android/src/main/java/com/reactnativestripesdk/addresssheet/AddressSheetView.kt +33 -27
- package/android/src/main/java/com/reactnativestripesdk/addresssheet/AddressSheetViewManager.kt +49 -24
- package/android/src/main/java/com/reactnativestripesdk/customersheet/CustomerSheetFragment.kt +16 -3
- package/android/src/main/java/com/reactnativestripesdk/customersheet/ReactNativeCustomerAdapter.kt +11 -29
- package/android/src/main/java/com/reactnativestripesdk/pushprovisioning/AddToWalletButtonManager.kt +36 -12
- package/android/src/main/java/com/reactnativestripesdk/pushprovisioning/AddToWalletButtonView.kt +5 -3
- package/android/src/main/java/com/reactnativestripesdk/utils/Extensions.kt +4 -0
- package/android/src/main/java/com/reactnativestripesdk/utils/Mappers.kt +21 -0
- package/android/src/oldarch/java/com/facebook/react/viewmanagers/AddToWalletButtonManagerDelegate.java +49 -0
- package/android/src/oldarch/java/com/facebook/react/viewmanagers/AddToWalletButtonManagerInterface.java +25 -0
- package/android/src/oldarch/java/com/facebook/react/viewmanagers/AddressSheetViewManagerDelegate.java +64 -0
- package/android/src/oldarch/java/com/facebook/react/viewmanagers/AddressSheetViewManagerInterface.java +30 -0
- package/android/src/oldarch/java/com/facebook/react/viewmanagers/ApplePayButtonManagerDelegate.java +41 -0
- package/android/src/oldarch/java/com/facebook/react/viewmanagers/ApplePayButtonManagerInterface.java +20 -0
- package/android/src/oldarch/java/com/facebook/react/viewmanagers/AuBECSDebitFormManagerDelegate.java +36 -0
- package/android/src/oldarch/java/com/facebook/react/viewmanagers/AuBECSDebitFormManagerInterface.java +20 -0
- package/android/src/oldarch/java/com/facebook/react/viewmanagers/CardFieldManagerDelegate.java +73 -0
- package/android/src/oldarch/java/com/facebook/react/viewmanagers/CardFieldManagerInterface.java +31 -0
- package/android/src/oldarch/java/com/facebook/react/viewmanagers/CardFormManagerDelegate.java +67 -0
- package/android/src/oldarch/java/com/facebook/react/viewmanagers/CardFormManagerInterface.java +29 -0
- package/android/src/oldarch/java/com/facebook/react/viewmanagers/EmbeddedPaymentElementViewManagerDelegate.java +49 -0
- package/android/src/oldarch/java/com/facebook/react/viewmanagers/EmbeddedPaymentElementViewManagerInterface.java +21 -0
- package/android/src/oldarch/java/com/facebook/react/viewmanagers/GooglePayButtonManagerDelegate.java +38 -0
- package/android/src/oldarch/java/com/facebook/react/viewmanagers/GooglePayButtonManagerInterface.java +19 -0
- package/android/src/oldarch/java/com/facebook/react/viewmanagers/StripeContainerManagerDelegate.java +32 -0
- package/android/src/oldarch/java/com/facebook/react/viewmanagers/StripeContainerManagerInterface.java +17 -0
- package/android/src/oldarch/java/com/reactnativestripesdk/NativeStripeSdkModuleSpec.java +311 -0
- package/ios/AddressSheet/AddressSheetUtils.swift +21 -19
- package/ios/AddressSheet/AddressSheetView.swift +23 -17
- package/ios/ApplePayButtonManager.m +0 -1
- package/ios/ApplePayButtonManager.swift +1 -3
- package/ios/ApplePayButtonView.swift +25 -20
- package/ios/ApplePayViewController.swift +22 -22
- package/ios/AuBECSDebitFormView.swift +14 -8
- package/ios/CardFieldManager.swift +1 -4
- package/ios/CardFieldView.swift +28 -25
- package/ios/CardFormManager.swift +1 -4
- package/ios/CardFormView.swift +25 -16
- package/ios/CustomerSheet/CustomerSheetUtils.swift +12 -16
- package/ios/CustomerSheet/ReactNativeCustomerAdapter.swift +8 -8
- package/ios/EmbeddedPaymentElementManager.m +6 -0
- package/ios/EmbeddedPaymentElementView.swift +48 -0
- package/ios/NewArch/AddToWalletButtonComponentView.h +10 -0
- package/ios/NewArch/AddToWalletButtonComponentView.mm +93 -0
- package/ios/NewArch/AddressSheetViewComponentView.h +10 -0
- package/ios/NewArch/AddressSheetViewComponentView.mm +109 -0
- package/ios/NewArch/ApplePayButtonComponentView.h +10 -0
- package/ios/NewArch/ApplePayButtonComponentView.mm +124 -0
- package/ios/NewArch/AuBECSDebitFormComponentView.h +10 -0
- package/ios/NewArch/AuBECSDebitFormComponentView.mm +95 -0
- package/ios/NewArch/CardFieldComponentView.h +10 -0
- package/ios/NewArch/CardFieldComponentView.mm +125 -0
- package/ios/NewArch/CardFormComponentView.h +10 -0
- package/ios/NewArch/CardFormComponentView.mm +108 -0
- package/ios/NewArch/StripeContainerComponentView.h +10 -0
- package/ios/NewArch/StripeContainerComponentView.mm +74 -0
- package/ios/NewArch/StripeNewArchConversions.h +20 -0
- package/ios/NewArch/StripeNewArchConversions.mm +47 -0
- package/ios/OldArch/StripeSdkEventEmitterCompat.h +27 -0
- package/ios/OldArch/StripeSdkEventEmitterCompat.m +105 -0
- package/ios/PaymentOptionDisplayData+ReactNative.swift +55 -0
- package/ios/PaymentSheetAppearance.swift +194 -1
- package/ios/PushProvisioning/AddToWalletButtonView.swift +19 -13
- package/ios/StripeContainerView.swift +5 -3
- package/ios/StripeSdk.h +21 -0
- package/ios/StripeSdk.mm +415 -0
- package/ios/StripeSdkEmitter.swift +19 -0
- package/ios/{StripeSdk+CustomerSheet.swift → StripeSdkImpl+CustomerSheet.swift} +24 -25
- package/ios/StripeSdkImpl+Embedded.swift +327 -0
- package/ios/{StripeSdk+PaymentSheet.swift → StripeSdkImpl+PaymentSheet.swift} +18 -29
- package/ios/{StripeSdk.swift → StripeSdkImpl.swift} +50 -72
- package/ios/StripeSwiftInterop.h +25 -0
- package/ios/stripe_react_native.h +2 -0
- package/lib/commonjs/components/AddToWalletButton.js +1 -1
- package/lib/commonjs/components/AddToWalletButton.js.map +1 -1
- package/lib/commonjs/components/AddressSheet.js +1 -1
- package/lib/commonjs/components/AddressSheet.js.map +1 -1
- package/lib/commonjs/components/AuBECSDebitForm.js +1 -1
- package/lib/commonjs/components/AuBECSDebitForm.js.map +1 -1
- package/lib/commonjs/components/CardField.js +1 -1
- package/lib/commonjs/components/CardField.js.map +1 -1
- package/lib/commonjs/components/CardForm.js +1 -1
- package/lib/commonjs/components/CardForm.js.map +1 -1
- package/lib/commonjs/components/CustomerSheet.js +1 -1
- package/lib/commonjs/components/CustomerSheet.js.map +1 -1
- package/lib/commonjs/components/PlatformPayButton.js +1 -1
- package/lib/commonjs/components/PlatformPayButton.js.map +1 -1
- package/lib/commonjs/components/StripeContainer.js +1 -1
- package/lib/commonjs/components/StripeContainer.js.map +1 -1
- package/lib/commonjs/components/StripeProvider.js +1 -1
- package/lib/commonjs/components/StripeProvider.js.map +1 -1
- package/lib/commonjs/events.js +2 -0
- package/lib/commonjs/events.js.map +1 -0
- package/lib/commonjs/functions.js +1 -1
- package/lib/commonjs/functions.js.map +1 -1
- package/lib/commonjs/index.js +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/specs/NativeAddToWalletButton.js +2 -0
- package/lib/commonjs/specs/NativeAddToWalletButton.js.map +1 -0
- package/lib/commonjs/specs/NativeAddressSheet.js +2 -0
- package/lib/commonjs/specs/NativeAddressSheet.js.map +1 -0
- package/lib/commonjs/specs/NativeApplePayButton.js +2 -0
- package/lib/commonjs/specs/NativeApplePayButton.js.map +1 -0
- package/lib/commonjs/specs/NativeAuBECSDebitForm.js +2 -0
- package/lib/commonjs/specs/NativeAuBECSDebitForm.js.map +1 -0
- package/lib/commonjs/specs/NativeCardField.js +2 -0
- package/lib/commonjs/specs/NativeCardField.js.map +1 -0
- package/lib/commonjs/specs/NativeCardForm.js +2 -0
- package/lib/commonjs/specs/NativeCardForm.js.map +1 -0
- package/lib/commonjs/specs/NativeEmbeddedPaymentElement.js +2 -0
- package/lib/commonjs/specs/NativeEmbeddedPaymentElement.js.map +1 -0
- package/lib/commonjs/specs/NativeGooglePayButton.js +2 -0
- package/lib/commonjs/specs/NativeGooglePayButton.js.map +1 -0
- package/lib/commonjs/specs/NativeStripeContainer.js +2 -0
- package/lib/commonjs/specs/NativeStripeContainer.js.map +1 -0
- package/lib/commonjs/specs/NativeStripeSdkModule.js +2 -0
- package/lib/commonjs/specs/NativeStripeSdkModule.js.map +1 -0
- package/lib/commonjs/specs/utils.js +2 -0
- package/lib/commonjs/specs/utils.js.map +1 -0
- package/lib/commonjs/types/EmbeddedPaymentElement.js +2 -0
- package/lib/commonjs/types/EmbeddedPaymentElement.js.map +1 -0
- package/lib/commonjs/types/PaymentSheet.js +1 -1
- package/lib/commonjs/types/PaymentSheet.js.map +1 -1
- package/lib/module/components/AddToWalletButton.js +1 -1
- package/lib/module/components/AddToWalletButton.js.map +1 -1
- package/lib/module/components/AddressSheet.js +1 -1
- package/lib/module/components/AddressSheet.js.map +1 -1
- package/lib/module/components/AuBECSDebitForm.js +1 -1
- package/lib/module/components/AuBECSDebitForm.js.map +1 -1
- package/lib/module/components/CardField.js +1 -1
- package/lib/module/components/CardField.js.map +1 -1
- package/lib/module/components/CardForm.js +1 -1
- package/lib/module/components/CardForm.js.map +1 -1
- package/lib/module/components/CustomerSheet.js +1 -1
- package/lib/module/components/CustomerSheet.js.map +1 -1
- package/lib/module/components/PlatformPayButton.js +1 -1
- package/lib/module/components/PlatformPayButton.js.map +1 -1
- package/lib/module/components/StripeContainer.js +1 -1
- package/lib/module/components/StripeContainer.js.map +1 -1
- package/lib/module/components/StripeProvider.js +1 -1
- package/lib/module/components/StripeProvider.js.map +1 -1
- package/lib/module/events.js +2 -0
- package/lib/module/events.js.map +1 -0
- package/lib/module/functions.js +1 -1
- package/lib/module/functions.js.map +1 -1
- package/lib/module/index.js +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/specs/NativeAddToWalletButton.js +2 -0
- package/lib/module/specs/NativeAddToWalletButton.js.map +1 -0
- package/lib/module/specs/NativeAddressSheet.js +2 -0
- package/lib/module/specs/NativeAddressSheet.js.map +1 -0
- package/lib/module/specs/NativeApplePayButton.js +2 -0
- package/lib/module/specs/NativeApplePayButton.js.map +1 -0
- package/lib/module/specs/NativeAuBECSDebitForm.js +2 -0
- package/lib/module/specs/NativeAuBECSDebitForm.js.map +1 -0
- package/lib/module/specs/NativeCardField.js +2 -0
- package/lib/module/specs/NativeCardField.js.map +1 -0
- package/lib/module/specs/NativeCardForm.js +2 -0
- package/lib/module/specs/NativeCardForm.js.map +1 -0
- package/lib/module/specs/NativeEmbeddedPaymentElement.js +2 -0
- package/lib/module/specs/NativeEmbeddedPaymentElement.js.map +1 -0
- package/lib/module/specs/NativeGooglePayButton.js +2 -0
- package/lib/module/specs/NativeGooglePayButton.js.map +1 -0
- package/lib/module/specs/NativeStripeContainer.js +2 -0
- package/lib/module/specs/NativeStripeContainer.js.map +1 -0
- package/lib/module/specs/NativeStripeSdkModule.js +2 -0
- package/lib/module/specs/NativeStripeSdkModule.js.map +1 -0
- package/lib/module/specs/utils.js +2 -0
- package/lib/module/specs/utils.js.map +1 -0
- package/lib/module/types/EmbeddedPaymentElement.js +2 -0
- package/lib/module/types/EmbeddedPaymentElement.js.map +1 -0
- package/lib/module/types/PaymentSheet.js +1 -1
- package/lib/module/types/PaymentSheet.js.map +1 -1
- package/lib/typescript/src/components/AddToWalletButton.d.ts.map +1 -1
- package/lib/typescript/src/components/AddressSheet.d.ts.map +1 -1
- package/lib/typescript/src/components/AuBECSDebitForm.d.ts.map +1 -1
- package/lib/typescript/src/components/CardField.d.ts +1 -1
- package/lib/typescript/src/components/CardField.d.ts.map +1 -1
- package/lib/typescript/src/components/CardForm.d.ts +1 -1
- package/lib/typescript/src/components/CardForm.d.ts.map +1 -1
- package/lib/typescript/src/components/CustomerSheet.d.ts +1 -1
- package/lib/typescript/src/components/CustomerSheet.d.ts.map +1 -1
- package/lib/typescript/src/components/StripeContainer.d.ts.map +1 -1
- package/lib/typescript/src/events.d.ts +13 -0
- package/lib/typescript/src/events.d.ts.map +1 -0
- package/lib/typescript/src/functions.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useFinancialConnectionsSheet.d.ts +4 -4
- package/lib/typescript/src/hooks/useFinancialConnectionsSheet.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useStripe.d.ts +2 -2
- package/lib/typescript/src/hooks/useStripe.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +2 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/specs/NativeAddToWalletButton.d.ts +27 -0
- package/lib/typescript/src/specs/NativeAddToWalletButton.d.ts.map +1 -0
- package/lib/typescript/src/specs/NativeAddressSheet.d.ts +34 -0
- package/lib/typescript/src/specs/NativeAddressSheet.d.ts.map +1 -0
- package/lib/typescript/src/specs/NativeApplePayButton.d.ts +28 -0
- package/lib/typescript/src/specs/NativeApplePayButton.d.ts.map +1 -0
- package/lib/typescript/src/specs/NativeAuBECSDebitForm.d.ts +19 -0
- package/lib/typescript/src/specs/NativeAuBECSDebitForm.d.ts.map +1 -0
- package/lib/typescript/src/specs/NativeCardField.d.ts +33 -0
- package/lib/typescript/src/specs/NativeCardField.d.ts.map +1 -0
- package/lib/typescript/src/specs/NativeCardForm.d.ts +31 -0
- package/lib/typescript/src/specs/NativeCardForm.d.ts.map +1 -0
- package/lib/typescript/src/specs/NativeEmbeddedPaymentElement.d.ts +22 -0
- package/lib/typescript/src/specs/NativeEmbeddedPaymentElement.d.ts.map +1 -0
- package/lib/typescript/src/specs/NativeGooglePayButton.d.ts +11 -0
- package/lib/typescript/src/specs/NativeGooglePayButton.d.ts.map +1 -0
- package/lib/typescript/src/specs/NativeStripeContainer.d.ts +8 -0
- package/lib/typescript/src/specs/NativeStripeContainer.d.ts.map +1 -0
- package/lib/typescript/src/specs/NativeStripeSdkModule.d.ts +93 -0
- package/lib/typescript/src/specs/NativeStripeSdkModule.d.ts.map +1 -0
- package/lib/typescript/src/specs/utils.d.ts +20 -0
- package/lib/typescript/src/specs/utils.d.ts.map +1 -0
- package/lib/typescript/src/types/CustomerSheet.d.ts +1 -5
- package/lib/typescript/src/types/CustomerSheet.d.ts.map +1 -1
- package/lib/typescript/src/types/EmbeddedPaymentElement.d.ts +161 -0
- package/lib/typescript/src/types/EmbeddedPaymentElement.d.ts.map +1 -0
- package/lib/typescript/src/types/PaymentSheet.d.ts +97 -4
- package/lib/typescript/src/types/PaymentSheet.d.ts.map +1 -1
- package/lib/typescript/src/types/components/CardFieldInput.d.ts +3 -2
- package/lib/typescript/src/types/components/CardFieldInput.d.ts.map +1 -1
- package/lib/typescript/src/types/components/CardFormView.d.ts +3 -1
- package/lib/typescript/src/types/components/CardFormView.d.ts.map +1 -1
- package/package.json +20 -1
- package/src/components/AddToWalletButton.tsx +2 -5
- package/src/components/AddressSheet.tsx +5 -16
- package/src/components/AuBECSDebitForm.tsx +3 -12
- package/src/components/CardField.tsx +20 -30
- package/src/components/CardForm.tsx +14 -29
- package/src/components/CustomerSheet.tsx +23 -25
- package/src/components/PlatformPayButton.tsx +6 -6
- package/src/components/StripeContainer.tsx +5 -12
- package/src/components/StripeProvider.tsx +1 -1
- package/src/events.ts +49 -0
- package/src/functions.ts +13 -24
- package/src/hooks/useFinancialConnectionsSheet.tsx +2 -2
- package/src/hooks/useStripe.tsx +2 -2
- package/src/index.tsx +3 -0
- package/src/specs/NativeAddToWalletButton.ts +40 -0
- package/src/specs/NativeAddressSheet.ts +50 -0
- package/src/specs/NativeApplePayButton.ts +40 -0
- package/src/specs/NativeAuBECSDebitForm.ts +24 -0
- package/src/specs/NativeCardField.ts +51 -0
- package/src/specs/NativeCardForm.ts +43 -0
- package/src/specs/NativeEmbeddedPaymentElement.ts +37 -0
- package/src/specs/NativeGooglePayButton.ts +20 -0
- package/src/specs/NativeStripeContainer.ts +12 -0
- package/src/specs/NativeStripeSdkModule.ts +219 -0
- package/src/specs/utils.ts +22 -0
- package/src/types/CustomerSheet.ts +1 -5
- package/src/types/EmbeddedPaymentElement.tsx +467 -0
- package/src/types/PaymentSheet.ts +114 -4
- package/src/types/components/CardFieldInput.ts +1 -2
- package/src/types/components/CardFormView.ts +1 -1
- package/stripe-react-native.podspec +27 -2
- package/android/.gradle/8.11.1/checksums/checksums.lock +0 -0
- package/android/.gradle/8.11.1/checksums/md5-checksums.bin +0 -0
- package/android/.gradle/8.11.1/checksums/sha1-checksums.bin +0 -0
- package/android/.gradle/8.11.1/executionHistory/executionHistory.lock +0 -0
- package/android/.gradle/8.11.1/fileChanges/last-build.bin +0 -0
- package/android/.gradle/8.11.1/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/8.11.1/gc.properties +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
- package/android/.gradle/vcs-1/gc.properties +0 -0
- package/android/src/main/java/com/reactnativestripesdk/CardChangedEvent.kt +0 -54
- package/ios/StripeSdk.m +0 -244
- package/lib/commonjs/NativeStripeSdk.js +0 -2
- package/lib/commonjs/NativeStripeSdk.js.map +0 -1
- package/lib/commonjs/components/ApplePayButtonNative.js +0 -2
- package/lib/commonjs/components/ApplePayButtonNative.js.map +0 -1
- package/lib/commonjs/components/GooglePayButtonNative.js +0 -2
- package/lib/commonjs/components/GooglePayButtonNative.js.map +0 -1
- package/lib/module/NativeStripeSdk.js +0 -2
- package/lib/module/NativeStripeSdk.js.map +0 -1
- package/lib/module/components/ApplePayButtonNative.js +0 -2
- package/lib/module/components/ApplePayButtonNative.js.map +0 -1
- package/lib/module/components/GooglePayButtonNative.js +0 -2
- package/lib/module/components/GooglePayButtonNative.js.map +0 -1
- package/lib/typescript/src/NativeStripeSdk.d.ts +0 -58
- package/lib/typescript/src/NativeStripeSdk.d.ts.map +0 -1
- package/lib/typescript/src/components/ApplePayButtonNative.d.ts +0 -4
- package/lib/typescript/src/components/ApplePayButtonNative.d.ts.map +0 -1
- package/lib/typescript/src/components/GooglePayButtonNative.d.ts +0 -4
- package/lib/typescript/src/components/GooglePayButtonNative.d.ts.map +0 -1
- package/src/NativeStripeSdk.tsx +0 -159
- package/src/components/ApplePayButtonNative.tsx +0 -5
- package/src/components/GooglePayButtonNative.tsx +0 -7
package/android/src/main/java/com/reactnativestripesdk/addresssheet/AddressSheetViewManager.kt
CHANGED
|
@@ -1,16 +1,25 @@
|
|
|
1
1
|
package com.reactnativestripesdk.addresssheet
|
|
2
2
|
|
|
3
|
+
import com.facebook.react.bridge.Dynamic
|
|
3
4
|
import com.facebook.react.bridge.ReadableArray
|
|
4
|
-
import com.facebook.react.bridge.ReadableMap
|
|
5
5
|
import com.facebook.react.module.annotations.ReactModule
|
|
6
6
|
import com.facebook.react.uimanager.SimpleViewManager
|
|
7
7
|
import com.facebook.react.uimanager.ThemedReactContext
|
|
8
8
|
import com.facebook.react.uimanager.annotations.ReactProp
|
|
9
|
+
import com.facebook.react.viewmanagers.AddressSheetViewManagerDelegate
|
|
10
|
+
import com.facebook.react.viewmanagers.AddressSheetViewManagerInterface
|
|
11
|
+
import com.reactnativestripesdk.utils.asMapOrNull
|
|
9
12
|
|
|
10
13
|
@ReactModule(name = AddressSheetViewManager.REACT_CLASS)
|
|
11
|
-
class AddressSheetViewManager :
|
|
14
|
+
class AddressSheetViewManager :
|
|
15
|
+
SimpleViewManager<AddressSheetView>(),
|
|
16
|
+
AddressSheetViewManagerInterface<AddressSheetView> {
|
|
17
|
+
private val delegate = AddressSheetViewManagerDelegate(this)
|
|
18
|
+
|
|
12
19
|
override fun getName() = REACT_CLASS
|
|
13
20
|
|
|
21
|
+
override fun getDelegate() = delegate
|
|
22
|
+
|
|
14
23
|
override fun getExportedCustomDirectEventTypeConstants() =
|
|
15
24
|
mutableMapOf(
|
|
16
25
|
AddressSheetEvent.ON_SUBMIT to
|
|
@@ -20,7 +29,7 @@ class AddressSheetViewManager : SimpleViewManager<AddressSheetView>() {
|
|
|
20
29
|
)
|
|
21
30
|
|
|
22
31
|
@ReactProp(name = "visible")
|
|
23
|
-
fun setVisible(
|
|
32
|
+
override fun setVisible(
|
|
24
33
|
view: AddressSheetView,
|
|
25
34
|
visibility: Boolean,
|
|
26
35
|
) {
|
|
@@ -28,69 +37,85 @@ class AddressSheetViewManager : SimpleViewManager<AddressSheetView>() {
|
|
|
28
37
|
}
|
|
29
38
|
|
|
30
39
|
@ReactProp(name = "appearance")
|
|
31
|
-
fun setAppearance(
|
|
40
|
+
override fun setAppearance(
|
|
32
41
|
view: AddressSheetView,
|
|
33
|
-
appearance:
|
|
42
|
+
appearance: Dynamic,
|
|
34
43
|
) {
|
|
35
|
-
view.setAppearance(appearance)
|
|
44
|
+
view.setAppearance(appearance.asMap())
|
|
36
45
|
}
|
|
37
46
|
|
|
38
47
|
@ReactProp(name = "defaultValues")
|
|
39
|
-
fun setDefaultValues(
|
|
48
|
+
override fun setDefaultValues(
|
|
40
49
|
view: AddressSheetView,
|
|
41
|
-
defaults:
|
|
50
|
+
defaults: Dynamic,
|
|
42
51
|
) {
|
|
43
|
-
view.setDefaultValues(defaults)
|
|
52
|
+
view.setDefaultValues(defaults.asMap())
|
|
44
53
|
}
|
|
45
54
|
|
|
46
55
|
@ReactProp(name = "additionalFields")
|
|
47
|
-
fun setAdditionalFields(
|
|
56
|
+
override fun setAdditionalFields(
|
|
48
57
|
view: AddressSheetView,
|
|
49
|
-
fields:
|
|
58
|
+
fields: Dynamic,
|
|
50
59
|
) {
|
|
51
|
-
view.setAdditionalFields(fields)
|
|
60
|
+
view.setAdditionalFields(fields.asMapOrNull())
|
|
52
61
|
}
|
|
53
62
|
|
|
54
63
|
@ReactProp(name = "allowedCountries")
|
|
55
|
-
fun setAllowedCountries(
|
|
64
|
+
override fun setAllowedCountries(
|
|
56
65
|
view: AddressSheetView,
|
|
57
|
-
countries: ReadableArray
|
|
66
|
+
countries: ReadableArray?,
|
|
58
67
|
) {
|
|
59
|
-
view.setAllowedCountries(countries
|
|
68
|
+
view.setAllowedCountries(countries?.toArrayList()?.filterIsInstance<String>())
|
|
60
69
|
}
|
|
61
70
|
|
|
62
71
|
@ReactProp(name = "autocompleteCountries")
|
|
63
|
-
fun setAutocompleteCountries(
|
|
72
|
+
override fun setAutocompleteCountries(
|
|
64
73
|
view: AddressSheetView,
|
|
65
|
-
countries: ReadableArray
|
|
74
|
+
countries: ReadableArray?,
|
|
66
75
|
) {
|
|
67
|
-
view.setAutocompleteCountries(countries
|
|
76
|
+
view.setAutocompleteCountries(countries?.toArrayList()?.filterIsInstance<String>())
|
|
68
77
|
}
|
|
69
78
|
|
|
70
79
|
@ReactProp(name = "primaryButtonTitle")
|
|
71
|
-
fun setPrimaryButtonTitle(
|
|
80
|
+
override fun setPrimaryButtonTitle(
|
|
72
81
|
view: AddressSheetView,
|
|
73
|
-
title: String
|
|
82
|
+
title: String?,
|
|
74
83
|
) {
|
|
75
84
|
view.setPrimaryButtonTitle(title)
|
|
76
85
|
}
|
|
77
86
|
|
|
78
87
|
@ReactProp(name = "sheetTitle")
|
|
79
|
-
fun setSheetTitle(
|
|
88
|
+
override fun setSheetTitle(
|
|
80
89
|
view: AddressSheetView,
|
|
81
|
-
title: String
|
|
90
|
+
title: String?,
|
|
82
91
|
) {
|
|
83
92
|
view.setSheetTitle(title)
|
|
84
93
|
}
|
|
85
94
|
|
|
86
95
|
@ReactProp(name = "googlePlacesApiKey")
|
|
87
|
-
fun setGooglePlacesApiKey(
|
|
96
|
+
override fun setGooglePlacesApiKey(
|
|
88
97
|
view: AddressSheetView,
|
|
89
|
-
key: String
|
|
98
|
+
key: String?,
|
|
90
99
|
) {
|
|
91
100
|
view.setGooglePlacesApiKey(key)
|
|
92
101
|
}
|
|
93
102
|
|
|
103
|
+
@ReactProp(name = "presentationStyle")
|
|
104
|
+
override fun setPresentationStyle(
|
|
105
|
+
view: AddressSheetView,
|
|
106
|
+
value: String?,
|
|
107
|
+
) {
|
|
108
|
+
// noop iOS only.
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
@ReactProp(name = "animationStyle")
|
|
112
|
+
override fun setAnimationStyle(
|
|
113
|
+
view: AddressSheetView,
|
|
114
|
+
value: String?,
|
|
115
|
+
) {
|
|
116
|
+
// noop iOS only.
|
|
117
|
+
}
|
|
118
|
+
|
|
94
119
|
override fun createViewInstance(reactContext: ThemedReactContext): AddressSheetView = AddressSheetView(reactContext)
|
|
95
120
|
|
|
96
121
|
companion object {
|
package/android/src/main/java/com/reactnativestripesdk/customersheet/CustomerSheetFragment.kt
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package com.reactnativestripesdk
|
|
1
|
+
package com.reactnativestripesdk.customersheet
|
|
2
2
|
|
|
3
3
|
import android.app.Activity
|
|
4
4
|
import android.app.Application
|
|
@@ -17,7 +17,13 @@ import com.facebook.react.bridge.Promise
|
|
|
17
17
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
18
18
|
import com.facebook.react.bridge.WritableMap
|
|
19
19
|
import com.facebook.react.bridge.WritableNativeMap
|
|
20
|
-
import com.reactnativestripesdk.
|
|
20
|
+
import com.reactnativestripesdk.ReactNativeCustomerAdapter
|
|
21
|
+
import com.reactnativestripesdk.buildPaymentSheetAppearance
|
|
22
|
+
import com.reactnativestripesdk.getBase64FromBitmap
|
|
23
|
+
import com.reactnativestripesdk.getBitmapFromDrawable
|
|
24
|
+
import com.reactnativestripesdk.mapToAddressCollectionMode
|
|
25
|
+
import com.reactnativestripesdk.mapToCardBrandAcceptance
|
|
26
|
+
import com.reactnativestripesdk.mapToCollectionMode
|
|
21
27
|
import com.reactnativestripesdk.utils.CreateTokenErrorType
|
|
22
28
|
import com.reactnativestripesdk.utils.ErrorType
|
|
23
29
|
import com.reactnativestripesdk.utils.KeepJsAwakeTask
|
|
@@ -161,9 +167,11 @@ class CustomerSheetFragment : Fragment() {
|
|
|
161
167
|
is CustomerSheetResult.Failed -> {
|
|
162
168
|
resolvePresentPromise(createError(ErrorType.Failed.toString(), result.exception))
|
|
163
169
|
}
|
|
170
|
+
|
|
164
171
|
is CustomerSheetResult.Selected -> {
|
|
165
172
|
promiseResult = createPaymentOptionResult(result.selection)
|
|
166
173
|
}
|
|
174
|
+
|
|
167
175
|
is CustomerSheetResult.Canceled -> {
|
|
168
176
|
promiseResult = createPaymentOptionResult(result.selection)
|
|
169
177
|
promiseResult.putMap(
|
|
@@ -211,7 +219,8 @@ class CustomerSheetFragment : Fragment() {
|
|
|
211
219
|
override fun onActivitySaveInstanceState(
|
|
212
220
|
activity: Activity,
|
|
213
221
|
outState: Bundle,
|
|
214
|
-
) {
|
|
222
|
+
) {
|
|
223
|
+
}
|
|
215
224
|
|
|
216
225
|
override fun onActivityDestroyed(activity: Activity) {
|
|
217
226
|
customerSheetActivity = null
|
|
@@ -253,9 +262,11 @@ class CustomerSheetFragment : Fragment() {
|
|
|
253
262
|
is CustomerSheetResult.Failed -> {
|
|
254
263
|
promise.resolve(createError(ErrorType.Failed.toString(), result.exception))
|
|
255
264
|
}
|
|
265
|
+
|
|
256
266
|
is CustomerSheetResult.Selected -> {
|
|
257
267
|
promiseResult = createPaymentOptionResult(result.selection)
|
|
258
268
|
}
|
|
269
|
+
|
|
259
270
|
is CustomerSheetResult.Canceled -> {
|
|
260
271
|
promiseResult = createPaymentOptionResult(result.selection)
|
|
261
272
|
promiseResult.putMap(
|
|
@@ -380,6 +391,7 @@ class CustomerSheetFragment : Fragment() {
|
|
|
380
391
|
paymentOptionResult =
|
|
381
392
|
buildResult(selection.paymentOption.label, selection.paymentOption.icon(), null)
|
|
382
393
|
}
|
|
394
|
+
|
|
383
395
|
is PaymentOptionSelection.PaymentMethod -> {
|
|
384
396
|
paymentOptionResult =
|
|
385
397
|
buildResult(
|
|
@@ -388,6 +400,7 @@ class CustomerSheetFragment : Fragment() {
|
|
|
388
400
|
selection.paymentMethod,
|
|
389
401
|
)
|
|
390
402
|
}
|
|
403
|
+
|
|
391
404
|
null -> {}
|
|
392
405
|
}
|
|
393
406
|
|
package/android/src/main/java/com/reactnativestripesdk/customersheet/ReactNativeCustomerAdapter.kt
CHANGED
|
@@ -1,16 +1,14 @@
|
|
|
1
|
-
package
|
|
1
|
+
// This needs to be in the same package as StripeSdkModule to access protected methods.
|
|
2
|
+
package com.reactnativestripesdk
|
|
2
3
|
|
|
3
|
-
import android.util.Log
|
|
4
4
|
import com.facebook.react.bridge.Arguments
|
|
5
5
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
6
|
-
import com.facebook.react.bridge.WritableMap
|
|
7
|
-
import com.reactnativestripesdk.StripeSdkModule
|
|
8
6
|
import com.stripe.android.customersheet.CustomerAdapter
|
|
9
7
|
import com.stripe.android.model.PaymentMethod
|
|
10
8
|
import kotlinx.coroutines.CompletableDeferred
|
|
11
9
|
|
|
12
10
|
class ReactNativeCustomerAdapter(
|
|
13
|
-
|
|
11
|
+
val context: ReactApplicationContext,
|
|
14
12
|
private val adapter: CustomerAdapter,
|
|
15
13
|
private val overridesFetchPaymentMethods: Boolean,
|
|
16
14
|
private val overridesAttachPaymentMethod: Boolean,
|
|
@@ -19,6 +17,8 @@ class ReactNativeCustomerAdapter(
|
|
|
19
17
|
private val overridesFetchSelectedPaymentOption: Boolean,
|
|
20
18
|
private val overridesSetupIntentClientSecretForCustomerAttach: Boolean,
|
|
21
19
|
) : CustomerAdapter by adapter {
|
|
20
|
+
private val stripeSdkModule = context.getNativeModule(StripeSdkModule::class.java)
|
|
21
|
+
|
|
22
22
|
internal var fetchPaymentMethodsCallback: CompletableDeferred<List<PaymentMethod>>? = null
|
|
23
23
|
internal var attachPaymentMethodCallback: CompletableDeferred<PaymentMethod>? = null
|
|
24
24
|
internal var detachPaymentMethodCallback: CompletableDeferred<PaymentMethod>? = null
|
|
@@ -30,7 +30,7 @@ class ReactNativeCustomerAdapter(
|
|
|
30
30
|
if (overridesFetchPaymentMethods) {
|
|
31
31
|
CompletableDeferred<List<PaymentMethod>>().also {
|
|
32
32
|
fetchPaymentMethodsCallback = it
|
|
33
|
-
|
|
33
|
+
stripeSdkModule?.emitOnCustomerAdapterFetchPaymentMethodsCallback()
|
|
34
34
|
val resultFromJavascript = it.await()
|
|
35
35
|
return CustomerAdapter.Result.success(resultFromJavascript)
|
|
36
36
|
}
|
|
@@ -44,7 +44,7 @@ class ReactNativeCustomerAdapter(
|
|
|
44
44
|
CompletableDeferred<PaymentMethod>().also {
|
|
45
45
|
attachPaymentMethodCallback = it
|
|
46
46
|
val params = Arguments.createMap().also { it.putString("paymentMethodId", paymentMethodId) }
|
|
47
|
-
|
|
47
|
+
stripeSdkModule?.emitOnCustomerAdapterAttachPaymentMethodCallback(params)
|
|
48
48
|
val resultFromJavascript = it.await()
|
|
49
49
|
return CustomerAdapter.Result.success(resultFromJavascript)
|
|
50
50
|
}
|
|
@@ -58,7 +58,7 @@ class ReactNativeCustomerAdapter(
|
|
|
58
58
|
CompletableDeferred<PaymentMethod>().also {
|
|
59
59
|
detachPaymentMethodCallback = it
|
|
60
60
|
val params = Arguments.createMap().also { it.putString("paymentMethodId", paymentMethodId) }
|
|
61
|
-
|
|
61
|
+
stripeSdkModule?.emitOnCustomerAdapterDetachPaymentMethodCallback(params)
|
|
62
62
|
val resultFromJavascript = it.await()
|
|
63
63
|
return CustomerAdapter.Result.success(resultFromJavascript)
|
|
64
64
|
}
|
|
@@ -72,7 +72,7 @@ class ReactNativeCustomerAdapter(
|
|
|
72
72
|
CompletableDeferred<Unit>().also {
|
|
73
73
|
setSelectedPaymentOptionCallback = it
|
|
74
74
|
val params = Arguments.createMap().also { it.putString("paymentOption", paymentOption?.id) }
|
|
75
|
-
|
|
75
|
+
stripeSdkModule?.emitOnCustomerAdapterSetSelectedPaymentOptionCallback(params)
|
|
76
76
|
val resultFromJavascript = it.await()
|
|
77
77
|
return CustomerAdapter.Result.success(resultFromJavascript)
|
|
78
78
|
}
|
|
@@ -85,7 +85,7 @@ class ReactNativeCustomerAdapter(
|
|
|
85
85
|
if (overridesFetchSelectedPaymentOption) {
|
|
86
86
|
CompletableDeferred<String?>().also {
|
|
87
87
|
fetchSelectedPaymentOptionCallback = it
|
|
88
|
-
|
|
88
|
+
stripeSdkModule?.emitOnCustomerAdapterFetchSelectedPaymentOptionCallback()
|
|
89
89
|
val resultFromJavascript = it.await()
|
|
90
90
|
return CustomerAdapter.Result.success(
|
|
91
91
|
if (resultFromJavascript != null) {
|
|
@@ -104,10 +104,7 @@ class ReactNativeCustomerAdapter(
|
|
|
104
104
|
if (overridesSetupIntentClientSecretForCustomerAttach) {
|
|
105
105
|
CompletableDeferred<String>().also {
|
|
106
106
|
setupIntentClientSecretForCustomerAttachCallback = it
|
|
107
|
-
|
|
108
|
-
"onCustomerAdapterSetupIntentClientSecretForCustomerAttachCallback",
|
|
109
|
-
Arguments.createMap(),
|
|
110
|
-
)
|
|
107
|
+
stripeSdkModule?.emitOnCustomerAdapterSetupIntentClientSecretForCustomerAttachCallback()
|
|
111
108
|
val resultFromJavascript = it.await()
|
|
112
109
|
return CustomerAdapter.Result.success(resultFromJavascript)
|
|
113
110
|
}
|
|
@@ -115,19 +112,4 @@ class ReactNativeCustomerAdapter(
|
|
|
115
112
|
|
|
116
113
|
return adapter.setupIntentClientSecretForCustomerAttach()
|
|
117
114
|
}
|
|
118
|
-
|
|
119
|
-
private fun emitEvent(
|
|
120
|
-
eventName: String,
|
|
121
|
-
params: WritableMap,
|
|
122
|
-
) {
|
|
123
|
-
val stripeSdkModule: StripeSdkModule? = context.getNativeModule(StripeSdkModule::class.java)
|
|
124
|
-
if (stripeSdkModule == null || stripeSdkModule.eventListenerCount == 0) {
|
|
125
|
-
Log.e(
|
|
126
|
-
"StripeReactNative",
|
|
127
|
-
"Tried to call $eventName, but no callback was found. Please file an issue: https://github.com/stripe/stripe-react-native/issues",
|
|
128
|
-
)
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
stripeSdkModule?.sendEvent(context, eventName, params)
|
|
132
|
-
}
|
|
133
115
|
}
|
package/android/src/main/java/com/reactnativestripesdk/pushprovisioning/AddToWalletButtonManager.kt
CHANGED
|
@@ -2,20 +2,28 @@ package com.reactnativestripesdk.pushprovisioning
|
|
|
2
2
|
|
|
3
3
|
import android.content.Context
|
|
4
4
|
import com.bumptech.glide.Glide
|
|
5
|
+
import com.facebook.react.bridge.Dynamic
|
|
5
6
|
import com.facebook.react.bridge.ReadableMap
|
|
6
7
|
import com.facebook.react.module.annotations.ReactModule
|
|
7
8
|
import com.facebook.react.uimanager.SimpleViewManager
|
|
8
9
|
import com.facebook.react.uimanager.ThemedReactContext
|
|
9
10
|
import com.facebook.react.uimanager.annotations.ReactProp
|
|
11
|
+
import com.facebook.react.viewmanagers.AddToWalletButtonManagerDelegate
|
|
12
|
+
import com.facebook.react.viewmanagers.AddToWalletButtonManagerInterface
|
|
13
|
+
import com.reactnativestripesdk.utils.asMapOrNull
|
|
10
14
|
|
|
11
15
|
@ReactModule(name = AddToWalletButtonManager.REACT_CLASS)
|
|
12
16
|
class AddToWalletButtonManager(
|
|
13
17
|
applicationContext: Context,
|
|
14
|
-
) : SimpleViewManager<AddToWalletButtonView>()
|
|
18
|
+
) : SimpleViewManager<AddToWalletButtonView>(),
|
|
19
|
+
AddToWalletButtonManagerInterface<AddToWalletButtonView> {
|
|
20
|
+
private val delegate = AddToWalletButtonManagerDelegate(this)
|
|
15
21
|
private val requestManager = Glide.with(applicationContext)
|
|
16
22
|
|
|
17
23
|
override fun getName() = REACT_CLASS
|
|
18
24
|
|
|
25
|
+
override fun getDelegate() = delegate
|
|
26
|
+
|
|
19
27
|
override fun onDropViewInstance(view: AddToWalletButtonView) {
|
|
20
28
|
view.onDropViewInstance()
|
|
21
29
|
super.onDropViewInstance(view)
|
|
@@ -36,35 +44,51 @@ class AddToWalletButtonManager(
|
|
|
36
44
|
)
|
|
37
45
|
|
|
38
46
|
@ReactProp(name = "androidAssetSource")
|
|
39
|
-
fun
|
|
47
|
+
override fun setAndroidAssetSource(
|
|
40
48
|
view: AddToWalletButtonView,
|
|
41
|
-
source: ReadableMap
|
|
49
|
+
source: ReadableMap?,
|
|
42
50
|
) {
|
|
43
51
|
view.setSourceMap(source)
|
|
44
52
|
}
|
|
45
53
|
|
|
46
54
|
@ReactProp(name = "cardDetails")
|
|
47
|
-
fun
|
|
55
|
+
override fun setCardDetails(
|
|
48
56
|
view: AddToWalletButtonView,
|
|
49
|
-
cardDetails:
|
|
57
|
+
cardDetails: Dynamic,
|
|
50
58
|
) {
|
|
51
|
-
view.setCardDetails(cardDetails)
|
|
59
|
+
view.setCardDetails(cardDetails.asMapOrNull())
|
|
52
60
|
}
|
|
53
61
|
|
|
54
62
|
@ReactProp(name = "ephemeralKey")
|
|
55
|
-
fun
|
|
63
|
+
override fun setEphemeralKey(
|
|
56
64
|
view: AddToWalletButtonView,
|
|
57
|
-
ephemeralKey:
|
|
65
|
+
ephemeralKey: Dynamic,
|
|
58
66
|
) {
|
|
59
|
-
view.setEphemeralKey(ephemeralKey)
|
|
67
|
+
view.setEphemeralKey(ephemeralKey.asMap())
|
|
60
68
|
}
|
|
61
69
|
|
|
62
70
|
@ReactProp(name = "token")
|
|
63
|
-
fun
|
|
71
|
+
override fun setToken(
|
|
72
|
+
view: AddToWalletButtonView,
|
|
73
|
+
token: Dynamic,
|
|
74
|
+
) {
|
|
75
|
+
view.setToken(token.asMap())
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
@ReactProp(name = "iOSButtonStyle")
|
|
79
|
+
override fun setIOSButtonStyle(
|
|
80
|
+
view: AddToWalletButtonView,
|
|
81
|
+
value: String?,
|
|
82
|
+
) {
|
|
83
|
+
// noop, iOS only.
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
@ReactProp(name = "testEnv")
|
|
87
|
+
override fun setTestEnv(
|
|
64
88
|
view: AddToWalletButtonView,
|
|
65
|
-
|
|
89
|
+
value: Boolean,
|
|
66
90
|
) {
|
|
67
|
-
|
|
91
|
+
// noop, iOS only.
|
|
68
92
|
}
|
|
69
93
|
|
|
70
94
|
companion object {
|
package/android/src/main/java/com/reactnativestripesdk/pushprovisioning/AddToWalletButtonView.kt
CHANGED
|
@@ -159,11 +159,11 @@ class AddToWalletButtonView(
|
|
|
159
159
|
requestManager.clear(this)
|
|
160
160
|
}
|
|
161
161
|
|
|
162
|
-
fun setSourceMap(map: ReadableMap) {
|
|
162
|
+
fun setSourceMap(map: ReadableMap?) {
|
|
163
163
|
sourceMap = map
|
|
164
164
|
}
|
|
165
165
|
|
|
166
|
-
fun setCardDetails(detailsMap: ReadableMap) {
|
|
166
|
+
fun setCardDetails(detailsMap: ReadableMap?) {
|
|
167
167
|
cardDetails = detailsMap
|
|
168
168
|
}
|
|
169
169
|
|
|
@@ -176,6 +176,8 @@ class AddToWalletButtonView(
|
|
|
176
176
|
}
|
|
177
177
|
|
|
178
178
|
fun dispatchEvent(error: WritableMap?) {
|
|
179
|
-
UIManagerHelper
|
|
179
|
+
UIManagerHelper
|
|
180
|
+
.getEventDispatcherForReactTag(context, id)
|
|
181
|
+
?.dispatchEvent(AddToWalletCompleteEvent(context.surfaceId, id, error))
|
|
180
182
|
}
|
|
181
183
|
}
|
|
@@ -5,8 +5,10 @@ import android.view.View
|
|
|
5
5
|
import android.view.inputmethod.InputMethodManager
|
|
6
6
|
import androidx.fragment.app.Fragment
|
|
7
7
|
import androidx.fragment.app.FragmentActivity
|
|
8
|
+
import com.facebook.react.bridge.Dynamic
|
|
8
9
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
9
10
|
import com.facebook.react.bridge.ReadableMap
|
|
11
|
+
import com.facebook.react.bridge.ReadableType
|
|
10
12
|
|
|
11
13
|
fun View.showSoftKeyboard() {
|
|
12
14
|
post {
|
|
@@ -36,3 +38,5 @@ fun ReadableMap.getBooleanOr(
|
|
|
36
38
|
key: String,
|
|
37
39
|
default: Boolean,
|
|
38
40
|
): Boolean = if (this.hasKey(key)) this.getBoolean(key) else default
|
|
41
|
+
|
|
42
|
+
fun Dynamic.asMapOrNull(): ReadableMap? = if (this.type == ReadableType.Map) this.asMap() else null
|
|
@@ -199,6 +199,27 @@ internal fun mapFromBillingDetails(billingDatails: PaymentMethod.BillingDetails?
|
|
|
199
199
|
return details
|
|
200
200
|
}
|
|
201
201
|
|
|
202
|
+
internal fun mapFromPaymentSheetBillingDetails(billing: com.stripe.android.paymentsheet.PaymentSheet.BillingDetails?): WritableMap {
|
|
203
|
+
val details = Arguments.createMap()
|
|
204
|
+
details.putString("name", billing?.name)
|
|
205
|
+
details.putString("email", billing?.email)
|
|
206
|
+
details.putString("phone", billing?.phone)
|
|
207
|
+
|
|
208
|
+
// map the nested address
|
|
209
|
+
val addrMap = Arguments.createMap()
|
|
210
|
+
billing?.address?.let { a ->
|
|
211
|
+
addrMap.putString("city", a.city)
|
|
212
|
+
addrMap.putString("country", a.country)
|
|
213
|
+
addrMap.putString("line1", a.line1)
|
|
214
|
+
addrMap.putString("line2", a.line2)
|
|
215
|
+
addrMap.putString("postalCode", a.postalCode)
|
|
216
|
+
addrMap.putString("state", a.state)
|
|
217
|
+
}
|
|
218
|
+
details.putMap("address", addrMap)
|
|
219
|
+
|
|
220
|
+
return details
|
|
221
|
+
}
|
|
222
|
+
|
|
202
223
|
internal fun mapTokenType(type: Token.Type): String =
|
|
203
224
|
when (type) {
|
|
204
225
|
Token.Type.Account -> "Account"
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
|
|
3
|
+
*
|
|
4
|
+
* Do not edit this file as changes may cause incorrect behavior and will be lost
|
|
5
|
+
* once the code is regenerated.
|
|
6
|
+
*
|
|
7
|
+
* @generated by codegen project: GeneratePropsJavaDelegate.js
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
package com.facebook.react.viewmanagers;
|
|
11
|
+
|
|
12
|
+
import android.view.View;
|
|
13
|
+
import androidx.annotation.Nullable;
|
|
14
|
+
import com.facebook.react.bridge.DynamicFromObject;
|
|
15
|
+
import com.facebook.react.bridge.ReadableMap;
|
|
16
|
+
import com.facebook.react.uimanager.BaseViewManager;
|
|
17
|
+
import com.facebook.react.uimanager.BaseViewManagerDelegate;
|
|
18
|
+
import com.facebook.react.uimanager.LayoutShadowNode;
|
|
19
|
+
|
|
20
|
+
public class AddToWalletButtonManagerDelegate<T extends View, U extends BaseViewManager<T, ? extends LayoutShadowNode> & AddToWalletButtonManagerInterface<T>> extends BaseViewManagerDelegate<T, U> {
|
|
21
|
+
public AddToWalletButtonManagerDelegate(U viewManager) {
|
|
22
|
+
super(viewManager);
|
|
23
|
+
}
|
|
24
|
+
@Override
|
|
25
|
+
public void setProperty(T view, String propName, @Nullable Object value) {
|
|
26
|
+
switch (propName) {
|
|
27
|
+
case "iOSButtonStyle":
|
|
28
|
+
mViewManager.setIOSButtonStyle(view, value == null ? "onDarkBackground" : (String) value);
|
|
29
|
+
break;
|
|
30
|
+
case "androidAssetSource":
|
|
31
|
+
mViewManager.setAndroidAssetSource(view, (ReadableMap) value);
|
|
32
|
+
break;
|
|
33
|
+
case "testEnv":
|
|
34
|
+
mViewManager.setTestEnv(view, value == null ? false : (boolean) value);
|
|
35
|
+
break;
|
|
36
|
+
case "cardDetails":
|
|
37
|
+
mViewManager.setCardDetails(view, new DynamicFromObject(value));
|
|
38
|
+
break;
|
|
39
|
+
case "token":
|
|
40
|
+
mViewManager.setToken(view, new DynamicFromObject(value));
|
|
41
|
+
break;
|
|
42
|
+
case "ephemeralKey":
|
|
43
|
+
mViewManager.setEphemeralKey(view, new DynamicFromObject(value));
|
|
44
|
+
break;
|
|
45
|
+
default:
|
|
46
|
+
super.setProperty(view, propName, value);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
|
|
3
|
+
*
|
|
4
|
+
* Do not edit this file as changes may cause incorrect behavior and will be lost
|
|
5
|
+
* once the code is regenerated.
|
|
6
|
+
*
|
|
7
|
+
* @generated by codegen project: GeneratePropsJavaInterface.js
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
package com.facebook.react.viewmanagers;
|
|
11
|
+
|
|
12
|
+
import android.view.View;
|
|
13
|
+
import androidx.annotation.Nullable;
|
|
14
|
+
import com.facebook.react.bridge.Dynamic;
|
|
15
|
+
import com.facebook.react.bridge.ReadableMap;
|
|
16
|
+
import com.facebook.react.uimanager.ViewManagerWithGeneratedInterface;
|
|
17
|
+
|
|
18
|
+
public interface AddToWalletButtonManagerInterface<T extends View> extends ViewManagerWithGeneratedInterface {
|
|
19
|
+
void setIOSButtonStyle(T view, @Nullable String value);
|
|
20
|
+
void setAndroidAssetSource(T view, @Nullable ReadableMap value);
|
|
21
|
+
void setTestEnv(T view, boolean value);
|
|
22
|
+
void setCardDetails(T view, Dynamic value);
|
|
23
|
+
void setToken(T view, Dynamic value);
|
|
24
|
+
void setEphemeralKey(T view, Dynamic value);
|
|
25
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
|
|
3
|
+
*
|
|
4
|
+
* Do not edit this file as changes may cause incorrect behavior and will be lost
|
|
5
|
+
* once the code is regenerated.
|
|
6
|
+
*
|
|
7
|
+
* @generated by codegen project: GeneratePropsJavaDelegate.js
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
package com.facebook.react.viewmanagers;
|
|
11
|
+
|
|
12
|
+
import android.view.View;
|
|
13
|
+
import androidx.annotation.Nullable;
|
|
14
|
+
import com.facebook.react.bridge.DynamicFromObject;
|
|
15
|
+
import com.facebook.react.bridge.ReadableArray;
|
|
16
|
+
import com.facebook.react.uimanager.BaseViewManager;
|
|
17
|
+
import com.facebook.react.uimanager.BaseViewManagerDelegate;
|
|
18
|
+
import com.facebook.react.uimanager.LayoutShadowNode;
|
|
19
|
+
|
|
20
|
+
public class AddressSheetViewManagerDelegate<T extends View, U extends BaseViewManager<T, ? extends LayoutShadowNode> & AddressSheetViewManagerInterface<T>> extends BaseViewManagerDelegate<T, U> {
|
|
21
|
+
public AddressSheetViewManagerDelegate(U viewManager) {
|
|
22
|
+
super(viewManager);
|
|
23
|
+
}
|
|
24
|
+
@Override
|
|
25
|
+
public void setProperty(T view, String propName, @Nullable Object value) {
|
|
26
|
+
switch (propName) {
|
|
27
|
+
case "visible":
|
|
28
|
+
mViewManager.setVisible(view, value == null ? false : (boolean) value);
|
|
29
|
+
break;
|
|
30
|
+
case "presentationStyle":
|
|
31
|
+
mViewManager.setPresentationStyle(view, value == null ? "popover" : (String) value);
|
|
32
|
+
break;
|
|
33
|
+
case "animationStyle":
|
|
34
|
+
mViewManager.setAnimationStyle(view, value == null ? "slide" : (String) value);
|
|
35
|
+
break;
|
|
36
|
+
case "appearance":
|
|
37
|
+
mViewManager.setAppearance(view, new DynamicFromObject(value));
|
|
38
|
+
break;
|
|
39
|
+
case "defaultValues":
|
|
40
|
+
mViewManager.setDefaultValues(view, new DynamicFromObject(value));
|
|
41
|
+
break;
|
|
42
|
+
case "additionalFields":
|
|
43
|
+
mViewManager.setAdditionalFields(view, new DynamicFromObject(value));
|
|
44
|
+
break;
|
|
45
|
+
case "allowedCountries":
|
|
46
|
+
mViewManager.setAllowedCountries(view, (ReadableArray) value);
|
|
47
|
+
break;
|
|
48
|
+
case "autocompleteCountries":
|
|
49
|
+
mViewManager.setAutocompleteCountries(view, (ReadableArray) value);
|
|
50
|
+
break;
|
|
51
|
+
case "primaryButtonTitle":
|
|
52
|
+
mViewManager.setPrimaryButtonTitle(view, value == null ? null : (String) value);
|
|
53
|
+
break;
|
|
54
|
+
case "sheetTitle":
|
|
55
|
+
mViewManager.setSheetTitle(view, value == null ? null : (String) value);
|
|
56
|
+
break;
|
|
57
|
+
case "googlePlacesApiKey":
|
|
58
|
+
mViewManager.setGooglePlacesApiKey(view, value == null ? null : (String) value);
|
|
59
|
+
break;
|
|
60
|
+
default:
|
|
61
|
+
super.setProperty(view, propName, value);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
|
|
3
|
+
*
|
|
4
|
+
* Do not edit this file as changes may cause incorrect behavior and will be lost
|
|
5
|
+
* once the code is regenerated.
|
|
6
|
+
*
|
|
7
|
+
* @generated by codegen project: GeneratePropsJavaInterface.js
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
package com.facebook.react.viewmanagers;
|
|
11
|
+
|
|
12
|
+
import android.view.View;
|
|
13
|
+
import androidx.annotation.Nullable;
|
|
14
|
+
import com.facebook.react.bridge.Dynamic;
|
|
15
|
+
import com.facebook.react.bridge.ReadableArray;
|
|
16
|
+
import com.facebook.react.uimanager.ViewManagerWithGeneratedInterface;
|
|
17
|
+
|
|
18
|
+
public interface AddressSheetViewManagerInterface<T extends View> extends ViewManagerWithGeneratedInterface {
|
|
19
|
+
void setVisible(T view, boolean value);
|
|
20
|
+
void setPresentationStyle(T view, @Nullable String value);
|
|
21
|
+
void setAnimationStyle(T view, @Nullable String value);
|
|
22
|
+
void setAppearance(T view, Dynamic value);
|
|
23
|
+
void setDefaultValues(T view, Dynamic value);
|
|
24
|
+
void setAdditionalFields(T view, Dynamic value);
|
|
25
|
+
void setAllowedCountries(T view, @Nullable ReadableArray value);
|
|
26
|
+
void setAutocompleteCountries(T view, @Nullable ReadableArray value);
|
|
27
|
+
void setPrimaryButtonTitle(T view, @Nullable String value);
|
|
28
|
+
void setSheetTitle(T view, @Nullable String value);
|
|
29
|
+
void setGooglePlacesApiKey(T view, @Nullable String value);
|
|
30
|
+
}
|