@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.
Files changed (295) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/README.md +6 -1
  3. package/android/build/.transforms/{c731e6bf5b480f659bf1c341f3f0657c → 253af79d247c9f91c901f2038cdc6938}/results.bin +0 -0
  4. package/android/build/.transforms/253af79d247c9f91c901f2038cdc6938/transformed/classes/classes.dex +0 -0
  5. package/android/build/.transforms/{e9391f6bbf8da46ff748ca7feadbce73 → 3cbaee99352386a9df7b22dbbb69831e}/results.bin +0 -0
  6. package/android/build/.transforms/3cbaee99352386a9df7b22dbbb69831e/transformed/classes/classes.dex +0 -0
  7. package/android/build/.transforms/{f0b2868ed2d4a4bb73b1ace98fe4ccfa → 8d3571dbfd2a31ee669f64a85b02f3fc}/results.bin +0 -0
  8. package/android/build/.transforms/8d3571dbfd2a31ee669f64a85b02f3fc/transformed/classes/classes.dex +0 -0
  9. package/android/build/.transforms/bcac5194839639e17669a07fd0143335/results.bin +1 -0
  10. package/android/build/.transforms/bcac5194839639e17669a07fd0143335/transformed/classes/classes.dex +0 -0
  11. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/output-metadata.json +4 -2
  12. package/android/build/intermediates/aar_metadata/debug/aar-metadata.properties +1 -0
  13. package/android/build/intermediates/compile_library_classes_jar/debug/classes.jar +0 -0
  14. package/android/build/intermediates/compile_r_class_jar/debug/R.jar +0 -0
  15. package/android/build/intermediates/compile_symbol_list/debug/R.txt +553 -29
  16. package/android/build/intermediates/incremental/packageDebugResources/compile-file-map.properties +1 -1
  17. package/android/build/intermediates/javac/debug/classes/com/reactnativestripesdk/databinding/GooglepayButtonBinding.class +0 -0
  18. package/android/build/intermediates/javac/debug/classes/com/reactnativestripesdk/databinding/GooglepayButtonNoShadowBinding.class +0 -0
  19. package/android/build/intermediates/javac/debug/classes/com/reactnativestripesdk/databinding/PayWithGooglepayButtonBinding.class +0 -0
  20. package/android/build/intermediates/javac/debug/classes/com/reactnativestripesdk/databinding/PayWithGooglepayButtonNoShadowBinding.class +0 -0
  21. package/android/build/intermediates/library_java_res/debug/res.jar +0 -0
  22. package/android/build/intermediates/packaged_manifests/debug/output-metadata.json +4 -2
  23. package/android/build/intermediates/runtime_library_classes_jar/debug/classes.jar +0 -0
  24. package/android/build/intermediates/symbol_list_with_package_name/debug/package-aware-r.txt +523 -29
  25. package/android/build/kotlin/compileDebugKotlin/build-history.bin +0 -0
  26. package/android/build/kotlin/compileDebugKotlin/caches-jvm/inputs/source-to-output.tab +0 -0
  27. package/android/build/kotlin/compileDebugKotlin/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
  28. package/android/build/kotlin/compileDebugKotlin/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
  29. package/android/build/kotlin/compileDebugKotlin/caches-jvm/inputs/source-to-output.tab.len +0 -0
  30. package/android/build/kotlin/compileDebugKotlin/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
  31. package/android/build/kotlin/compileDebugKotlin/caches-jvm/inputs/source-to-output.tab_i +0 -0
  32. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
  33. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +0 -0
  34. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
  35. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/class-attributes.tab.len +0 -0
  36. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
  37. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/class-attributes.tab_i +0 -0
  38. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
  39. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +0 -0
  40. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
  41. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +0 -0
  42. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
  43. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +0 -0
  44. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/constants.tab +0 -0
  45. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/constants.tab.keystream +0 -0
  46. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/constants.tab.keystream.len +0 -0
  47. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/constants.tab.len +0 -0
  48. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/constants.tab.values.at +0 -0
  49. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/constants.tab_i +0 -0
  50. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
  51. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
  52. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
  53. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
  54. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
  55. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
  56. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/package-parts.tab +0 -0
  57. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/package-parts.tab.values.at +0 -0
  58. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/proto.tab +0 -0
  59. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
  60. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/proto.tab.keystream.len +0 -0
  61. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
  62. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/proto.tab.values +0 -0
  63. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
  64. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/proto.tab.values.s +1 -1
  65. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/proto.tab_i +0 -0
  66. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
  67. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +0 -0
  68. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
  69. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab.len +0 -0
  70. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
  71. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab_i +0 -0
  72. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
  73. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/subtypes.tab.keystream +0 -0
  74. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +0 -0
  75. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/subtypes.tab.len +0 -0
  76. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
  77. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/subtypes.tab_i +0 -0
  78. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
  79. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/supertypes.tab.keystream +0 -0
  80. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +0 -0
  81. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/supertypes.tab.len +0 -0
  82. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
  83. package/android/build/kotlin/compileDebugKotlin/caches-jvm/jvm/kotlin/supertypes.tab_i +0 -0
  84. package/android/build/kotlin/compileDebugKotlin/caches-jvm/lookups/counters.tab +2 -2
  85. package/android/build/kotlin/compileDebugKotlin/caches-jvm/lookups/file-to-id.tab +0 -0
  86. package/android/build/kotlin/compileDebugKotlin/caches-jvm/lookups/file-to-id.tab.keystream +0 -0
  87. package/android/build/kotlin/compileDebugKotlin/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
  88. package/android/build/kotlin/compileDebugKotlin/caches-jvm/lookups/file-to-id.tab.len +0 -0
  89. package/android/build/kotlin/compileDebugKotlin/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
  90. package/android/build/kotlin/compileDebugKotlin/caches-jvm/lookups/file-to-id.tab_i +0 -0
  91. package/android/build/kotlin/compileDebugKotlin/caches-jvm/lookups/id-to-file.tab +0 -0
  92. package/android/build/kotlin/compileDebugKotlin/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
  93. package/android/build/kotlin/compileDebugKotlin/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
  94. package/android/build/kotlin/compileDebugKotlin/caches-jvm/lookups/id-to-file.tab.len +0 -0
  95. package/android/build/kotlin/compileDebugKotlin/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
  96. package/android/build/kotlin/compileDebugKotlin/caches-jvm/lookups/id-to-file.tab_i +0 -0
  97. package/android/build/kotlin/compileDebugKotlin/caches-jvm/lookups/lookups.tab +0 -0
  98. package/android/build/kotlin/compileDebugKotlin/caches-jvm/lookups/lookups.tab.keystream +0 -0
  99. package/android/build/kotlin/compileDebugKotlin/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
  100. package/android/build/kotlin/compileDebugKotlin/caches-jvm/lookups/lookups.tab.len +0 -0
  101. package/android/build/kotlin/compileDebugKotlin/caches-jvm/lookups/lookups.tab.values +0 -0
  102. package/android/build/kotlin/compileDebugKotlin/caches-jvm/lookups/lookups.tab.values.at +0 -0
  103. package/android/build/kotlin/compileDebugKotlin/caches-jvm/lookups/lookups.tab.values.s +1 -1
  104. package/android/build/kotlin/compileDebugKotlin/caches-jvm/lookups/lookups.tab_i +0 -0
  105. package/android/build/kotlin/compileDebugKotlin/last-build.bin +0 -0
  106. package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  107. package/android/build/tmp/kotlin-classes/debug/META-INF/reactnativestripesdk_debug.kotlin_module +0 -0
  108. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/AuBECSDebitFormView$setListeners$1.class +0 -0
  109. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/AuBECSDebitFormView.class +0 -0
  110. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/AuBECSDebitFormViewManager.class +0 -0
  111. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/CardChangedEvent$Companion.class +0 -0
  112. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/CardChangedEvent.class +0 -0
  113. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/CardFieldView$setListeners$10.class +0 -0
  114. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/CardFieldView$setListeners$6.class +0 -0
  115. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/CardFieldView$setListeners$7.class +0 -0
  116. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/CardFieldView$setListeners$8.class +0 -0
  117. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/CardFieldView$setListeners$9.class +0 -0
  118. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/CardFieldView.class +0 -0
  119. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/CardFieldViewManager.class +0 -0
  120. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/CardFocusEvent$Companion.class +0 -0
  121. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/CardFocusEvent.class +0 -0
  122. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/CardFormCompleteEvent$Companion.class +0 -0
  123. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/CardFormCompleteEvent.class +0 -0
  124. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/CardFormView.class +0 -0
  125. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/CardFormViewManager.class +0 -0
  126. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/CollectBankAccountLauncherFragment$createBankAccountLauncher$1.class +0 -0
  127. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/CollectBankAccountLauncherFragment.class +0 -0
  128. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/ConfirmPaymentErrorType.class +0 -0
  129. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/ConfirmSetupIntentErrorType.class +0 -0
  130. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/CreateTokenErrorType.class +0 -0
  131. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/DefaultPushProvisioningProxy.class +0 -0
  132. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/ErrorType.class +0 -0
  133. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/ErrorsKt.class +0 -0
  134. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/ExtensionsKt.class +0 -0
  135. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/FormCompleteEvent$Companion.class +0 -0
  136. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/FormCompleteEvent.class +0 -0
  137. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/GooglePayButtonManager$Companion.class +0 -0
  138. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/GooglePayButtonManager.class +0 -0
  139. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/GooglePayButtonView.class +0 -0
  140. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/GooglePayErrorType.class +0 -0
  141. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/GooglePayFragment$onViewCreated$1.class +0 -0
  142. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/GooglePayFragment$onViewCreated$2.class +0 -0
  143. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/GooglePayFragment$onViewCreated$3.class +0 -0
  144. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/GooglePayFragment$onViewCreated$4.class +0 -0
  145. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/GooglePayFragment.class +0 -0
  146. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/GooglePayPaymentMethodLauncherFragment.class +0 -0
  147. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/MappersKt$WhenMappings.class +0 -0
  148. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/MappersKt.class +0 -0
  149. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/PaymentLauncherFragment$WhenMappings.class +0 -0
  150. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/PaymentLauncherFragment$retrievePaymentIntent$1$WhenMappings.class +0 -0
  151. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/PaymentLauncherFragment$retrievePaymentIntent$1.class +0 -0
  152. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/PaymentLauncherFragment$retrieveSetupIntent$1$WhenMappings.class +0 -0
  153. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/PaymentLauncherFragment$retrieveSetupIntent$1.class +0 -0
  154. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/PaymentLauncherFragment.class +0 -0
  155. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/PaymentMethodCreateParamsException.class +0 -0
  156. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/PaymentMethodCreateParamsFactory$WhenMappings.class +0 -0
  157. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/PaymentMethodCreateParamsFactory.class +0 -0
  158. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/PaymentSheetErrorType.class +0 -0
  159. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/PaymentSheetFragment.class +0 -0
  160. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/PaymentSheetFragmentKt.class +0 -0
  161. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/PushProvisioningProxy$createActivityEventListener$listener$1.class +0 -0
  162. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/PushProvisioningProxy.class +0 -0
  163. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/RetrievePaymentIntentErrorType.class +0 -0
  164. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/RetrieveSetupIntentErrorType.class +0 -0
  165. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeContainerManager.class +0 -0
  166. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeContainerView.class +0 -0
  167. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkModule$Companion.class +0 -0
  168. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkModule$createPaymentMethod$1.class +0 -0
  169. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkModule$createTokenForCVCUpdate$1.class +0 -0
  170. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkModule$createTokenFromBankAccount$1.class +0 -0
  171. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkModule$createTokenFromCard$1.class +0 -0
  172. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkModule$mActivityEventListener$1.class +0 -0
  173. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkModule$retrievePaymentIntent$1.class +0 -0
  174. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkModule$retrieveSetupIntent$1.class +0 -0
  175. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkModule$verifyMicrodeposits$paymentCallback$1.class +0 -0
  176. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkModule$verifyMicrodeposits$setupCallback$1.class +0 -0
  177. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkModule.class +0 -0
  178. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkPackage.class +0 -0
  179. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/pushprovisioning/AddToWalletButtonManager.class +0 -0
  180. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/pushprovisioning/AddToWalletButtonView$onAfterUpdateTransaction$1.class +0 -0
  181. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/pushprovisioning/AddToWalletButtonView.class +0 -0
  182. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/pushprovisioning/AddToWalletCompleteEvent$Companion.class +0 -0
  183. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/pushprovisioning/AddToWalletCompleteEvent.class +0 -0
  184. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/pushprovisioning/EphemeralKeyProvider$CREATOR.class +0 -0
  185. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/pushprovisioning/EphemeralKeyProvider.class +0 -0
  186. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/pushprovisioning/TapAndPayProxy.class +0 -0
  187. package/android/build.gradle +1 -1
  188. package/android/src/main/java/com/reactnativestripesdk/AuBECSDebitFormView.kt +1 -10
  189. package/android/src/main/java/com/reactnativestripesdk/AuBECSDebitFormViewManager.kt +4 -2
  190. package/android/src/main/java/com/reactnativestripesdk/CardChangedEvent.kt +0 -4
  191. package/android/src/main/java/com/reactnativestripesdk/{StripeSdkCardView.kt → CardFieldView.kt} +6 -9
  192. package/android/src/main/java/com/reactnativestripesdk/{StripeSdkCardViewManager.kt → CardFieldViewManager.kt} +20 -16
  193. package/android/src/main/java/com/reactnativestripesdk/CardFormView.kt +23 -23
  194. package/android/src/main/java/com/reactnativestripesdk/CardFormViewManager.kt +9 -6
  195. package/android/src/main/java/com/reactnativestripesdk/Errors.kt +3 -3
  196. package/android/src/main/java/com/reactnativestripesdk/FormCompleteEvent.kt +0 -1
  197. package/android/src/main/java/com/reactnativestripesdk/GooglePayButtonManager.kt +1 -0
  198. package/android/src/main/java/com/reactnativestripesdk/GooglePayButtonView.kt +1 -1
  199. package/android/src/main/java/com/reactnativestripesdk/GooglePayPaymentMethodLauncherFragment.kt +1 -1
  200. package/android/src/main/java/com/reactnativestripesdk/Mappers.kt +51 -12
  201. package/android/src/main/java/com/reactnativestripesdk/PaymentLauncherFragment.kt +122 -0
  202. package/android/src/main/java/com/reactnativestripesdk/PaymentMethodCreateParamsFactory.kt +103 -98
  203. package/android/src/main/java/com/reactnativestripesdk/PaymentSheetFragment.kt +51 -58
  204. package/android/src/main/java/com/reactnativestripesdk/StripeContainerManager.kt +2 -1
  205. package/android/src/main/java/com/reactnativestripesdk/StripeSdkModule.kt +84 -124
  206. package/android/src/main/java/com/reactnativestripesdk/StripeSdkPackage.kt +1 -1
  207. package/ios/.DS_Store +0 -0
  208. package/ios/AuBECSDebitFormView.swift +15 -0
  209. package/ios/Errors.swift +9 -35
  210. package/ios/Mappers.swift +110 -5
  211. package/ios/PaymentMethodFactory.swift +46 -1
  212. package/ios/StripeSdk.m +15 -1
  213. package/ios/StripeSdk.swift +287 -105
  214. package/jest/mock.js +1 -1
  215. package/lib/commonjs/NativeStripeSdk.js.map +1 -1
  216. package/lib/commonjs/components/StripeProvider.js +1 -1
  217. package/lib/commonjs/components/StripeProvider.js.map +1 -1
  218. package/lib/commonjs/functions.js +1 -1
  219. package/lib/commonjs/functions.js.map +1 -1
  220. package/lib/commonjs/hooks/useStripe.js +1 -1
  221. package/lib/commonjs/hooks/useStripe.js.map +1 -1
  222. package/lib/commonjs/types/Card.js.map +1 -1
  223. package/lib/commonjs/types/NextAction.js +2 -0
  224. package/lib/commonjs/types/NextAction.js.map +1 -0
  225. package/lib/commonjs/types/PaymentIntents.js.map +1 -1
  226. package/lib/commonjs/types/PaymentMethods.js.map +1 -1
  227. package/lib/commonjs/types/SetupIntent.js.map +1 -1
  228. package/lib/commonjs/types/index.js.map +1 -1
  229. package/lib/module/NativeStripeSdk.js.map +1 -1
  230. package/lib/module/components/StripeProvider.js +1 -1
  231. package/lib/module/components/StripeProvider.js.map +1 -1
  232. package/lib/module/functions.js +1 -1
  233. package/lib/module/functions.js.map +1 -1
  234. package/lib/module/hooks/useStripe.js +1 -1
  235. package/lib/module/hooks/useStripe.js.map +1 -1
  236. package/lib/module/types/Card.js.map +1 -1
  237. package/lib/module/types/NextAction.js +2 -0
  238. package/lib/module/types/NextAction.js.map +1 -0
  239. package/lib/module/types/PaymentIntents.js.map +1 -1
  240. package/lib/module/types/PaymentMethods.js.map +1 -1
  241. package/lib/module/types/SetupIntent.js.map +1 -1
  242. package/lib/module/types/index.js.map +1 -1
  243. package/lib/typescript/e2e/helpers.d.ts +1 -0
  244. package/lib/typescript/e2e/screenObject/BasicPaymentScreen.d.ts +1 -0
  245. package/lib/typescript/e2e/screenObject/HomeScreen.d.ts +1 -1
  246. package/lib/typescript/example/src/App.d.ts +2 -0
  247. package/lib/typescript/example/src/screens/ACHPaymentScreen.d.ts +1 -0
  248. package/lib/typescript/example/src/screens/ACHSetupScreen.d.ts +1 -0
  249. package/lib/typescript/src/NativeStripeSdk.d.ts +4 -2
  250. package/lib/typescript/src/components/StripeProvider.d.ts +4 -10
  251. package/lib/typescript/src/functions.d.ts +10 -2
  252. package/lib/typescript/src/hooks/useStripe.d.ts +7 -2
  253. package/lib/typescript/src/types/Card.d.ts +1 -0
  254. package/lib/typescript/src/types/NextAction.d.ts +32 -0
  255. package/lib/typescript/src/types/PaymentIntents.d.ts +2 -0
  256. package/lib/typescript/src/types/PaymentMethods.d.ts +28 -2
  257. package/lib/typescript/src/types/SetupIntent.d.ts +4 -2
  258. package/lib/typescript/src/types/index.d.ts +23 -4
  259. package/package.json +4 -4
  260. package/src/NativeStripeSdk.tsx +15 -3
  261. package/src/components/StripeProvider.tsx +7 -15
  262. package/src/functions.ts +174 -3
  263. package/src/hooks/useStripe.tsx +57 -6
  264. package/src/types/Card.ts +1 -0
  265. package/src/types/NextAction.ts +44 -0
  266. package/src/types/PaymentIntents.ts +2 -0
  267. package/src/types/PaymentMethods.ts +31 -2
  268. package/src/types/SetupIntent.ts +9 -2
  269. package/src/types/index.ts +32 -4
  270. package/stripe-react-native.podspec +3 -2
  271. package/android/build/.transforms/c731e6bf5b480f659bf1c341f3f0657c/transformed/classes/classes.dex +0 -0
  272. package/android/build/.transforms/e9391f6bbf8da46ff748ca7feadbce73/transformed/classes/classes.dex +0 -0
  273. package/android/build/.transforms/f0b2868ed2d4a4bb73b1ace98fe4ccfa/transformed/classes/classes.dex +0 -0
  274. package/android/build/kotlin/compileDebugKotlin/caches-jvm/inputs/source-to-output.tab.values +0 -0
  275. package/android/build/kotlin/compileDebugKotlin/caches-jvm/inputs/source-to-output.tab.values.s +0 -1
  276. package/android/build/tmp/compileDebugJavaWithJavac/source-classes-mapping.txt +0 -10
  277. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/ConstantsKt.class +0 -0
  278. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/NextPaymentActionErrorType.class +0 -0
  279. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/PaymentSheetFragment$configureFlowController$onFlowControllerConfigure$1.class +0 -0
  280. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/PaymentSheetFragment$onViewCreated$paymentOptionCallback$1.class +0 -0
  281. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/PaymentSheetFragment$onViewCreated$paymentResultCallback$1.class +0 -0
  282. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkCardView$setListeners$2.class +0 -0
  283. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkCardView$setListeners$3.class +0 -0
  284. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkCardView$setListeners$4.class +0 -0
  285. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkCardView$setListeners$5.class +0 -0
  286. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkCardView$setListeners$6.class +0 -0
  287. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkCardView.class +0 -0
  288. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkCardViewManager.class +0 -0
  289. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkModule$googlePayReceiver$1.class +0 -0
  290. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkModule$mActivityEventListener$1$onActivityResult$2$WhenMappings.class +0 -0
  291. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkModule$mActivityEventListener$1$onActivityResult$2.class +0 -0
  292. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkModule$mActivityEventListener$1$onActivityResult$3$WhenMappings.class +0 -0
  293. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkModule$mActivityEventListener$1$onActivityResult$3.class +0 -0
  294. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkModule$mPaymentSheetReceiver$1.class +0 -0
  295. package/android/build/tmp/kotlin-classes/debug/com/reactnativestripesdk/StripeSdkModule$payWithWeChatPay$1.class +0 -0
