@stripe/stripe-react-native 0.13.1 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (219) hide show
  1. package/.editorconfig +15 -0
  2. package/CHANGELOG.md +68 -11
  3. package/android/.gradle/7.1/dependencies-accessors/dependencies-accessors.lock +0 -0
  4. package/android/.gradle/7.1/dependencies-accessors/gc.properties +0 -0
  5. package/android/.gradle/7.1/fileChanges/last-build.bin +0 -0
  6. package/android/.gradle/7.1/fileHashes/fileHashes.lock +0 -0
  7. package/android/.gradle/7.1/gc.properties +0 -0
  8. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  9. package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
  10. package/android/.gradle/checksums/checksums.lock +0 -0
  11. package/android/.gradle/vcs-1/gc.properties +0 -0
  12. package/android/.idea/gradle.xml +13 -0
  13. package/android/.idea/misc.xml +9 -0
  14. package/android/.idea/modules/android.iml +18 -0
  15. package/android/.idea/modules.xml +8 -0
  16. package/android/.idea/vcs.xml +6 -0
  17. package/android/build.gradle +6 -0
  18. package/android/local.properties +8 -0
  19. package/android/src/main/java/com/reactnativestripesdk/AuBECSDebitFormView.kt +2 -0
  20. package/android/src/main/java/com/reactnativestripesdk/CardFieldView.kt +28 -6
  21. package/android/src/main/java/com/reactnativestripesdk/CardFormView.kt +34 -3
  22. package/android/src/main/java/com/reactnativestripesdk/CollectBankAccountLauncherFragment.kt +5 -0
  23. package/android/src/main/java/com/reactnativestripesdk/GooglePayButtonView.kt +17 -7
  24. package/android/src/main/java/com/reactnativestripesdk/GooglePayFragment.kt +4 -0
  25. package/android/src/main/java/com/reactnativestripesdk/PaymentLauncherFragment.kt +3 -0
  26. package/android/src/main/java/com/reactnativestripesdk/PaymentMethodCreateParamsFactory.kt +213 -367
  27. package/android/src/main/java/com/reactnativestripesdk/PaymentSheetAppearance.kt +1 -0
  28. package/android/src/main/java/com/reactnativestripesdk/PaymentSheetFragment.kt +48 -28
  29. package/android/src/main/java/com/reactnativestripesdk/StripeSdkModule.kt +69 -23
  30. package/android/src/main/java/com/reactnativestripesdk/pushprovisioning/AddToWalletButtonView.kt +1 -2
  31. package/android/src/main/java/com/reactnativestripesdk/pushprovisioning/PushProvisioningProxy.kt +19 -7
  32. package/android/src/main/java/com/reactnativestripesdk/pushprovisioning/TapAndPayProxy.kt +46 -39
  33. package/android/src/main/java/com/reactnativestripesdk/{Errors.kt → utils/Errors.kt} +1 -1
  34. package/android/src/main/java/com/reactnativestripesdk/{Extensions.kt → utils/Extensions.kt} +1 -1
  35. package/android/src/main/java/com/reactnativestripesdk/{Mappers.kt → utils/Mappers.kt} +19 -1
  36. package/android/src/main/java/com/reactnativestripesdk/utils/PostalCodeUtilities.kt +18 -0
  37. package/android/src/main/res/{drawable-night/googlepay_button_background.xml → drawable/googlepay_button_background_dark.xml} +1 -1
  38. package/android/src/main/res/{drawable-night/googlepay_button_content.xml → drawable/googlepay_button_content_dark.xml} +0 -0
  39. package/android/src/main/res/{drawable-night/googlepay_button_overlay.xml → drawable/googlepay_button_overlay_dark.xml} +0 -0
  40. package/android/src/main/res/{drawable-night/pay_with_googlepay_button_content.xml → drawable/pay_with_googlepay_button_content_dark.xml} +0 -0
  41. package/android/src/main/res/{drawable-ar-night/pay_with_googlepay_button_content.xml → drawable-ar/pay_with_googlepay_button_content_dark.xml} +0 -0
  42. package/android/src/main/res/{drawable-bg-night/pay_with_googlepay_button_content.xml → drawable-bg/pay_with_googlepay_button_content_dark.xml} +0 -0
  43. package/android/src/main/res/{drawable-ca-night/pay_with_googlepay_button_content.xml → drawable-ca/pay_with_googlepay_button_content_dark.xml} +0 -0
  44. package/android/src/main/res/{drawable-cs-night/pay_with_googlepay_button_content.xml → drawable-cs/pay_with_googlepay_button_content_dark.xml} +0 -0
  45. package/android/src/main/res/{drawable-da-night/pay_with_googlepay_button_content.xml → drawable-da/pay_with_googlepay_button_content_dark.xml} +0 -0
  46. package/android/src/main/res/{drawable-de-night/pay_with_googlepay_button_content.xml → drawable-de/pay_with_googlepay_button_content_dark.xml} +0 -0
  47. package/android/src/main/res/{drawable-el-night/pay_with_googlepay_button_content.xml → drawable-el/pay_with_googlepay_button_content_dark.xml} +0 -0
  48. package/android/src/main/res/{drawable-es-night/pay_with_googlepay_button_content.xml → drawable-es/pay_with_googlepay_button_content_dark.xml} +0 -0
  49. package/android/src/main/res/{drawable-et-night/pay_with_googlepay_button_content.xml → drawable-et/pay_with_googlepay_button_content_dark.xml} +0 -0
  50. package/android/src/main/res/{drawable-fi-night/pay_with_googlepay_button_content.xml → drawable-fi/pay_with_googlepay_button_content_dark.xml} +0 -0
  51. package/android/src/main/res/{drawable-fr-night/pay_with_googlepay_button_content.xml → drawable-fr/pay_with_googlepay_button_content_dark.xml} +0 -0
  52. package/android/src/main/res/{drawable-night-hdpi/googlepay_button_background_image.9.png → drawable-hdpi/googlepay_button_background_image_dark.9.png} +0 -0
  53. package/android/src/main/res/{drawable-hr-night/pay_with_googlepay_button_content.xml → drawable-hr/pay_with_googlepay_button_content_dark.xml} +0 -0
  54. package/android/src/main/res/{drawable-id-night/pay_with_googlepay_button_content.xml → drawable-id/pay_with_googlepay_button_content_dark.xml} +0 -0
  55. package/android/src/main/res/{drawable-it-night/pay_with_googlepay_button_content.xml → drawable-it/pay_with_googlepay_button_content_dark.xml} +0 -0
  56. package/android/src/main/res/{drawable-ja-night/pay_with_googlepay_button_content.xml → drawable-ja/pay_with_googlepay_button_content_dark.xml} +0 -0
  57. package/android/src/main/res/{drawable-ko-night/pay_with_googlepay_button_content.xml → drawable-ko/pay_with_googlepay_button_content_dark.xml} +0 -0
  58. package/android/src/main/res/{drawable-night-mdpi/googlepay_button_background_image.9.png → drawable-mdpi/googlepay_button_background_image_dark.9.png} +0 -0
  59. package/android/src/main/res/{drawable-ms-night/pay_with_googlepay_button_content.xml → drawable-ms/pay_with_googlepay_button_content_dark.xml} +0 -0
  60. package/android/src/main/res/{drawable-nl-night/pay_with_googlepay_button_content.xml → drawable-nl/pay_with_googlepay_button_content_dark.xml} +0 -0
  61. package/android/src/main/res/{drawable-no-night/pay_with_googlepay_button_content.xml → drawable-no/pay_with_googlepay_button_content_dark.xml} +0 -0
  62. package/android/src/main/res/{drawable-pl-night/pay_with_googlepay_button_content.xml → drawable-pl/pay_with_googlepay_button_content_dark.xml} +0 -0
  63. package/android/src/main/res/{drawable-pt-night/pay_with_googlepay_button_content.xml → drawable-pt/pay_with_googlepay_button_content_dark.xml} +0 -0
  64. package/android/src/main/res/{drawable-ru-night/pay_with_googlepay_button_content.xml → drawable-ru/pay_with_googlepay_button_content_dark.xml} +0 -0
  65. package/android/src/main/res/{drawable-sk-night/pay_with_googlepay_button_content.xml → drawable-sk/pay_with_googlepay_button_content_dark.xml} +0 -0
  66. package/android/src/main/res/{drawable-sl-night/pay_with_googlepay_button_content.xml → drawable-sl/pay_with_googlepay_button_content_dark.xml} +0 -0
  67. package/android/src/main/res/{drawable-sr-night/pay_with_googlepay_button_content.xml → drawable-sr/pay_with_googlepay_button_content_dark.xml} +0 -0
  68. package/android/src/main/res/{drawable-sv-night/pay_with_googlepay_button_content.xml → drawable-sv/pay_with_googlepay_button_content_dark.xml} +0 -0
  69. package/android/src/main/res/{drawable-th-night/pay_with_googlepay_button_content.xml → drawable-th/pay_with_googlepay_button_content_dark.xml} +0 -0
  70. package/android/src/main/res/{drawable-tr-night/pay_with_googlepay_button_content.xml → drawable-tr/pay_with_googlepay_button_content_dark.xml} +0 -0
  71. package/android/src/main/res/{drawable-uk-night/pay_with_googlepay_button_content.xml → drawable-uk/pay_with_googlepay_button_content_dark.xml} +0 -0
  72. package/android/src/main/res/{drawable-night-v21/googlepay_button_background.xml → drawable-v21/googlepay_button_background_dark.xml} +1 -1
  73. package/android/src/main/res/{drawable-night-xhdpi/googlepay_button_background_image.9.png → drawable-xhdpi/googlepay_button_background_image_dark.9.png} +0 -0
  74. package/android/src/main/res/{drawable-night-xxhdpi/googlepay_button_background_image.9.png → drawable-xxhdpi/googlepay_button_background_image_dark.9.png} +0 -0
  75. package/android/src/main/res/{drawable-night-xxxhdpi/googlepay_button_background_image.9.png → drawable-xxxhdpi/googlepay_button_background_image_dark.9.png} +0 -0
  76. package/android/src/main/res/{layout-night/googlepay_button.xml → layout/googlepay_button_dark.xml} +4 -4
  77. package/android/src/main/res/{layout-night/pay_with_googlepay_button.xml → layout/pay_with_googlepay_button_dark.xml} +4 -4
  78. package/ios/ApplePayUtils.swift +159 -0
  79. package/ios/CardFieldView.swift +11 -8
  80. package/ios/CardFormView.swift +20 -0
  81. package/ios/Mappers.swift +8 -13
  82. package/ios/PaymentMethodFactory.swift +9 -0
  83. package/ios/StripeSdk.m +5 -0
  84. package/ios/StripeSdk.swift +60 -53
  85. package/ios/StripeSdk.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  86. package/ios/StripeSdk.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  87. package/ios/StripeSdk.xcodeproj/project.xcworkspace/xcuserdata/charliecruzan.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  88. package/ios/StripeSdk.xcodeproj/xcshareddata/xcschemes/Tests.xcscheme +52 -0
  89. package/ios/StripeSdk.xcodeproj/xcuserdata/charliecruzan.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +22 -0
  90. package/ios/StripeSdk.xcodeproj/xcuserdata/charliecruzan.xcuserdatad/xcschemes/xcschememanagement.plist +27 -0
  91. package/ios/Tests/ApplePayUtilsTests.swift +214 -0
  92. package/ios/Tests/PushProvisioningTests.swift +49 -0
  93. package/ios/pushprovisioning/AddToWalletButtonView.swift +1 -5
  94. package/ios/pushprovisioning/PushProvisioningUtils.swift +64 -0
  95. package/lib/commonjs/NativeStripeSdk.js.map +1 -1
  96. package/lib/commonjs/components/AddToWalletButton.js +1 -1
  97. package/lib/commonjs/components/AddToWalletButton.js.map +1 -1
  98. package/lib/commonjs/components/ApplePayButton.js +1 -1
  99. package/lib/commonjs/components/ApplePayButton.js.map +1 -1
  100. package/lib/commonjs/components/AuBECSDebitForm.js +1 -1
  101. package/lib/commonjs/components/AuBECSDebitForm.js.map +1 -1
  102. package/lib/commonjs/components/CardField.js +1 -1
  103. package/lib/commonjs/components/CardField.js.map +1 -1
  104. package/lib/commonjs/components/CardForm.js +1 -1
  105. package/lib/commonjs/components/CardForm.js.map +1 -1
  106. package/lib/commonjs/components/GooglePayButton.js +1 -1
  107. package/lib/commonjs/components/GooglePayButton.js.map +1 -1
  108. package/lib/commonjs/components/StripeContainer.js +1 -1
  109. package/lib/commonjs/components/StripeContainer.js.map +1 -1
  110. package/lib/commonjs/functions.js +1 -1
  111. package/lib/commonjs/functions.js.map +1 -1
  112. package/lib/commonjs/hooks/useStripe.js +1 -1
  113. package/lib/commonjs/hooks/useStripe.js.map +1 -1
  114. package/lib/commonjs/types/index.js.map +1 -1
  115. package/lib/module/NativeStripeSdk.js.map +1 -1
  116. package/lib/module/components/AddToWalletButton.js +1 -1
  117. package/lib/module/components/AddToWalletButton.js.map +1 -1
  118. package/lib/module/components/ApplePayButton.js +1 -1
  119. package/lib/module/components/ApplePayButton.js.map +1 -1
  120. package/lib/module/components/AuBECSDebitForm.js +1 -1
  121. package/lib/module/components/AuBECSDebitForm.js.map +1 -1
  122. package/lib/module/components/CardField.js +1 -1
  123. package/lib/module/components/CardField.js.map +1 -1
  124. package/lib/module/components/CardForm.js +1 -1
  125. package/lib/module/components/CardForm.js.map +1 -1
  126. package/lib/module/components/GooglePayButton.js +1 -1
  127. package/lib/module/components/GooglePayButton.js.map +1 -1
  128. package/lib/module/components/StripeContainer.js +1 -1
  129. package/lib/module/components/StripeContainer.js.map +1 -1
  130. package/lib/module/functions.js +1 -1
  131. package/lib/module/functions.js.map +1 -1
  132. package/lib/module/hooks/useStripe.js +1 -1
  133. package/lib/module/hooks/useStripe.js.map +1 -1
  134. package/lib/module/types/index.js.map +1 -1
  135. package/lib/typescript/src/NativeStripeSdk.d.ts +2 -1
  136. package/lib/typescript/src/components/AddToWalletButton.d.ts +1 -1
  137. package/lib/typescript/src/components/CardForm.d.ts +1 -1
  138. package/lib/typescript/src/components/GooglePayButton.d.ts +2 -2
  139. package/lib/typescript/src/functions.d.ts +2 -1
  140. package/lib/typescript/src/hooks/useStripe.d.ts +2 -1
  141. package/lib/typescript/src/types/ApplePay.d.ts +31 -5
  142. package/lib/typescript/src/types/PaymentMethod.d.ts +9 -1
  143. package/lib/typescript/src/types/PaymentSheet.d.ts +19 -16
  144. package/lib/typescript/src/types/index.d.ts +20 -0
  145. package/package.json +7 -15
  146. package/src/NativeStripeSdk.tsx +5 -0
  147. package/src/components/AddToWalletButton.tsx +1 -1
  148. package/src/components/CardForm.tsx +2 -2
  149. package/src/components/GooglePayButton.tsx +8 -2
  150. package/src/functions.ts +25 -0
  151. package/src/hooks/useStripe.tsx +13 -0
  152. package/src/types/ApplePay.ts +39 -6
  153. package/src/types/PaymentMethod.ts +11 -1
  154. package/src/types/PaymentSheet.ts +34 -35
  155. package/src/types/index.ts +27 -0
  156. package/stripe-react-native.podspec +6 -1
  157. package/android/src/main/res/drawable-night/googlepay_button_no_shadow_background.xml +0 -6
  158. package/android/src/main/res/drawable-night-hdpi/googlepay_button_no_shadow_background_image.9.png +0 -0
  159. package/android/src/main/res/drawable-night-mdpi/googlepay_button_no_shadow_background_image.9.png +0 -0
  160. package/android/src/main/res/drawable-night-v21/googlepay_button_no_shadow_background.xml +0 -7
  161. package/android/src/main/res/drawable-night-xhdpi/googlepay_button_no_shadow_background_image.9.png +0 -0
  162. package/android/src/main/res/drawable-night-xxhdpi/googlepay_button_no_shadow_background_image.9.png +0 -0
  163. package/android/src/main/res/drawable-night-xxxhdpi/googlepay_button_no_shadow_background_image.9.png +0 -0
  164. package/android/src/main/res/values-night/googlepay_strings.xml +0 -12
  165. package/lib/typescript/e2e/buyNowPayLater.test.d.ts +0 -1
  166. package/lib/typescript/e2e/helpers.d.ts +0 -5
  167. package/lib/typescript/e2e/payments.test.d.ts +0 -1
  168. package/lib/typescript/e2e/paymentsWithRedirects.test.d.ts +0 -1
  169. package/lib/typescript/e2e/screenObject/BasicPaymentScreen.d.ts +0 -17
  170. package/lib/typescript/e2e/screenObject/HomeScreen.d.ts +0 -6
  171. package/lib/typescript/e2e/screenObject/components/BECSForm.d.ts +0 -8
  172. package/lib/typescript/e2e/screenObject/components/CardField.d.ts +0 -10
  173. package/lib/typescript/example/server/index.d.ts +0 -1
  174. package/lib/typescript/example/server/utils.d.ts +0 -11
  175. package/lib/typescript/example/src/App.d.ts +0 -45
  176. package/lib/typescript/example/src/Config.d.ts +0 -2
  177. package/lib/typescript/example/src/colors.d.ts +0 -8
  178. package/lib/typescript/example/src/components/Button.d.ts +0 -11
  179. package/lib/typescript/example/src/components/Collapse.d.ts +0 -6
  180. package/lib/typescript/example/src/components/PaymentScreen.d.ts +0 -7
  181. package/lib/typescript/example/src/helpers.d.ts +0 -1
  182. package/lib/typescript/example/src/screens/ACHPaymentScreen.d.ts +0 -1
  183. package/lib/typescript/example/src/screens/ACHSetupScreen.d.ts +0 -1
  184. package/lib/typescript/example/src/screens/AfterpayClearpayPaymentScreen.d.ts +0 -1
  185. package/lib/typescript/example/src/screens/AlipayPaymentScreen.d.ts +0 -1
  186. package/lib/typescript/example/src/screens/ApplePayScreen.d.ts +0 -1
  187. package/lib/typescript/example/src/screens/AuBECSDebitPaymentScreen.d.ts +0 -1
  188. package/lib/typescript/example/src/screens/AuBECSDebitSetupPaymentScreen.d.ts +0 -1
  189. package/lib/typescript/example/src/screens/BancontactPaymentScreen.d.ts +0 -1
  190. package/lib/typescript/example/src/screens/BancontactSetupFuturePaymentScreen.d.ts +0 -1
  191. package/lib/typescript/example/src/screens/CVCReCollectionScreen.d.ts +0 -1
  192. package/lib/typescript/example/src/screens/CreateTokenScreen.d.ts +0 -1
  193. package/lib/typescript/example/src/screens/EPSPaymentScreen.d.ts +0 -1
  194. package/lib/typescript/example/src/screens/FPXPaymentScreen.d.ts +0 -1
  195. package/lib/typescript/example/src/screens/GiropayPaymentScreen.d.ts +0 -1
  196. package/lib/typescript/example/src/screens/GooglePayScreen.d.ts +0 -1
  197. package/lib/typescript/example/src/screens/GrabPayPaymentScreen.d.ts +0 -1
  198. package/lib/typescript/example/src/screens/HomeScreen.d.ts +0 -1
  199. package/lib/typescript/example/src/screens/IdealPaymentScreen.d.ts +0 -1
  200. package/lib/typescript/example/src/screens/IdealSetupFuturePaymentScreen.d.ts +0 -1
  201. package/lib/typescript/example/src/screens/KlarnaPaymentScreen.d.ts +0 -1
  202. package/lib/typescript/example/src/screens/MultilineWebhookPaymentScreen.d.ts +0 -1
  203. package/lib/typescript/example/src/screens/NoWebhookPaymentScreen.d.ts +0 -1
  204. package/lib/typescript/example/src/screens/OxxoPaymentScreen.d.ts +0 -1
  205. package/lib/typescript/example/src/screens/P24PaymentScreen.d.ts +0 -1
  206. package/lib/typescript/example/src/screens/PayPalScreen.d.ts +0 -1
  207. package/lib/typescript/example/src/screens/PaymentResultScreen.d.ts +0 -8
  208. package/lib/typescript/example/src/screens/PaymentSheetAppearance.d.ts +0 -3
  209. package/lib/typescript/example/src/screens/PaymentsUICompleteScreen.d.ts +0 -1
  210. package/lib/typescript/example/src/screens/PaymentsUICustomScreen.d.ts +0 -1
  211. package/lib/typescript/example/src/screens/SepaPaymentScreen.d.ts +0 -1
  212. package/lib/typescript/example/src/screens/SepaSetupFuturePaymentScreen.d.ts +0 -1
  213. package/lib/typescript/example/src/screens/SetupFuturePaymentScreen.d.ts +0 -1
  214. package/lib/typescript/example/src/screens/SofortPaymentScreen.d.ts +0 -1
  215. package/lib/typescript/example/src/screens/SofortSetupFuturePaymentScreen.d.ts +0 -1
  216. package/lib/typescript/example/src/screens/WebhookPaymentScreen.d.ts +0 -1
  217. package/lib/typescript/src/plugin/__tests__/withStripe-test.d.ts +0 -1
  218. package/src/plugin/__tests__/fixtures/sample-AndroidManifest.xml +0 -24
  219. package/src/plugin/__tests__/withStripe-test.ts +0 -111
