@stripe/stripe-react-native 0.4.0 → 0.6.1
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/CHANGELOG.md +38 -0
- package/README.md +6 -1
- package/android/build/.transforms/{c731e6bf5b480f659bf1c341f3f0657c → 253af79d247c9f91c901f2038cdc6938}/results.bin +0 -0
- package/android/build/.transforms/253af79d247c9f91c901f2038cdc6938/transformed/classes/classes.dex +0 -0
- package/android/build/.transforms/{e9391f6bbf8da46ff748ca7feadbce73 → 3cbaee99352386a9df7b22dbbb69831e}/results.bin +0 -0
- package/android/build/.transforms/3cbaee99352386a9df7b22dbbb69831e/transformed/classes/classes.dex +0 -0
- package/android/build/.transforms/{f0b2868ed2d4a4bb73b1ace98fe4ccfa → 8d3571dbfd2a31ee669f64a85b02f3fc}/results.bin +0 -0
- package/android/build/.transforms/8d3571dbfd2a31ee669f64a85b02f3fc/transformed/classes/classes.dex +0 -0
- package/android/build/.transforms/bcac5194839639e17669a07fd0143335/results.bin +1 -0
- package/android/build/.transforms/bcac5194839639e17669a07fd0143335/transformed/classes/classes.dex +0 -0
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/output-metadata.json +4 -2
- package/android/build/intermediates/aar_metadata/debug/aar-metadata.properties +1 -0
- package/android/build/intermediates/compile_library_classes_jar/debug/classes.jar +0 -0
- package/android/build/intermediates/compile_r_class_jar/debug/R.jar +0 -0
- package/android/build/intermediates/compile_symbol_list/debug/R.txt +553 -29
- package/android/build/intermediates/incremental/packageDebugResources/compile-file-map.properties +1 -1
- package/android/build/intermediates/javac/debug/classes/com/reactnativestripesdk/databinding/GooglepayButtonBinding.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/reactnativestripesdk/databinding/GooglepayButtonNoShadowBinding.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/reactnativestripesdk/databinding/PayWithGooglepayButtonBinding.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/reactnativestripesdk/databinding/PayWithGooglepayButtonNoShadowBinding.class +0 -0
- package/android/build/intermediates/library_java_res/debug/res.jar +0 -0
- package/android/build/intermediates/packaged_manifests/debug/output-metadata.json +4 -2
- package/android/build/intermediates/runtime_library_classes_jar/debug/classes.jar +0 -0
- package/android/build/intermediates/symbol_list_with_package_name/debug/package-aware-r.txt +523 -29
- package/android/build/kotlin/compileDebugKotlin/build-history.bin +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/inputs/source-to-output.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/inputs/source-to-output.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/inputs/source-to-output.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/class-attributes.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/class-attributes.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/constants.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/constants.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/constants.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/constants.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/constants.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/constants.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/package-parts.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/package-parts.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/proto.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/proto.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/proto.tab.values +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/proto.tab.values.s +1 -1
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/proto.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/subtypes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/subtypes.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/subtypes.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/supertypes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/supertypes.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/supertypes.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/lookups/counters.tab +2 -2
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/lookups/file-to-id.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/lookups/file-to-id.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/lookups/file-to-id.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/lookups/file-to-id.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/lookups/id-to-file.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/lookups/id-to-file.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/lookups/id-to-file.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/lookups/lookups.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/lookups/lookups.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/lookups/lookups.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/lookups/lookups.tab.values +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/lookups/lookups.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/lookups/lookups.tab.values.s +1 -1
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/lookups/lookups.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/last-build.bin +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
- package/android/build/tmp/kotlin-classes/debug/META-INF/reactnativestripesdk_debug.kotlin_module +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/AuBECSDebitFormView$setListeners$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/AuBECSDebitFormView.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/AuBECSDebitFormViewManager.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/CardChangedEvent$Companion.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/CardChangedEvent.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/CardFieldView$setListeners$10.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/CardFieldView$setListeners$6.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/CardFieldView$setListeners$7.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/CardFieldView$setListeners$8.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/CardFieldView$setListeners$9.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/CardFieldView.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/CardFieldViewManager.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/CardFocusEvent$Companion.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/CardFocusEvent.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/CardFormCompleteEvent$Companion.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/CardFormCompleteEvent.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/CardFormView.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/CardFormViewManager.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/CollectBankAccountLauncherFragment$createBankAccountLauncher$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/CollectBankAccountLauncherFragment.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/ConfirmPaymentErrorType.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/ConfirmSetupIntentErrorType.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/CreateTokenErrorType.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/DefaultPushProvisioningProxy.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/ErrorType.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/ErrorsKt.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/ExtensionsKt.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/FormCompleteEvent$Companion.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/FormCompleteEvent.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/GooglePayButtonManager$Companion.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/GooglePayButtonManager.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/GooglePayButtonView.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/GooglePayErrorType.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/GooglePayFragment$onViewCreated$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/GooglePayFragment$onViewCreated$2.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/GooglePayFragment$onViewCreated$3.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/GooglePayFragment$onViewCreated$4.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/GooglePayFragment.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/GooglePayPaymentMethodLauncherFragment.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/MappersKt$WhenMappings.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/MappersKt.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/PaymentLauncherFragment$WhenMappings.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/PaymentLauncherFragment$retrievePaymentIntent$1$WhenMappings.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/PaymentLauncherFragment$retrievePaymentIntent$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/PaymentLauncherFragment$retrieveSetupIntent$1$WhenMappings.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/PaymentLauncherFragment$retrieveSetupIntent$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/PaymentLauncherFragment.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/PaymentMethodCreateParamsException.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/PaymentMethodCreateParamsFactory$WhenMappings.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/PaymentMethodCreateParamsFactory.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/PaymentSheetErrorType.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/PaymentSheetFragment.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/PaymentSheetFragmentKt.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/PushProvisioningProxy$createActivityEventListener$listener$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/PushProvisioningProxy.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/RetrievePaymentIntentErrorType.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/RetrieveSetupIntentErrorType.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeContainerManager.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeContainerView.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkModule$Companion.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkModule$createPaymentMethod$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkModule$createTokenForCVCUpdate$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkModule$createTokenFromBankAccount$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkModule$createTokenFromCard$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkModule$mActivityEventListener$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkModule$retrievePaymentIntent$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkModule$retrieveSetupIntent$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkModule$verifyMicrodeposits$paymentCallback$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkModule$verifyMicrodeposits$setupCallback$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkModule.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkPackage.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/pushprovisioning/AddToWalletButtonManager.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/pushprovisioning/AddToWalletButtonView$onAfterUpdateTransaction$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/pushprovisioning/AddToWalletButtonView.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/pushprovisioning/AddToWalletCompleteEvent$Companion.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/pushprovisioning/AddToWalletCompleteEvent.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/pushprovisioning/EphemeralKeyProvider$CREATOR.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/pushprovisioning/EphemeralKeyProvider.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/pushprovisioning/TapAndPayProxy.class +0 -0
- package/android/build.gradle +1 -1
- package/android/src/main/java/com/reactnativestripesdk/AuBECSDebitFormView.kt +1 -10
- package/android/src/main/java/com/reactnativestripesdk/AuBECSDebitFormViewManager.kt +4 -2
- package/android/src/main/java/com/reactnativestripesdk/CardChangedEvent.kt +0 -4
- package/android/src/main/java/com/reactnativestripesdk/{StripeSdkCardView.kt → CardFieldView.kt} +6 -9
- package/android/src/main/java/com/reactnativestripesdk/{StripeSdkCardViewManager.kt → CardFieldViewManager.kt} +20 -16
- package/android/src/main/java/com/reactnativestripesdk/CardFormView.kt +23 -23
- package/android/src/main/java/com/reactnativestripesdk/CardFormViewManager.kt +9 -6
- package/android/src/main/java/com/reactnativestripesdk/Errors.kt +3 -3
- package/android/src/main/java/com/reactnativestripesdk/FormCompleteEvent.kt +0 -1
- package/android/src/main/java/com/reactnativestripesdk/GooglePayButtonManager.kt +1 -0
- package/android/src/main/java/com/reactnativestripesdk/GooglePayButtonView.kt +1 -1
- package/android/src/main/java/com/reactnativestripesdk/GooglePayPaymentMethodLauncherFragment.kt +1 -1
- package/android/src/main/java/com/reactnativestripesdk/Mappers.kt +51 -12
- package/android/src/main/java/com/reactnativestripesdk/PaymentLauncherFragment.kt +122 -0
- package/android/src/main/java/com/reactnativestripesdk/PaymentMethodCreateParamsFactory.kt +103 -98
- package/android/src/main/java/com/reactnativestripesdk/PaymentSheetFragment.kt +51 -58
- package/android/src/main/java/com/reactnativestripesdk/StripeContainerManager.kt +2 -1
- package/android/src/main/java/com/reactnativestripesdk/StripeSdkModule.kt +84 -124
- package/android/src/main/java/com/reactnativestripesdk/StripeSdkPackage.kt +1 -1
- package/ios/.DS_Store +0 -0
- package/ios/AuBECSDebitFormView.swift +15 -0
- package/ios/Errors.swift +9 -35
- package/ios/Mappers.swift +110 -5
- package/ios/PaymentMethodFactory.swift +46 -1
- package/ios/StripeSdk.m +15 -1
- package/ios/StripeSdk.swift +287 -105
- package/jest/mock.js +1 -1
- package/lib/commonjs/NativeStripeSdk.js.map +1 -1
- package/lib/commonjs/components/StripeProvider.js +1 -1
- package/lib/commonjs/components/StripeProvider.js.map +1 -1
- package/lib/commonjs/functions.js +1 -1
- package/lib/commonjs/functions.js.map +1 -1
- package/lib/commonjs/hooks/useStripe.js +1 -1
- package/lib/commonjs/hooks/useStripe.js.map +1 -1
- package/lib/commonjs/types/Card.js.map +1 -1
- package/lib/commonjs/types/NextAction.js +2 -0
- package/lib/commonjs/types/NextAction.js.map +1 -0
- package/lib/commonjs/types/PaymentIntents.js.map +1 -1
- package/lib/commonjs/types/PaymentMethods.js.map +1 -1
- package/lib/commonjs/types/SetupIntent.js.map +1 -1
- package/lib/commonjs/types/index.js.map +1 -1
- package/lib/module/NativeStripeSdk.js.map +1 -1
- package/lib/module/components/StripeProvider.js +1 -1
- package/lib/module/components/StripeProvider.js.map +1 -1
- package/lib/module/functions.js +1 -1
- package/lib/module/functions.js.map +1 -1
- package/lib/module/hooks/useStripe.js +1 -1
- package/lib/module/hooks/useStripe.js.map +1 -1
- package/lib/module/types/Card.js.map +1 -1
- package/lib/module/types/NextAction.js +2 -0
- package/lib/module/types/NextAction.js.map +1 -0
- package/lib/module/types/PaymentIntents.js.map +1 -1
- package/lib/module/types/PaymentMethods.js.map +1 -1
- package/lib/module/types/SetupIntent.js.map +1 -1
- package/lib/module/types/index.js.map +1 -1
- package/lib/typescript/e2e/helpers.d.ts +1 -0
- package/lib/typescript/e2e/screenObject/BasicPaymentScreen.d.ts +1 -0
- package/lib/typescript/e2e/screenObject/HomeScreen.d.ts +1 -1
- package/lib/typescript/example/src/App.d.ts +2 -0
- package/lib/typescript/example/src/screens/ACHPaymentScreen.d.ts +1 -0
- package/lib/typescript/example/src/screens/ACHSetupScreen.d.ts +1 -0
- package/lib/typescript/src/NativeStripeSdk.d.ts +4 -2
- package/lib/typescript/src/components/StripeProvider.d.ts +4 -10
- package/lib/typescript/src/functions.d.ts +10 -2
- package/lib/typescript/src/hooks/useStripe.d.ts +7 -2
- package/lib/typescript/src/types/Card.d.ts +1 -0
- package/lib/typescript/src/types/NextAction.d.ts +32 -0
- package/lib/typescript/src/types/PaymentIntents.d.ts +2 -0
- package/lib/typescript/src/types/PaymentMethods.d.ts +28 -2
- package/lib/typescript/src/types/SetupIntent.d.ts +4 -2
- package/lib/typescript/src/types/index.d.ts +23 -4
- package/package.json +4 -4
- package/src/NativeStripeSdk.tsx +15 -3
- package/src/components/StripeProvider.tsx +7 -15
- package/src/functions.ts +174 -3
- package/src/hooks/useStripe.tsx +57 -6
- package/src/types/Card.ts +1 -0
- package/src/types/NextAction.ts +44 -0
- package/src/types/PaymentIntents.ts +2 -0
- package/src/types/PaymentMethods.ts +31 -2
- package/src/types/SetupIntent.ts +9 -2
- package/src/types/index.ts +32 -4
- package/stripe-react-native.podspec +3 -2
- package/android/build/.transforms/c731e6bf5b480f659bf1c341f3f0657c/transformed/classes/classes.dex +0 -0
- package/android/build/.transforms/e9391f6bbf8da46ff748ca7feadbce73/transformed/classes/classes.dex +0 -0
- package/android/build/.transforms/f0b2868ed2d4a4bb73b1ace98fe4ccfa/transformed/classes/classes.dex +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/inputs/source-to-output.tab.values +0 -0
- package/android/build/kotlin/compileDebugKotlin/caches-jvm/inputs/source-to-output.tab.values.s +0 -1
- package/android/build/tmp/compileDebugJavaWithJavac/source-classes-mapping.txt +0 -10
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/ConstantsKt.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/NextPaymentActionErrorType.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/PaymentSheetFragment$configureFlowController$onFlowControllerConfigure$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/PaymentSheetFragment$onViewCreated$paymentOptionCallback$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/PaymentSheetFragment$onViewCreated$paymentResultCallback$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkCardView$setListeners$2.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkCardView$setListeners$3.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkCardView$setListeners$4.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkCardView$setListeners$5.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkCardView$setListeners$6.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkCardView.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkCardViewManager.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkModule$googlePayReceiver$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkModule$mActivityEventListener$1$onActivityResult$2$WhenMappings.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkModule$mActivityEventListener$1$onActivityResult$2.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkModule$mActivityEventListener$1$onActivityResult$3$WhenMappings.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkModule$mActivityEventListener$1$onActivityResult$3.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkModule$mPaymentSheetReceiver$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkModule$payWithWeChatPay$1.class +0 -0
package/ios/StripeSdk.swift
CHANGED
|
@@ -72,7 +72,7 @@ class StripeSdk: RCTEventEmitter, STPApplePayContextDelegate, STPBankSelectionVi
|
|
|
72
72
|
configuration.applePay = .init(merchantId: merchantIdentifier,
|
|
73
73
|
merchantCountryCode: merchantCountryCode)
|
|
74
74
|
} else {
|
|
75
|
-
resolve(Errors.createError(
|
|
75
|
+
resolve(Errors.createError(ErrorType.Failed, "Either merchantIdentifier or merchantCountryCode is missing"))
|
|
76
76
|
return
|
|
77
77
|
}
|
|
78
78
|
}
|
|
@@ -113,7 +113,7 @@ class StripeSdk: RCTEventEmitter, STPApplePayContextDelegate, STPBankSelectionVi
|
|
|
113
113
|
if let customerId = params["customerId"] as? String {
|
|
114
114
|
if let customerEphemeralKeySecret = params["customerEphemeralKeySecret"] as? String {
|
|
115
115
|
if (!Errors.isEKClientSecretValid(clientSecret: customerEphemeralKeySecret)) {
|
|
116
|
-
resolve(Errors.createError(
|
|
116
|
+
resolve(Errors.createError(ErrorType.Failed, "`customerEphemeralKeySecret` format does not match expected client secret formatting."))
|
|
117
117
|
return
|
|
118
118
|
}
|
|
119
119
|
configuration.customer = .init(id: customerId, ephemeralKeySecret: customerEphemeralKeySecret)
|
|
@@ -129,7 +129,7 @@ class StripeSdk: RCTEventEmitter, STPApplePayContextDelegate, STPBankSelectionVi
|
|
|
129
129
|
func handlePaymentSheetFlowControllerResult(result: Result<PaymentSheet.FlowController, Error>, stripeSdk: StripeSdk?) {
|
|
130
130
|
switch result {
|
|
131
131
|
case .failure(let error):
|
|
132
|
-
resolve(Errors.createError(
|
|
132
|
+
resolve(Errors.createError(ErrorType.Failed, error as NSError))
|
|
133
133
|
case .success(let paymentSheetFlowController):
|
|
134
134
|
self.paymentSheetFlowController = paymentSheetFlowController
|
|
135
135
|
if let paymentOption = stripeSdk?.paymentSheetFlowController?.paymentOption {
|
|
@@ -146,7 +146,7 @@ class StripeSdk: RCTEventEmitter, STPApplePayContextDelegate, STPBankSelectionVi
|
|
|
146
146
|
|
|
147
147
|
if let paymentIntentClientSecret = params["paymentIntentClientSecret"] as? String {
|
|
148
148
|
if (!Errors.isPIClientSecretValid(clientSecret: paymentIntentClientSecret)) {
|
|
149
|
-
resolve(Errors.createError(
|
|
149
|
+
resolve(Errors.createError(ErrorType.Failed, "`secret` format does not match expected client secret formatting."))
|
|
150
150
|
return
|
|
151
151
|
}
|
|
152
152
|
|
|
@@ -161,7 +161,7 @@ class StripeSdk: RCTEventEmitter, STPApplePayContextDelegate, STPBankSelectionVi
|
|
|
161
161
|
}
|
|
162
162
|
} else if let setupIntentClientSecret = params["setupIntentClientSecret"] as? String {
|
|
163
163
|
if (!Errors.isSetiClientSecretValid(clientSecret: setupIntentClientSecret)) {
|
|
164
|
-
resolve(Errors.createError(
|
|
164
|
+
resolve(Errors.createError(ErrorType.Failed, "`secret` format does not match expected client secret formatting."))
|
|
165
165
|
return
|
|
166
166
|
}
|
|
167
167
|
|
|
@@ -175,7 +175,7 @@ class StripeSdk: RCTEventEmitter, STPApplePayContextDelegate, STPBankSelectionVi
|
|
|
175
175
|
resolve([])
|
|
176
176
|
}
|
|
177
177
|
} else {
|
|
178
|
-
resolve(Errors.createError(
|
|
178
|
+
resolve(Errors.createError(ErrorType.Failed, "You must provide either paymentIntentClientSecret or setupIntentClientSecret"))
|
|
179
179
|
}
|
|
180
180
|
|
|
181
181
|
}
|
|
@@ -191,14 +191,14 @@ class StripeSdk: RCTEventEmitter, STPApplePayContextDelegate, STPBankSelectionVi
|
|
|
191
191
|
resolve([])
|
|
192
192
|
self.paymentSheetFlowController = nil
|
|
193
193
|
case .canceled:
|
|
194
|
-
resolve(Errors.createError(
|
|
194
|
+
resolve(Errors.createError(ErrorType.Canceled, "The payment has been canceled"))
|
|
195
195
|
case .failed(let error):
|
|
196
|
-
resolve(Errors.createError(
|
|
196
|
+
resolve(Errors.createError(ErrorType.Failed, error.localizedDescription))
|
|
197
197
|
}
|
|
198
198
|
|
|
199
199
|
}
|
|
200
200
|
} else {
|
|
201
|
-
resolve(Errors.createError(
|
|
201
|
+
resolve(Errors.createError(ErrorType.Failed, "No payment sheet has been initialized yet"))
|
|
202
202
|
}
|
|
203
203
|
}
|
|
204
204
|
}
|
|
@@ -231,13 +231,13 @@ class StripeSdk: RCTEventEmitter, STPApplePayContextDelegate, STPBankSelectionVi
|
|
|
231
231
|
resolve([])
|
|
232
232
|
self.paymentSheet = nil
|
|
233
233
|
case .canceled:
|
|
234
|
-
resolve(Errors.createError(
|
|
234
|
+
resolve(Errors.createError(ErrorType.Canceled, "The payment has been canceled"))
|
|
235
235
|
case .failed(let error):
|
|
236
|
-
resolve(Errors.createError(
|
|
236
|
+
resolve(Errors.createError(ErrorType.Failed, error as NSError))
|
|
237
237
|
}
|
|
238
238
|
}
|
|
239
239
|
} else {
|
|
240
|
-
resolve(Errors.createError(
|
|
240
|
+
resolve(Errors.createError(ErrorType.Failed, "No payment sheet has been initialized yet"))
|
|
241
241
|
}
|
|
242
242
|
}
|
|
243
243
|
}
|
|
@@ -245,13 +245,13 @@ class StripeSdk: RCTEventEmitter, STPApplePayContextDelegate, STPBankSelectionVi
|
|
|
245
245
|
@objc(createTokenForCVCUpdate:resolver:rejecter:)
|
|
246
246
|
func createTokenForCVCUpdate(cvc: String?, resolver resolve: @escaping RCTPromiseResolveBlock, rejecter reject: @escaping RCTPromiseRejectBlock) {
|
|
247
247
|
guard let cvc = cvc else {
|
|
248
|
-
resolve(Errors.createError(
|
|
248
|
+
resolve(Errors.createError(ErrorType.Failed, "You must provide CVC"))
|
|
249
249
|
return;
|
|
250
250
|
}
|
|
251
251
|
|
|
252
252
|
STPAPIClient.shared.createToken(forCVCUpdate: cvc) { (token, error) in
|
|
253
253
|
if error != nil || token == nil {
|
|
254
|
-
resolve(Errors.createError(
|
|
254
|
+
resolve(Errors.createError(ErrorType.Failed, error?.localizedDescription ?? ""))
|
|
255
255
|
} else {
|
|
256
256
|
let tokenId = token?.tokenId
|
|
257
257
|
resolve(["tokenId": tokenId])
|
|
@@ -265,26 +265,33 @@ class StripeSdk: RCTEventEmitter, STPApplePayContextDelegate, STPBankSelectionVi
|
|
|
265
265
|
rejecter reject: @escaping RCTPromiseRejectBlock) {
|
|
266
266
|
let type = Mappers.mapToPaymentMethodType(type: params["type"] as? String)
|
|
267
267
|
guard let paymentMethodType = type else {
|
|
268
|
-
resolve(Errors.createError(
|
|
268
|
+
resolve(Errors.createError(ErrorType.Failed, "You must provide paymentMethodType"))
|
|
269
269
|
return
|
|
270
270
|
}
|
|
271
|
-
var paymentMethodParams: STPPaymentMethodParams?
|
|
272
|
-
let factory = PaymentMethodFactory.init(params: params, cardFieldView: cardFieldView, cardFormView: cardFormView)
|
|
273
271
|
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
272
|
+
var err: NSDictionary? = nil
|
|
273
|
+
let setupIntentParams: STPSetupIntentConfirmParams = {
|
|
274
|
+
if (paymentMethodType == .USBankAccount && params["accountNumber"] == nil) { // Payment method is assumed to be already attached
|
|
275
|
+
return STPSetupIntentConfirmParams(clientSecret: setupIntentClientSecret, paymentMethodType: .USBankAccount)
|
|
276
|
+
} else {
|
|
277
|
+
let parameters = STPSetupIntentConfirmParams(clientSecret: setupIntentClientSecret)
|
|
278
|
+
let factory = PaymentMethodFactory.init(params: params, cardFieldView: cardFieldView, cardFormView: cardFormView)
|
|
279
|
+
do {
|
|
280
|
+
let paymentMethodParams = try factory.createParams(paymentMethodType: paymentMethodType)
|
|
281
|
+
parameters.paymentMethodParams = paymentMethodParams
|
|
282
|
+
} catch {
|
|
283
|
+
err = Errors.createError(ErrorType.Failed, error as NSError?)
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
return parameters
|
|
287
|
+
}
|
|
288
|
+
}()
|
|
289
|
+
|
|
290
|
+
if (err != nil) {
|
|
291
|
+
resolve(err)
|
|
282
292
|
return
|
|
283
293
|
}
|
|
284
|
-
|
|
285
|
-
let setupIntentParams = STPSetupIntentConfirmParams(clientSecret: setupIntentClientSecret)
|
|
286
|
-
setupIntentParams.paymentMethodParams = paymentMethodParams
|
|
287
|
-
|
|
294
|
+
|
|
288
295
|
if let urlScheme = urlScheme {
|
|
289
296
|
setupIntentParams.returnURL = Mappers.mapToReturnURL(urlScheme: urlScheme)
|
|
290
297
|
}
|
|
@@ -293,20 +300,20 @@ class StripeSdk: RCTEventEmitter, STPApplePayContextDelegate, STPBankSelectionVi
|
|
|
293
300
|
paymentHandler.confirmSetupIntent(setupIntentParams, with: self) { status, setupIntent, error in
|
|
294
301
|
switch (status) {
|
|
295
302
|
case .failed:
|
|
296
|
-
resolve(Errors.createError(
|
|
303
|
+
resolve(Errors.createError(ErrorType.Failed, error))
|
|
297
304
|
break
|
|
298
305
|
case .canceled:
|
|
299
306
|
if let lastError = setupIntent?.lastSetupError {
|
|
300
|
-
resolve(Errors.createError(
|
|
307
|
+
resolve(Errors.createError(ErrorType.Canceled, lastError))
|
|
301
308
|
} else {
|
|
302
|
-
resolve(Errors.createError(
|
|
309
|
+
resolve(Errors.createError(ErrorType.Canceled, "The payment has been canceled"))
|
|
303
310
|
}
|
|
304
311
|
break
|
|
305
312
|
case .succeeded:
|
|
306
313
|
let intent = Mappers.mapFromSetupIntent(setupIntent: setupIntent!)
|
|
307
314
|
resolve(Mappers.createResult("setupIntent", intent))
|
|
308
315
|
@unknown default:
|
|
309
|
-
resolve(Errors.createError(
|
|
316
|
+
resolve(Errors.createError(ErrorType.Unknown, error))
|
|
310
317
|
break
|
|
311
318
|
}
|
|
312
319
|
}
|
|
@@ -315,7 +322,7 @@ class StripeSdk: RCTEventEmitter, STPApplePayContextDelegate, STPBankSelectionVi
|
|
|
315
322
|
@objc(updateApplePaySummaryItems:errorAddressFields:resolver:rejecter:)
|
|
316
323
|
func updateApplePaySummaryItems(summaryItems: NSArray, errorAddressFields: [NSDictionary], resolver resolve: @escaping RCTPromiseResolveBlock, rejecter reject: @escaping RCTPromiseRejectBlock) {
|
|
317
324
|
if (shippingMethodUpdateHandler == nil && shippingContactUpdateHandler == nil) {
|
|
318
|
-
resolve(Errors.createError(
|
|
325
|
+
resolve(Errors.createError(ErrorType.Failed, "You can use this method only after either onDidSetShippingMethod or onDidSetShippingContact events emitted"))
|
|
319
326
|
return
|
|
320
327
|
}
|
|
321
328
|
var paymentSummaryItems: [PKPaymentSummaryItem] = []
|
|
@@ -349,7 +356,7 @@ class StripeSdk: RCTEventEmitter, STPApplePayContextDelegate, STPBankSelectionVi
|
|
|
349
356
|
library.openPaymentSetup()
|
|
350
357
|
resolve([])
|
|
351
358
|
} else {
|
|
352
|
-
resolve(Errors.createError(
|
|
359
|
+
resolve(Errors.createError(ErrorType.Failed, "Cannot open payment setup"))
|
|
353
360
|
}
|
|
354
361
|
}
|
|
355
362
|
|
|
@@ -396,22 +403,22 @@ class StripeSdk: RCTEventEmitter, STPApplePayContextDelegate, STPBankSelectionVi
|
|
|
396
403
|
break
|
|
397
404
|
case .error:
|
|
398
405
|
let message = "Payment not completed"
|
|
399
|
-
applePayCompletionRejecter?(
|
|
400
|
-
applePayRequestRejecter?(
|
|
406
|
+
applePayCompletionRejecter?(ErrorType.Failed, message, nil)
|
|
407
|
+
applePayRequestRejecter?(ErrorType.Failed, message, nil)
|
|
401
408
|
applePayCompletionRejecter = nil
|
|
402
409
|
applePayRequestRejecter = nil
|
|
403
410
|
break
|
|
404
411
|
case .userCancellation:
|
|
405
412
|
let message = "The payment has been canceled"
|
|
406
|
-
applePayCompletionRejecter?(
|
|
407
|
-
applePayRequestRejecter?(
|
|
413
|
+
applePayCompletionRejecter?(ErrorType.Canceled, message, nil)
|
|
414
|
+
applePayRequestRejecter?(ErrorType.Canceled, message, nil)
|
|
408
415
|
applePayCompletionRejecter = nil
|
|
409
416
|
applePayRequestRejecter = nil
|
|
410
417
|
break
|
|
411
418
|
@unknown default:
|
|
412
419
|
let message = "Payment not completed"
|
|
413
|
-
applePayCompletionRejecter?(
|
|
414
|
-
applePayRequestRejecter?(
|
|
420
|
+
applePayCompletionRejecter?(ErrorType.Unknown, message, nil)
|
|
421
|
+
applePayRequestRejecter?(ErrorType.Unknown, message, nil)
|
|
415
422
|
applePayCompletionRejecter = nil
|
|
416
423
|
applePayRequestRejecter = nil
|
|
417
424
|
}
|
|
@@ -446,7 +453,7 @@ class StripeSdk: RCTEventEmitter, STPApplePayContextDelegate, STPBankSelectionVi
|
|
|
446
453
|
resolver resolve: @escaping RCTPromiseResolveBlock,
|
|
447
454
|
rejecter reject: @escaping RCTPromiseRejectBlock) {
|
|
448
455
|
if (merchantIdentifier == nil) {
|
|
449
|
-
reject(
|
|
456
|
+
reject(ErrorType.Failed, "You must provide merchantIdentifier", nil)
|
|
450
457
|
return
|
|
451
458
|
}
|
|
452
459
|
|
|
@@ -455,15 +462,15 @@ class StripeSdk: RCTEventEmitter, STPApplePayContextDelegate, STPBankSelectionVi
|
|
|
455
462
|
}
|
|
456
463
|
|
|
457
464
|
guard let summaryItems = params["cartItems"] as? NSArray else {
|
|
458
|
-
reject(
|
|
465
|
+
reject(ErrorType.Failed, "You must provide the items for purchase", nil)
|
|
459
466
|
return
|
|
460
467
|
}
|
|
461
468
|
guard let country = params["country"] as? String else {
|
|
462
|
-
reject(
|
|
469
|
+
reject(ErrorType.Failed, "You must provide the country", nil)
|
|
463
470
|
return
|
|
464
471
|
}
|
|
465
472
|
guard let currency = params["currency"] as? String else {
|
|
466
|
-
reject(
|
|
473
|
+
reject(ErrorType.Failed, "You must provide the payment currency", nil)
|
|
467
474
|
return
|
|
468
475
|
}
|
|
469
476
|
|
|
@@ -504,7 +511,7 @@ class StripeSdk: RCTEventEmitter, STPApplePayContextDelegate, STPBankSelectionVi
|
|
|
504
511
|
applePayContext.presentApplePay(completion: nil)
|
|
505
512
|
}
|
|
506
513
|
} else {
|
|
507
|
-
reject(
|
|
514
|
+
reject(ErrorType.Failed, "Payment not completed", nil)
|
|
508
515
|
}
|
|
509
516
|
}
|
|
510
517
|
|
|
@@ -524,7 +531,7 @@ class StripeSdk: RCTEventEmitter, STPApplePayContextDelegate, STPBankSelectionVi
|
|
|
524
531
|
) -> Void {
|
|
525
532
|
let type = Mappers.mapToPaymentMethodType(type: params["type"] as? String)
|
|
526
533
|
guard let paymentMethodType = type else {
|
|
527
|
-
resolve(Errors.createError(
|
|
534
|
+
resolve(Errors.createError(ErrorType.Failed, "You must provide paymentMethodType"))
|
|
528
535
|
return
|
|
529
536
|
}
|
|
530
537
|
|
|
@@ -534,18 +541,18 @@ class StripeSdk: RCTEventEmitter, STPApplePayContextDelegate, STPBankSelectionVi
|
|
|
534
541
|
do {
|
|
535
542
|
paymentMethodParams = try factory.createParams(paymentMethodType: paymentMethodType)
|
|
536
543
|
} catch {
|
|
537
|
-
resolve(Errors.createError(
|
|
544
|
+
resolve(Errors.createError(ErrorType.Failed, error.localizedDescription))
|
|
538
545
|
return
|
|
539
546
|
}
|
|
540
547
|
|
|
541
548
|
guard let params = paymentMethodParams else {
|
|
542
|
-
resolve(Errors.createError(
|
|
549
|
+
resolve(Errors.createError(ErrorType.Unknown, "Unhandled error occured"))
|
|
543
550
|
return
|
|
544
551
|
}
|
|
545
552
|
|
|
546
553
|
STPAPIClient.shared.createPaymentMethod(with: params) { paymentMethod, error in
|
|
547
554
|
if let createError = error {
|
|
548
|
-
resolve(Errors.createError(
|
|
555
|
+
resolve(Errors.createError(ErrorType.Failed, createError.localizedDescription))
|
|
549
556
|
return
|
|
550
557
|
}
|
|
551
558
|
|
|
@@ -563,7 +570,7 @@ class StripeSdk: RCTEventEmitter, STPApplePayContextDelegate, STPBankSelectionVi
|
|
|
563
570
|
rejecter reject: @escaping RCTPromiseRejectBlock
|
|
564
571
|
) -> Void {
|
|
565
572
|
guard let type = params["type"] as? String else {
|
|
566
|
-
resolve(Errors.createError(
|
|
573
|
+
resolve(Errors.createError(ErrorType.Failed, "type parameter is required"))
|
|
567
574
|
return
|
|
568
575
|
}
|
|
569
576
|
|
|
@@ -574,7 +581,7 @@ class StripeSdk: RCTEventEmitter, STPApplePayContextDelegate, STPBankSelectionVi
|
|
|
574
581
|
case "Card":
|
|
575
582
|
createTokenFromCard(params: params, resolver: resolve, rejecter: reject)
|
|
576
583
|
default:
|
|
577
|
-
resolve(Errors.createError(
|
|
584
|
+
resolve(Errors.createError(ErrorType.Failed, type + " type is not supported yet"))
|
|
578
585
|
}
|
|
579
586
|
}
|
|
580
587
|
|
|
@@ -603,7 +610,7 @@ class StripeSdk: RCTEventEmitter, STPApplePayContextDelegate, STPBankSelectionVi
|
|
|
603
610
|
if let token = token {
|
|
604
611
|
resolve(Mappers.createResult("token", Mappers.mapFromToken(token: token)))
|
|
605
612
|
} else {
|
|
606
|
-
resolve(Errors.createError(
|
|
613
|
+
resolve(Errors.createError(ErrorType.Failed, error as NSError?))
|
|
607
614
|
}
|
|
608
615
|
}
|
|
609
616
|
}
|
|
@@ -614,7 +621,7 @@ class StripeSdk: RCTEventEmitter, STPApplePayContextDelegate, STPBankSelectionVi
|
|
|
614
621
|
rejecter reject: @escaping RCTPromiseRejectBlock
|
|
615
622
|
) -> Void {
|
|
616
623
|
guard let cardParams = cardFieldView?.cardParams ?? cardFormView?.cardParams else {
|
|
617
|
-
resolve(Errors.createError(
|
|
624
|
+
resolve(Errors.createError(ErrorType.Failed, "Card details not complete"))
|
|
618
625
|
return
|
|
619
626
|
}
|
|
620
627
|
|
|
@@ -626,18 +633,19 @@ class StripeSdk: RCTEventEmitter, STPApplePayContextDelegate, STPBankSelectionVi
|
|
|
626
633
|
cardSourceParams.expYear = UInt(truncating: cardParams.expYear ?? 0)
|
|
627
634
|
cardSourceParams.address = Mappers.mapToAddress(address: address)
|
|
628
635
|
cardSourceParams.name = params["name"] as? String
|
|
636
|
+
cardSourceParams.currency = params["currency"] as? String
|
|
629
637
|
|
|
630
638
|
STPAPIClient.shared.createToken(withCard: cardSourceParams) { token, error in
|
|
631
639
|
if let token = token {
|
|
632
640
|
resolve(Mappers.createResult("token", Mappers.mapFromToken(token: token)))
|
|
633
641
|
} else {
|
|
634
|
-
resolve(Errors.createError(
|
|
642
|
+
resolve(Errors.createError(ErrorType.Failed, error as NSError?))
|
|
635
643
|
}
|
|
636
644
|
}
|
|
637
645
|
}
|
|
638
646
|
|
|
639
|
-
@objc(
|
|
640
|
-
func
|
|
647
|
+
@objc(handleNextAction:resolver:rejecter:)
|
|
648
|
+
func handleNextAction(
|
|
641
649
|
paymentIntentClientSecret: String,
|
|
642
650
|
resolver resolve: @escaping RCTPromiseResolveBlock,
|
|
643
651
|
rejecter reject: @escaping RCTPromiseRejectBlock
|
|
@@ -646,13 +654,13 @@ class StripeSdk: RCTEventEmitter, STPApplePayContextDelegate, STPBankSelectionVi
|
|
|
646
654
|
paymentHandler.handleNextAction(forPayment: paymentIntentClientSecret, with: self, returnURL: nil) { status, paymentIntent, handleActionError in
|
|
647
655
|
switch (status) {
|
|
648
656
|
case .failed:
|
|
649
|
-
resolve(Errors.createError(
|
|
657
|
+
resolve(Errors.createError(ErrorType.Failed, handleActionError))
|
|
650
658
|
break
|
|
651
659
|
case .canceled:
|
|
652
660
|
if let lastError = paymentIntent?.lastPaymentError {
|
|
653
|
-
resolve(Errors.createError(
|
|
661
|
+
resolve(Errors.createError(ErrorType.Canceled, lastError))
|
|
654
662
|
} else {
|
|
655
|
-
resolve(Errors.createError(
|
|
663
|
+
resolve(Errors.createError(ErrorType.Canceled, "The payment has been canceled"))
|
|
656
664
|
}
|
|
657
665
|
break
|
|
658
666
|
case .succeeded:
|
|
@@ -661,11 +669,95 @@ class StripeSdk: RCTEventEmitter, STPApplePayContextDelegate, STPBankSelectionVi
|
|
|
661
669
|
}
|
|
662
670
|
break
|
|
663
671
|
@unknown default:
|
|
664
|
-
resolve(Errors.createError(
|
|
672
|
+
resolve(Errors.createError(ErrorType.Unknown, "Cannot complete payment"))
|
|
665
673
|
break
|
|
666
674
|
}
|
|
667
675
|
}
|
|
668
676
|
}
|
|
677
|
+
|
|
678
|
+
@objc(collectBankAccount:clientSecret:params:resolver:rejecter:)
|
|
679
|
+
func collectBankAccount(
|
|
680
|
+
intentType: String,
|
|
681
|
+
clientSecret: NSString,
|
|
682
|
+
params: NSDictionary,
|
|
683
|
+
resolver resolve: @escaping RCTPromiseResolveBlock,
|
|
684
|
+
rejecter reject: @escaping RCTPromiseRejectBlock
|
|
685
|
+
) -> Void {
|
|
686
|
+
let type = Mappers.mapToPaymentMethodType(type: params["type"] as? String)
|
|
687
|
+
if (type == nil || type != STPPaymentMethodType.USBankAccount) {
|
|
688
|
+
resolve(Errors.createError(ErrorType.Failed, "collectBankAccount currently only accepts the USBankAccount payment method type."))
|
|
689
|
+
return
|
|
690
|
+
}
|
|
691
|
+
|
|
692
|
+
guard let billingDetails = params["billingDetails"] as? [String: Any?], let name = billingDetails["name"] as? String else {
|
|
693
|
+
resolve(Errors.createError(ErrorType.Canceled, "You must provide a name when collecting US bank account details."))
|
|
694
|
+
return
|
|
695
|
+
}
|
|
696
|
+
|
|
697
|
+
if (name.isEmpty) {
|
|
698
|
+
resolve(Errors.createError(ErrorType.Canceled, "You must provide a name when collecting US bank account details."))
|
|
699
|
+
return
|
|
700
|
+
}
|
|
701
|
+
|
|
702
|
+
let collectParams = STPCollectBankAccountParams.collectUSBankAccountParams(
|
|
703
|
+
with: name,
|
|
704
|
+
email: billingDetails["email"] as? String
|
|
705
|
+
)
|
|
706
|
+
|
|
707
|
+
switch intentType {
|
|
708
|
+
case "payment":
|
|
709
|
+
DispatchQueue.main.async {
|
|
710
|
+
STPBankAccountCollector().collectBankAccountForPayment(
|
|
711
|
+
clientSecret: clientSecret as String,
|
|
712
|
+
params: collectParams,
|
|
713
|
+
from: findViewControllerPresenter(from: UIApplication.shared.delegate?.window??.rootViewController ?? UIViewController())
|
|
714
|
+
) { intent, error in
|
|
715
|
+
if let error = error {
|
|
716
|
+
resolve(Errors.createError(ErrorType.Failed, error as NSError))
|
|
717
|
+
return
|
|
718
|
+
}
|
|
719
|
+
|
|
720
|
+
if let intent = intent {
|
|
721
|
+
if (intent.status == .requiresPaymentMethod) {
|
|
722
|
+
resolve(Errors.createError(ErrorType.Canceled, "Bank account collection was canceled."))
|
|
723
|
+
}
|
|
724
|
+
resolve(
|
|
725
|
+
Mappers.createResult("paymentIntent", Mappers.mapFromPaymentIntent(paymentIntent: intent))
|
|
726
|
+
)
|
|
727
|
+
} else {
|
|
728
|
+
resolve(Errors.createError(ErrorType.Unknown, "There was unexpected error while collecting bank account information."))
|
|
729
|
+
}
|
|
730
|
+
}
|
|
731
|
+
}
|
|
732
|
+
case "setup":
|
|
733
|
+
DispatchQueue.main.async {
|
|
734
|
+
STPBankAccountCollector().collectBankAccountForSetup(
|
|
735
|
+
clientSecret: clientSecret as String,
|
|
736
|
+
params: collectParams,
|
|
737
|
+
from: findViewControllerPresenter(from: UIApplication.shared.delegate?.window??.rootViewController ?? UIViewController())
|
|
738
|
+
) { intent, error in
|
|
739
|
+
if let error = error {
|
|
740
|
+
resolve(Errors.createError(ErrorType.Failed, error as NSError))
|
|
741
|
+
return
|
|
742
|
+
}
|
|
743
|
+
|
|
744
|
+
if let intent = intent {
|
|
745
|
+
if (intent.status == .requiresPaymentMethod) {
|
|
746
|
+
resolve(Errors.createError(ErrorType.Canceled, "Bank account collection was canceled."))
|
|
747
|
+
}
|
|
748
|
+
resolve(
|
|
749
|
+
Mappers.createResult("setupIntent", Mappers.mapFromSetupIntent(setupIntent: intent))
|
|
750
|
+
)
|
|
751
|
+
} else {
|
|
752
|
+
resolve(Errors.createError(ErrorType.Unknown, "There was unexpected error while collecting bank account information."))
|
|
753
|
+
}
|
|
754
|
+
}
|
|
755
|
+
}
|
|
756
|
+
default:
|
|
757
|
+
resolve(Errors.createError(ErrorType.Failed, "Received unexpected intent type: " + intentType))
|
|
758
|
+
}
|
|
759
|
+
|
|
760
|
+
}
|
|
669
761
|
|
|
670
762
|
@objc(confirmPayment:data:options:resolver:rejecter:)
|
|
671
763
|
func confirmPayment(
|
|
@@ -677,55 +769,71 @@ class StripeSdk: RCTEventEmitter, STPApplePayContextDelegate, STPBankSelectionVi
|
|
|
677
769
|
) -> Void {
|
|
678
770
|
self.confirmPaymentResolver = resolve
|
|
679
771
|
self.confirmPaymentClientSecret = paymentIntentClientSecret
|
|
680
|
-
|
|
681
|
-
let paymentMethodId = params["paymentMethodId"] as? String
|
|
682
|
-
let paymentIntentParams = STPPaymentIntentParams(clientSecret: paymentIntentClientSecret)
|
|
683
|
-
if let setupFutureUsage = params["setupFutureUsage"] as? String {
|
|
684
|
-
paymentIntentParams.setupFutureUsage = Mappers.mapToPaymentIntentFutureUsage(usage: setupFutureUsage)
|
|
685
|
-
}
|
|
686
|
-
|
|
772
|
+
|
|
687
773
|
let type = Mappers.mapToPaymentMethodType(type: params["type"] as? String)
|
|
688
774
|
guard let paymentMethodType = type else {
|
|
689
|
-
resolve(Errors.createError(
|
|
775
|
+
resolve(Errors.createError(ErrorType.Failed, "You must provide paymentMethodType"))
|
|
690
776
|
return
|
|
691
777
|
}
|
|
692
778
|
|
|
693
|
-
if (paymentMethodType ==
|
|
779
|
+
if (paymentMethodType == .FPX) {
|
|
694
780
|
let testOfflineBank = params["testOfflineBank"] as? Bool
|
|
695
781
|
if (testOfflineBank == false || testOfflineBank == nil) {
|
|
696
782
|
payWithFPX(paymentIntentClientSecret)
|
|
697
783
|
return
|
|
698
784
|
}
|
|
699
785
|
}
|
|
700
|
-
|
|
701
|
-
|
|
786
|
+
|
|
787
|
+
let (error, paymentIntentParams) = createPaymentIntentParams(paymentIntentClientSecret: paymentIntentClientSecret, paymentMethodType: paymentMethodType, params: params, options: options)
|
|
788
|
+
|
|
789
|
+
if (error != nil) {
|
|
790
|
+
resolve(error)
|
|
702
791
|
} else {
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
792
|
+
STPPaymentHandler.shared().confirmPayment(paymentIntentParams, with: self, completion: onCompleteConfirmPayment)
|
|
793
|
+
}
|
|
794
|
+
}
|
|
795
|
+
|
|
796
|
+
func createPaymentIntentParams(
|
|
797
|
+
paymentIntentClientSecret: String,
|
|
798
|
+
paymentMethodType: STPPaymentMethodType,
|
|
799
|
+
params: NSDictionary,
|
|
800
|
+
options: NSDictionary
|
|
801
|
+
) -> (NSDictionary?, STPPaymentIntentParams) {
|
|
802
|
+
let factory = PaymentMethodFactory.init(params: params, cardFieldView: cardFieldView, cardFormView: cardFormView)
|
|
803
|
+
var err: NSDictionary? = nil
|
|
804
|
+
|
|
805
|
+
let paymentIntentParams: STPPaymentIntentParams = {
|
|
806
|
+
if (paymentMethodType == .USBankAccount && params["accountNumber"] == nil) { // Payment method is assumed to be already attached
|
|
807
|
+
return STPPaymentIntentParams(clientSecret: paymentIntentClientSecret, paymentMethodType: .USBankAccount)
|
|
808
|
+
} else {
|
|
809
|
+
let paymentMethodId = params["paymentMethodId"] as? String
|
|
810
|
+
let parameters = STPPaymentIntentParams(clientSecret: paymentIntentClientSecret)
|
|
811
|
+
|
|
812
|
+
if paymentMethodId != nil {
|
|
813
|
+
parameters.paymentMethodId = paymentMethodId
|
|
814
|
+
} else {
|
|
815
|
+
do {
|
|
816
|
+
let paymentMethodParams = try factory.createParams(paymentMethodType: paymentMethodType)
|
|
817
|
+
let paymentMethodOptions = try factory.createOptions(paymentMethodType: paymentMethodType)
|
|
818
|
+
parameters.paymentMethodParams = paymentMethodParams
|
|
819
|
+
parameters.paymentMethodOptions = paymentMethodOptions
|
|
820
|
+
} catch {
|
|
821
|
+
err = Errors.createError(ErrorType.Failed, error as NSError?)
|
|
822
|
+
}
|
|
823
|
+
}
|
|
824
|
+
return parameters
|
|
717
825
|
}
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
826
|
+
}()
|
|
827
|
+
|
|
828
|
+
if let setupFutureUsage = params["setupFutureUsage"] as? String {
|
|
829
|
+
paymentIntentParams.setupFutureUsage = Mappers.mapToPaymentIntentFutureUsage(usage: setupFutureUsage)
|
|
721
830
|
}
|
|
722
|
-
|
|
723
|
-
if let urlScheme = urlScheme {
|
|
831
|
+
if let urlScheme = urlScheme {
|
|
724
832
|
paymentIntentParams.returnURL = Mappers.mapToReturnURL(urlScheme: urlScheme)
|
|
725
833
|
}
|
|
834
|
+
paymentIntentParams.shipping = Mappers.mapToShippingDetails(shippingDetails: params["shippingDetails"] as? NSDictionary)
|
|
726
835
|
|
|
727
|
-
|
|
728
|
-
paymentHandler.confirmPayment(paymentIntentParams, with: self, completion: onCompleteConfirmPayment)
|
|
836
|
+
return (err, paymentIntentParams)
|
|
729
837
|
}
|
|
730
838
|
|
|
731
839
|
@objc(retrievePaymentIntent:resolver:rejecter:)
|
|
@@ -737,9 +845,9 @@ class StripeSdk: RCTEventEmitter, STPApplePayContextDelegate, STPBankSelectionVi
|
|
|
737
845
|
STPAPIClient.shared.retrievePaymentIntent(withClientSecret: clientSecret) { (paymentIntent, error) in
|
|
738
846
|
guard error == nil else {
|
|
739
847
|
if let lastPaymentError = paymentIntent?.lastPaymentError {
|
|
740
|
-
resolve(Errors.createError(
|
|
848
|
+
resolve(Errors.createError(ErrorType.Unknown, lastPaymentError))
|
|
741
849
|
} else {
|
|
742
|
-
resolve(Errors.createError(
|
|
850
|
+
resolve(Errors.createError(ErrorType.Unknown, error?.localizedDescription))
|
|
743
851
|
}
|
|
744
852
|
|
|
745
853
|
return
|
|
@@ -748,7 +856,7 @@ class StripeSdk: RCTEventEmitter, STPApplePayContextDelegate, STPBankSelectionVi
|
|
|
748
856
|
if let paymentIntent = paymentIntent {
|
|
749
857
|
resolve(Mappers.createResult("paymentIntent", Mappers.mapFromPaymentIntent(paymentIntent: paymentIntent)))
|
|
750
858
|
} else {
|
|
751
|
-
resolve(Errors.createError(
|
|
859
|
+
resolve(Errors.createError(ErrorType.Unknown, "Failed to retrieve the PaymentIntent"))
|
|
752
860
|
}
|
|
753
861
|
}
|
|
754
862
|
}
|
|
@@ -762,9 +870,9 @@ class StripeSdk: RCTEventEmitter, STPApplePayContextDelegate, STPBankSelectionVi
|
|
|
762
870
|
STPAPIClient.shared.retrieveSetupIntent(withClientSecret: clientSecret) { (setupIntent, error) in
|
|
763
871
|
guard error == nil else {
|
|
764
872
|
if let lastSetupError = setupIntent?.lastSetupError {
|
|
765
|
-
resolve(Errors.createError(
|
|
873
|
+
resolve(Errors.createError(ErrorType.Unknown, lastSetupError))
|
|
766
874
|
} else {
|
|
767
|
-
resolve(Errors.createError(
|
|
875
|
+
resolve(Errors.createError(ErrorType.Unknown, error?.localizedDescription))
|
|
768
876
|
}
|
|
769
877
|
|
|
770
878
|
return
|
|
@@ -773,13 +881,87 @@ class StripeSdk: RCTEventEmitter, STPApplePayContextDelegate, STPBankSelectionVi
|
|
|
773
881
|
if let setupIntent = setupIntent {
|
|
774
882
|
resolve(Mappers.createResult("setupIntent", Mappers.mapFromSetupIntent(setupIntent: setupIntent)))
|
|
775
883
|
} else {
|
|
776
|
-
resolve(Errors.createError(
|
|
884
|
+
resolve(Errors.createError(ErrorType.Unknown, "Failed to retrieve the SetupIntent"))
|
|
885
|
+
}
|
|
886
|
+
}
|
|
887
|
+
}
|
|
888
|
+
|
|
889
|
+
@objc(verifyMicrodeposits:clientSecret:params:resolver:rejecter:)
|
|
890
|
+
func verifyMicrodeposits(
|
|
891
|
+
intentType: String,
|
|
892
|
+
clientSecret: String,
|
|
893
|
+
params: NSDictionary,
|
|
894
|
+
resolver resolve: @escaping RCTPromiseResolveBlock,
|
|
895
|
+
rejecter reject: @escaping RCTPromiseRejectBlock
|
|
896
|
+
) -> Void {
|
|
897
|
+
let amounts = params["amounts"] as? NSArray
|
|
898
|
+
let descriptorCode = params["descriptorCode"] as? String
|
|
899
|
+
|
|
900
|
+
if (amounts != nil && descriptorCode != nil || amounts == nil && descriptorCode == nil) {
|
|
901
|
+
resolve(Errors.createError(ErrorType.Failed, "You must provide either amounts OR descriptorCode, not both."))
|
|
902
|
+
return
|
|
903
|
+
}
|
|
904
|
+
|
|
905
|
+
if let amounts = amounts {
|
|
906
|
+
if (amounts.count != 2) {
|
|
907
|
+
resolve(Errors.createError(ErrorType.Failed, "Expected 2 integers in the amounts array, but received " + String(amounts.count)))
|
|
908
|
+
return
|
|
909
|
+
}
|
|
910
|
+
switch intentType {
|
|
911
|
+
case "payment":
|
|
912
|
+
STPAPIClient.shared.verifyPaymentIntentWithMicrodeposits(
|
|
913
|
+
clientSecret: clientSecret,
|
|
914
|
+
firstAmount: amounts[0] as! Int,
|
|
915
|
+
secondAmount: amounts[1] as! Int,
|
|
916
|
+
completion: onCompletePaymentVerification
|
|
917
|
+
)
|
|
918
|
+
case "setup":
|
|
919
|
+
STPAPIClient.shared.verifySetupIntentWithMicrodeposits(
|
|
920
|
+
clientSecret: clientSecret,
|
|
921
|
+
firstAmount: amounts[0] as! Int,
|
|
922
|
+
secondAmount: amounts[1] as! Int,
|
|
923
|
+
completion: onCompleteSetupVerification
|
|
924
|
+
)
|
|
925
|
+
default:
|
|
926
|
+
resolve(Errors.createError(ErrorType.Failed, "Received unexpected intent type: " + intentType))
|
|
927
|
+
}
|
|
928
|
+
} else if let descriptorCode = descriptorCode {
|
|
929
|
+
switch intentType {
|
|
930
|
+
case "payment":
|
|
931
|
+
STPAPIClient.shared.verifyPaymentIntentWithMicrodeposits(
|
|
932
|
+
clientSecret: clientSecret,
|
|
933
|
+
descriptorCode: descriptorCode,
|
|
934
|
+
completion: onCompletePaymentVerification
|
|
935
|
+
)
|
|
936
|
+
case "setup":
|
|
937
|
+
STPAPIClient.shared.verifySetupIntentWithMicrodeposits(
|
|
938
|
+
clientSecret: clientSecret,
|
|
939
|
+
descriptorCode: descriptorCode,
|
|
940
|
+
completion: onCompleteSetupVerification
|
|
941
|
+
)
|
|
942
|
+
default:
|
|
943
|
+
resolve(Errors.createError(ErrorType.Failed, "Received unexpected intent type: " + intentType))
|
|
944
|
+
}
|
|
945
|
+
}
|
|
946
|
+
|
|
947
|
+
func onCompletePaymentVerification(intent: STPPaymentIntent?, error: Error?) {
|
|
948
|
+
if (error != nil) {
|
|
949
|
+
resolve(Errors.createError(ErrorType.Failed, error as NSError?))
|
|
950
|
+
} else {
|
|
951
|
+
resolve(Mappers.createResult("paymentIntent", Mappers.mapFromPaymentIntent(paymentIntent:intent!)))
|
|
952
|
+
}
|
|
953
|
+
}
|
|
954
|
+
func onCompleteSetupVerification(intent: STPSetupIntent?, error: Error?) {
|
|
955
|
+
if (error != nil) {
|
|
956
|
+
resolve(Errors.createError(ErrorType.Failed, error as NSError?))
|
|
957
|
+
} else {
|
|
958
|
+
resolve(Mappers.createResult("setupIntent", Mappers.mapFromSetupIntent(setupIntent:intent!)))
|
|
777
959
|
}
|
|
778
960
|
}
|
|
779
961
|
}
|
|
780
962
|
|
|
781
963
|
func presentationControllerDidDismiss(_ presentationController: UIPresentationController) {
|
|
782
|
-
confirmPaymentResolver?(Errors.createError(
|
|
964
|
+
confirmPaymentResolver?(Errors.createError(ErrorType.Canceled, "FPX Payment has been canceled"))
|
|
783
965
|
}
|
|
784
966
|
|
|
785
967
|
func payWithFPX(_ paymentIntentClientSecret: String) {
|
|
@@ -797,7 +979,7 @@ class StripeSdk: RCTEventEmitter, STPApplePayContextDelegate, STPBankSelectionVi
|
|
|
797
979
|
|
|
798
980
|
func bankSelectionViewController(_ bankViewController: STPBankSelectionViewController, didCreatePaymentMethodParams paymentMethodParams: STPPaymentMethodParams) {
|
|
799
981
|
guard let clientSecret = confirmPaymentClientSecret else {
|
|
800
|
-
confirmPaymentResolver?(Errors.createError(
|
|
982
|
+
confirmPaymentResolver?(Errors.createError(ErrorType.Failed, "Missing paymentIntentClientSecret"))
|
|
801
983
|
return
|
|
802
984
|
}
|
|
803
985
|
let paymentIntentParams = STPPaymentIntentParams(clientSecret: clientSecret)
|
|
@@ -815,14 +997,14 @@ class StripeSdk: RCTEventEmitter, STPApplePayContextDelegate, STPBankSelectionVi
|
|
|
815
997
|
self.confirmPaymentClientSecret = nil
|
|
816
998
|
switch (status) {
|
|
817
999
|
case .failed:
|
|
818
|
-
confirmPaymentResolver?(Errors.createError(
|
|
1000
|
+
confirmPaymentResolver?(Errors.createError(ErrorType.Failed, error))
|
|
819
1001
|
break
|
|
820
1002
|
case .canceled:
|
|
821
1003
|
let statusCode: String
|
|
822
1004
|
if (paymentIntent?.status == STPPaymentIntentStatus.requiresPaymentMethod) {
|
|
823
|
-
statusCode =
|
|
1005
|
+
statusCode = ErrorType.Failed
|
|
824
1006
|
} else {
|
|
825
|
-
statusCode =
|
|
1007
|
+
statusCode = ErrorType.Canceled
|
|
826
1008
|
}
|
|
827
1009
|
if let lastPaymentError = paymentIntent?.lastPaymentError {
|
|
828
1010
|
confirmPaymentResolver?(Errors.createError(statusCode, lastPaymentError))
|
|
@@ -837,7 +1019,7 @@ class StripeSdk: RCTEventEmitter, STPApplePayContextDelegate, STPBankSelectionVi
|
|
|
837
1019
|
}
|
|
838
1020
|
break
|
|
839
1021
|
@unknown default:
|
|
840
|
-
confirmPaymentResolver?(Errors.createError(
|
|
1022
|
+
confirmPaymentResolver?(Errors.createError(ErrorType.Unknown, "Cannot complete the payment"))
|
|
841
1023
|
break
|
|
842
1024
|
}
|
|
843
1025
|
}
|