@@ -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(PaymentSheetErrorType.Failed.rawValue, "Either merchantIdentifier or merchantCountryCode is missing"))
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(PaymentSheetErrorType.Failed.rawValue, "`customerEphemeralKeySecret` format does not match expected client secret formatting."))
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("Failed", error as NSError))
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(PaymentSheetErrorType.Failed.rawValue, "`secret` format does not match expected client secret formatting."))
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(PaymentSheetErrorType.Failed.rawValue, "`secret` format does not match expected client secret formatting."))
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(PaymentSheetErrorType.Failed.rawValue, "You must provide either paymentIntentClientSecret or setupIntentClientSecret"))
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(PaymentSheetErrorType.Canceled.rawValue, "The payment has been canceled"))
194
+ resolve(Errors.createError(ErrorType.Canceled, "The payment has been canceled"))
195
195
  case .failed(let error):
196
- resolve(Errors.createError(PaymentSheetErrorType.Failed.rawValue, error.localizedDescription))
196
+ resolve(Errors.createError(ErrorType.Failed, error.localizedDescription))
197
197
  }
198
198
 
199
199
  }
200
200
  } else {
201
- resolve(Errors.createError(PaymentSheetErrorType.Failed.rawValue, "No payment sheet has been initialized yet"))
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(PaymentSheetErrorType.Canceled.rawValue, "The payment has been canceled"))
234
+ resolve(Errors.createError(ErrorType.Canceled, "The payment has been canceled"))
235
235
  case .failed(let error):