@@ -1,2 +1,2 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.useStripe=useStripe;var _regenerator=_interopRequireDefault(require("@babel/runtime/regenerator"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=require("react");var _helpers=require("../helpers");var _NativeStripeSdk=_interopRequireDefault(require("../NativeStripeSdk"));var _functions=require("../functions");function useStripe(){var _useState=(0,_react.useState)(null),_useState2=(0,_slicedToArray2.default)(_useState,2),isApplePaySupported=_useState2[0],setApplePaySupported=_useState2[1];(0,_react.useEffect)(function(){function checkApplePaySupport(){var isSupported;return _regenerator.default.async(function checkApplePaySupport$(_context){while(1){switch(_context.prev=_context.next){case 0:_context.t0=_helpers.isiOS;if(!_context.t0){_context.next=5;break;}_context.next=4;return _regenerator.default.awrap(_NativeStripeSdk.default.isApplePaySupported());case 4:_context.t0=_context.sent;case 5:isSupported=_context.t0;setApplePaySupported(isSupported);case 7:case"end":return _context.stop();}}},null,null,null,Promise);}checkApplePaySupport();},[]);var _createPaymentMethod=(0,_react.useCallback)(function _callee(data){var options,_args2=arguments;return _regenerator.default.async(function _callee$(_context2){while(1){switch(_context2.prev=_context2.next){case 0:options=_args2.length>1&&_args2[1]!==undefined?_args2[1]:{};return _context2.abrupt("return",(0,_functions.createPaymentMethod)(data,options));case 2:case"end":return _context2.stop();}}},null,null,null,Promise);},[]);var _createToken=(0,_react.useCallback)(function _callee2(params){return _regenerator.default.async(function _callee2$(_context3){while(1){switch(_context3.prev=_context3.next){case 0:return _context3.abrupt("return",(0,_functions.createToken)(params));case 1:case"end":return _context3.stop();}}},null,null,null,Promise);},[]);var _retrievePaymentIntent=(0,_react.useCallback)(function _callee3(clientSecret){return _regenerator.default.async(function _callee3$(_context4){while(1){switch(_context4.prev=_context4.next){case 0:return _context4.abrupt("return",(0,_functions.retrievePaymentIntent)(clientSecret));case 1:case"end":return _context4.stop();}}},null,null,null,Promise);},[]);var _retrieveSetupIntent=(0,_react.useCallback)(function _callee4(clientSecret){return _regenerator.default.async(function _callee4$(_context5){while(1){switch(_context5.prev=_context5.next){case 0:return _context5.abrupt("return",(0,_functions.retrieveSetupIntent)(clientSecret));case 1:case"end":return _context5.stop();}}},null,null,null,Promise);},[]);var _confirmPayment=(0,_react.useCallback)(function _callee5(paymentIntentClientSecret,data){var options,_args6=arguments;return _regenerator.default.async(function _callee5$(_context6){while(1){switch(_context6.prev=_context6.next){case 0:options=_args6.length>2&&_args6[2]!==undefined?_args6[2]:{};return _context6.abrupt("return",(0,_functions.confirmPayment)(paymentIntentClientSecret,data,options));case 2:case"end":return _context6.stop();}}},null,null,null,Promise);},[]);var _presentApplePay=(0,_react.useCallback)(function _callee6(params){return _regenerator.default.async(function _callee6$(_context7){while(1){switch(_context7.prev=_context7.next){case 0:return _context7.abrupt("return",(0,_functions.presentApplePay)(params));case 1:case"end":return _context7.stop();}}},null,null,null,Promise);},[]);var _updateApplePaySummaryItems=(0,_react.useCallback)(function _callee7(summaryItems){var errorAddressFields,_args8=arguments;return _regenerator.default.async(function _callee7$(_context8){while(1){switch(_context8.prev=_context8.next){case 0:errorAddressFields=_args8.length>1&&_args8[1]!==undefined?_args8[1]:[];return _context8.abrupt("return",(0,_functions.updateApplePaySummaryItems)(summaryItems,errorAddressFields));case 2:case"end":return _context8.stop();}}},null,null,null,Promise);},[]);var _confirmApplePayPayment=(0,_react.useCallback)(function _callee8(clientSecret){return _regenerator.default.async(function _callee8$(_context9){while(1){switch(_context9.prev=_context9.next){case 0:return _context9.abrupt("return",(0,_functions.confirmApplePayPayment)(clientSecret));case 1:case"end":return _context9.stop();}}},null,null,null,Promise);},[]);var _handleNextAction=(0,_react.useCallback)(function _callee9(paymentIntentClientSecret){return _regenerator.default.async(function _callee9$(_context10){while(1){switch(_context10.prev=_context10.next){case 0:return _context10.abrupt("return",(0,_functions.handleNextAction)(paymentIntentClientSecret));case 1:case"end":return _context10.stop();}}},null,null,null,Promise);},[]);var _confirmSetupIntent=(0,_react.useCallback)(function _callee10(paymentIntentClientSecret,data){var options,_args11=arguments;return _regenerator.default.async(function _callee10$(_context11){while(1){switch(_context11.prev=_context11.next){case 0:options=_args11.length>2&&_args11[2]!==undefined?_args11[2]:{};return _context11.abrupt("return",(0,_functions.confirmSetupIntent)(paymentIntentClientSecret,data,options));case 2:case"end":return _context11.stop();}}},null,null,null,Promise);},[]);var _createTokenForCVCUpdate=(0,_react.useCallback)(function _callee11(cvc){return _regenerator.default.async(function _callee11$(_context12){while(1){switch(_context12.prev=_context12.next){case 0:return _context12.abrupt("return",(0,_functions.createTokenForCVCUpdate)(cvc));case 1:case"end":return _context12.stop();}}},null,null,null,Promise);},[]);var _initPaymentSheet=(0,_react.useCallback)(function _callee12(params){return _regenerator.default.async(function _callee12$(_context13){while(1){switch(_context13.prev=_context13.next){case 0:return _context13.abrupt("return",(0,_functions.initPaymentSheet)(params));case 1:case"end":return _context13.stop();}}},null,null,null,Promise);},[]);var _presentPaymentSheet=(0,_react.useCallback)(function _callee13(){return _regenerator.default.async(function _callee13$(_context14){while(1){switch(_context14.prev=_context14.next){case 0:return _context14.abrupt("return",(0,_functions.presentPaymentSheet)());case 1:case"end":return _context14.stop();}}},null,null,null,Promise);},[]);var _confirmPaymentSheetPayment=(0,_react.useCallback)(function _callee14(){return _regenerator.default.async(function _callee14$(_context15){while(1){switch(_context15.prev=_context15.next){case 0:return _context15.abrupt("return",(0,_functions.confirmPaymentSheetPayment)());case 1:case"end":return _context15.stop();}}},null,null,null,Promise);},[]);var _handleURLCallback=(0,_react.useCallback)(function _callee15(url){return _regenerator.default.async(function _callee15$(_context16){while(1){switch(_context16.prev=_context16.next){case 0:return _context16.abrupt("return",(0,_functions.handleURLCallback)(url));case 1:case"end":return _context16.stop();}}},null,null,null,Promise);},[]);var _isGooglePaySupported=(0,_react.useCallback)(function _callee16(params){return _regenerator.default.async(function _callee16$(_context17){while(1){switch(_context17.prev=_context17.next){case 0:return _context17.abrupt("return",(0,_functions.isGooglePaySupported)(params));case 1:case"end":return _context17.stop();}}},null,null,null,Promise);},[]);var _initGooglePay=(0,_react.useCallback)(function _callee17(params){return _regenerator.default.async(function _callee17$(_context18){while(1){switch(_context18.prev=_context18.next){case 0:return _context18.abrupt("return",(0,_functions.initGooglePay)(params));case 1:case"end":return _context18.stop();}}},null,null,null,Promise);},[]);var _presentGooglePay=(0,_react.useCallback)(function _callee18(params){return _regenerator.default.async(function _callee18$(_context19){while(1){switch(_context19.prev=_context19.next){case 0:return _context19.abrupt("return",(0,_functions.presentGooglePay)(params));case 1:case"end":return _context19.stop();}}},null,null,null,Promise);},[]);var _createGooglePayPaymentMethod=(0,_react.useCallback)(function _callee19(params){return _regenerator.default.async(function _callee19$(_context20){while(1){switch(_context20.prev=_context20.next){case 0:return _context20.abrupt("return",(0,_functions.createGooglePayPaymentMethod)(params));case 1:case"end":return _context20.stop();}}},null,null,null,Promise);},[]);var _openApplePaySetup=(0,_react.useCallback)(function _callee20(){return _regenerator.default.async(function _callee20$(_context21){while(1){switch(_context21.prev=_context21.next){case 0:return _context21.abrupt("return",(0,_functions.openApplePaySetup)());case 1:case"end":return _context21.stop();}}},null,null,null,Promise);},[]);var _collectBankAccountForPayment=(0,_react.useCallback)(function _callee21(clientSecret,params){return _regenerator.default.async(function _callee21$(_context22){while(1){switch(_context22.prev=_context22.next){case 0:return _context22.abrupt("return",(0,_functions.collectBankAccountForPayment)(clientSecret,params));case 1:case"end":return _context22.stop();}}},null,null,null,Promise);},[]);var _collectBankAccountForSetup=(0,_react.useCallback)(function _callee22(clientSecret,params){return _regenerator.default.async(function _callee22$(_context23){while(1){switch(_context23.prev=_context23.next){case 0:return _context23.abrupt("return",(0,_functions.collectBankAccountForSetup)(clientSecret,params));case 1:case"end":return _context23.stop();}}},null,null,null,Promise);},[]);var _verifyMicrodepositsForPayment=(0,_react.useCallback)(function _callee23(clientSecret,params){return _regenerator.default.async(function _callee23$(_context24){while(1){switch(_context24.prev=_context24.next){case 0:return _context24.abrupt("return",(0,_functions.verifyMicrodepositsForPayment)(clientSecret,params));case 1:case"end":return _context24.stop();}}},null,null,null,Promise);},[]);var _verifyMicrodepositsForSetup=(0,_react.useCallback)(function _callee24(clientSecret,params){return _regenerator.default.async(function _callee24$(_context25){while(1){switch(_context25.prev=_context25.next){case 0:return _context25.abrupt("return",(0,_functions.verifyMicrodepositsForSetup)(clientSecret,params));case 1:case"end":return _context25.stop();}}},null,null,null,Promise);},[]);return{retrievePaymentIntent:_retrievePaymentIntent,retrieveSetupIntent:_retrieveSetupIntent,confirmPayment:_confirmPayment,createPaymentMethod:_createPaymentMethod,handleNextAction:_handleNextAction,isApplePaySupported:isApplePaySupported,presentApplePay:_presentApplePay,confirmApplePayPayment:_confirmApplePayPayment,confirmSetupIntent:_confirmSetupIntent,createTokenForCVCUpdate:_createTokenForCVCUpdate,updateApplePaySummaryItems:_updateApplePaySummaryItems,handleURLCallback:_handleURLCallback,confirmPaymentSheetPayment:_confirmPaymentSheetPayment,presentPaymentSheet:_presentPaymentSheet,initPaymentSheet:_initPaymentSheet,createToken:_createToken,isGooglePaySupported:_isGooglePaySupported,initGooglePay:_initGooglePay,presentGooglePay:_presentGooglePay,createGooglePayPaymentMethod:_createGooglePayPaymentMethod,openApplePaySetup:_openApplePaySetup,collectBankAccountForPayment:_collectBankAccountForPayment,collectBankAccountForSetup:_collectBankAccountForSetup,verifyMicrodepositsForPayment:_verifyMicrodepositsForPayment,verifyMicrodepositsForSetup:_verifyMicrodepositsForSetup};}
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.useStripe=useStripe;var _regenerator=_interopRequireDefault(require("@babel/runtime/regenerator"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=require("react");var _helpers=require("../helpers");var _NativeStripeSdk=_interopRequireDefault(require("../NativeStripeSdk"));var _functions=require("../functions");function useStripe(){var _useState=(0,_react.useState)(null),_useState2=(0,_slicedToArray2.default)(_useState,2),isApplePaySupported=_useState2[0],setApplePaySupported=_useState2[1];(0,_react.useEffect)(function(){function checkApplePaySupport(){var isSupported;return _regenerator.default.async(function checkApplePaySupport$(_context){while(1){switch(_context.prev=_context.next){case 0:_context.t0=_helpers.isiOS;if(!_context.t0){_context.next=5;break;}_context.next=4;return _regenerator.default.awrap(_NativeStripeSdk.default.isApplePaySupported());case 4:_context.t0=_context.sent;case 5:isSupported=_context.t0;setApplePaySupported(isSupported);case 7:case"end":return _context.stop();}}},null,null,null,Promise);}checkApplePaySupport();},[]);var _createPaymentMethod=(0,_react.useCallback)(function _callee(data){var options,_args2=arguments;return _regenerator.default.async(function _callee$(_context2){while(1){switch(_context2.prev=_context2.next){case 0:options=_args2.length>1&&_args2[1]!==undefined?_args2[1]:{};return _context2.abrupt("return",(0,_functions.createPaymentMethod)(data,options));case 2:case"end":return _context2.stop();}}},null,null,null,Promise);},[]);var _createToken=(0,_react.useCallback)(function _callee2(params){return _regenerator.default.async(function _callee2$(_context3){while(1){switch(_context3.prev=_context3.next){case 0:return _context3.abrupt("return",(0,_functions.createToken)(params));case 1:case"end":return _context3.stop();}}},null,null,null,Promise);},[]);var _retrievePaymentIntent=(0,_react.useCallback)(function _callee3(clientSecret){return _regenerator.default.async(function _callee3$(_context4){while(1){switch(_context4.prev=_context4.next){case 0:return _context4.abrupt("return",(0,_functions.retrievePaymentIntent)(clientSecret));case 1:case"end":return _context4.stop();}}},null,null,null,Promise);},[]);var _retrieveSetupIntent=(0,_react.useCallback)(function _callee4(clientSecret){return _regenerator.default.async(function _callee4$(_context5){while(1){switch(_context5.prev=_context5.next){case 0:return _context5.abrupt("return",(0,_functions.retrieveSetupIntent)(clientSecret));case 1:case"end":return _context5.stop();}}},null,null,null,Promise);},[]);var _confirmPayment=(0,_react.useCallback)(function _callee5(paymentIntentClientSecret,data){var options,_args6=arguments;return _regenerator.default.async(function _callee5$(_context6){while(1){switch(_context6.prev=_context6.next){case 0:options=_args6.length>2&&_args6[2]!==undefined?_args6[2]:{};return _context6.abrupt("return",(0,_functions.confirmPayment)(paymentIntentClientSecret,data,options));case 2:case"end":return _context6.stop();}}},null,null,null,Promise);},[]);var _presentApplePay=(0,_react.useCallback)(function _callee6(params){return _regenerator.default.async(function _callee6$(_context7){while(1){switch(_context7.prev=_context7.next){case 0:return _context7.abrupt("return",(0,_functions.presentApplePay)(params));case 1:case"end":return _context7.stop();}}},null,null,null,Promise);},[]);var _updateApplePaySummaryItems=(0,_react.useCallback)(function _callee7(summaryItems){var errorAddressFields,_args8=arguments;return _regenerator.default.async(function _callee7$(_context8){while(1){switch(_context8.prev=_context8.next){case 0:errorAddressFields=_args8.length>1&&_args8[1]!==undefined?_args8[1]:[];return _context8.abrupt("return",(0,_functions.updateApplePaySummaryItems)(summaryItems,errorAddressFields));case 2:case"end":return _context8.stop();}}},null,null,null,Promise);},[]);var _confirmApplePayPayment=(0,_react.useCallback)(function _callee8(clientSecret){return _regenerator.default.async(function _callee8$(_context9){while(1){switch(_context9.prev=_context9.next){case 0:return _context9.abrupt("return",(0,_functions.confirmApplePayPayment)(clientSecret));case 1:case"end":return _context9.stop();}}},null,null,null,Promise);},[]);var _handleNextAction=(0,_react.useCallback)(function _callee9(paymentIntentClientSecret){return _regenerator.default.async(function _callee9$(_context10){while(1){switch(_context10.prev=_context10.next){case 0:return _context10.abrupt("return",(0,_functions.handleNextAction)(paymentIntentClientSecret));case 1:case"end":return _context10.stop();}}},null,null,null,Promise);},[]);var _confirmSetupIntent=(0,_react.useCallback)(function _callee10(paymentIntentClientSecret,data){var options,_args11=arguments;return _regenerator.default.async(function _callee10$(_context11){while(1){switch(_context11.prev=_context11.next){case 0:options=_args11.length>2&&_args11[2]!==undefined?_args11[2]:{};return _context11.abrupt("return",(0,_functions.confirmSetupIntent)(paymentIntentClientSecret,data,options));case 2:case"end":return _context11.stop();}}},null,null,null,Promise);},[]);var _createTokenForCVCUpdate=(0,_react.useCallback)(function _callee11(cvc){return _regenerator.default.async(function _callee11$(_context12){while(1){switch(_context12.prev=_context12.next){case 0:return _context12.abrupt("return",(0,_functions.createTokenForCVCUpdate)(cvc));case 1:case"end":return _context12.stop();}}},null,null,null,Promise);},[]);var _initPaymentSheet=(0,_react.useCallback)(function _callee12(params){return _regenerator.default.async(function _callee12$(_context13){while(1){switch(_context13.prev=_context13.next){case 0:return _context13.abrupt("return",(0,_functions.initPaymentSheet)(params));case 1:case"end":return _context13.stop();}}},null,null,null,Promise);},[]);var _presentPaymentSheet=(0,_react.useCallback)(function _callee13(){return _regenerator.default.async(function _callee13$(_context14){while(1){switch(_context14.prev=_context14.next){case 0:return _context14.abrupt("return",(0,_functions.presentPaymentSheet)());case 1:case"end":return _context14.stop();}}},null,null,null,Promise);},[]);var _confirmPaymentSheetPayment=(0,_react.useCallback)(function _callee14(){return _regenerator.default.async(function _callee14$(_context15){while(1){switch(_context15.prev=_context15.next){case 0:return _context15.abrupt("return",(0,_functions.confirmPaymentSheetPayment)());case 1:case"end":return _context15.stop();}}},null,null,null,Promise);},[]);var _handleURLCallback=(0,_react.useCallback)(function _callee15(url){return _regenerator.default.async(function _callee15$(_context16){while(1){switch(_context16.prev=_context16.next){case 0:return _context16.abrupt("return",(0,_functions.handleURLCallback)(url));case 1:case"end":return _context16.stop();}}},null,null,null,Promise);},[]);var _isGooglePaySupported=(0,_react.useCallback)(function _callee16(params){return _regenerator.default.async(function _callee16$(_context17){while(1){switch(_context17.prev=_context17.next){case 0:return _context17.abrupt("return",(0,_functions.isGooglePaySupported)(params));case 1:case"end":return _context17.stop();}}},null,null,null,Promise);},[]);var _initGooglePay=(0,_react.useCallback)(function _callee17(params){return _regenerator.default.async(function _callee17$(_context18){while(1){switch(_context18.prev=_context18.next){case 0:return _context18.abrupt("return",(0,_functions.initGooglePay)(params));case 1:case"end":return _context18.stop();}}},null,null,null,Promise);},[]);var _presentGooglePay=(0,_react.useCallback)(function _callee18(params){return _regenerator.default.async(function _callee18$(_context19){while(1){switch(_context19.prev=_context19.next){case 0:return _context19.abrupt("return",(0,_functions.presentGooglePay)(params));case 1:case"end":return _context19.stop();}}},null,null,null,Promise);},[]);var _createGooglePayPaymentMethod=(0,_react.useCallback)(function _callee19(params){return _regenerator.default.async(function _callee19$(_context20){while(1){switch(_context20.prev=_context20.next){case 0:return _context20.abrupt("return",(0,_functions.createGooglePayPaymentMethod)(params));case 1:case"end":return _context20.stop();}}},null,null,null,Promise);},[]);var _openApplePaySetup=(0,_react.useCallback)(function _callee20(){return _regenerator.default.async(function _callee20$(_context21){while(1){switch(_context21.prev=_context21.next){case 0:return _context21.abrupt("return",(0,_functions.openApplePaySetup)());case 1:case"end":return _context21.stop();}}},null,null,null,Promise);},[]);var _collectBankAccountForPayment=(0,_react.useCallback)(function _callee21(clientSecret,params){return _regenerator.default.async(function _callee21$(_context22){while(1){switch(_context22.prev=_context22.next){case 0:return _context22.abrupt("return",(0,_functions.collectBankAccountForPayment)(clientSecret,params));case 1:case"end":return _context22.stop();}}},null,null,null,Promise);},[]);var _collectBankAccountForSetup=(0,_react.useCallback)(function _callee22(clientSecret,params){return _regenerator.default.async(function _callee22$(_context23){while(1){switch(_context23.prev=_context23.next){case 0:return _context23.abrupt("return",(0,_functions.collectBankAccountForSetup)(clientSecret,params));case 1:case"end":return _context23.stop();}}},null,null,null,Promise);},[]);var _verifyMicrodepositsForPayment=(0,_react.useCallback)(function _callee23(clientSecret,params){return _regenerator.default.async(function _callee23$(_context24){while(1){switch(_context24.prev=_context24.next){case 0:return _context24.abrupt("return",(0,_functions.verifyMicrodepositsForPayment)(clientSecret,params));case 1:case"end":return _context24.stop();}}},null,null,null,Promise);},[]);var _verifyMicrodepositsForSetup=(0,_react.useCallback)(function _callee24(clientSecret,params){return _regenerator.default.async(function _callee24$(_context25){while(1){switch(_context25.prev=_context25.next){case 0:return _context25.abrupt("return",(0,_functions.verifyMicrodepositsForSetup)(clientSecret,params));case 1:case"end":return _context25.stop();}}},null,null,null,Promise);},[]);var _canAddCardToWallet=(0,_react.useCallback)(function _callee25(params){return _regenerator.default.async(function _callee25$(_context26){while(1){switch(_context26.prev=_context26.next){case 0:return _context26.abrupt("return",(0,_functions.canAddCardToWallet)(params));case 1:case"end":return _context26.stop();}}},null,null,null,Promise);},[]);return{retrievePaymentIntent:_retrievePaymentIntent,retrieveSetupIntent:_retrieveSetupIntent,confirmPayment:_confirmPayment,createPaymentMethod:_createPaymentMethod,handleNextAction:_handleNextAction,isApplePaySupported:isApplePaySupported,presentApplePay:_presentApplePay,confirmApplePayPayment:_confirmApplePayPayment,confirmSetupIntent:_confirmSetupIntent,createTokenForCVCUpdate:_createTokenForCVCUpdate,updateApplePaySummaryItems:_updateApplePaySummaryItems,handleURLCallback:_handleURLCallback,confirmPaymentSheetPayment:_confirmPaymentSheetPayment,presentPaymentSheet:_presentPaymentSheet,initPaymentSheet:_initPaymentSheet,createToken:_createToken,isGooglePaySupported:_isGooglePaySupported,initGooglePay:_initGooglePay,presentGooglePay:_presentGooglePay,createGooglePayPaymentMethod:_createGooglePayPaymentMethod,openApplePaySetup:_openApplePaySetup,collectBankAccountForPayment:_collectBankAccountForPayment,collectBankAccountForSetup:_collectBankAccountForSetup,verifyMicrodepositsForPayment:_verifyMicrodepositsForPayment,verifyMicrodepositsForSetup:_verifyMicrodepositsForSetup,canAddCardToWallet:_canAddCardToWallet};}
2
2
  //# sourceMappingURL=useStripe.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["useStripe.tsx"],"names":["useStripe","isApplePaySupported","setApplePaySupported","checkApplePaySupport","isiOS","NativeStripeSdk","isSupported","_createPaymentMethod","data","options","_createToken","params","_retrievePaymentIntent","clientSecret","_retrieveSetupIntent","_confirmPayment","paymentIntentClientSecret","_presentApplePay","_updateApplePaySummaryItems","summaryItems","errorAddressFields","_confirmApplePayPayment","_handleNextAction","_confirmSetupIntent","_createTokenForCVCUpdate","cvc","_initPaymentSheet","_presentPaymentSheet","_confirmPaymentSheetPayment","_handleURLCallback","url","_isGooglePaySupported","_initGooglePay","_presentGooglePay","_createGooglePayPaymentMethod","_openApplePaySetup","_collectBankAccountForPayment","_collectBankAccountForSetup","_verifyMicrodepositsForPayment","_verifyMicrodepositsForSetup","retrievePaymentIntent","retrieveSetupIntent","confirmPayment","createPaymentMethod","handleNextAction","presentApplePay","confirmApplePayPayment","confirmSetupIntent","createTokenForCVCUpdate","updateApplePaySummaryItems","handleURLCallback","confirmPaymentSheetPayment","presentPaymentSheet","initPaymentSheet","createToken","isGooglePaySupported","initGooglePay","presentGooglePay","createGooglePayPaymentMethod","openApplePaySetup","collectBankAccountForPayment","collectBankAccountForSetup","verifyMicrodepositsForPayment","verifyMicrodepositsForSetup"],"mappings":"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","sourcesContent":["import type {\n PaymentMethod,\n ApplePay,\n PaymentSheet,\n CreatePaymentMethodResult,\n RetrievePaymentIntentResult,\n RetrieveSetupIntentResult,\n ConfirmPaymentResult,\n HandleNextActionResult,\n ConfirmSetupIntentResult,\n CreateTokenForCVCUpdateResult,\n ApplePayResult,\n ApplePayError,\n StripeError,\n InitPaymentSheetResult,\n PresentPaymentSheetResult,\n ConfirmPaymentSheetPaymentResult,\n SetupIntent,\n CreateTokenResult,\n PayWithGooglePayResult,\n GooglePayInitResult,\n GooglePay,\n CreateGooglePayPaymentMethodResult,\n OpenApplePaySetupResult,\n Token,\n VerifyMicrodepositsParams,\n VerifyMicrodepositsForPaymentResult,\n VerifyMicrodepositsForSetupResult,\n CollectBankAccountForSetupResult,\n CollectBankAccountForPaymentResult,\n} from '../types';\nimport { useCallback, useEffect, useState } from 'react';\nimport { isiOS } from '../helpers';\nimport NativeStripeSdk from '../NativeStripeSdk';\nimport {\n confirmPayment,\n createPaymentMethod,\n retrievePaymentIntent,\n retrieveSetupIntent,\n confirmApplePayPayment,\n confirmSetupIntent,\n createTokenForCVCUpdate,\n handleNextAction,\n handleURLCallback,\n presentApplePay,\n updateApplePaySummaryItems,\n initPaymentSheet,\n presentPaymentSheet,\n confirmPaymentSheetPayment,\n createToken,\n isGooglePaySupported,\n initGooglePay,\n createGooglePayPaymentMethod,\n presentGooglePay,\n openApplePaySetup,\n collectBankAccountForPayment,\n collectBankAccountForSetup,\n verifyMicrodepositsForPayment,\n verifyMicrodepositsForSetup,\n} from '../functions';\n\n/**\n * useStripe hook\n */\nexport function useStripe() {\n const [isApplePaySupported, setApplePaySupported] = useState<boolean | null>(\n null\n );\n\n useEffect(() => {\n async function checkApplePaySupport() {\n const isSupported =\n isiOS && (await NativeStripeSdk.isApplePaySupported());\n setApplePaySupported(isSupported);\n }\n\n checkApplePaySupport();\n }, []);\n\n const _createPaymentMethod = useCallback(\n async (\n data: PaymentMethod.CreateParams,\n options: PaymentMethod.CreateOptions = {}\n ): Promise<CreatePaymentMethodResult> => {\n return createPaymentMethod(data, options);\n },\n []\n );\n\n const _createToken = useCallback(\n async (params: Token.CreateParams): Promise<CreateTokenResult> => {\n return createToken(params);\n },\n []\n );\n\n const _retrievePaymentIntent = useCallback(\n async (clientSecret: string): Promise<RetrievePaymentIntentResult> => {\n return retrievePaymentIntent(clientSecret);\n },\n []\n );\n\n const _retrieveSetupIntent = useCallback(\n async (clientSecret: string): Promise<RetrieveSetupIntentResult> => {\n return retrieveSetupIntent(clientSecret);\n },\n []\n );\n\n const _confirmPayment = useCallback(\n async (\n paymentIntentClientSecret: string,\n data: PaymentMethod.ConfirmParams,\n options: PaymentMethod.ConfirmOptions = {}\n ): Promise<ConfirmPaymentResult> => {\n return confirmPayment(paymentIntentClientSecret, data, options);\n },\n []\n );\n\n const _presentApplePay = useCallback(\n async (params: ApplePay.PresentParams): Promise<ApplePayResult> => {\n return presentApplePay(params);\n },\n []\n );\n\n const _updateApplePaySummaryItems = useCallback(\n async (\n summaryItems: ApplePay.CartSummaryItem[],\n errorAddressFields: Array<{\n field: ApplePay.AddressFields;\n message?: string;\n }> = []\n ): Promise<{ error?: StripeError<ApplePayError> }> => {\n return updateApplePaySummaryItems(summaryItems, errorAddressFields);\n },\n []\n );\n\n const _confirmApplePayPayment = useCallback(\n async (\n clientSecret: string\n ): Promise<{ error?: StripeError<ApplePayError> }> => {\n return confirmApplePayPayment(clientSecret);\n },\n []\n );\n\n const _handleNextAction = useCallback(\n async (\n paymentIntentClientSecret: string\n ): Promise<HandleNextActionResult> => {\n return handleNextAction(paymentIntentClientSecret);\n },\n []\n );\n\n const _confirmSetupIntent = useCallback(\n async (\n paymentIntentClientSecret: string,\n data: SetupIntent.ConfirmParams,\n options: SetupIntent.ConfirmOptions = {}\n ): Promise<ConfirmSetupIntentResult> => {\n return confirmSetupIntent(paymentIntentClientSecret, data, options);\n },\n []\n );\n\n const _createTokenForCVCUpdate = useCallback(\n async (cvc: string): Promise<CreateTokenForCVCUpdateResult> => {\n return createTokenForCVCUpdate(cvc);\n },\n []\n );\n\n const _initPaymentSheet = useCallback(\n async (\n params: PaymentSheet.SetupParams\n ): Promise<InitPaymentSheetResult> => {\n return initPaymentSheet(params);\n },\n []\n );\n\n const _presentPaymentSheet =\n useCallback(async (): Promise<PresentPaymentSheetResult> => {\n return presentPaymentSheet();\n }, []);\n\n const _confirmPaymentSheetPayment =\n useCallback(async (): Promise<ConfirmPaymentSheetPaymentResult> => {\n return confirmPaymentSheetPayment();\n }, []);\n\n const _handleURLCallback = useCallback(\n async (url: string): Promise<boolean> => {\n return handleURLCallback(url);\n },\n []\n );\n\n const _isGooglePaySupported = useCallback(\n async (params?: GooglePay.IsSupportedParams): Promise<boolean> => {\n return isGooglePaySupported(params);\n },\n []\n );\n\n const _initGooglePay = useCallback(\n async (params: GooglePay.InitParams): Promise<GooglePayInitResult> => {\n return initGooglePay(params);\n },\n []\n );\n\n const _presentGooglePay = useCallback(\n async (\n params: GooglePay.PresentParams\n ): Promise<PayWithGooglePayResult> => {\n return presentGooglePay(params);\n },\n []\n );\n\n const _createGooglePayPaymentMethod = useCallback(\n async (\n params: GooglePay.CreatePaymentMethodParams\n ): Promise<CreateGooglePayPaymentMethodResult> => {\n return createGooglePayPaymentMethod(params);\n },\n []\n );\n\n const _openApplePaySetup =\n useCallback(async (): Promise<OpenApplePaySetupResult> => {\n return openApplePaySetup();\n }, []);\n\n const _collectBankAccountForPayment = useCallback(\n async (\n clientSecret: string,\n params: PaymentMethod.CollectBankAccountParams\n ): Promise<CollectBankAccountForPaymentResult> => {\n return collectBankAccountForPayment(clientSecret, params);\n },\n []\n );\n\n const _collectBankAccountForSetup = useCallback(\n async (\n clientSecret: string,\n params: PaymentMethod.CollectBankAccountParams\n ): Promise<CollectBankAccountForSetupResult> => {\n return collectBankAccountForSetup(clientSecret, params);\n },\n []\n );\n\n const _verifyMicrodepositsForPayment = useCallback(\n async (\n clientSecret: string,\n params: VerifyMicrodepositsParams\n ): Promise<VerifyMicrodepositsForPaymentResult> => {\n return verifyMicrodepositsForPayment(clientSecret, params);\n },\n []\n );\n\n const _verifyMicrodepositsForSetup = useCallback(\n async (\n clientSecret: string,\n params: VerifyMicrodepositsParams\n ): Promise<VerifyMicrodepositsForSetupResult> => {\n return verifyMicrodepositsForSetup(clientSecret, params);\n },\n []\n );\n\n return {\n retrievePaymentIntent: _retrievePaymentIntent,\n retrieveSetupIntent: _retrieveSetupIntent,\n confirmPayment: _confirmPayment,\n createPaymentMethod: _createPaymentMethod,\n handleNextAction: _handleNextAction,\n isApplePaySupported: isApplePaySupported,\n presentApplePay: _presentApplePay,\n confirmApplePayPayment: _confirmApplePayPayment,\n confirmSetupIntent: _confirmSetupIntent,\n createTokenForCVCUpdate: _createTokenForCVCUpdate,\n updateApplePaySummaryItems: _updateApplePaySummaryItems,\n handleURLCallback: _handleURLCallback,\n confirmPaymentSheetPayment: _confirmPaymentSheetPayment,\n presentPaymentSheet: _presentPaymentSheet,\n initPaymentSheet: _initPaymentSheet,\n createToken: _createToken,\n isGooglePaySupported: _isGooglePaySupported,\n initGooglePay: _initGooglePay,\n presentGooglePay: _presentGooglePay,\n createGooglePayPaymentMethod: _createGooglePayPaymentMethod,\n openApplePaySetup: _openApplePaySetup,\n collectBankAccountForPayment: _collectBankAccountForPayment,\n collectBankAccountForSetup: _collectBankAccountForSetup,\n verifyMicrodepositsForPayment: _verifyMicrodepositsForPayment,\n verifyMicrodepositsForSetup: _verifyMicrodepositsForSetup,\n };\n}\n"]}
1
+ {"version":3,"sources":["useStripe.tsx"],"names":["useStripe","isApplePaySupported","setApplePaySupported","checkApplePaySupport","isiOS","NativeStripeSdk","isSupported","_createPaymentMethod","data","options","_createToken","params","_retrievePaymentIntent","clientSecret","_retrieveSetupIntent","_confirmPayment","paymentIntentClientSecret","_presentApplePay","_updateApplePaySummaryItems","summaryItems","errorAddressFields","_confirmApplePayPayment","_handleNextAction","_confirmSetupIntent","_createTokenForCVCUpdate","cvc","_initPaymentSheet","_presentPaymentSheet","_confirmPaymentSheetPayment","_handleURLCallback","url","_isGooglePaySupported","_initGooglePay","_presentGooglePay","_createGooglePayPaymentMethod","_openApplePaySetup","_collectBankAccountForPayment","_collectBankAccountForSetup","_verifyMicrodepositsForPayment","_verifyMicrodepositsForSetup","_canAddCardToWallet","retrievePaymentIntent","retrieveSetupIntent","confirmPayment","createPaymentMethod","handleNextAction","presentApplePay","confirmApplePayPayment","confirmSetupIntent","createTokenForCVCUpdate","updateApplePaySummaryItems","handleURLCallback","confirmPaymentSheetPayment","presentPaymentSheet","initPaymentSheet","createToken","isGooglePaySupported","initGooglePay","presentGooglePay","createGooglePayPaymentMethod","openApplePaySetup","collectBankAccountForPayment","collectBankAccountForSetup","verifyMicrodepositsForPayment","verifyMicrodepositsForSetup","canAddCardToWallet"],"mappings":"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","sourcesContent":["import type {\n PaymentMethod,\n ApplePay,\n PaymentSheet,\n CreatePaymentMethodResult,\n RetrievePaymentIntentResult,\n RetrieveSetupIntentResult,\n ConfirmPaymentResult,\n HandleNextActionResult,\n ConfirmSetupIntentResult,\n CreateTokenForCVCUpdateResult,\n ApplePayResult,\n ApplePayError,\n StripeError,\n InitPaymentSheetResult,\n PresentPaymentSheetResult,\n ConfirmPaymentSheetPaymentResult,\n SetupIntent,\n CreateTokenResult,\n PayWithGooglePayResult,\n GooglePayInitResult,\n GooglePay,\n CreateGooglePayPaymentMethodResult,\n OpenApplePaySetupResult,\n Token,\n VerifyMicrodepositsParams,\n VerifyMicrodepositsForPaymentResult,\n VerifyMicrodepositsForSetupResult,\n CollectBankAccountForSetupResult,\n CollectBankAccountForPaymentResult,\n CanAddCardToWalletParams,\n CanAddCardToWalletResult,\n} from '../types';\nimport { useCallback, useEffect, useState } from 'react';\nimport { isiOS } from '../helpers';\nimport NativeStripeSdk from '../NativeStripeSdk';\nimport {\n confirmPayment,\n createPaymentMethod,\n retrievePaymentIntent,\n retrieveSetupIntent,\n confirmApplePayPayment,\n confirmSetupIntent,\n createTokenForCVCUpdate,\n handleNextAction,\n handleURLCallback,\n presentApplePay,\n updateApplePaySummaryItems,\n initPaymentSheet,\n presentPaymentSheet,\n confirmPaymentSheetPayment,\n createToken,\n isGooglePaySupported,\n initGooglePay,\n createGooglePayPaymentMethod,\n presentGooglePay,\n openApplePaySetup,\n collectBankAccountForPayment,\n collectBankAccountForSetup,\n verifyMicrodepositsForPayment,\n verifyMicrodepositsForSetup,\n canAddCardToWallet,\n} from '../functions';\n\n/**\n * useStripe hook\n */\nexport function useStripe() {\n const [isApplePaySupported, setApplePaySupported] = useState<boolean | null>(\n null\n );\n\n useEffect(() => {\n async function checkApplePaySupport() {\n const isSupported =\n isiOS && (await NativeStripeSdk.isApplePaySupported());\n setApplePaySupported(isSupported);\n }\n\n checkApplePaySupport();\n }, []);\n\n const _createPaymentMethod = useCallback(\n async (\n data: PaymentMethod.CreateParams,\n options: PaymentMethod.CreateOptions = {}\n ): Promise<CreatePaymentMethodResult> => {\n return createPaymentMethod(data, options);\n },\n []\n );\n\n const _createToken = useCallback(\n async (params: Token.CreateParams): Promise<CreateTokenResult> => {\n return createToken(params);\n },\n []\n );\n\n const _retrievePaymentIntent = useCallback(\n async (clientSecret: string): Promise<RetrievePaymentIntentResult> => {\n return retrievePaymentIntent(clientSecret);\n },\n []\n );\n\n const _retrieveSetupIntent = useCallback(\n async (clientSecret: string): Promise<RetrieveSetupIntentResult> => {\n return retrieveSetupIntent(clientSecret);\n },\n []\n );\n\n const _confirmPayment = useCallback(\n async (\n paymentIntentClientSecret: string,\n data: PaymentMethod.ConfirmParams,\n options: PaymentMethod.ConfirmOptions = {}\n ): Promise<ConfirmPaymentResult> => {\n return confirmPayment(paymentIntentClientSecret, data, options);\n },\n []\n );\n\n const _presentApplePay = useCallback(\n async (params: ApplePay.PresentParams): Promise<ApplePayResult> => {\n return presentApplePay(params);\n },\n []\n );\n\n const _updateApplePaySummaryItems = useCallback(\n async (\n summaryItems: ApplePay.CartSummaryItem[],\n errorAddressFields: Array<{\n field: ApplePay.AddressFields;\n message?: string;\n }> = []\n ): Promise<{ error?: StripeError<ApplePayError> }> => {\n return updateApplePaySummaryItems(summaryItems, errorAddressFields);\n },\n []\n );\n\n const _confirmApplePayPayment = useCallback(\n async (\n clientSecret: string\n ): Promise<{ error?: StripeError<ApplePayError> }> => {\n return confirmApplePayPayment(clientSecret);\n },\n []\n );\n\n const _handleNextAction = useCallback(\n async (\n paymentIntentClientSecret: string\n ): Promise<HandleNextActionResult> => {\n return handleNextAction(paymentIntentClientSecret);\n },\n []\n );\n\n const _confirmSetupIntent = useCallback(\n async (\n paymentIntentClientSecret: string,\n data: SetupIntent.ConfirmParams,\n options: SetupIntent.ConfirmOptions = {}\n ): Promise<ConfirmSetupIntentResult> => {\n return confirmSetupIntent(paymentIntentClientSecret, data, options);\n },\n []\n );\n\n const _createTokenForCVCUpdate = useCallback(\n async (cvc: string): Promise<CreateTokenForCVCUpdateResult> => {\n return createTokenForCVCUpdate(cvc);\n },\n []\n );\n\n const _initPaymentSheet = useCallback(\n async (\n params: PaymentSheet.SetupParams\n ): Promise<InitPaymentSheetResult> => {\n return initPaymentSheet(params);\n },\n []\n );\n\n const _presentPaymentSheet =\n useCallback(async (): Promise<PresentPaymentSheetResult> => {\n return presentPaymentSheet();\n }, []);\n\n const _confirmPaymentSheetPayment =\n useCallback(async (): Promise<ConfirmPaymentSheetPaymentResult> => {\n return confirmPaymentSheetPayment();\n }, []);\n\n const _handleURLCallback = useCallback(\n async (url: string): Promise<boolean> => {\n return handleURLCallback(url);\n },\n []\n );\n\n const _isGooglePaySupported = useCallback(\n async (params?: GooglePay.IsSupportedParams): Promise<boolean> => {\n return isGooglePaySupported(params);\n },\n []\n );\n\n const _initGooglePay = useCallback(\n async (params: GooglePay.InitParams): Promise<GooglePayInitResult> => {\n return initGooglePay(params);\n },\n []\n );\n\n const _presentGooglePay = useCallback(\n async (\n params: GooglePay.PresentParams\n ): Promise<PayWithGooglePayResult> => {\n return presentGooglePay(params);\n },\n []\n );\n\n const _createGooglePayPaymentMethod = useCallback(\n async (\n params: GooglePay.CreatePaymentMethodParams\n ): Promise<CreateGooglePayPaymentMethodResult> => {\n return createGooglePayPaymentMethod(params);\n },\n []\n );\n\n const _openApplePaySetup =\n useCallback(async (): Promise<OpenApplePaySetupResult> => {\n return openApplePaySetup();\n }, []);\n\n const _collectBankAccountForPayment = useCallback(\n async (\n clientSecret: string,\n params: PaymentMethod.CollectBankAccountParams\n ): Promise<CollectBankAccountForPaymentResult> => {\n return collectBankAccountForPayment(clientSecret, params);\n },\n []\n );\n\n const _collectBankAccountForSetup = useCallback(\n async (\n clientSecret: string,\n params: PaymentMethod.CollectBankAccountParams\n ): Promise<CollectBankAccountForSetupResult> => {\n return collectBankAccountForSetup(clientSecret, params);\n },\n []\n );\n\n const _verifyMicrodepositsForPayment = useCallback(\n async (\n clientSecret: string,\n params: VerifyMicrodepositsParams\n ): Promise<VerifyMicrodepositsForPaymentResult> => {\n return verifyMicrodepositsForPayment(clientSecret, params);\n },\n []\n );\n\n const _verifyMicrodepositsForSetup = useCallback(\n async (\n clientSecret: string,\n params: VerifyMicrodepositsParams\n ): Promise<VerifyMicrodepositsForSetupResult> => {\n return verifyMicrodepositsForSetup(clientSecret, params);\n },\n []\n );\n\n const _canAddCardToWallet = useCallback(\n async (\n params: CanAddCardToWalletParams\n ): Promise<CanAddCardToWalletResult> => {\n return canAddCardToWallet(params);\n },\n []\n );\n\n return {\n retrievePaymentIntent: _retrievePaymentIntent,\n retrieveSetupIntent: _retrieveSetupIntent,\n confirmPayment: _confirmPayment,\n createPaymentMethod: _createPaymentMethod,\n handleNextAction: _handleNextAction,\n isApplePaySupported: isApplePaySupported,\n presentApplePay: _presentApplePay,\n confirmApplePayPayment: _confirmApplePayPayment,\n confirmSetupIntent: _confirmSetupIntent,\n createTokenForCVCUpdate: _createTokenForCVCUpdate,\n updateApplePaySummaryItems: _updateApplePaySummaryItems,\n handleURLCallback: _handleURLCallback,\n confirmPaymentSheetPayment: _confirmPaymentSheetPayment,\n presentPaymentSheet: _presentPaymentSheet,\n initPaymentSheet: _initPaymentSheet,\n createToken: _createToken,\n isGooglePaySupported: _isGooglePaySupported,\n initGooglePay: _initGooglePay,\n presentGooglePay: _presentGooglePay,\n createGooglePayPaymentMethod: _createGooglePayPaymentMethod,\n openApplePaySetup: _openApplePaySetup,\n collectBankAccountForPayment: _collectBankAccountForPayment,\n collectBankAccountForSetup: _collectBankAccountForSetup,\n verifyMicrodepositsForPayment: _verifyMicrodepositsForPayment,\n verifyMicrodepositsForSetup: _verifyMicrodepositsForSetup,\n canAddCardToWallet: _canAddCardToWallet,\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":[],"mappings":"m0BAeA,4D,0BACA,sE,oCACA,sE,oCACA,oE,kCACA,kE,gCACA,oE,kCACA,8D,4BACA,qG,wDACA,uG,0DACA,mF,sCACA,+E,kCACA,sD,oBAiBA,iVACA,gC","sourcesContent":["import type {\n ApplePayError,\n CardActionError,\n ConfirmPaymentError,\n ConfirmSetupIntentError,\n CreatePaymentMethodError,\n CreateTokenError,\n GooglePayError,\n PaymentSheetError,\n RetrievePaymentIntentError,\n RetrieveSetupIntentError,\n StripeError,\n VerifyMicrodepositsError,\n CollectBankAccountError,\n} from './Errors';\nimport * as ApplePay from './ApplePay';\nimport * as PaymentIntent from './PaymentIntent';\nimport * as PaymentMethod from './PaymentMethod';\nimport * as PaymentSheet from './PaymentSheet';\nimport * as SetupIntent from './SetupIntent';\nimport * as ThreeDSecure from './ThreeDSecure';\nimport * as GooglePay from './GooglePay';\nimport * as ApplePayButtonComponent from './components/ApplePayButtonComponent';\nimport * as AuBECSDebitFormComponent from './components/AuBECSDebitFormComponent';\nimport * as CardFieldInput from './components/CardFieldInput';\nimport * as CardFormView from './components/CardFormView';\nimport * as Token from './Token';\n\nexport {\n ApplePay,\n PaymentIntent,\n PaymentMethod,\n PaymentSheet,\n SetupIntent,\n ThreeDSecure,\n GooglePay,\n ApplePayButtonComponent,\n AuBECSDebitFormComponent,\n CardFieldInput,\n CardFormView,\n Token,\n};\n\nexport * from './Errors';\nexport { Address, BillingDetails } from './Common';\n\n/**\n * @ignore\n */\nexport type Dictionary<T> = {\n [key: string]: T;\n};\n\nexport interface AppInfo {\n name?: string;\n partnerId?: string;\n url?: string;\n version?: string;\n}\n\nexport type CreatePaymentMethodResult =\n | {\n paymentMethod: PaymentMethod.Result;\n error?: undefined;\n }\n | {\n paymentMethod?: undefined;\n error: StripeError<CreatePaymentMethodError>;\n };\n\nexport type RetrievePaymentIntentResult =\n | {\n paymentIntent: PaymentIntent.Result;\n error?: undefined;\n }\n | {\n paymentIntent?: undefined;\n error: StripeError<RetrievePaymentIntentError>;\n };\n\nexport type RetrieveSetupIntentResult =\n | {\n setupIntent: SetupIntent.Result;\n error?: undefined;\n }\n | {\n setupIntent?: undefined;\n error: StripeError<RetrieveSetupIntentError>;\n };\n\nexport type ConfirmPaymentResult =\n | {\n paymentIntent: PaymentIntent.Result;\n error?: undefined;\n }\n | {\n paymentIntent?: undefined;\n error: StripeError<ConfirmPaymentError>;\n };\n\nexport type HandleNextActionResult =\n | {\n paymentIntent: PaymentIntent.Result;\n error?: undefined;\n }\n | {\n paymentIntent?: undefined;\n error: StripeError<CardActionError>;\n };\n\nexport type ConfirmSetupIntentResult =\n | {\n setupIntent: SetupIntent.Result;\n error?: undefined;\n }\n | {\n setupIntent?: undefined;\n error: StripeError<ConfirmSetupIntentError>;\n };\n\nexport type CreateTokenForCVCUpdateResult =\n | {\n tokenId: string;\n error?: undefined;\n }\n | {\n tokenId?: undefined;\n error: StripeError<ConfirmSetupIntentError>;\n };\n\nexport type InitPaymentSheetResult =\n | {\n paymentOption?: PaymentSheet.PaymentOption;\n error?: undefined;\n }\n | {\n paymentOption?: undefined;\n error: StripeError<PaymentSheetError>;\n };\n\nexport type PresentPaymentSheetResult =\n | {\n paymentOption: PaymentSheet.PaymentOption;\n error?: undefined;\n }\n | {\n paymentOption?: undefined;\n error: StripeError<PaymentSheetError>;\n };\n\nexport type CreateTokenResult =\n | {\n token: Token.Result;\n error?: undefined;\n }\n | {\n token?: undefined;\n error: StripeError<CreateTokenError>;\n };\n\nexport type ConfirmPaymentSheetPaymentResult = {\n error?: StripeError<PaymentSheetError>;\n};\n\nexport type ApplePayResult =\n | {\n paymentMethod: PaymentMethod.Result;\n error?: undefined;\n }\n | {\n paymentMethod?: undefined;\n error: StripeError<ApplePayError>;\n };\n\nexport interface InitStripeParams {\n publishableKey: string;\n stripeAccountId?: string;\n threeDSecureParams?: ThreeDSecure.ConfigurationParams;\n merchantIdentifier?: string;\n urlScheme?: string;\n setReturnUrlSchemeOnAndroid?: boolean;\n}\n\nexport interface InitialiseParams extends InitStripeParams {\n appInfo: AppInfo;\n}\n\nexport type GooglePayInitResult =\n | {\n error?: undefined;\n }\n | {\n error: StripeError<GooglePayError>;\n };\n\nexport type PayWithGooglePayResult =\n | {\n error?: undefined;\n }\n | {\n error: StripeError<GooglePayError>;\n };\n\nexport type CreateGooglePayPaymentMethodResult =\n | {\n paymentMethod: PaymentMethod.Result;\n error?: undefined;\n }\n | {\n paymentMethod?: undefined;\n error: StripeError<GooglePayError>;\n };\n\nexport type OpenApplePaySetupResult =\n | {\n error?: undefined;\n }\n | {\n error: StripeError<ApplePayError>;\n };\n\nexport type VerifyMicrodepositsParams =\n | {\n amounts: number[];\n descriptorCode?: undefined;\n }\n | {\n amounts?: undefined;\n descriptorCode: string;\n };\n\nexport type VerifyMicrodepositsForPaymentResult =\n | {\n paymentIntent: PaymentIntent.Result;\n error?: undefined;\n }\n | {\n paymentIntent?: undefined;\n error: StripeError<VerifyMicrodepositsError>;\n };\n\nexport type VerifyMicrodepositsForSetupResult =\n | {\n setupIntent: SetupIntent.Result;\n error?: undefined;\n }\n | {\n setupIntent?: undefined;\n error: StripeError<VerifyMicrodepositsError>;\n };\n\nexport type CollectBankAccountForPaymentResult =\n | {\n paymentIntent: PaymentIntent.Result;\n error?: undefined;\n }\n | {\n paymentIntent?: undefined;\n error: StripeError<CollectBankAccountError>;\n };\n\nexport type CollectBankAccountForSetupResult =\n | {\n setupIntent: SetupIntent.Result;\n error?: undefined;\n }\n | {\n setupIntent?: undefined;\n error: StripeError<CollectBankAccountError>;\n };\n\nexport type GooglePayCardToken = {\n id: string;\n cardLastFour: string;\n network: number;\n serviceProvider: number;\n issuer: string;\n status:\n | 'TOKEN_STATE_NEEDS_IDENTITY_VERIFICATION'\n | 'TOKEN_STATE_PENDING'\n | 'TOKEN_STATE_SUSPENDED'\n | 'TOKEN_STATE_ACTIVE'\n | 'TOKEN_STATE_FELICA_PENDING_PROVISIONING'\n | 'TOKEN_STATE_UNTOKENIZED';\n};\n\nexport type IsCardInWalletResult =\n | {\n isInWallet: boolean;\n token?: GooglePayCardToken;\n error?: undefined;\n }\n | {\n isInWallet?: undefined;\n token?: undefined;\n error: StripeError<GooglePayError>;\n };\n"]}
1
+ {"version":3,"sources":["index.ts"],"names":[],"mappings":"m0BAeA,4D,0BACA,sE,oCACA,sE,oCACA,oE,kCACA,kE,gCACA,oE,kCACA,8D,4BACA,qG,wDACA,uG,0DACA,mF,sCACA,+E,kCACA,sD,oBAiBA,iVACA,gC","sourcesContent":["import type {\n ApplePayError,\n CardActionError,\n ConfirmPaymentError,\n ConfirmSetupIntentError,\n CreatePaymentMethodError,\n CreateTokenError,\n GooglePayError,\n PaymentSheetError,\n RetrievePaymentIntentError,\n RetrieveSetupIntentError,\n StripeError,\n VerifyMicrodepositsError,\n CollectBankAccountError,\n} from './Errors';\nimport * as ApplePay from './ApplePay';\nimport * as PaymentIntent from './PaymentIntent';\nimport * as PaymentMethod from './PaymentMethod';\nimport * as PaymentSheet from './PaymentSheet';\nimport * as SetupIntent from './SetupIntent';\nimport * as ThreeDSecure from './ThreeDSecure';\nimport * as GooglePay from './GooglePay';\nimport * as ApplePayButtonComponent from './components/ApplePayButtonComponent';\nimport * as AuBECSDebitFormComponent from './components/AuBECSDebitFormComponent';\nimport * as CardFieldInput from './components/CardFieldInput';\nimport * as CardFormView from './components/CardFormView';\nimport * as Token from './Token';\n\nexport {\n ApplePay,\n PaymentIntent,\n PaymentMethod,\n PaymentSheet,\n SetupIntent,\n ThreeDSecure,\n GooglePay,\n ApplePayButtonComponent,\n AuBECSDebitFormComponent,\n CardFieldInput,\n CardFormView,\n Token,\n};\n\nexport * from './Errors';\nexport { Address, BillingDetails } from './Common';\n\n/**\n * @ignore\n */\nexport type Dictionary<T> = {\n [key: string]: T;\n};\n\nexport interface AppInfo {\n name?: string;\n partnerId?: string;\n url?: string;\n version?: string;\n}\n\nexport type CreatePaymentMethodResult =\n | {\n paymentMethod: PaymentMethod.Result;\n error?: undefined;\n }\n | {\n paymentMethod?: undefined;\n error: StripeError<CreatePaymentMethodError>;\n };\n\nexport type RetrievePaymentIntentResult =\n | {\n paymentIntent: PaymentIntent.Result;\n error?: undefined;\n }\n | {\n paymentIntent?: undefined;\n error: StripeError<RetrievePaymentIntentError>;\n };\n\nexport type RetrieveSetupIntentResult =\n | {\n setupIntent: SetupIntent.Result;\n error?: undefined;\n }\n | {\n setupIntent?: undefined;\n error: StripeError<RetrieveSetupIntentError>;\n };\n\nexport type ConfirmPaymentResult =\n | {\n paymentIntent: PaymentIntent.Result;\n error?: undefined;\n }\n | {\n paymentIntent?: undefined;\n error: StripeError<ConfirmPaymentError>;\n };\n\nexport type HandleNextActionResult =\n | {\n paymentIntent: PaymentIntent.Result;\n error?: undefined;\n }\n | {\n paymentIntent?: undefined;\n error: StripeError<CardActionError>;\n };\n\nexport type ConfirmSetupIntentResult =\n | {\n setupIntent: SetupIntent.Result;\n error?: undefined;\n }\n | {\n setupIntent?: undefined;\n error: StripeError<ConfirmSetupIntentError>;\n };\n\nexport type CreateTokenForCVCUpdateResult =\n | {\n tokenId: string;\n error?: undefined;\n }\n | {\n tokenId?: undefined;\n error: StripeError<ConfirmSetupIntentError>;\n };\n\nexport type InitPaymentSheetResult =\n | {\n paymentOption?: PaymentSheet.PaymentOption;\n error?: undefined;\n }\n | {\n paymentOption?: undefined;\n error: StripeError<PaymentSheetError>;\n };\n\nexport type PresentPaymentSheetResult =\n | {\n paymentOption: PaymentSheet.PaymentOption;\n error?: undefined;\n }\n | {\n paymentOption?: undefined;\n error: StripeError<PaymentSheetError>;\n };\n\nexport type CreateTokenResult =\n | {\n token: Token.Result;\n error?: undefined;\n }\n | {\n token?: undefined;\n error: StripeError<CreateTokenError>;\n };\n\nexport type ConfirmPaymentSheetPaymentResult = {\n error?: StripeError<PaymentSheetError>;\n};\n\nexport type ApplePayResult =\n | {\n paymentMethod: PaymentMethod.Result;\n error?: undefined;\n }\n | {\n paymentMethod?: undefined;\n error: StripeError<ApplePayError>;\n };\n\nexport interface InitStripeParams {\n publishableKey: string;\n stripeAccountId?: string;\n threeDSecureParams?: ThreeDSecure.ConfigurationParams;\n merchantIdentifier?: string;\n urlScheme?: string;\n setReturnUrlSchemeOnAndroid?: boolean;\n}\n\nexport interface InitialiseParams extends InitStripeParams {\n appInfo: AppInfo;\n}\n\nexport type GooglePayInitResult =\n | {\n error?: undefined;\n }\n | {\n error: StripeError<GooglePayError>;\n };\n\nexport type PayWithGooglePayResult =\n | {\n error?: undefined;\n }\n | {\n error: StripeError<GooglePayError>;\n };\n\nexport type CreateGooglePayPaymentMethodResult =\n | {\n paymentMethod: PaymentMethod.Result;\n error?: undefined;\n }\n | {\n paymentMethod?: undefined;\n error: StripeError<GooglePayError>;\n };\n\nexport type OpenApplePaySetupResult =\n | {\n error?: undefined;\n }\n | {\n error: StripeError<ApplePayError>;\n };\n\nexport type VerifyMicrodepositsParams =\n | {\n amounts: number[];\n descriptorCode?: undefined;\n }\n | {\n amounts?: undefined;\n descriptorCode: string;\n };\n\nexport type VerifyMicrodepositsForPaymentResult =\n | {\n paymentIntent: PaymentIntent.Result;\n error?: undefined;\n }\n | {\n paymentIntent?: undefined;\n error: StripeError<VerifyMicrodepositsError>;\n };\n\nexport type VerifyMicrodepositsForSetupResult =\n | {\n setupIntent: SetupIntent.Result;\n error?: undefined;\n }\n | {\n setupIntent?: undefined;\n error: StripeError<VerifyMicrodepositsError>;\n };\n\nexport type CollectBankAccountForPaymentResult =\n | {\n paymentIntent: PaymentIntent.Result;\n error?: undefined;\n }\n | {\n paymentIntent?: undefined;\n error: StripeError<CollectBankAccountError>;\n };\n\nexport type CollectBankAccountForSetupResult =\n | {\n setupIntent: SetupIntent.Result;\n error?: undefined;\n }\n | {\n setupIntent?: undefined;\n error: StripeError<CollectBankAccountError>;\n };\n\nexport type GooglePayCardToken = {\n id: string;\n cardLastFour: string;\n network: number;\n serviceProvider: number;\n issuer: string;\n status:\n | 'TOKEN_STATE_NEEDS_IDENTITY_VERIFICATION'\n | 'TOKEN_STATE_PENDING'\n | 'TOKEN_STATE_SUSPENDED'\n | 'TOKEN_STATE_ACTIVE'\n | 'TOKEN_STATE_FELICA_PENDING_PROVISIONING'\n | 'TOKEN_STATE_UNTOKENIZED';\n};\n\nexport type IsCardInWalletResult =\n | {\n isInWallet: boolean;\n token?: GooglePayCardToken;\n error?: undefined;\n }\n | {\n isInWallet?: undefined;\n token?: undefined;\n error: StripeError<GooglePayError>;\n };\n\nexport type CanAddCardToWalletParams = {\n /** The `primary_account_identifier` value from the issued card. Can be an empty string. */\n primaryAccountIdentifier: string | null;\n /** Last 4 digits of the card number. */\n cardLastFour: string;\n /** iOS only. Set this to `true` until shipping through TestFlight || App Store. If true, you must be using live cards, and have the proper iOS entitlement set up. See https://stripe.com/docs/issuing/cards/digital-wallets?platform=react-native#requesting-access-for-ios */\n testEnv?: boolean;\n};\n\nexport type CanAddCardToWalletResult =\n | {\n canAddCard: boolean;\n details?: {\n token?: GooglePayCardToken;\n status?:\n | 'MISSING_CONFIGURATION'\n | 'UNSUPPORTED_DEVICE'\n | 'CARD_ALREADY_EXISTS';\n };\n error?: undefined;\n }\n | {\n canAddCard?: undefined;\n details?: undefined;\n error: StripeError<GooglePayError>;\n };\n"]}
@@ -1,4 +1,4 @@
1
- import type { PaymentMethod, ApplePay, PaymentSheet, SetupIntent, InitialiseParams, CreatePaymentMethodResult, RetrievePaymentIntentResult, RetrieveSetupIntentResult, ConfirmPaymentResult, HandleNextActionResult, ConfirmSetupIntentResult, CreateTokenForCVCUpdateResult, InitPaymentSheetResult, PresentPaymentSheetResult, ConfirmPaymentSheetPaymentResult, ApplePayResult, CreateTokenResult, GooglePayInitResult, PayWithGooglePayResult, CreateGooglePayPaymentMethodResult, GooglePay, OpenApplePaySetupResult, Token, VerifyMicrodepositsParams, IsCardInWalletResult } from './types';
1
+ import type { PaymentMethod, ApplePay, PaymentSheet, SetupIntent, InitialiseParams, CreatePaymentMethodResult, RetrievePaymentIntentResult, RetrieveSetupIntentResult, ConfirmPaymentResult, HandleNextActionResult, ConfirmSetupIntentResult, CreateTokenForCVCUpdateResult, InitPaymentSheetResult, PresentPaymentSheetResult, ConfirmPaymentSheetPaymentResult, ApplePayResult, CreateTokenResult, GooglePayInitResult, PayWithGooglePayResult, CreateGooglePayPaymentMethodResult, GooglePay, OpenApplePaySetupResult, Token, VerifyMicrodepositsParams, IsCardInWalletResult, CanAddCardToWalletParams, CanAddCardToWalletResult } from './types';
2
2
  declare type NativeStripeSdkType = {
3
3
  initialise(params: InitialiseParams): Promise<void>;
4
4
  createPaymentMethod(params: PaymentMethod.CreateParams, options: PaymentMethod.CreateOptions): Promise<CreatePaymentMethodResult>;
@@ -33,6 +33,7 @@ declare type NativeStripeSdkType = {
33
33
  ISSUING: string;
34
34
  };
35
35
  };
36
+ canAddCardToWallet(params: CanAddCardToWalletParams): Promise<CanAddCardToWalletResult>;
36
37
  isCardInWallet(params: {
37
38
  cardLastFour: string;
38
39
  }): Promise<IsCardInWalletResult>;
@@ -10,7 +10,7 @@ export interface Props extends AccessibilityProps {
10
10
  /** The image asset to use as the Google Pay button. Downloadable from https://developers.google.com/pay/issuers/apis/push-provisioning/android/downloads/flutter/googlepay_flutter_buttons.zip */
11
11
  androidAssetSource: ImageSourcePropType;
12
12
  testID?: string;
13
- /** Only set to `false` when shipping through TestFlight || App Store */
13
+ /** iOS only. Set this to `true` until shipping through TestFlight || App Store. If true, you must be using live cards, and have the proper iOS entitlement set up. See https://stripe.com/docs/issuing/cards/digital-wallets?platform=react-native#requesting-access-for-ios */
14
14
  testEnv?: boolean;
15
15
  /** Details of the Issued Card you'd like added to the device's wallet */
16
16
  cardDetails: {
@@ -8,7 +8,7 @@ export interface Props extends AccessibilityProps {
8
8
  style?: StyleProp<ViewStyle>;
9
9
  autofocus?: boolean;
10
10
  testID?: string;
11
- /** All styles except backgroundColor are Android only */
11
+ /** All styles except backgroundColor, cursorColor, borderColor, and borderRadius are Android only */
12
12
  cardStyle?: CardFormView.Styles;
13
13
  /** Android only */
14
14
  placeholders?: CardFormView.Placeholders;
@@ -1,10 +1,10 @@
1
1
  import { AccessibilityProps, StyleProp, ViewStyle } from 'react-native';
2
2
  /**
3
- * Apple Pay Button Component Props
3
+ * Google Pay Button Component Props
4
4
  */
5
5
  export interface Props extends AccessibilityProps {
6
6
  style?: StyleProp<ViewStyle>;
7
- type?: 'pay' | 'pay_shadow' | 'standard' | 'standard_shadow';
7
+ type?: 'pay' | 'pay_shadow' | 'standard' | 'standard_shadow' | 'pay_dark' | 'standard_dark';
8
8
  onPress(): void;
9
9
  disabled?: boolean;
10
10
  testID?: string;
@@ -1,4 +1,4 @@
1
- import { ApplePay, ApplePayError, ApplePayResult, ConfirmPaymentResult, ConfirmPaymentSheetPaymentResult, SetupIntent, PaymentIntent, ConfirmSetupIntentResult, CreatePaymentMethodResult, CreateTokenForCVCUpdateResult, CreateTokenResult, GooglePayInitResult, HandleNextActionResult, InitPaymentSheetResult, PaymentMethod, PaymentSheet, PayWithGooglePayResult, PresentPaymentSheetResult, RetrievePaymentIntentResult, RetrieveSetupIntentResult, StripeError, GooglePay, CreateGooglePayPaymentMethodResult, OpenApplePaySetupResult, Token, VerifyMicrodepositsParams, VerifyMicrodepositsForPaymentResult, VerifyMicrodepositsForSetupResult, CollectBankAccountForPaymentResult, CollectBankAccountForSetupResult, IsCardInWalletResult } from './types';
1
+ import { ApplePay, ApplePayError, ApplePayResult, ConfirmPaymentResult, ConfirmPaymentSheetPaymentResult, SetupIntent, PaymentIntent, ConfirmSetupIntentResult, CreatePaymentMethodResult, CreateTokenForCVCUpdateResult, CreateTokenResult, GooglePayInitResult, HandleNextActionResult, InitPaymentSheetResult, PaymentMethod, PaymentSheet, PayWithGooglePayResult, PresentPaymentSheetResult, RetrievePaymentIntentResult, RetrieveSetupIntentResult, StripeError, GooglePay, CreateGooglePayPaymentMethodResult, OpenApplePaySetupResult, Token, VerifyMicrodepositsParams, VerifyMicrodepositsForPaymentResult, VerifyMicrodepositsForSetupResult, CollectBankAccountForPaymentResult, CollectBankAccountForSetupResult, IsCardInWalletResult, CanAddCardToWalletParams, CanAddCardToWalletResult } from './types';
2
2
  export declare const createPaymentMethod: (params: PaymentMethod.CreateParams, options?: PaymentMethod.CreateOptions) => Promise<CreatePaymentMethodResult>;
3
3
  export declare const createToken: (params: Token.CreateParams) => Promise<CreateTokenResult>;
4
4
  export declare const retrievePaymentIntent: (clientSecret: string) => Promise<RetrievePaymentIntentResult>;
@@ -31,6 +31,7 @@ export declare const createGooglePayPaymentMethod: (params: GooglePay.CreatePaym
31
31
  export declare const openApplePaySetup: () => Promise<OpenApplePaySetupResult>;
32
32
  export declare const collectBankAccountForPayment: (clientSecret: string, params: PaymentMethod.CollectBankAccountParams) => Promise<CollectBankAccountForPaymentResult>;
33
33
  export declare const collectBankAccountForSetup: (clientSecret: string, params: PaymentMethod.CollectBankAccountParams) => Promise<CollectBankAccountForSetupResult>;
34
+ export declare const canAddCardToWallet: (params: CanAddCardToWalletParams) => Promise<CanAddCardToWalletResult>;
34
35
  export declare const isCardInWallet: (params: {
35
36
  cardLastFour: string;
36
37
  }) => Promise<IsCardInWalletResult>;
@@ -1,4 +1,4 @@
1
- import type { PaymentMethod, ApplePay, PaymentSheet, CreatePaymentMethodResult, RetrievePaymentIntentResult, RetrieveSetupIntentResult, ConfirmPaymentResult, HandleNextActionResult, ConfirmSetupIntentResult, CreateTokenForCVCUpdateResult, ApplePayResult, ApplePayError, StripeError, InitPaymentSheetResult, PresentPaymentSheetResult, ConfirmPaymentSheetPaymentResult, SetupIntent, CreateTokenResult, PayWithGooglePayResult, GooglePayInitResult, GooglePay, CreateGooglePayPaymentMethodResult, OpenApplePaySetupResult, Token, VerifyMicrodepositsParams, VerifyMicrodepositsForPaymentResult, VerifyMicrodepositsForSetupResult, CollectBankAccountForSetupResult, CollectBankAccountForPaymentResult } from '../types';
1
+ import type { PaymentMethod, ApplePay, PaymentSheet, CreatePaymentMethodResult, RetrievePaymentIntentResult, RetrieveSetupIntentResult, ConfirmPaymentResult, HandleNextActionResult, ConfirmSetupIntentResult, CreateTokenForCVCUpdateResult, ApplePayResult, ApplePayError, StripeError, InitPaymentSheetResult, PresentPaymentSheetResult, ConfirmPaymentSheetPaymentResult, SetupIntent, CreateTokenResult, PayWithGooglePayResult, GooglePayInitResult, GooglePay, CreateGooglePayPaymentMethodResult, OpenApplePaySetupResult, Token, VerifyMicrodepositsParams, VerifyMicrodepositsForPaymentResult, VerifyMicrodepositsForSetupResult, CollectBankAccountForSetupResult, CollectBankAccountForPaymentResult, CanAddCardToWalletParams, CanAddCardToWalletResult } from '../types';
2
2
  /**
3
3
  * useStripe hook
4
4
  */
@@ -35,4 +35,5 @@ export declare function useStripe(): {
35
35
  collectBankAccountForSetup: (clientSecret: string, params: PaymentMethod.CollectBankAccountParams) => Promise<CollectBankAccountForSetupResult>;
36
36
  verifyMicrodepositsForPayment: (clientSecret: string, params: VerifyMicrodepositsParams) => Promise<VerifyMicrodepositsForPaymentResult>;
37
37
  verifyMicrodepositsForSetup: (clientSecret: string, params: VerifyMicrodepositsParams) => Promise<VerifyMicrodepositsForSetupResult>;
38
+ canAddCardToWallet: (params: CanAddCardToWalletParams) => Promise<CanAddCardToWalletResult>;
38
39
  };
@@ -1,10 +1,9 @@
1
- export declare type CartSummaryItemType = 'final' | 'pending';
2
1
  export declare type ContactFieldsType = 'emailAddress' | 'name' | 'phoneNumber' | 'phoneticName' | 'postalAddress';
3
2
  export declare type AddressFields = 'street' | 'city' | 'subAdministrativeArea' | 'state' | 'postalCode' | 'country' | 'countryCode' | 'subLocality';
4
3
  export interface ShippingMethod {
5
4
  label: string;
6
5
  amount: string;
7
- type?: CartSummaryItemType;
6
+ isPending?: boolean;
8
7
  identifier: string;
9
8
  detail?: string;
10
9
  }
@@ -32,11 +31,38 @@ export interface ShippingContact {
32
31
  phoneNumber?: number;
33
32
  postalAddress: PostalAddress;
34
33
  }
35
- export interface CartSummaryItem {
34
+ export declare type CartSummaryItem = DeferredCartSummaryItem | ImmediateCartSummaryItem | RecurringCartSummaryItem;
35
+ export declare type CartSummaryItemType = 'Deferred' | 'Immediate' | 'Recurring';
36
+ /** Use this type for a payment that occurs in the future, such as a pre-order. Only available on iOS 15 and up, otherwise falls back to ImmediateCartSummaryItem. */
37
+ export declare type DeferredCartSummaryItem = {
38
+ paymentType: 'Deferred';
39
+ /** The unix timestamp of the date, in the future, of the payment. Measured in seconds. */
40
+ deferredDate: number;
36
41
  label: string;
37
42
  amount: string;
38
- type?: CartSummaryItemType;
39
- }
43
+ };
44
+ /** Use this type for payments that will occur immediately. */
45
+ export declare type ImmediateCartSummaryItem = {
46
+ paymentType: 'Immediate';
47
+ /** When creating items for estimates or charges whose final value is not yet known, set this to true. */
48
+ isPending?: boolean;
49
+ label: string;
50
+ amount: string;
51
+ };
52
+ /** Use this type for payments that occur more than once, such as a subscription. Only available on iOS 15 and up, otherwise falls back to ImmediateCartSummaryItem.*/
53
+ export declare type RecurringCartSummaryItem = {
54
+ paymentType: 'Recurring';
55
+ /** The amount of time – in calendar units such as day, month, or year – that represents a fraction of the total payment interval. For example, if you set the intervalUnit to 'month' and intervalCount to 3, then the payment interval is three months.*/
56
+ intervalUnit: 'minute' | 'hour' | 'day' | 'month' | 'year';
57
+ /** The number of interval units that make up the total payment interval. For example, if you set the intervalUnit to 'month' and intervalCount to 3, then the payment interval is three months.*/
58
+ intervalCount: number;
59
+ /** The unix timestamp of the start date. Measured in seconds. */
60
+ startDate?: number;
61
+ /** The unix timestamp of the end date. Measured in seconds. */
62
+ endDate?: number;
63
+ label: string;
64
+ amount: string;
65
+ };
40
66
  export interface PresentParams {
41
67
  cartItems: CartSummaryItem[];
42
68
  country: string;
@@ -18,7 +18,7 @@ export interface Result {
18
18
  Upi: UpiResult;
19
19
  USBankAccount: USBankAccountResult;
20
20
  }
21
- export declare type CreateParams = CardParams | IdealParams | OxxoParams | P24Params | AlipayParams | GiropayParams | SepaParams | EpsParams | AuBecsDebitParams | SofortParams | GrabPayParams | FPXParams | AfterpayClearpayParams | KlarnaParams | BancontactParams | USBankAccountParams | PayPalParams;
21
+ export declare type CreateParams = CardParams | IdealParams | OxxoParams | P24Params | AlipayParams | GiropayParams | SepaParams | EpsParams | AuBecsDebitParams | SofortParams | GrabPayParams | FPXParams | AfterpayClearpayParams | KlarnaParams | BancontactParams | USBankAccountParams | PayPalParams | AffirmParams;
22
22
  export declare type ConfirmParams = CreateParams;
23
23
  export declare type CreateOptions = {
24
24
  setupFutureUsage?: FutureUsage;
@@ -133,6 +133,14 @@ export interface AuBecsDebitParams {
133
133
  formDetails: FormDetails;
134
134
  };
135
135
  }
136
+ export declare type AffirmParams = {
137
+ paymentMethodType: 'Affirm';
138
+ paymentMethodData?: {
139
+ /** Affirm requires that shipping is present for the payment to succeed because it significantly helps with loan approval rates. Shipping details can either be provided here or via the Payment Intent- https://stripe.com/docs/api/payment_intents/create#create_payment_intent-shipping. */
140
+ shippingDetails?: ShippingDetails;
141
+ billingDetails?: BillingDetails;
142
+ };
143
+ };
136
144
  /**
137
145
  * If paymentMethodData is null, it is assumed that the bank account details have already been attached
138
146
  * via `collectBankAccountForPayment` or `collectBankAccountForSetup`.
@@ -1,39 +1,42 @@
1
1
  import type { BillingDetails } from './Common';
2
- export declare type SetupParams = ClientSecretParams & GooglePayParams & ApplePayParams & {
2
+ import type { CartSummaryItem } from './ApplePay';
3
+ export declare type SetupParams = ClientSecretParams & {
4
+ /** Your customer-facing business name. On Android, this is required and cannot be an empty string. */
5
+ merchantDisplayName: string;
3
6
  customerId?: string;
4
7
  customerEphemeralKeySecret?: string;
5
8
  customFlow?: boolean;
6
- merchantDisplayName?: string;
9
+ /** iOS only. Enable Apple Pay in the Payment Sheet by passing an ApplePayParams object. */
10
+ applePay?: ApplePayParams;
11
+ /** Android only. Enable Google Pay in the Payment Sheet by passing a GooglePayParams object. */
12
+ googlePay?: GooglePayParams;
7
13
  style?: 'alwaysLight' | 'alwaysDark' | 'automatic';
8
14
  returnURL?: string;
9
15
  defaultBillingDetails?: BillingDetails;
10
16
  allowsDelayedPaymentMethods?: boolean;
11
- } & {
12
17
  appearance?: AppearanceParams;
13
18
  };
14
- declare type ClientSecretParams = {
19
+ export declare type ClientSecretParams = {
15
20
  paymentIntentClientSecret: string;
16
21
  setupIntentClientSecret?: undefined;
17
22
  } | {
18
23
  setupIntentClientSecret: string;
19
24
  paymentIntentClientSecret?: undefined;
20
25
  };
21
- declare type ApplePayParams = {
22
- applePay?: true;
26
+ export declare type ApplePayParams = {
27
+ /** The two-letter ISO 3166 code of the country of your business, e.g. "US" */
23
28
  merchantCountryCode: string;
24
- } | {
25
- applePay?: false;
26
- merchantCountryCode?: string;
29
+ /**
30
+ * An array of CartSummaryItem item objects that summarize the amount of the payment. If you're using a SetupIntent
31
+ * for a recurring payment, you should set this to display the amount you intend to charge. */
32
+ paymentSummaryItems?: CartSummaryItem[];
27
33
  };
28
- declare type GooglePayParams = {
29
- googlePay?: true;
34
+ export declare type GooglePayParams = {
35
+ /** The two-letter ISO 3166 code of the country of your business, e.g. "US" */
30
36
  merchantCountryCode: string;
37
+ /** The three-letter ISO 4217 alphabetic currency code, e.g. "USD" or "EUR". Required in order to support Google Pay when processing a Setup Intent. */
31
38
  currencyCode?: string;
32
- testEnv?: boolean;
33
- } | {
34
- googlePay?: false;
35
- merchantCountryCode?: string;
36
- currencyCode?: string;
39
+ /** Whether or not to use the Google Pay test environment. Set to `true` until you have applied for and been granted access to the Production environment. */
37
40
  testEnv?: boolean;
38
41
  };
39
42
  /**
@@ -191,3 +191,23 @@ export declare type IsCardInWalletResult = {
191
191
  token?: undefined;
192
192
  error: StripeError<GooglePayError>;
193
193
  };
194
+ export declare type CanAddCardToWalletParams = {
195
+ /** The `primary_account_identifier` value from the issued card. Can be an empty string. */
196
+ primaryAccountIdentifier: string | null;
197
+ /** Last 4 digits of the card number. */
198
+ cardLastFour: string;
199
+ /** iOS only. Set this to `true` until shipping through TestFlight || App Store. If true, you must be using live cards, and have the proper iOS entitlement set up. See https://stripe.com/docs/issuing/cards/digital-wallets?platform=react-native#requesting-access-for-ios */
200
+ testEnv?: boolean;
201
+ };
202
+ export declare type CanAddCardToWalletResult = {
203
+ canAddCard: boolean;
204
+ details?: {
205
+ token?: GooglePayCardToken;
206
+ status?: 'MISSING_CONFIGURATION' | 'UNSUPPORTED_DEVICE' | 'CARD_ALREADY_EXISTS';
207
+ };
208
+ error?: undefined;
209
+ } | {
210
+ canAddCard?: undefined;
211
+ details?: undefined;
212
+ error: StripeError<GooglePayError>;
213
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stripe/stripe-react-native",
3
- "version": "0.13.1",
3
+ "version": "0.16.0",
4
4
  "author": "Stripe",
5
5
  "description": "Stripe SDK for React Native",
6
6
  "main": "lib/commonjs/index",
@@ -8,31 +8,23 @@
8
8
  "types": "lib/typescript/src/index.d.ts",
9
9
  "react-native": "src/index",
10
10
  "source": "src/index",
11
- "files": [
12
- "src",
13
- "lib",
14
- "android",
15
- "ios",
16
- "cpp",
17
- "app.plugin.js",
18
- "stripe-react-native.podspec",
19
- "jest"
20
- ],
21
11
  "scripts": {
22
12
  "test": "jest",
23
13
  "typescript": "tsc --noEmit",
24
- "lint": "eslint \"**/*.{js,ts,tsx}\" --ignore-pattern \"docs/api-reference/*\" --ignore-pattern example/android/stripe-android",
14
+ "lint": "eslint \"**/*.{js,ts,tsx}\" --ignore-pattern \"docs/api-reference/*\" --ignore-path .gitignore",
25
15
  "prepare": "bob build",
26
16
  "release": "./scripts/publish",
27
17
  "example": "yarn --cwd example",
28
18
  "pods": "cd example && npx pod-install --quiet",
29
19
  "bootstrap": "yarn example && yarn && yarn pods",
30
20
  "bootstrap-no-pods": "yarn example && yarn",
31
- "docs": "yarn typedoc ./src/index.tsx --out ./docs/api-reference --tsconfig ./tsconfig.json --readme none",
21
+ "docs": "yarn typedoc ./src/index.tsx --out ./docs/api-reference --tsconfig ./tsconfig.json --readme none --sort source-order",
32
22
  "run-example-ios": "cd example;ENVFILE=.env.ci react-native run-ios --configuration Release --simulator \"iPhone 13 (15.2)\"",
33
23
  "run-example-android": "cd example;ENVFILE=.env.ci react-native run-android --variant=release",
34
- "test:ios": "mkdir -p .tmp/screenshots && node ./run-appium-tests.js ios",
35
- "test:android": "mkdir -p .tmp/screenshots && node ./run-appium-tests.js android"
24
+ "test:e2e:ios": "mkdir -p .tmp/screenshots && node ./run-appium-tests.js ios",
25
+ "test:e2e:android": "mkdir -p .tmp/screenshots && node ./run-appium-tests.js android",
26
+ "test:unit:ios": "xcodebuild test -workspace example/ios/StripeSdkExample.xcworkspace -destination 'platform=iOS Simulator,name=iPhone 13' -scheme UnitTests",
27
+ "test:unit:android": "cd example/android && ./gradlew connectedAndroidTest"
36
28
  },
37
29
  "keywords": [
38
30
  "react-native",
@@ -25,6 +25,8 @@ import type {
25
25
  Token,
26
26
  VerifyMicrodepositsParams,
27
27
  IsCardInWalletResult,
28
+ CanAddCardToWalletParams,
29
+ CanAddCardToWalletResult,
28
30
  } from './types';
29
31
 
30
32
  type NativeStripeSdkType = {
@@ -88,6 +90,9 @@ type NativeStripeSdkType = {
88
90
  params: PaymentMethod.CollectBankAccountParams
89
91
  ): Promise<ConfirmSetupIntentResult | ConfirmPaymentResult>;
90
92
  getConstants(): { API_VERSIONS: { CORE: string; ISSUING: string } };
93
+ canAddCardToWallet(
94
+ params: CanAddCardToWalletParams
95
+ ): Promise<CanAddCardToWalletResult>;
91
96
  isCardInWallet(params: {
92
97
  cardLastFour: string;
93
98
  }): Promise<IsCardInWalletResult>;
@@ -27,7 +27,7 @@ export interface Props extends AccessibilityProps {
27
27
  /** The image asset to use as the Google Pay button. Downloadable from https://developers.google.com/pay/issuers/apis/push-provisioning/android/downloads/flutter/googlepay_flutter_buttons.zip */
28
28
  androidAssetSource: ImageSourcePropType;
29
29
  testID?: string;
30
- /** Only set to `false` when shipping through TestFlight || App Store */
30
+ /** iOS only. Set this to `true` until shipping through TestFlight || App Store. If true, you must be using live cards, and have the proper iOS entitlement set up. See https://stripe.com/docs/issuing/cards/digital-wallets?platform=react-native#requesting-access-for-ios */
31
31
  testEnv?: boolean;
32
32
  /** Details of the Issued Card you'd like added to the device's wallet */
33
33
  cardDetails: {
@@ -33,11 +33,11 @@ export interface Props extends AccessibilityProps {
33
33
  autofocus?: boolean;
34
34
  testID?: string;
35
35
 
36
- /** All styles except backgroundColor are Android only */
36
+ /** All styles except backgroundColor, cursorColor, borderColor, and borderRadius are Android only */
37
37
  cardStyle?: CardFormView.Styles;
38
38
  // isUserInteractionEnabled?: boolean;
39
39
 
40
- // TODO: will make it public when android-sdk allows for this
40
+ // TODO: will make it public when iOS SDK allows for this
41
41
  // postalCodeEnabled?: boolean;
42
42
 
43
43
  /** Android only */
@@ -11,11 +11,17 @@ import {
11
11
  const GooglePayButtonNative = requireNativeComponent<any>('GooglePayButton');
12
12
 
13
13
  /**
14
- * Apple Pay Button Component Props
14
+ * Google Pay Button Component Props
15
15
  */
16
16
  export interface Props extends AccessibilityProps {
17
17
  style?: StyleProp<ViewStyle>;
18
- type?: 'pay' | 'pay_shadow' | 'standard' | 'standard_shadow';
18
+ type?:
19
+ | 'pay'
20
+ | 'pay_shadow'
21
+ | 'standard'
22
+ | 'standard_shadow'
23
+ | 'pay_dark'
24
+ | 'standard_dark';
19
25
  onPress(): void;
20
26
  disabled?: boolean;
21
27
  testID?: string;
package/src/functions.ts CHANGED
@@ -33,6 +33,8 @@ import {
33
33
  CollectBankAccountForPaymentResult,
34
34
  CollectBankAccountForSetupResult,
35
35
  IsCardInWalletResult,
36
+ CanAddCardToWalletParams,
37
+ CanAddCardToWalletResult,
36
38
  } from './types';
37
39
 
38
40
  const APPLE_PAY_NOT_SUPPORTED_MESSAGE =
@@ -565,6 +567,29 @@ export const collectBankAccountForSetup = async (
565
567
  }
566
568
  };
567
569
 
570
+ export const canAddCardToWallet = async (
571
+ params: CanAddCardToWalletParams
572
+ ): Promise<CanAddCardToWalletResult> => {
573
+ try {
574
+ const { canAddCard, details, error } =
575
+ await NativeStripeSdk.canAddCardToWallet(params);
576
+
577
+ if (error) {
578
+ return {
579
+ error,
580
+ };
581
+ }
582
+ return {
583
+ canAddCard: canAddCard as boolean,
584
+ details: details,
585
+ };
586
+ } catch (error: any) {
587
+ return {
588
+ error: createError(error),
589
+ };
590
+ }
591
+ };
592
+
568
593
  export const isCardInWallet = async (params: {
569
594
  cardLastFour: string;
570
595
  }): Promise<IsCardInWalletResult> => {
@@ -28,6 +28,8 @@ import type {
28
28
  VerifyMicrodepositsForSetupResult,
29
29
  CollectBankAccountForSetupResult,
30
30
  CollectBankAccountForPaymentResult,
31
+ CanAddCardToWalletParams,
32
+ CanAddCardToWalletResult,
31
33
  } from '../types';
32
34
  import { useCallback, useEffect, useState } from 'react';
33
35
  import { isiOS } from '../helpers';
@@ -57,6 +59,7 @@ import {
57
59
  collectBankAccountForSetup,
58
60
  verifyMicrodepositsForPayment,
59
61
  verifyMicrodepositsForSetup,
62
+ canAddCardToWallet,
60
63
  } from '../functions';
61
64
 
62
65
  /**
@@ -278,6 +281,15 @@ export function useStripe() {
278
281
  []
279
282
  );
280
283
 
284
+ const _canAddCardToWallet = useCallback(
285
+ async (
286
+ params: CanAddCardToWalletParams
287
+ ): Promise<CanAddCardToWalletResult> => {
288
+ return canAddCardToWallet(params);
289
+ },
290
+ []
291
+ );
292
+
281
293
  return {
282
294
  retrievePaymentIntent: _retrievePaymentIntent,
283
295
  retrieveSetupIntent: _retrieveSetupIntent,
@@ -304,5 +316,6 @@ export function useStripe() {
304
316
  collectBankAccountForSetup: _collectBankAccountForSetup,
305
317
  verifyMicrodepositsForPayment: _verifyMicrodepositsForPayment,
306
318
  verifyMicrodepositsForSetup: _verifyMicrodepositsForSetup,
319
+ canAddCardToWallet: _canAddCardToWallet,
307
320
  };
308
321
  }