@stripe/stripe-react-native 0.20.0 → 0.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +31 -1
- package/android/build.gradle +1 -0
- package/android/gradle.properties +1 -1
- package/android/proguard-rules.txt +7 -0
- package/android/src/main/java/com/reactnativestripesdk/CardFieldView.kt +4 -0
- package/android/src/main/java/com/reactnativestripesdk/CollectBankAccountLauncherFragment.kt +1 -1
- package/android/src/main/java/com/reactnativestripesdk/FinancialConnectionsSheetFragment.kt +4 -1
- package/android/src/main/java/com/reactnativestripesdk/GooglePayButtonManager.kt +5 -0
- package/android/src/main/java/com/reactnativestripesdk/GooglePayButtonView.kt +46 -8
- package/android/src/main/java/com/reactnativestripesdk/GooglePayFragment.kt +1 -1
- package/android/src/main/java/com/reactnativestripesdk/GooglePayLauncherFragment.kt +132 -0
- package/android/src/main/java/com/reactnativestripesdk/GooglePayRequestHelper.kt +144 -0
- package/android/src/main/java/com/reactnativestripesdk/PaymentLauncherFragment.kt +1 -1
- package/android/src/main/java/com/reactnativestripesdk/PaymentSheetAppearance.kt +10 -9
- package/android/src/main/java/com/reactnativestripesdk/PaymentSheetFragment.kt +8 -3
- package/android/src/main/java/com/reactnativestripesdk/StripeSdkModule.kt +142 -21
- package/android/src/main/java/com/reactnativestripesdk/StripeSdkPackage.kt +3 -1
- package/android/src/main/java/com/reactnativestripesdk/addresssheet/AddressLauncherFragment.kt +111 -0
- package/android/src/main/java/com/reactnativestripesdk/addresssheet/AddressSheetEvent.kt +28 -0
- package/android/src/main/java/com/reactnativestripesdk/addresssheet/AddressSheetView.kt +178 -0
- package/android/src/main/java/com/reactnativestripesdk/addresssheet/AddressSheetViewManager.kt +67 -0
- package/android/src/main/java/com/reactnativestripesdk/utils/Extensions.kt +5 -0
- package/android/src/main/java/com/reactnativestripesdk/utils/Mappers.kt +1 -1
- package/android/src/main/res/drawable/book_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable/buy_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable/checkout_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable/donate_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable/googlepay_button_background_shape.xml +11 -0
- package/android/src/main/res/drawable/googlepay_mark_background.xml +12 -0
- package/android/src/main/res/drawable/googlepay_mark_content.xml +27 -0
- package/android/src/main/res/drawable/order_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable/pay_with_googlepay_button_content.xml +6 -6
- package/android/src/main/res/drawable/subscribe_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-ar/book_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-ar/buy_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-ar/checkout_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-ar/donate_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-ar/order_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-ar/pay_with_googlepay_button_content.xml +6 -6
- package/android/src/main/res/drawable-ar/subscribe_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-bg/book_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-bg/buy_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-bg/checkout_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-bg/donate_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-bg/order_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-bg/pay_with_googlepay_button_content.xml +4 -4
- package/android/src/main/res/drawable-bg/subscribe_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-ca/book_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-ca/buy_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-ca/checkout_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-ca/donate_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-ca/order_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-ca/pay_with_googlepay_button_content.xml +6 -6
- package/android/src/main/res/drawable-ca/subscribe_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-cs/book_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-cs/buy_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-cs/checkout_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-cs/donate_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-cs/order_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-cs/pay_with_googlepay_button_content.xml +6 -6
- package/android/src/main/res/drawable-cs/subscribe_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-da/book_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-da/buy_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-da/checkout_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-da/donate_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-da/order_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-da/pay_with_googlepay_button_content.xml +6 -6
- package/android/src/main/res/drawable-da/subscribe_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-de/book_with_googlepay_button_content.xml +15 -0
- package/android/src/main/res/drawable-de/buy_with_googlepay_button_content.xml +15 -0
- package/android/src/main/res/drawable-de/checkout_with_googlepay_button_content.xml +15 -0
- package/android/src/main/res/drawable-de/donate_with_googlepay_button_content.xml +15 -0
- package/android/src/main/res/drawable-de/order_with_googlepay_button_content.xml +15 -0
- package/android/src/main/res/drawable-de/pay_with_googlepay_button_content.xml +7 -7
- package/android/src/main/res/drawable-de/subscribe_with_googlepay_button_content.xml +15 -0
- package/android/src/main/res/drawable-el/book_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-el/buy_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-el/checkout_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-el/donate_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-el/order_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-el/pay_with_googlepay_button_content.xml +4 -4
- package/android/src/main/res/drawable-el/subscribe_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-et/book_with_googlepay_button_content.xml +15 -0
- package/android/src/main/res/drawable-et/buy_with_googlepay_button_content.xml +15 -0
- package/android/src/main/res/drawable-et/checkout_with_googlepay_button_content.xml +15 -0
- package/android/src/main/res/drawable-et/donate_with_googlepay_button_content.xml +15 -0
- package/android/src/main/res/drawable-et/order_with_googlepay_button_content.xml +15 -0
- package/android/src/main/res/drawable-et/pay_with_googlepay_button_content.xml +8 -8
- package/android/src/main/res/drawable-et/subscribe_with_googlepay_button_content.xml +15 -0
- package/android/src/main/res/drawable-fi/book_with_googlepay_button_content.xml +15 -0
- package/android/src/main/res/drawable-fi/buy_with_googlepay_button_content.xml +15 -0
- package/android/src/main/res/drawable-fi/checkout_with_googlepay_button_content.xml +15 -0
- package/android/src/main/res/drawable-fi/donate_with_googlepay_button_content.xml +15 -0
- package/android/src/main/res/drawable-fi/order_with_googlepay_button_content.xml +15 -0
- package/android/src/main/res/drawable-fi/pay_with_googlepay_button_content.xml +8 -8
- package/android/src/main/res/drawable-fi/subscribe_with_googlepay_button_content.xml +15 -0
- package/android/src/main/res/drawable-fr/book_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-fr/buy_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-fr/checkout_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-fr/donate_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-fr/order_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-fr/pay_with_googlepay_button_content.xml +5 -5
- package/android/src/main/res/drawable-fr/subscribe_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-hr/book_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-hr/buy_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-hr/checkout_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-hr/donate_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-hr/order_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-hr/pay_with_googlepay_button_content.xml +4 -4
- package/android/src/main/res/drawable-hr/subscribe_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-id/book_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-id/buy_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-id/checkout_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-id/donate_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-id/order_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-id/pay_with_googlepay_button_content.xml +4 -4
- package/android/src/main/res/drawable-id/subscribe_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-it/book_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-it/buy_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-it/checkout_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-it/donate_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-it/order_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-it/pay_with_googlepay_button_content.xml +6 -6
- package/android/src/main/res/drawable-it/subscribe_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-ja/book_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-ja/buy_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-ja/checkout_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-ja/donate_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-ja/order_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-ja/pay_with_googlepay_button_content.xml +5 -5
- package/android/src/main/res/drawable-ja/subscribe_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-ko/book_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-ko/buy_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-ko/checkout_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-ko/donate_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-ko/order_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-ko/pay_with_googlepay_button_content.xml +7 -7
- package/android/src/main/res/drawable-ko/subscribe_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-ms/book_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-ms/buy_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-ms/checkout_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-ms/donate_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-ms/order_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-ms/pay_with_googlepay_button_content.xml +4 -4
- package/android/src/main/res/drawable-ms/subscribe_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-nl/book_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-nl/buy_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-nl/checkout_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-nl/donate_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-nl/order_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-nl/pay_with_googlepay_button_content.xml +4 -4
- package/android/src/main/res/drawable-nl/subscribe_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-no/book_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-no/buy_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-no/checkout_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-no/donate_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-no/order_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-no/pay_with_googlepay_button_content.xml +6 -6
- package/android/src/main/res/drawable-no/subscribe_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-pl/book_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-pl/buy_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-pl/checkout_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-pl/donate_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-pl/order_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-pl/pay_with_googlepay_button_content.xml +7 -7
- package/android/src/main/res/drawable-pl/subscribe_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-ru/book_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-ru/buy_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-ru/checkout_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-ru/donate_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-ru/order_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-ru/pay_with_googlepay_button_content.xml +7 -7
- package/android/src/main/res/drawable-ru/subscribe_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-sk/book_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-sk/buy_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-sk/checkout_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-sk/donate_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-sk/order_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-sk/pay_with_googlepay_button_content.xml +4 -4
- package/android/src/main/res/drawable-sk/subscribe_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-sl/book_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-sl/buy_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-sl/checkout_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-sl/donate_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-sl/order_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-sl/pay_with_googlepay_button_content.xml +4 -4
- package/android/src/main/res/drawable-sl/subscribe_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-sr/book_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-sr/buy_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-sr/checkout_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-sr/donate_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-sr/order_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-sr/pay_with_googlepay_button_content.xml +7 -7
- package/android/src/main/res/drawable-sr/subscribe_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-sv/book_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-sv/buy_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-sv/checkout_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-sv/donate_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-sv/order_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-sv/pay_with_googlepay_button_content.xml +4 -4
- package/android/src/main/res/drawable-sv/subscribe_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-th/book_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-th/buy_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-th/checkout_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-th/donate_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-th/order_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-th/pay_with_googlepay_button_content.xml +6 -6
- package/android/src/main/res/drawable-th/subscribe_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-tr/book_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-tr/buy_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-tr/checkout_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-tr/donate_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-tr/order_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-tr/pay_with_googlepay_button_content.xml +7 -7
- package/android/src/main/res/drawable-tr/subscribe_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-uk/book_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-uk/buy_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-uk/checkout_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-uk/donate_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-uk/order_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/drawable-uk/pay_with_googlepay_button_content.xml +5 -5
- package/android/src/main/res/drawable-uk/subscribe_with_googlepay_button_content.xml +14 -0
- package/android/src/main/res/layout/book_with_googlepay_button.xml +20 -0
- package/android/src/main/res/layout/buy_with_googlepay_button.xml +20 -0
- package/android/src/main/res/layout/checkout_with_googlepay_button.xml +20 -0
- package/android/src/main/res/layout/donate_with_googlepay_button.xml +20 -0
- package/android/src/main/res/layout/googlepay_mark_button.xml +18 -0
- package/android/src/main/res/layout/order_with_googlepay_button.xml +20 -0
- package/android/src/main/res/layout/pay_with_googlepay_button.xml +10 -24
- package/android/src/main/res/layout/plain_googlepay_button.xml +17 -0
- package/android/src/main/res/layout/subscribe_with_googlepay_button.xml +20 -0
- package/android/src/main/res/values/googlepay_strings.xml +3 -2
- package/ios/AddressSheet/AddressSheetUtils.swift +98 -0
- package/ios/AddressSheet/AddressSheetView.swift +131 -0
- package/ios/AddressSheet/AddressSheetViewManager.m +25 -0
- package/ios/AddressSheet/AddressSheetViewManager.swift +19 -0
- package/ios/ApplePayButtonManager.m +5 -0
- package/ios/ApplePayButtonManager.swift +3 -1
- package/ios/ApplePayButtonView.swift +21 -0
- package/ios/ApplePayUtils.swift +187 -0
- package/ios/ApplePayViewController.swift +279 -0
- package/ios/PaymentPassFinder.swift +61 -0
- package/ios/PaymentSheetAppearance.swift +24 -23
- package/ios/{pushprovisioning → PushProvisioning}/AddToWalletButtonManager.m +0 -0
- package/ios/{pushprovisioning → PushProvisioning}/AddToWalletButtonManager.swift +0 -0
- package/ios/{pushprovisioning → PushProvisioning}/AddToWalletButtonView.swift +10 -10
- package/ios/PushProvisioning/PushProvisioningUtils.swift +87 -0
- package/ios/StripeSdk.m +29 -0
- package/ios/StripeSdk.swift +200 -130
- package/ios/Tests/AddressSheetUtilsTests.swift +273 -0
- package/ios/Tests/PushProvisioningTests.swift +14 -11
- package/jest/mock.js +44 -0
- package/lib/commonjs/NativeStripeSdk.js.map +1 -1
- package/lib/commonjs/components/AddressSheet.js +2 -0
- package/lib/commonjs/components/AddressSheet.js.map +1 -0
- package/lib/commonjs/components/PlatformPayButton.js +2 -0
- package/lib/commonjs/components/PlatformPayButton.js.map +1 -0
- package/lib/commonjs/functions.js +1 -1
- package/lib/commonjs/functions.js.map +1 -1
- package/lib/commonjs/hooks/usePlatformPay.js +2 -0
- package/lib/commonjs/hooks/usePlatformPay.js.map +1 -0
- package/lib/commonjs/hooks/useStripe.js +1 -1
- package/lib/commonjs/hooks/useStripe.js.map +1 -1
- package/lib/commonjs/index.js +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/types/Errors.js +1 -1
- package/lib/commonjs/types/Errors.js.map +1 -1
- package/lib/commonjs/types/PlatformPay.js +2 -0
- package/lib/commonjs/types/PlatformPay.js.map +1 -0
- package/lib/commonjs/types/PushProvisioning.js +2 -0
- package/lib/commonjs/types/PushProvisioning.js.map +1 -0
- package/lib/commonjs/types/index.js +1 -1
- package/lib/commonjs/types/index.js.map +1 -1
- package/lib/module/NativeStripeSdk.js.map +1 -1
- package/lib/module/components/AddressSheet.js +2 -0
- package/lib/module/components/AddressSheet.js.map +1 -0
- package/lib/module/components/PlatformPayButton.js +2 -0
- package/lib/module/components/PlatformPayButton.js.map +1 -0
- package/lib/module/functions.js +1 -1
- package/lib/module/functions.js.map +1 -1
- package/lib/module/hooks/usePlatformPay.js +2 -0
- package/lib/module/hooks/usePlatformPay.js.map +1 -0
- package/lib/module/hooks/useStripe.js +1 -1
- package/lib/module/hooks/useStripe.js.map +1 -1
- package/lib/module/index.js +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/types/Errors.js +1 -1
- package/lib/module/types/Errors.js.map +1 -1
- package/lib/module/types/PlatformPay.js +2 -0
- package/lib/module/types/PlatformPay.js.map +1 -0
- package/lib/module/types/PushProvisioning.js +2 -0
- package/lib/module/types/PushProvisioning.js.map +1 -0
- package/lib/module/types/index.js +1 -1
- package/lib/module/types/index.js.map +1 -1
- package/lib/typescript/src/NativeStripeSdk.d.ts +8 -1
- package/lib/typescript/src/components/AddressSheet.d.ts +53 -0
- package/lib/typescript/src/components/PlatformPayButton.d.ts +65 -0
- package/lib/typescript/src/functions.d.ts +73 -1
- package/lib/typescript/src/hooks/usePlatformPay.d.ts +70 -0
- package/lib/typescript/src/hooks/useStripe.d.ts +18 -1
- package/lib/typescript/src/index.d.ts +3 -0
- package/lib/typescript/src/types/ApplePay.d.ts +9 -0
- package/lib/typescript/src/types/Common.d.ts +12 -0
- package/lib/typescript/src/types/Errors.d.ts +9 -0
- package/lib/typescript/src/types/GooglePay.d.ts +2 -1
- package/lib/typescript/src/types/PaymentSheet.d.ts +7 -1
- package/lib/typescript/src/types/PlatformPay.d.ts +285 -0
- package/lib/typescript/src/types/PushProvisioning.d.ts +66 -0
- package/lib/typescript/src/types/components/ApplePayButtonComponent.d.ts +2 -2
- package/lib/typescript/src/types/index.d.ts +6 -44
- package/package.json +8 -1
- package/src/NativeStripeSdk.tsx +20 -0
- package/src/components/AddressSheet.tsx +82 -0
- package/src/components/PlatformPayButton.tsx +157 -0
- package/src/functions.ts +181 -0
- package/src/hooks/usePlatformPay.tsx +174 -0
- package/src/hooks/useStripe.tsx +77 -0
- package/src/index.tsx +9 -0
- package/src/types/ApplePay.ts +9 -0
- package/src/types/Common.ts +13 -0
- package/src/types/Errors.ts +11 -0
- package/src/types/GooglePay.ts +2 -1
- package/src/types/PaymentSheet.ts +7 -1
- package/src/types/PlatformPay.ts +326 -0
- package/src/types/PushProvisioning.ts +76 -0
- package/src/types/components/ApplePayButtonComponent.ts +3 -2
- package/src/types/index.ts +8 -64
- package/stripe-react-native.podspec +1 -1
- package/android/src/main/res/drawable/googlepay_button_background.xml +0 -6
- package/android/src/main/res/drawable/googlepay_button_content.xml +0 -48
- package/android/src/main/res/drawable/googlepay_button_overlay.xml +0 -12
- package/android/src/main/res/drawable-af/pay_with_googlepay_button_content.xml +0 -14
- package/android/src/main/res/drawable-am/pay_with_googlepay_button_content.xml +0 -15
- package/android/src/main/res/drawable-as/pay_with_googlepay_button_content.xml +0 -14
- package/android/src/main/res/drawable-az/pay_with_googlepay_button_content.xml +0 -14
- package/android/src/main/res/drawable-be/pay_with_googlepay_button_content.xml +0 -14
- package/android/src/main/res/drawable-bn/pay_with_googlepay_button_content.xml +0 -14
- package/android/src/main/res/drawable-bs/pay_with_googlepay_button_content.xml +0 -14
- package/android/src/main/res/drawable-cy/pay_with_googlepay_button_content.xml +0 -14
- package/android/src/main/res/drawable-en-rau/pay_with_googlepay_button_content.xml +0 -14
- package/android/src/main/res/drawable-en-rca/pay_with_googlepay_button_content.xml +0 -14
- package/android/src/main/res/drawable-en-rgb/pay_with_googlepay_button_content.xml +0 -14
- package/android/src/main/res/drawable-en-rin/pay_with_googlepay_button_content.xml +0 -14
- package/android/src/main/res/drawable-es/pay_with_googlepay_button_content.xml +0 -14
- package/android/src/main/res/drawable-es-res/pay_with_googlepay_button_content.xml +0 -14
- package/android/src/main/res/drawable-eu/pay_with_googlepay_button_content.xml +0 -15
- package/android/src/main/res/drawable-fa/pay_with_googlepay_button_content.xml +0 -14
- package/android/src/main/res/drawable-fil/pay_with_googlepay_button_content.xml +0 -14
- package/android/src/main/res/drawable-fr-rca/pay_with_googlepay_button_content.xml +0 -14
- package/android/src/main/res/drawable-ga/pay_with_googlepay_button_content.xml +0 -14
- package/android/src/main/res/drawable-gl/pay_with_googlepay_button_content.xml +0 -14
- package/android/src/main/res/drawable-gu/pay_with_googlepay_button_content.xml +0 -14
- package/android/src/main/res/drawable-hdpi/googlepay_button_background_image.9.png +0 -0
- package/android/src/main/res/drawable-hu/pay_with_googlepay_button_content.xml +0 -15
- package/android/src/main/res/drawable-hy/pay_with_googlepay_button_content.xml +0 -15
- package/android/src/main/res/drawable-is/pay_with_googlepay_button_content.xml +0 -14
- package/android/src/main/res/drawable-iw/pay_with_googlepay_button_content.xml +0 -14
- package/android/src/main/res/drawable-ka/pay_with_googlepay_button_content.xml +0 -15
- package/android/src/main/res/drawable-kk/pay_with_googlepay_button_content.xml +0 -14
- package/android/src/main/res/drawable-km/pay_with_googlepay_button_content.xml +0 -14
- package/android/src/main/res/drawable-kn/pay_with_googlepay_button_content.xml +0 -14
- package/android/src/main/res/drawable-ky/pay_with_googlepay_button_content.xml +0 -14
- package/android/src/main/res/drawable-lo/pay_with_googlepay_button_content.xml +0 -14
- package/android/src/main/res/drawable-lt/pay_with_googlepay_button_content.xml +0 -14
- package/android/src/main/res/drawable-lv/pay_with_googlepay_button_content.xml +0 -14
- package/android/src/main/res/drawable-mdpi/googlepay_button_background_image.9.png +0 -0
- package/android/src/main/res/drawable-mk/pay_with_googlepay_button_content.xml +0 -14
- package/android/src/main/res/drawable-ml/pay_with_googlepay_button_content.xml +0 -14
- package/android/src/main/res/drawable-mn/pay_with_googlepay_button_content.xml +0 -14
- package/android/src/main/res/drawable-mr/pay_with_googlepay_button_content.xml +0 -14
- package/android/src/main/res/drawable-ne/pay_with_googlepay_button_content.xml +0 -14
- package/android/src/main/res/drawable-pt-rbr/pay_with_googlepay_button_content.xml +0 -14
- package/android/src/main/res/drawable-pt-rpt/pay_with_googlepay_button_content.xml +0 -14
- package/android/src/main/res/drawable-ro/pay_with_googlepay_button_content.xml +0 -14
- package/android/src/main/res/drawable-sq/pay_with_googlepay_button_content.xml +0 -14
- package/android/src/main/res/drawable-sw/pay_with_googlepay_button_content.xml +0 -14
- package/android/src/main/res/drawable-ta/pay_with_googlepay_button_content.xml +0 -14
- package/android/src/main/res/drawable-te/pay_with_googlepay_button_content.xml +0 -14
- package/android/src/main/res/drawable-ur/pay_with_googlepay_button_content.xml +0 -14
- package/android/src/main/res/drawable-uz/pay_with_googlepay_button_content.xml +0 -14
- package/android/src/main/res/drawable-v21/googlepay_button_background.xml +0 -7
- package/android/src/main/res/drawable-vi/pay_with_googlepay_button_content.xml +0 -14
- package/android/src/main/res/drawable-xhdpi/googlepay_button_background_image.9.png +0 -0
- package/android/src/main/res/drawable-xxhdpi/googlepay_button_background_image.9.png +0 -0
- package/android/src/main/res/drawable-xxxhdpi/googlepay_button_background_image.9.png +0 -0
- package/android/src/main/res/drawable-zh-rcn/pay_with_googlepay_button_content.xml +0 -15
- package/android/src/main/res/drawable-zh-rhk/pay_with_googlepay_button_content.xml +0 -15
- package/android/src/main/res/drawable-zh-rtw/pay_with_googlepay_button_content.xml +0 -15
- package/android/src/main/res/drawable-zu/pay_with_googlepay_button_content.xml +0 -14
- package/android/src/main/res/layout/googlepay_button.xml +0 -39
- package/ios/pushprovisioning/PushProvisioningUtils.swift +0 -64
package/ios/StripeSdk.swift
CHANGED
|
@@ -4,7 +4,7 @@ import StripePaymentSheet
|
|
|
4
4
|
import StripeFinancialConnections
|
|
5
5
|
|
|
6
6
|
@objc(StripeSdk)
|
|
7
|
-
class StripeSdk: RCTEventEmitter,
|
|
7
|
+
class StripeSdk: RCTEventEmitter, STPBankSelectionViewControllerDelegate, UIAdaptivePresentationControllerDelegate {
|
|
8
8
|
public var cardFieldView: CardFieldView? = nil
|
|
9
9
|
public var cardFormView: CardFormView? = nil
|
|
10
10
|
|
|
@@ -14,19 +14,49 @@ class StripeSdk: RCTEventEmitter, STPApplePayContextDelegate, STPBankSelectionVi
|
|
|
14
14
|
private var paymentSheetFlowController: PaymentSheet.FlowController?
|
|
15
15
|
|
|
16
16
|
var urlScheme: String? = nil
|
|
17
|
-
|
|
18
|
-
var applePayCompletionCallback: STPIntentClientSecretCompletionBlock? = nil
|
|
19
|
-
var applePayRequestResolver: RCTPromiseResolveBlock? = nil
|
|
20
|
-
var applePayRequestRejecter: RCTPromiseRejectBlock? = nil
|
|
21
|
-
var applePayCompletionRejecter: RCTPromiseRejectBlock? = nil
|
|
22
|
-
var confirmApplePayPaymentResolver: RCTPromiseResolveBlock? = nil
|
|
17
|
+
|
|
23
18
|
var confirmPaymentResolver: RCTPromiseResolveBlock? = nil
|
|
24
19
|
|
|
20
|
+
var applePayCompletionCallback: STPIntentClientSecretCompletionBlock? = nil
|
|
21
|
+
var deprecatedApplePayRequestResolver: RCTPromiseResolveBlock? = nil
|
|
22
|
+
var deprecatedApplePayRequestRejecter: RCTPromiseRejectBlock? = nil
|
|
23
|
+
var deprecatedApplePayCompletionRejecter: RCTPromiseRejectBlock? = nil
|
|
24
|
+
var deprecatedConfirmApplePayPaymentResolver: RCTPromiseResolveBlock? = nil
|
|
25
|
+
|
|
26
|
+
var confirmApplePayResolver: RCTPromiseResolveBlock? = nil
|
|
27
|
+
var confirmApplePayPaymentClientSecret: String? = nil
|
|
28
|
+
var confirmApplePaySetupClientSecret: String? = nil
|
|
29
|
+
|
|
30
|
+
var applePaymentAuthorizationController: PKPaymentAuthorizationViewController? = nil
|
|
31
|
+
var createPlatformPayPaymentMethodResolver: RCTPromiseResolveBlock? = nil
|
|
32
|
+
var applePaymentMethodFlowCanBeCanceled = false
|
|
33
|
+
|
|
25
34
|
var confirmPaymentClientSecret: String? = nil
|
|
26
35
|
|
|
27
|
-
var
|
|
28
|
-
var
|
|
29
|
-
|
|
36
|
+
var shippingMethodUpdateCompletion: ((PKPaymentRequestShippingMethodUpdate) -> Void)? = nil
|
|
37
|
+
var shippingContactUpdateCompletion: ((PKPaymentRequestShippingContactUpdate) -> Void)? = nil
|
|
38
|
+
@available(iOS 15.0, *)
|
|
39
|
+
var couponCodeUpdateCompletion: ((PKPaymentRequestCouponCodeUpdate) -> Void)? {
|
|
40
|
+
get { _couponCodeUpdateCompletion as? ((PKPaymentRequestCouponCodeUpdate) -> Void) }
|
|
41
|
+
set { _couponCodeUpdateCompletion = newValue }
|
|
42
|
+
}
|
|
43
|
+
private var _couponCodeUpdateCompletion: Any? = nil
|
|
44
|
+
var shippingMethodUpdateJSCallback: RCTDirectEventBlock? = nil
|
|
45
|
+
var shippingContactUpdateJSCallback: RCTDirectEventBlock? = nil
|
|
46
|
+
var couponCodeEnteredJSCallback: RCTDirectEventBlock? = nil
|
|
47
|
+
var applePaySummaryItems: [PKPaymentSummaryItem] = []
|
|
48
|
+
var applePayShippingMethods: [PKShippingMethod] = []
|
|
49
|
+
var applePayShippingAddressErrors: [Error]? = nil
|
|
50
|
+
var applePayCouponCodeErrors: [Error]? = nil
|
|
51
|
+
|
|
52
|
+
var hasLegacyApplePayListeners = false
|
|
53
|
+
override func startObserving() {
|
|
54
|
+
hasLegacyApplePayListeners = true
|
|
55
|
+
}
|
|
56
|
+
override func stopObserving() {
|
|
57
|
+
hasLegacyApplePayListeners = false
|
|
58
|
+
}
|
|
59
|
+
|
|
30
60
|
override func supportedEvents() -> [String]! {
|
|
31
61
|
return ["onDidSetShippingMethod", "onDidSetShippingContact"]
|
|
32
62
|
}
|
|
@@ -83,7 +113,7 @@ class StripeSdk: RCTEventEmitter, STPApplePayContextDelegate, STPBankSelectionVi
|
|
|
83
113
|
|
|
84
114
|
if let appearanceParams = params["appearance"] as? NSDictionary {
|
|
85
115
|
do {
|
|
86
|
-
configuration.appearance = try
|
|
116
|
+
configuration.appearance = try PaymentSheetAppearance.buildAppearanceFromParams(userParams: appearanceParams)
|
|
87
117
|
} catch {
|
|
88
118
|
resolve(Errors.createError(ErrorType.Failed, error.localizedDescription))
|
|
89
119
|
return
|
|
@@ -130,6 +160,12 @@ class StripeSdk: RCTEventEmitter, STPApplePayContextDelegate, STPBankSelectionVi
|
|
|
130
160
|
}
|
|
131
161
|
|
|
132
162
|
}
|
|
163
|
+
|
|
164
|
+
if let defaultShippingDetails = params["defaultShippingDetails"] as? NSDictionary {
|
|
165
|
+
configuration.shippingDetails = {
|
|
166
|
+
return AddressSheetUtils.buildAddressDetails(params: defaultShippingDetails)
|
|
167
|
+
}
|
|
168
|
+
}
|
|
133
169
|
|
|
134
170
|
if let customerId = params["customerId"] as? String {
|
|
135
171
|
if let customerEphemeralKeySecret = params["customerEphemeralKeySecret"] as? String {
|
|
@@ -358,9 +394,56 @@ class StripeSdk: RCTEventEmitter, STPApplePayContextDelegate, STPBankSelectionVi
|
|
|
358
394
|
}
|
|
359
395
|
}
|
|
360
396
|
|
|
397
|
+
@objc(updatePlatformPaySheet:shippingMethods:errors:resolver:rejecter:)
|
|
398
|
+
func updatePlatformPaySheet(summaryItems: NSArray,
|
|
399
|
+
shippingMethods: NSArray,
|
|
400
|
+
errors: [NSDictionary],
|
|
401
|
+
resolver resolve: @escaping RCTPromiseResolveBlock,
|
|
402
|
+
rejecter reject: @escaping RCTPromiseRejectBlock)
|
|
403
|
+
{
|
|
404
|
+
let couponUpdateHandlerIsNil: Bool = {
|
|
405
|
+
if #available(iOS 15.0, *), self.couponCodeUpdateCompletion == nil {
|
|
406
|
+
return true
|
|
407
|
+
}
|
|
408
|
+
return false
|
|
409
|
+
}()
|
|
410
|
+
|
|
411
|
+
if (shippingMethodUpdateCompletion == nil && shippingContactUpdateCompletion == nil && couponUpdateHandlerIsNil) {
|
|
412
|
+
resolve(Errors.createError(ErrorType.Failed, "You can use this method only after either onShippingContactSelected, onShippingMethodSelected, or onCouponCodeEntered callbacks are triggered"))
|
|
413
|
+
return
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
do {
|
|
417
|
+
applePaySummaryItems = try ApplePayUtils.buildPaymentSummaryItems(items: summaryItems as? [[String : Any]])
|
|
418
|
+
} catch {
|
|
419
|
+
resolve(Errors.createError(ErrorType.Failed, error.localizedDescription))
|
|
420
|
+
return
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
applePayShippingMethods = ApplePayUtils.buildShippingMethods(items: shippingMethods as? [[String : Any]])
|
|
424
|
+
|
|
425
|
+
do {
|
|
426
|
+
(applePayShippingAddressErrors, applePayCouponCodeErrors) = try ApplePayUtils.buildApplePayErrors(errorItems: errors)
|
|
427
|
+
} catch {
|
|
428
|
+
resolve(Errors.createError(ErrorType.Failed, error.localizedDescription))
|
|
429
|
+
return
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
|
|
433
|
+
shippingMethodUpdateCompletion?(PKPaymentRequestShippingMethodUpdate.init(paymentSummaryItems: applePaySummaryItems))
|
|
434
|
+
shippingContactUpdateCompletion?(PKPaymentRequestShippingContactUpdate.init(errors: applePayShippingAddressErrors, paymentSummaryItems: applePaySummaryItems, shippingMethods: applePayShippingMethods))
|
|
435
|
+
if #available(iOS 15.0, *) {
|
|
436
|
+
couponCodeUpdateCompletion?(PKPaymentRequestCouponCodeUpdate.init(errors: applePayCouponCodeErrors, paymentSummaryItems: applePaySummaryItems, shippingMethods: applePayShippingMethods))
|
|
437
|
+
self.couponCodeUpdateCompletion = nil
|
|
438
|
+
}
|
|
439
|
+
self.shippingMethodUpdateCompletion = nil
|
|
440
|
+
self.shippingContactUpdateCompletion = nil
|
|
441
|
+
resolve([])
|
|
442
|
+
}
|
|
443
|
+
|
|
361
444
|
@objc(updateApplePaySummaryItems:errorAddressFields:resolver:rejecter:)
|
|
362
445
|
func updateApplePaySummaryItems(summaryItems: NSArray, errorAddressFields: [NSDictionary], resolver resolve: @escaping RCTPromiseResolveBlock, rejecter reject: @escaping RCTPromiseRejectBlock) {
|
|
363
|
-
if (
|
|
446
|
+
if (shippingMethodUpdateCompletion == nil && shippingContactUpdateCompletion == nil) {
|
|
364
447
|
resolve(Errors.createError(ErrorType.Failed, "You can use this method only after either onDidSetShippingMethod or onDidSetShippingContact events emitted"))
|
|
365
448
|
return
|
|
366
449
|
}
|
|
@@ -380,88 +463,26 @@ class StripeSdk: RCTEventEmitter, STPApplePayContextDelegate, STPBankSelectionVi
|
|
|
380
463
|
shippingAddressErrors.append(PKPaymentRequest.paymentShippingAddressInvalidError(withKey: field, localizedDescription: message))
|
|
381
464
|
}
|
|
382
465
|
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
self.
|
|
386
|
-
self.
|
|
466
|
+
shippingMethodUpdateCompletion?(PKPaymentRequestShippingMethodUpdate.init(paymentSummaryItems: paymentSummaryItems))
|
|
467
|
+
shippingContactUpdateCompletion?(PKPaymentRequestShippingContactUpdate.init(errors: shippingAddressErrors, paymentSummaryItems: paymentSummaryItems, shippingMethods: []))
|
|
468
|
+
self.shippingMethodUpdateCompletion = nil
|
|
469
|
+
self.shippingContactUpdateCompletion = nil
|
|
387
470
|
resolve([])
|
|
388
471
|
}
|
|
389
472
|
|
|
390
473
|
@objc(openApplePaySetup:rejecter:)
|
|
391
474
|
func openApplePaySetup(resolver resolve: @escaping RCTPromiseResolveBlock, rejecter reject: @escaping RCTPromiseRejectBlock) -> Void {
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
library.openPaymentSetup()
|
|
395
|
-
resolve([])
|
|
396
|
-
} else {
|
|
397
|
-
resolve(Errors.createError(ErrorType.Failed, "Cannot open payment setup"))
|
|
398
|
-
}
|
|
399
|
-
}
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
func applePayContext(_ context: STPApplePayContext, didSelect shippingMethod: PKShippingMethod, handler: @escaping (PKPaymentRequestShippingMethodUpdate) -> Void) {
|
|
403
|
-
self.shippingMethodUpdateHandler = handler
|
|
404
|
-
sendEvent(withName: "onDidSetShippingMethod", body: ["shippingMethod": Mappers.mapFromShippingMethod(shippingMethod: shippingMethod)])
|
|
405
|
-
}
|
|
406
|
-
|
|
407
|
-
func applePayContext(_ context: STPApplePayContext, didSelectShippingContact contact: PKContact, handler: @escaping (PKPaymentRequestShippingContactUpdate) -> Void) {
|
|
408
|
-
self.shippingContactUpdateHandler = handler
|
|
409
|
-
sendEvent(withName: "onDidSetShippingContact", body: ["shippingContact": Mappers.mapFromShippingContact(shippingContact: contact)])
|
|
410
|
-
}
|
|
411
|
-
|
|
412
|
-
func applePayContext(_ context: STPApplePayContext, didCreatePaymentMethod paymentMethod: STPPaymentMethod, paymentInformation: PKPayment, completion: @escaping STPIntentClientSecretCompletionBlock) {
|
|
413
|
-
self.applePayCompletionCallback = completion
|
|
414
|
-
|
|
415
|
-
let address = paymentMethod.billingDetails?.address?.line1?.split(whereSeparator: \.isNewline)
|
|
416
|
-
if (address?.indices.contains(0) == true) {
|
|
417
|
-
paymentMethod.billingDetails?.address?.line1 = String(address?[0] ?? "")
|
|
418
|
-
}
|
|
419
|
-
if (address?.indices.contains(1) == true) {
|
|
420
|
-
paymentMethod.billingDetails?.address?.line2 = String(address?[1] ?? "")
|
|
421
|
-
}
|
|
422
|
-
|
|
423
|
-
let method = Mappers.mapFromPaymentMethod(paymentMethod)
|
|
424
|
-
self.applePayRequestResolver?(Mappers.createResult("paymentMethod", method))
|
|
425
|
-
self.applePayRequestRejecter = nil
|
|
475
|
+
PKPassLibrary.init().openPaymentSetup()
|
|
476
|
+
resolve([])
|
|
426
477
|
}
|
|
427
478
|
|
|
428
479
|
@objc(confirmApplePayPayment:resolver:rejecter:)
|
|
429
480
|
func confirmApplePayPayment(clientSecret: String, resolver resolve: @escaping RCTPromiseResolveBlock, rejecter reject: @escaping RCTPromiseRejectBlock) {
|
|
430
|
-
self.
|
|
431
|
-
self.
|
|
481
|
+
self.deprecatedApplePayCompletionRejecter = reject
|
|
482
|
+
self.deprecatedConfirmApplePayPaymentResolver = resolve
|
|
432
483
|
self.applePayCompletionCallback?(clientSecret, nil)
|
|
433
484
|
}
|
|
434
485
|
|
|
435
|
-
func applePayContext(_ context: STPApplePayContext, didCompleteWith status: STPPaymentStatus, error: Error?) {
|
|
436
|
-
switch status {
|
|
437
|
-
case .success:
|
|
438
|
-
applePayCompletionRejecter = nil
|
|
439
|
-
applePayRequestRejecter = nil
|
|
440
|
-
confirmApplePayPaymentResolver?([])
|
|
441
|
-
break
|
|
442
|
-
case .error:
|
|
443
|
-
let message = "Payment not completed"
|
|
444
|
-
applePayCompletionRejecter?(ErrorType.Failed, message, nil)
|
|
445
|
-
applePayRequestRejecter?(ErrorType.Failed, message, nil)
|
|
446
|
-
applePayCompletionRejecter = nil
|
|
447
|
-
applePayRequestRejecter = nil
|
|
448
|
-
break
|
|
449
|
-
case .userCancellation:
|
|
450
|
-
let message = "The payment has been canceled"
|
|
451
|
-
applePayCompletionRejecter?(ErrorType.Canceled, message, nil)
|
|
452
|
-
applePayRequestRejecter?(ErrorType.Canceled, message, nil)
|
|
453
|
-
applePayCompletionRejecter = nil
|
|
454
|
-
applePayRequestRejecter = nil
|
|
455
|
-
break
|
|
456
|
-
@unknown default:
|
|
457
|
-
let message = "Payment not completed"
|
|
458
|
-
applePayCompletionRejecter?(ErrorType.Unknown, message, nil)
|
|
459
|
-
applePayRequestRejecter?(ErrorType.Unknown, message, nil)
|
|
460
|
-
applePayCompletionRejecter = nil
|
|
461
|
-
applePayRequestRejecter = nil
|
|
462
|
-
}
|
|
463
|
-
}
|
|
464
|
-
|
|
465
486
|
@objc(isApplePaySupported:rejecter:)
|
|
466
487
|
func isApplePaySupported(resolver resolve: @escaping RCTPromiseResolveBlock,
|
|
467
488
|
rejecter reject: @escaping RCTPromiseRejectBlock) {
|
|
@@ -490,65 +511,110 @@ class StripeSdk: RCTEventEmitter, STPApplePayContextDelegate, STPBankSelectionVi
|
|
|
490
511
|
func presentApplePay(params: NSDictionary,
|
|
491
512
|
resolver resolve: @escaping RCTPromiseResolveBlock,
|
|
492
513
|
rejecter reject: @escaping RCTPromiseRejectBlock) {
|
|
493
|
-
|
|
494
|
-
|
|
514
|
+
self.deprecatedApplePayRequestResolver = resolve
|
|
515
|
+
self.deprecatedApplePayRequestRejecter = reject
|
|
516
|
+
|
|
517
|
+
let (error, paymentRequest) = ApplePayUtils.createPaymentRequest(merchantIdentifier: merchantIdentifier, params: params)
|
|
518
|
+
guard let paymentRequest = paymentRequest else {
|
|
519
|
+
resolve(error)
|
|
495
520
|
return
|
|
496
521
|
}
|
|
497
|
-
|
|
498
|
-
if (
|
|
499
|
-
|
|
522
|
+
|
|
523
|
+
if let applePayContext = STPApplePayContext(paymentRequest: paymentRequest, delegate: self) {
|
|
524
|
+
DispatchQueue.main.async {
|
|
525
|
+
applePayContext.presentApplePay(completion: nil)
|
|
526
|
+
}
|
|
527
|
+
} else {
|
|
528
|
+
resolve(Errors.createError(ErrorType.Failed, "Payment not completed"))
|
|
500
529
|
}
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
530
|
+
}
|
|
531
|
+
|
|
532
|
+
@objc(isPlatformPaySupported:resolver:rejecter:)
|
|
533
|
+
func isPlatformPaySupported(params: NSDictionary,
|
|
534
|
+
resolver resolve: @escaping RCTPromiseResolveBlock,
|
|
535
|
+
rejecter reject: @escaping RCTPromiseRejectBlock) {
|
|
536
|
+
resolve(StripeAPI.deviceSupportsApplePay())
|
|
537
|
+
}
|
|
538
|
+
|
|
539
|
+
@objc(createPlatformPayPaymentMethod:resolver:rejecter:)
|
|
540
|
+
func createPlatformPayPaymentMethod(params: NSDictionary,
|
|
541
|
+
resolver resolve: @escaping RCTPromiseResolveBlock,
|
|
542
|
+
rejecter reject: @escaping RCTPromiseRejectBlock) {
|
|
543
|
+
guard let applePayPatams = params["applePay"] as? NSDictionary else {
|
|
544
|
+
resolve(Errors.createError(ErrorType.Failed, "You must provide the `applePay` parameter."))
|
|
504
545
|
return
|
|
505
546
|
}
|
|
506
|
-
|
|
507
|
-
|
|
547
|
+
let (error, paymentRequest) = ApplePayUtils.createPaymentRequest(merchantIdentifier: merchantIdentifier, params: applePayPatams)
|
|
548
|
+
guard let paymentRequest = paymentRequest else {
|
|
549
|
+
resolve(error)
|
|
508
550
|
return
|
|
509
551
|
}
|
|
510
|
-
|
|
511
|
-
|
|
552
|
+
|
|
553
|
+
self.applePaySummaryItems = paymentRequest.paymentSummaryItems
|
|
554
|
+
self.applePayShippingMethods = paymentRequest.shippingMethods ?? []
|
|
555
|
+
self.applePayShippingAddressErrors = nil
|
|
556
|
+
self.applePayCouponCodeErrors = nil
|
|
557
|
+
applePaymentMethodFlowCanBeCanceled = true
|
|
558
|
+
createPlatformPayPaymentMethodResolver = resolve
|
|
559
|
+
self.applePaymentAuthorizationController = PKPaymentAuthorizationViewController(paymentRequest: paymentRequest)
|
|
560
|
+
if let applePaymentAuthorizationController = self.applePaymentAuthorizationController {
|
|
561
|
+
applePaymentAuthorizationController.delegate = self
|
|
562
|
+
DispatchQueue.main.async {
|
|
563
|
+
let vc = findViewControllerPresenter(from: UIApplication.shared.delegate?.window??.rootViewController ?? UIViewController())
|
|
564
|
+
vc.present(
|
|
565
|
+
applePaymentAuthorizationController,
|
|
566
|
+
animated: true,
|
|
567
|
+
completion: nil
|
|
568
|
+
)
|
|
569
|
+
}
|
|
570
|
+
} else {
|
|
571
|
+
resolve(Errors.createError(ErrorType.Failed, "Invalid in-app payment request. Search the iOS logs for `NSUnderlyingError` to get more information."))
|
|
572
|
+
}
|
|
573
|
+
}
|
|
574
|
+
|
|
575
|
+
@objc(dismissPlatformPay:rejecter:)
|
|
576
|
+
func dismissPlatformPay(resolver resolve: @escaping RCTPromiseResolveBlock, rejecter reject: @escaping RCTPromiseRejectBlock) -> Void {
|
|
577
|
+
let didDismiss = maybeDismissApplePay()
|
|
578
|
+
resolve(didDismiss)
|
|
579
|
+
}
|
|
580
|
+
|
|
581
|
+
@objc(confirmPlatformPay:params:isPaymentIntent:resolver:rejecter:)
|
|
582
|
+
func confirmPlatformPay(
|
|
583
|
+
clientSecret: String?,
|
|
584
|
+
params: NSDictionary,
|
|
585
|
+
isPaymentIntent: Bool,
|
|
586
|
+
resolver resolve: @escaping RCTPromiseResolveBlock,
|
|
587
|
+
rejecter reject: @escaping RCTPromiseRejectBlock
|
|
588
|
+
) -> Void {
|
|
589
|
+
guard let applePayPatams = params["applePay"] as? NSDictionary else {
|
|
590
|
+
resolve(Errors.createError(ErrorType.Failed, "You must provide the `applePay` parameter."))
|
|
512
591
|
return
|
|
513
592
|
}
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
let merchantIdentifier = self.merchantIdentifier ?? ""
|
|
519
|
-
let paymentRequest = StripeAPI.paymentRequest(withMerchantIdentifier: merchantIdentifier, country: country, currency: currency)
|
|
520
|
-
|
|
521
|
-
let requiredShippingAddressFields = params["requiredShippingAddressFields"] as? NSArray ?? NSArray()
|
|
522
|
-
let requiredBillingContactFields = params["requiredBillingContactFields"] as? NSArray ?? NSArray()
|
|
523
|
-
let shippingMethods = params["shippingMethods"] as? NSArray ?? NSArray()
|
|
524
|
-
|
|
525
|
-
paymentRequest.requiredShippingContactFields = Set(requiredShippingAddressFields.map {
|
|
526
|
-
Mappers.mapToPKContactField(field: $0 as! String)
|
|
527
|
-
})
|
|
528
|
-
|
|
529
|
-
paymentRequest.requiredBillingContactFields = Set(requiredBillingContactFields.map {
|
|
530
|
-
Mappers.mapToPKContactField(field: $0 as! String)
|
|
531
|
-
})
|
|
532
|
-
|
|
533
|
-
paymentRequest.shippingMethods = Mappers.mapToShippingMethods(shippingMethods: shippingMethods)
|
|
534
|
-
|
|
535
|
-
do {
|
|
536
|
-
paymentRequest.paymentSummaryItems = try ApplePayUtils
|
|
537
|
-
.buildPaymentSummaryItems(items: summaryItems as? [[String : Any]])
|
|
538
|
-
} catch {
|
|
539
|
-
resolve(Errors.createError(ErrorType.Failed, error.localizedDescription))
|
|
593
|
+
let (error, paymentRequest) = ApplePayUtils.createPaymentRequest(merchantIdentifier: merchantIdentifier, params: applePayPatams)
|
|
594
|
+
guard let paymentRequest = paymentRequest else {
|
|
595
|
+
resolve(error)
|
|
540
596
|
return
|
|
541
597
|
}
|
|
542
598
|
|
|
599
|
+
self.applePaySummaryItems = paymentRequest.paymentSummaryItems
|
|
600
|
+
self.applePayShippingMethods = paymentRequest.shippingMethods ?? []
|
|
601
|
+
self.applePayShippingAddressErrors = nil
|
|
602
|
+
self.applePayCouponCodeErrors = nil
|
|
603
|
+
self.confirmApplePayResolver = resolve
|
|
604
|
+
if (isPaymentIntent) {
|
|
605
|
+
self.confirmApplePayPaymentClientSecret = clientSecret
|
|
606
|
+
} else {
|
|
607
|
+
self.confirmApplePaySetupClientSecret = clientSecret
|
|
608
|
+
}
|
|
543
609
|
if let applePayContext = STPApplePayContext(paymentRequest: paymentRequest, delegate: self) {
|
|
544
610
|
DispatchQueue.main.async {
|
|
545
611
|
applePayContext.presentApplePay(completion: nil)
|
|
546
612
|
}
|
|
547
613
|
} else {
|
|
548
|
-
|
|
614
|
+
resolve(Errors.createError(ErrorType.Failed, "Payment not completed"))
|
|
549
615
|
}
|
|
550
616
|
}
|
|
551
|
-
|
|
617
|
+
|
|
552
618
|
func configure3dSecure(_ params: NSDictionary) {
|
|
553
619
|
let threeDSCustomizationSettings = STPPaymentHandler.shared().threeDSCustomizationSettings
|
|
554
620
|
let uiCustomization = Mappers.mapUICustomization(params)
|
|
@@ -1050,13 +1116,17 @@ class StripeSdk: RCTEventEmitter, STPApplePayContextDelegate, STPBankSelectionVi
|
|
|
1050
1116
|
resolve(Errors.createError(ErrorType.Failed, "You must provide `cardLastFour`"))
|
|
1051
1117
|
return
|
|
1052
1118
|
}
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
"
|
|
1058
|
-
|
|
1059
|
-
|
|
1119
|
+
PushProvisioningUtils.canAddCardToWallet(
|
|
1120
|
+
last4: last4,
|
|
1121
|
+
primaryAccountIdentifier: params["primaryAccountIdentifier"] as? String ?? "",
|
|
1122
|
+
testEnv: params["testEnv"] as? Bool ?? false,
|
|
1123
|
+
hasPairedAppleWatch: params["hasPairedAppleWatch"] as? Bool ?? false)
|
|
1124
|
+
{ canAddCard, status in
|
|
1125
|
+
resolve([
|
|
1126
|
+
"canAddCard": canAddCard,
|
|
1127
|
+
"details": ["status": status?.rawValue],
|
|
1128
|
+
])
|
|
1129
|
+
}
|
|
1060
1130
|
}
|
|
1061
1131
|
|
|
1062
1132
|
@objc(isCardInWallet:resolver:rejecter:)
|
|
@@ -1069,7 +1139,7 @@ class StripeSdk: RCTEventEmitter, STPApplePayContextDelegate, STPBankSelectionVi
|
|
|
1069
1139
|
resolve(Errors.createError(ErrorType.Failed, "You must provide `cardLastFour`"))
|
|
1070
1140
|
return
|
|
1071
1141
|
}
|
|
1072
|
-
resolve(["isInWallet": PushProvisioningUtils.
|
|
1142
|
+
resolve(["isInWallet": PushProvisioningUtils.getPassLocation(last4: last4) != nil])
|
|
1073
1143
|
}
|
|
1074
1144
|
|
|
1075
1145
|
@objc(collectBankAccountToken:resolver:rejecter:)
|