236
- resolve(Errors.createError(PaymentSheetErrorType.Failed.rawValue, error as NSError))
236
+ resolve(Errors.createError(ErrorType.Failed, error as NSError))
237
237
  }
238
238
  }
239
239
  } else {
240
- resolve(Errors.createError(PaymentSheetErrorType.Failed.rawValue, "No payment sheet has been initialized yet"))
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("Failed", "You must provide CVC"))
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("Failed", error?.localizedDescription ?? ""))
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(ConfirmPaymentErrorType.Failed.rawValue, "You must provide paymentMethodType"))
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
- do {
275
- paymentMethodParams = try factory.createParams(paymentMethodType: paymentMethodType)
276
- } catch {
277
- resolve(Errors.createError(ConfirmPaymentErrorType.Failed.rawValue, error.localizedDescription))
278
- return
279
- }
280
- guard paymentMethodParams != nil else {
281
- resolve(Errors.createError(ConfirmPaymentErrorType.Unknown.rawValue, "Unhandled error occured"))
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(ConfirmSetupIntentErrorType.Failed.rawValue, error))
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(ConfirmSetupIntentErrorType.Canceled.rawValue, lastError))
307
+ resolve(Errors.createError(ErrorType.Canceled, lastError))
301
308
  } else {
302
- resolve(Errors.createError(ConfirmSetupIntentErrorType.Canceled.rawValue, "The payment has been canceled"))
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(ConfirmSetupIntentErrorType.Unknown.rawValue, error))
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(ApplePayErrorType.Failed.rawValue, "You can use this method only after either onDidSetShippingMethod or onDidSetShippingContact events emitted"))
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("Failed", "Cannot open payment setup"))
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?(ApplePayErrorType.Failed.rawValue, message, nil)
400
- applePayRequestRejecter?(ApplePayErrorType.Failed.rawValue, message, nil)
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?(ApplePayErrorType.Canceled.rawValue, message, nil)
407
- applePayRequestRejecter?(ApplePayErrorType.Canceled.rawValue, message, nil)
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?(ApplePayErrorType.Unknown.rawValue, message, nil)
414
- applePayRequestRejecter?(ApplePayErrorType.Unknown.rawValue, message, nil)
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(ApplePayErrorType.Failed.rawValue, "You must provide merchantIdentifier", nil)
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(ApplePayErrorType.Failed.rawValue, "You must provide the items for purchase", nil)
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(ApplePayErrorType.Failed.rawValue, "You must provide the country", nil)
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(ApplePayErrorType.Failed.rawValue, "You must provide the payment currency", nil)
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(ApplePayErrorType.Failed.rawValue, "Payment not completed", nil)
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(NextPaymentActionErrorType.Failed.rawValue, "You must provide paymentMethodType"))
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(NextPaymentActionErrorType.Failed.rawValue, error.localizedDescription))
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(NextPaymentActionErrorType.Unknown.rawValue, "Unhandled error occured"))
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(NextPaymentActionErrorType.Failed.rawValue, createError.localizedDescription))
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(CreateTokenErrorType.Failed.rawValue, "type parameter is required"))
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(CreateTokenErrorType.Failed.rawValue, type + " type is not supported yet"))
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(CreateTokenErrorType.Failed.rawValue, error?.localizedDescription))
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(CreateTokenErrorType.Failed.rawValue, "Card details not complete"))
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(CreateTokenErrorType.Failed.rawValue, error?.localizedDescription))
642
+ resolve(Errors.createError(ErrorType.Failed, error as NSError?))
635
643
  }
