@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,111 +0,0 @@
1
- import { AndroidConfig } from '@expo/config-plugins';
2
- import { resolve } from 'path';
3
-
4
- import { setApplePayEntitlement, setGooglePayMetaData } from '../withStripe';
5
-
6
- jest.mock(
7
- '@stripe/stripe-react-native/package.json',
8
- () => ({
9
- name: 'stripe-react-native',
10
- version: '0.1.1',
11
- }),
12
- { virtual: true }
13
- );
14
-
15
- const { getMainApplicationOrThrow, readAndroidManifestAsync } =
16
- AndroidConfig.Manifest;
17
-
18
- const fixturesPath = resolve(__dirname, 'fixtures');
19
- const sampleManifestPath = resolve(fixturesPath, 'sample-AndroidManifest.xml');
20
-
21
- describe('setApplePayEntitlement', () => {
22
- it(`sets the apple pay entitlement when none exist`, () => {
23
- expect(setApplePayEntitlement('merchant.com.example', {})).toMatchObject({
24
- 'com.apple.developer.in-app-payments': ['merchant.com.example'],
25
- });
26
- });
27
-
28
- it(`sets the apple pay entitlement when some already exist`, () => {
29
- expect(
30
- setApplePayEntitlement('merchant.com.example', {
31
- 'com.apple.developer.in-app-payments': [
32
- 'some.other.merchantIdentifier',
33
- ],
34
- })
35
- ).toMatchObject({
36
- 'com.apple.developer.in-app-payments': [
37
- 'some.other.merchantIdentifier',
38
- 'merchant.com.example',
39
- ],
40
- });
41
- });
42
-
43
- it(`does not duplicate the merchantIdentifier in entitlements`, () => {
44
- expect(
45
- setApplePayEntitlement('merchant.com.example', {
46
- 'com.apple.developer.in-app-payments': ['merchant.com.example'],
47
- })
48
- ).toMatchObject({
49
- 'com.apple.developer.in-app-payments': ['merchant.com.example'],
50
- });
51
- });
52
-
53
- it(`does not add in-app-payments if no merchant ID is provided`, () => {
54
- expect(setApplePayEntitlement('', {})).toEqual({});
55
- expect(setApplePayEntitlement([], {})).toEqual({});
56
- expect(setApplePayEntitlement([''], {})).toEqual({});
57
- });
58
-
59
- it(`properly handles multiple merchantIdentifiers`, () => {
60
- expect(
61
- setApplePayEntitlement(['merchant.com.example', 'merchant.com.example'], {
62
- 'com.apple.developer.in-app-payments': ['merchant.com.example'],
63
- })
64
- ).toMatchObject({
65
- 'com.apple.developer.in-app-payments': ['merchant.com.example'],
66
- });
67
-
68
- expect(
69
- setApplePayEntitlement(
70
- ['merchant.com.example', 'merchant.com.example.different'],
71
- {
72
- 'com.apple.developer.in-app-payments': ['merchant.com.example'],
73
- }
74
- )
75
- ).toMatchObject({
76
- 'com.apple.developer.in-app-payments': [
77
- 'merchant.com.example',
78
- 'merchant.com.example.different',
79
- ],
80
- });
81
- });
82
- });
83
-
84
- describe('setGooglePayMetaData', () => {
85
- it(`Properly sets GooglePay metadata in AndroidManifest to true, then removes it when set to false`, async () => {
86
- let androidManifestJson = await readAndroidManifestAsync(
87
- sampleManifestPath
88
- );
89
- androidManifestJson = setGooglePayMetaData(true, androidManifestJson);
90
- let mainApplication = getMainApplicationOrThrow(androidManifestJson);
91
- if (!mainApplication['meta-data']) {
92
- throw new Error('Failed to add metadata to AndroidManifest.xml');
93
- }
94
- let apiKeyItem = mainApplication['meta-data'].filter(
95
- (e) => e.$['android:name'] === 'com.google.android.gms.wallet.api.enabled'
96
- );
97
- expect(apiKeyItem).toHaveLength(1);
98
- expect(apiKeyItem[0].$['android:value']).toMatch('true');
99
-
100
- // Now let's make sure we can set it back to false, and NOT add a new metadata item
101
- androidManifestJson = setGooglePayMetaData(false, androidManifestJson);
102
- mainApplication = getMainApplicationOrThrow(androidManifestJson);
103
- if (!mainApplication['meta-data']) {
104
- throw new Error('Failed to read metadata from AndroidManifest.xml');
105
- }
106
- apiKeyItem = mainApplication['meta-data'].filter(
107
- (e) => e.$['android:name'] === 'com.google.android.gms.wallet.api.enabled'
108
- );
109
- expect(apiKeyItem).toHaveLength(0);
110
- });
111
- });