636
644
  }
637
645
  }
638
646
 
639
- @objc(handleCardAction:resolver:rejecter:)
640
- func handleCardAction(
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(NextPaymentActionErrorType.Failed.rawValue, handleActionError))
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(NextPaymentActionErrorType.Canceled.rawValue, lastError))
661
+ resolve(Errors.createError(ErrorType.Canceled, lastError))
654
662
  } else {
655
- resolve(Errors.createError(NextPaymentActionErrorType.Canceled.rawValue, "The payment has been canceled"))
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(NextPaymentActionErrorType.Unknown.rawValue, "Cannot complete payment"))
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(ConfirmPaymentErrorType.Failed.rawValue, "You must provide paymentMethodType"))
775
+ resolve(Errors.createError(ErrorType.Failed, "You must provide paymentMethodType"))
690
776
  return
691
777
  }
692
778
 
693
- if (paymentMethodType == STPPaymentMethodType.FPX) {
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
- if paymentMethodId != nil {
701
- paymentIntentParams.paymentMethodId = paymentMethodId
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
- var paymentMethodParams: STPPaymentMethodParams?
704
- var paymentMethodOptions: STPConfirmPaymentMethodOptions?
705
- let factory = PaymentMethodFactory.init(params: params, cardFieldView: cardFieldView, cardFormView: cardFormView)
706
-
707
- do {
708
- paymentMethodParams = try factory.createParams(paymentMethodType: paymentMethodType)
709
- paymentMethodOptions = try factory.createOptions(paymentMethodType: paymentMethodType)
710
- } catch {
711
- resolve(Errors.createError(ConfirmPaymentErrorType.Failed.rawValue, error.localizedDescription))
712
- return
713
- }
714
- guard paymentMethodParams != nil else {
715
- resolve(Errors.createError(ConfirmPaymentErrorType.Unknown.rawValue, "Unhandled error occured"))
716
- return
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
- paymentIntentParams.paymentMethodParams = paymentMethodParams
719
- paymentIntentParams.paymentMethodOptions = paymentMethodOptions
720
- paymentIntentParams.shipping = Mappers.mapToShippingDetails(shippingDetails: params["shippingDetails"] as? NSDictionary)
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
- let paymentHandler = STPPaymentHandler.shared()
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(RetrievePaymentIntentErrorType.Unknown.rawValue, lastPaymentError))
848
+ resolve(Errors.createError(ErrorType.Unknown, lastPaymentError))
741
849
  } else {
742
- resolve(Errors.createError(RetrievePaymentIntentErrorType.Unknown.rawValue, error?.localizedDescription))
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(RetrievePaymentIntentErrorType.Unknown.rawValue, "Failed to retrieve the PaymentIntent"))
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(RetrieveSetupIntentErrorType.Unknown.rawValue, lastSetupError))
873
+ resolve(Errors.createError(ErrorType.Unknown, lastSetupError))
766
874
  } else {
767
- resolve(Errors.createError(RetrieveSetupIntentErrorType.Unknown.rawValue, error?.localizedDescription))
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(RetrieveSetupIntentErrorType.Unknown.rawValue, "Failed to retrieve the SetupIntent"))
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(ConfirmPaymentErrorType.Canceled.rawValue, "FPX Payment has been canceled"))
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(ConfirmPaymentErrorType.Failed.rawValue, "Missing paymentIntentClientSecret"))
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(ConfirmPaymentErrorType.Failed.rawValue, error))
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 = ConfirmPaymentErrorType.Failed.rawValue
1005
+ statusCode = ErrorType.Failed
824
1006
  } else {
825
- statusCode = ConfirmPaymentErrorType.Canceled.rawValue
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(ConfirmPaymentErrorType.Unknown.rawValue, "Cannot complete the payment"))
1022
+ confirmPaymentResolver?(Errors.createError(ErrorType.Unknown, "Cannot complete the payment"))
841
1023
  break
842
1024
  }
843
1025
  }