@primer-io/react-native 0.16.2 → 2.1.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 (233) hide show
  1. package/README.md +114 -24
  2. package/android/build.gradle +10 -2
  3. package/android/gradle.properties +3 -3
  4. package/android/src/main/java/com/primerioreactnative/PrimerRN.kt +124 -150
  5. package/android/src/main/java/com/primerioreactnative/PrimerRNEventListener.kt +212 -128
  6. package/android/src/main/java/com/primerioreactnative/PrimerRNHeadlessUniversalCheckout.kt +244 -0
  7. package/android/src/main/java/com/primerioreactnative/PrimerRNHeadlessUniversalCheckoutListener.kt +275 -0
  8. package/android/src/main/java/com/primerioreactnative/ReactNativePackage.kt +2 -2
  9. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerCheckoutDataRN.kt +12 -0
  10. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerClientSessionRN.kt +54 -0
  11. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerErrorRN.kt +6 -9
  12. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerEvents.kt +13 -0
  13. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerPaymentInstrumentTokenRN.kt +4 -4
  14. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerPaymentMethodDataRN.kt +8 -0
  15. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerSettingsRN.kt +43 -125
  16. package/android/src/main/java/com/primerioreactnative/extensions/Payment.kt +6 -0
  17. package/android/src/main/java/com/primerioreactnative/extensions/PrimerAddress.kt +15 -0
  18. package/android/src/main/java/com/primerioreactnative/extensions/PrimerCheckoutData.kt +7 -0
  19. package/android/src/main/java/com/primerioreactnative/extensions/PrimerClientSession.kt +15 -0
  20. package/android/src/main/java/com/primerioreactnative/extensions/PrimerCustomer.kt +13 -0
  21. package/android/src/main/java/com/primerioreactnative/extensions/PrimerLineItem.kt +8 -0
  22. package/android/src/main/java/com/primerioreactnative/extensions/PrimerOrder.kt +6 -0
  23. package/android/src/main/java/com/primerioreactnative/extensions/PrimerPaymentMethodData.kt +7 -0
  24. package/android/src/main/java/com/primerioreactnative/huc/events/PrimerHeadlessUniversalCheckoutEvent.kt +11 -7
  25. package/android/src/main/java/com/primerioreactnative/utils/ErrorHelper.kt +1 -3
  26. package/android/src/main/java/com/primerioreactnative/utils/JsonConverter.kt +45 -0
  27. package/android/src/main/java/com/primerioreactnative/utils/PrimerHeadlessUniversalCheckoutImplementedRNCallbacks.kt +31 -0
  28. package/android/src/main/java/com/primerioreactnative/utils/PrimerImplementedRNCallbacks.kt +16 -6
  29. package/ios/Core/ReactNative-Bridging-Header.h +10 -0
  30. package/ios/DataModels/ImplementedRNCallbacks.swift +56 -0
  31. package/ios/DataModels/PrimerErrorRN.swift +0 -17
  32. package/ios/DataModels/PrimerSettingsRN.swift +78 -156
  33. package/ios/DataModels/PrimerThemeRN.swift +1 -10
  34. package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.m +33 -1
  35. package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.swift +306 -54
  36. package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.swift +5 -1
  37. package/ios/RNTPrimer.m +28 -12
  38. package/ios/RNTPrimer.swift +273 -222
  39. package/ios/ReactNative-Bridging-Header.h +4 -0
  40. package/ios/ReactNative.xcodeproj/project.pbxproj +14 -14
  41. package/lib/commonjs/Primer.js +206 -149
  42. package/lib/commonjs/Primer.js.map +1 -1
  43. package/lib/commonjs/RNPrimer.js +113 -41
  44. package/lib/commonjs/RNPrimer.js.map +1 -1
  45. package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckout.js +240 -71
  46. package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckout.js.map +1 -1
  47. package/lib/commonjs/headless_checkout/RNPrimerHeadlessUniversalCheckout.js +197 -0
  48. package/lib/commonjs/headless_checkout/RNPrimerHeadlessUniversalCheckout.js.map +1 -0
  49. package/lib/commonjs/headless_checkout/types.js +4 -0
  50. package/lib/commonjs/index.js +118 -24
  51. package/lib/commonjs/index.js.map +1 -1
  52. package/lib/commonjs/models/PrimerCheckoutData.js +9 -0
  53. package/lib/commonjs/models/PrimerCheckoutData.js.map +1 -0
  54. package/lib/commonjs/models/PrimerCheckoutPaymentMethodData.js +2 -0
  55. package/lib/commonjs/models/{action-request.js.map → PrimerCheckoutPaymentMethodData.js.map} +0 -0
  56. package/lib/commonjs/models/PrimerClientSession.js +2 -0
  57. package/lib/commonjs/models/{client-session-actions-request.js.map → PrimerClientSession.js.map} +0 -0
  58. package/lib/commonjs/models/{utils/countryCode.js → PrimerCountryCode.js} +1 -1
  59. package/lib/commonjs/models/PrimerCountryCode.js.map +1 -0
  60. package/lib/commonjs/models/{utils/currencyCode.js → PrimerCurrencyCode.js} +1 -1
  61. package/lib/commonjs/models/PrimerCurrencyCode.js.map +1 -0
  62. package/lib/commonjs/models/PrimerError.js +28 -0
  63. package/lib/commonjs/models/PrimerError.js.map +1 -0
  64. package/lib/commonjs/models/{primer-settings.js → PrimerInterfaces.js} +1 -1
  65. package/lib/commonjs/models/{primer-callbacks.js.map → PrimerInterfaces.js.map} +0 -0
  66. package/lib/commonjs/models/PrimerPaymentMethodTokenData.js +14 -0
  67. package/lib/commonjs/models/PrimerPaymentMethodTokenData.js.map +1 -0
  68. package/lib/commonjs/models/PrimerSessionIntent.js +14 -0
  69. package/lib/commonjs/models/PrimerSessionIntent.js.map +1 -0
  70. package/lib/commonjs/models/{primer.js → PrimerSettings.js} +1 -1
  71. package/lib/commonjs/models/{primer-config.js.map → PrimerSettings.js.map} +0 -0
  72. package/lib/commonjs/models/PrimerTheme.js +2 -0
  73. package/lib/commonjs/models/{primer-request.js.map → PrimerTheme.js.map} +0 -0
  74. package/lib/commonjs/utils/index.js.map +1 -1
  75. package/lib/module/Primer.js +205 -136
  76. package/lib/module/Primer.js.map +1 -1
  77. package/lib/module/RNPrimer.js +113 -41
  78. package/lib/module/RNPrimer.js.map +1 -1
  79. package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckout.js +243 -70
  80. package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckout.js.map +1 -1
  81. package/lib/module/headless_checkout/RNPrimerHeadlessUniversalCheckout.js +188 -0
  82. package/lib/module/headless_checkout/RNPrimerHeadlessUniversalCheckout.js.map +1 -0
  83. package/lib/module/headless_checkout/types.js +1 -1
  84. package/lib/module/index.js +10 -5
  85. package/lib/module/index.js.map +1 -1
  86. package/lib/module/models/PrimerCheckoutData.js +7 -0
  87. package/lib/module/models/PrimerCheckoutData.js.map +1 -0
  88. package/lib/module/models/PrimerCheckoutPaymentMethodData.js +2 -0
  89. package/lib/{commonjs/models/primer-settings.js.map → module/models/PrimerCheckoutPaymentMethodData.js.map} +0 -0
  90. package/lib/module/models/PrimerClientSession.js +2 -0
  91. package/lib/{commonjs/models/primer-theme.js.map → module/models/PrimerClientSession.js.map} +0 -0
  92. package/lib/module/models/{utils/countryCode.js → PrimerCountryCode.js} +1 -1
  93. package/lib/module/models/PrimerCountryCode.js.map +1 -0
  94. package/lib/module/models/{utils/currencyCode.js → PrimerCurrencyCode.js} +1 -1
  95. package/lib/module/models/PrimerCurrencyCode.js.map +1 -0
  96. package/lib/module/models/PrimerError.js +19 -0
  97. package/lib/module/models/PrimerError.js.map +1 -0
  98. package/lib/module/models/PrimerInterfaces.js +2 -0
  99. package/lib/{commonjs/models/primer.js.map → module/models/PrimerInterfaces.js.map} +0 -0
  100. package/lib/module/models/PrimerPaymentMethodTokenData.js +7 -0
  101. package/lib/module/models/PrimerPaymentMethodTokenData.js.map +1 -0
  102. package/lib/module/models/PrimerSessionIntent.js +7 -0
  103. package/lib/module/models/PrimerSessionIntent.js.map +1 -0
  104. package/lib/module/models/PrimerSettings.js +2 -0
  105. package/lib/module/models/{action-request.js.map → PrimerSettings.js.map} +0 -0
  106. package/lib/module/models/PrimerTheme.js +2 -0
  107. package/lib/module/models/{client-session-actions-request.js.map → PrimerTheme.js.map} +0 -0
  108. package/lib/module/utils/index.js.map +1 -1
  109. package/lib/typescript/MerchantExample/App.d.ts +11 -0
  110. package/lib/typescript/src/Primer.d.ts +2 -0
  111. package/lib/typescript/{PrimerInput.d.ts → src/PrimerInput.d.ts} +0 -0
  112. package/lib/typescript/src/RNPrimer.d.ts +32 -0
  113. package/lib/typescript/{RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.d.ts → src/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.d.ts} +0 -0
  114. package/lib/typescript/src/headless_checkout/PrimerHeadlessUniversalCheckout.d.ts +11 -0
  115. package/lib/typescript/src/headless_checkout/RNPrimerHeadlessUniversalCheckout.d.ts +22 -0
  116. package/lib/typescript/src/headless_checkout/types.d.ts +22 -0
  117. package/lib/typescript/src/index.d.ts +10 -0
  118. package/lib/typescript/src/models/PrimerCheckoutData.d.ts +15 -0
  119. package/lib/typescript/src/models/PrimerCheckoutPaymentMethodData.d.ts +5 -0
  120. package/lib/typescript/src/models/PrimerClientSession.d.ts +45 -0
  121. package/lib/typescript/{models/utils/countryCode.d.ts → src/models/PrimerCountryCode.d.ts} +1 -1
  122. package/lib/typescript/{models/utils/currencyCode.d.ts → src/models/PrimerCurrencyCode.d.ts} +1 -1
  123. package/lib/typescript/src/models/PrimerError.d.ts +11 -0
  124. package/lib/typescript/src/models/PrimerInterfaces.d.ts +27 -0
  125. package/lib/typescript/src/models/PrimerPaymentMethodTokenData.d.ts +116 -0
  126. package/lib/typescript/src/models/PrimerSessionIntent.d.ts +4 -0
  127. package/lib/typescript/src/models/PrimerSettings.d.ts +77 -0
  128. package/lib/typescript/{models/primer-theme.d.ts → src/models/PrimerTheme.d.ts} +1 -1
  129. package/lib/typescript/{utils → src/utils}/index.d.ts +1 -1
  130. package/package.json +1 -1
  131. package/primer-io-react-native.podspec +1 -1
  132. package/src/Primer.ts +231 -170
  133. package/src/RNPrimer.ts +148 -51
  134. package/src/headless_checkout/PrimerHeadlessUniversalCheckout.ts +281 -94
  135. package/src/headless_checkout/RNPrimerHeadlessUniversalCheckout.ts +252 -0
  136. package/src/headless_checkout/types.ts +26 -12
  137. package/src/index.tsx +36 -8
  138. package/src/models/PrimerCheckoutData.ts +18 -0
  139. package/src/models/PrimerCheckoutPaymentMethodData.ts +5 -0
  140. package/src/models/PrimerClientSession.ts +53 -0
  141. package/src/models/{utils/countryCode.ts → PrimerCountryCode.ts} +1 -1
  142. package/src/models/{utils/currencyCode.ts → PrimerCurrencyCode.ts} +1 -1
  143. package/src/models/PrimerError.ts +20 -0
  144. package/src/models/PrimerInterfaces.ts +36 -0
  145. package/src/models/PrimerPaymentMethodTokenData.ts +130 -0
  146. package/src/models/PrimerSessionIntent.ts +4 -0
  147. package/src/models/PrimerSettings.ts +108 -0
  148. package/src/models/{primer-theme.ts → PrimerTheme.ts} +1 -1
  149. package/src/utils/index.ts +1 -1
  150. package/android/src/main/java/com/primerioreactnative/PrimerHeadlessUniversalCheckout.kt +0 -198
  151. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerEventsRN.kt +0 -11
  152. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerIntentRN.kt +0 -80
  153. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerOnClientSessionActionsRequestRN.kt +0 -65
  154. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerRequestRN.kt +0 -9
  155. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerThemeRN.kt +0 -51
  156. package/android/src/main/java/com/primerioreactnative/huc/extensions/Map.kt +0 -10
  157. package/android/src/main/java/com/primerioreactnative/utils/Keys.kt +0 -7
  158. package/android/src/main/java/com/primerioreactnative/utils/PrimerEventQueueRN.kt +0 -30
  159. package/ios/DataModels/PrimerIntentRN.swift +0 -10
  160. package/ios/DataModels/PrimerRequestRN.swift +0 -14
  161. package/lib/commonjs/headless_checkout/NativePrimerHeadlessUniversalCheckout.js +0 -110
  162. package/lib/commonjs/headless_checkout/NativePrimerHeadlessUniversalCheckout.js.map +0 -1
  163. package/lib/commonjs/models/action-request.js +0 -2
  164. package/lib/commonjs/models/client-session-actions-request.js +0 -2
  165. package/lib/commonjs/models/payment-instrument-token.js +0 -30
  166. package/lib/commonjs/models/payment-instrument-token.js.map +0 -1
  167. package/lib/commonjs/models/primer-callbacks.js +0 -6
  168. package/lib/commonjs/models/primer-config.js +0 -6
  169. package/lib/commonjs/models/primer-error.js +0 -4
  170. package/lib/commonjs/models/primer-error.js.map +0 -1
  171. package/lib/commonjs/models/primer-intent.js +0 -4
  172. package/lib/commonjs/models/primer-intent.js.map +0 -1
  173. package/lib/commonjs/models/primer-request.js +0 -2
  174. package/lib/commonjs/models/primer-theme.js +0 -2
  175. package/lib/commonjs/models/utils/countryCode.js.map +0 -1
  176. package/lib/commonjs/models/utils/currencyCode.js.map +0 -1
  177. package/lib/commonjs/models/utils/redirectScheme.js +0 -4
  178. package/lib/commonjs/models/utils/redirectScheme.js.map +0 -1
  179. package/lib/module/headless_checkout/NativePrimerHeadlessUniversalCheckout.js +0 -98
  180. package/lib/module/headless_checkout/NativePrimerHeadlessUniversalCheckout.js.map +0 -1
  181. package/lib/module/models/action-request.js +0 -2
  182. package/lib/module/models/client-session-actions-request.js +0 -2
  183. package/lib/module/models/payment-instrument-token.js +0 -28
  184. package/lib/module/models/payment-instrument-token.js.map +0 -1
  185. package/lib/module/models/primer-callbacks.js +0 -2
  186. package/lib/module/models/primer-callbacks.js.map +0 -1
  187. package/lib/module/models/primer-config.js +0 -2
  188. package/lib/module/models/primer-config.js.map +0 -1
  189. package/lib/module/models/primer-error.js +0 -2
  190. package/lib/module/models/primer-error.js.map +0 -1
  191. package/lib/module/models/primer-intent.js +0 -2
  192. package/lib/module/models/primer-intent.js.map +0 -1
  193. package/lib/module/models/primer-request.js +0 -2
  194. package/lib/module/models/primer-request.js.map +0 -1
  195. package/lib/module/models/primer-settings.js +0 -2
  196. package/lib/module/models/primer-settings.js.map +0 -1
  197. package/lib/module/models/primer-theme.js +0 -2
  198. package/lib/module/models/primer-theme.js.map +0 -1
  199. package/lib/module/models/primer.js +0 -2
  200. package/lib/module/models/primer.js.map +0 -1
  201. package/lib/module/models/utils/countryCode.js.map +0 -1
  202. package/lib/module/models/utils/currencyCode.js.map +0 -1
  203. package/lib/module/models/utils/redirectScheme.js +0 -2
  204. package/lib/module/models/utils/redirectScheme.js.map +0 -1
  205. package/lib/typescript/Primer.d.ts +0 -15
  206. package/lib/typescript/RNPrimer.d.ts +0 -24
  207. package/lib/typescript/headless_checkout/NativePrimerHeadlessUniversalCheckout.d.ts +0 -13
  208. package/lib/typescript/headless_checkout/PrimerHeadlessUniversalCheckout.d.ts +0 -13
  209. package/lib/typescript/headless_checkout/types.d.ts +0 -16
  210. package/lib/typescript/index.d.ts +0 -5
  211. package/lib/typescript/models/action-request.d.ts +0 -10
  212. package/lib/typescript/models/client-session-actions-request.d.ts +0 -15
  213. package/lib/typescript/models/payment-instrument-token.d.ts +0 -76
  214. package/lib/typescript/models/primer-callbacks.d.ts +0 -10
  215. package/lib/typescript/models/primer-config.d.ts +0 -44
  216. package/lib/typescript/models/primer-error.d.ts +0 -8
  217. package/lib/typescript/models/primer-intent.d.ts +0 -13
  218. package/lib/typescript/models/primer-request.d.ts +0 -7
  219. package/lib/typescript/models/primer-settings.d.ts +0 -65
  220. package/lib/typescript/models/primer.d.ts +0 -33
  221. package/lib/typescript/models/utils/redirectScheme.d.ts +0 -3
  222. package/src/headless_checkout/NativePrimerHeadlessUniversalCheckout.ts +0 -132
  223. package/src/models/action-request.ts +0 -12
  224. package/src/models/client-session-actions-request.ts +0 -21
  225. package/src/models/payment-instrument-token.ts +0 -109
  226. package/src/models/primer-callbacks.ts +0 -14
  227. package/src/models/primer-config.ts +0 -55
  228. package/src/models/primer-error.ts +0 -19
  229. package/src/models/primer-intent.ts +0 -49
  230. package/src/models/primer-request.ts +0 -7
  231. package/src/models/primer-settings.ts +0 -73
  232. package/src/models/primer.ts +0 -41
  233. package/src/models/utils/redirectScheme.ts +0 -5
@@ -0,0 +1,22 @@
1
+ import type { PrimerCheckoutData } from '../models/PrimerCheckoutData';
2
+ import type { PrimerCheckoutPaymentMethodData } from '../models/PrimerCheckoutPaymentMethodData';
3
+ import type { PrimerTokenizationHandler, PrimerResumeHandler, PrimerPaymentCreationHandler, PrimerErrorHandler } from '../models/PrimerInterfaces';
4
+ import type { PrimerClientSession } from '../models/PrimerClientSession';
5
+ import type { PrimerPaymentMethodTokenData } from '../models/PrimerPaymentMethodTokenData';
6
+ import type { PrimerError } from '../models/PrimerError';
7
+ export interface PrimerHeadlessUniversalCheckoutStartResponse {
8
+ paymentMethodTypes: string[];
9
+ }
10
+ export interface PrimerHeadlessUniversalCheckoutCallbacks {
11
+ onBeforeClientSessionUpdate?: () => void;
12
+ onClientSessionUpdate?: (clientSession: PrimerClientSession) => void;
13
+ onBeforePaymentCreate?: (checkoutPaymentMethodData: PrimerCheckoutPaymentMethodData, handler: PrimerPaymentCreationHandler) => void;
14
+ onCheckoutComplete?: (checkoutData: PrimerCheckoutData) => void;
15
+ onTokenizeSuccess?: (paymentMethodTokenData: PrimerPaymentMethodTokenData, handler: PrimerTokenizationHandler) => void;
16
+ onResumeSuccess?: (resumeToken: string, handler: PrimerResumeHandler) => void;
17
+ onError?: (error: PrimerError, checkoutData: PrimerCheckoutData | null, handler: PrimerErrorHandler | undefined) => void;
18
+ onPrepareStart?: (paymentMethodType: string) => void;
19
+ onTokenizeStart?: (paymentMethodType: string) => void;
20
+ onPaymentMethodShow?: (paymentMethodType: string) => void;
21
+ onAvailablePaymentMethodTypesLoad?: (paymentMethodTypes: string[]) => void;
22
+ }
@@ -0,0 +1,10 @@
1
+ export { Primer } from './Primer';
2
+ export { PrimerSettings } from './models/PrimerSettings';
3
+ export { PrimerSessionIntent } from './models/PrimerSessionIntent';
4
+ export { PrimerPaymentCreationHandler, PrimerTokenizationHandler, PrimerResumeHandler, PrimerErrorHandler, } from './models/PrimerInterfaces';
5
+ export { PrimerPaymentMethodTokenData } from './models/PrimerPaymentMethodTokenData';
6
+ export { PrimerClientSession, PrimerOrder, PrimerLineItem, PrimerCustomer, PrimerAddress, } from './models/PrimerClientSession';
7
+ export { PrimerCheckoutData, PrimerCheckoutDataPayment, } from './models/PrimerCheckoutData';
8
+ export { PrimerCheckoutPaymentMethodData } from './models/PrimerCheckoutPaymentMethodData';
9
+ export { PrimerError } from './models/PrimerError';
10
+ export { PrimerHeadlessUniversalCheckout } from './headless_checkout/PrimerHeadlessUniversalCheckout';
@@ -0,0 +1,15 @@
1
+ export declare type PrimerCheckoutData = IPrimerCheckoutData;
2
+ interface IPrimerCheckoutData {
3
+ payment: IPrimerCheckoutDataPayment;
4
+ }
5
+ export declare type PrimerCheckoutDataPayment = IPrimerCheckoutDataPayment;
6
+ interface IPrimerCheckoutDataPayment {
7
+ id?: string;
8
+ orderId?: string;
9
+ paymentFailureReason?: PrimerPaymentErrorCode;
10
+ }
11
+ declare enum PrimerPaymentErrorCode {
12
+ FAILED = "payment-failed",
13
+ CANCELLED_BY_CUSTOMER = "cancelled-by-customer"
14
+ }
15
+ export {};
@@ -0,0 +1,5 @@
1
+ export declare type PrimerCheckoutPaymentMethodData = IPrimerCheckoutPaymentMethodData;
2
+ interface IPrimerCheckoutPaymentMethodData {
3
+ paymentMethodType: string;
4
+ }
5
+ export {};
@@ -0,0 +1,45 @@
1
+ export declare type PrimerClientSession = IPrimerClientSession;
2
+ interface IPrimerClientSession {
3
+ customerId?: string;
4
+ orderId?: string;
5
+ currencyCode?: string;
6
+ totalAmount?: number;
7
+ lineItems?: IPrimerLineItem[];
8
+ orderDetails?: IPrimerOrder;
9
+ customer?: IPrimerCustomer;
10
+ }
11
+ export declare type PrimerLineItem = IPrimerLineItem;
12
+ interface IPrimerLineItem {
13
+ itemId?: string;
14
+ itemDescription?: string;
15
+ amount?: number;
16
+ discountAmount?: number;
17
+ quantity?: number;
18
+ taxCode?: string;
19
+ taxAmount?: number;
20
+ }
21
+ export declare type PrimerOrder = IPrimerOrder;
22
+ interface IPrimerOrder {
23
+ countryCode?: string;
24
+ }
25
+ export declare type PrimerCustomer = IPrimerCustomer;
26
+ interface IPrimerCustomer {
27
+ emailAddress?: string;
28
+ mobileNumber?: string;
29
+ firstName?: string;
30
+ lastName?: string;
31
+ billingAddress?: IPrimerAddress;
32
+ shippingAddress?: IPrimerAddress;
33
+ }
34
+ export declare type PrimerAddress = IPrimerAddress;
35
+ interface IPrimerAddress {
36
+ firstName?: string;
37
+ lastName?: string;
38
+ addressLine1?: string;
39
+ addressLine2?: string;
40
+ postalCode?: string;
41
+ city?: string;
42
+ state?: string;
43
+ countryCode?: string;
44
+ }
45
+ export {};
@@ -1,3 +1,3 @@
1
1
  declare var countries: readonly ["AF", "AX", "AL", "DZ", "AS", "AD", "AO", "AI", "AQ", "AG", "AR", "AM", "AW", "AU", "AT", "AZ", "BS", "BH", "BD", "BB", "BY", "BE", "BZ", "BJ", "BM", "BT", "BO", "BA", "BW", "BV", "BR", "IO", "BN", "BG", "BF", "BI", "KH", "CM", "CA", "CV", "KY", "CF", "TD", "CL", "CN", "CX", "CC", "CO", "KM", "CG", "CD", "CK", "CR", "CI", "HR", "CU", "CY", "CZ", "DK", "DJ", "DM", "DO", "EC", "EG", "SV", "GQ", "ER", "EE", "ET", "FK", "FO", "FJ", "FI", "FR", "GF", "PF", "TF", "GA", "GM", "GE", "DE", "GH", "GI", "GR", "GL", "GD", "GP", "GU", "GT", "GG", "GN", "GW", "GY", "HT", "HM", "VA", "HN", "HK", "HU", "IS", "IN", "ID", "IR", "IQ", "IE", "IM", "IL", "IT", "JM", "JP", "JE", "JO", "KZ", "KE", "KI", "KR", "KW", "KG", "LA", "LV", "LB", "LS", "LR", "LY", "LI", "LT", "LU", "MO", "MK", "MG", "MW", "MY", "MV", "ML", "MT", "MH", "MQ", "MR", "MU", "YT", "MX", "FM", "MD", "MC", "MN", "ME", "MS", "MA", "MZ", "MM", "NA", "NR", "NP", "NL", "AN", "NC", "NZ", "NI", "NE", "NG", "NU", "NF", "MP", "NO", "OM", "PK", "PW", "PS", "PA", "PG", "PY", "PE", "PH", "PN", "PL", "PT", "PR", "QA", "RE", "RO", "RU", "RW", "BL", "SH", "KN", "LC", "MF", "PM", "VC", "WS", "SM", "ST", "SA", "SN", "RS", "SC", "SL", "SG", "SK", "SI", "SB", "SO", "ZA", "GS", "ES", "LK", "SD", "SR", "SJ", "SZ", "SE", "CH", "SY", "TW", "TJ", "TZ", "TH", "TL", "TG", "TK", "TO", "TT", "TN", "TR", "TM", "TC", "TV", "UG", "UA", "AE", "GB", "US", "UM", "UY", "UZ", "VU", "VE", "VN", "VG", "VI", "WF", "EH", "YE", "ZM", "ZW"];
2
- export declare type CountryCode = typeof countries[number];
2
+ export declare type PrimerCountryCode = typeof countries[number];
3
3
  export {};
@@ -1,3 +1,3 @@
1
1
  declare const currencies: readonly ["AED", "AFN", "ALL", "AMD", "ANG", "AOA", "ARS", "AUD", "AWG", "AZN", "BAM", "BBD", "BDT", "BGN", "BHD", "BIF", "BMD", "BND", "BOB", "BOV", "BRL", "BSD", "BTN", "BWP", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLF", "CLP", "CNY", "COP", "COU", "CRC", "CUC", "CUP", "CVE", "CZK", "DJF", "DKK", "DOP", "DZD", "EGP", "ERN", "ETB", "EUR", "FJD", "FKP", "GBP", "GEL", "GHS", "GIP", "GMD", "GNF", "GTQ", "GYD", "HKD", "HNL", "HRK", "HTG", "HUF", "IDR", "ILS", "INR", "IQD", "IRR", "ISK", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LVL", "LYD", "MAD", "MDL", "MGA", "MKD", "MMK", "MNT", "MOP", "MRO", "MUR", "MVR", "MWK", "MXN", "MXV", "MYR", "MZN", "NAD", "NGN", "NIO", "NOK", "NPR", "NZD", "OMR", "PAB", "PEN", "PGK", "PHP", "PKR", "PLN", "PYG", "QAR", "RON", "RSD", "RUB", "RWF", "SAR", "SBD", "SCR", "SDG", "SEK", "SGD", "SHP", "SLL", "SOS", "SRD", "SSP", "STD", "SYP", "SZL", "THB", "TJS", "TMT", "TND", "TOP", "TRY", "TTD", "TWD", "TZS", "UAH", "UGX", "USD", "USN", "USS", "UYI", "UYU", "UZS", "VEF", "VND", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XFU", "XOF", "XPD", "XPF", "XPT", "XTS", "XXX", "YER", "ZAR", "ZMW"];
2
- export declare type CurrencyCode = typeof currencies[number];
2
+ export declare type PrimerCurrencyCode = typeof currencies[number];
3
3
  export {};
@@ -0,0 +1,11 @@
1
+ export interface IPrimerError {
2
+ errorId: string;
3
+ description?: string;
4
+ recoverySuggestion?: string;
5
+ }
6
+ export declare class PrimerError extends Error {
7
+ errorId: string;
8
+ description: string;
9
+ recoverySuggestion?: string;
10
+ constructor(errorId: string, description: string, recoverySuggestion: string | undefined);
11
+ }
@@ -0,0 +1,27 @@
1
+ import type { PrimerSessionIntent } from "./PrimerSessionIntent";
2
+ import type { PrimerSettings } from "./PrimerSettings";
3
+ export interface IPrimer {
4
+ configure(settings: PrimerSettings): Promise<void>;
5
+ showUniversalCheckout(clientToken: string): Promise<void>;
6
+ showVaultManager(clientToken: string): Promise<void>;
7
+ showPaymentMethod(paymentMethodType: string, intent: PrimerSessionIntent, clientToken: string): Promise<void>;
8
+ dismiss(): void;
9
+ dispose(): void;
10
+ }
11
+ export interface PrimerPaymentCreationHandler {
12
+ abortPaymentCreation(errorMessage: string | null): void;
13
+ continuePaymentCreation(): void;
14
+ }
15
+ export interface PrimerTokenizationHandler {
16
+ handleSuccess(): void;
17
+ handleFailure(errorMessage: string | null): void;
18
+ continueWithNewClientToken(newClientToken: string): void;
19
+ }
20
+ export interface PrimerResumeHandler {
21
+ handleSuccess(): void;
22
+ handleFailure(errorMessage: string | null): void;
23
+ continueWithNewClientToken(newClientToken: string): void;
24
+ }
25
+ export interface PrimerErrorHandler {
26
+ showErrorMessage(errorMessage: string | null): void;
27
+ }
@@ -0,0 +1,116 @@
1
+ export declare type PrimerPaymentMethodTokenData = IPrimerPaymentMethodTokenData;
2
+ export interface IPrimerPaymentMethodTokenData {
3
+ analyticsId?: string;
4
+ id?: string;
5
+ isVaulted?: boolean;
6
+ paymentInstrumentData: IPrimerPaymentInstrumentData;
7
+ paymentInstrumentType: string;
8
+ token: string;
9
+ tokenType?: PrimerTokenType;
10
+ threeDSecureAuthentication?: IPrimerThreeDSAuthenticationData;
11
+ vaultData?: IPrimerVaultData;
12
+ }
13
+ export declare enum PrimerTokenType {
14
+ SINGLE_USE = "SINGLE_USE",
15
+ MULTI_USE = "MULTI_USE"
16
+ }
17
+ export interface IPrimerThreeDSAuthenticationData {
18
+ challengeIssued?: boolean;
19
+ protocolVersion?: string;
20
+ reasonCode?: string;
21
+ reasonText?: string;
22
+ responseCode?: string;
23
+ }
24
+ export interface IPrimerVaultData {
25
+ customerId?: string;
26
+ }
27
+ export interface IPrimerPaymentInstrumentData {
28
+ paypalBillingAgreementId?: string;
29
+ first6Digits?: string;
30
+ last4Digits?: string;
31
+ expirationMonth?: string;
32
+ expirationYear?: string;
33
+ cardholderName?: string;
34
+ network?: string;
35
+ isNetworkTokenized?: boolean;
36
+ klarnaCustomerToken?: string;
37
+ sessionData?: IKlarnaSessionData;
38
+ externalPayerInfo?: IExternalPayerInfo;
39
+ shippingAddress?: IShippingAddress;
40
+ binData?: IBinData;
41
+ gocardlessMandateId?: string;
42
+ authorizationToken?: string;
43
+ hashedIdentifier?: string;
44
+ mcc?: string;
45
+ mnc?: string;
46
+ mx?: string;
47
+ currencyCode?: string;
48
+ productId?: string;
49
+ }
50
+ export interface IKlarnaSessionData {
51
+ recurringDescription?: string;
52
+ purchaseCountry?: string;
53
+ purchaseCurrency?: string;
54
+ locale?: string;
55
+ orderAmount?: string;
56
+ orderLines?: IKlarnaSessionOrderLines[];
57
+ billingAddress?: IKlarnaBillingAddress;
58
+ tokenDetails?: IKlarnaSessionDataTokenDetails;
59
+ }
60
+ export interface IKlarnaSessionOrderLines {
61
+ type?: string;
62
+ name?: string;
63
+ quantity?: number;
64
+ unitPrice?: number;
65
+ totalAmount?: number;
66
+ totalDiscountAmount?: number;
67
+ }
68
+ export interface IKlarnaBillingAddress {
69
+ addressLine1?: string;
70
+ addressLine2?: string;
71
+ addressLine3?: string;
72
+ city?: string;
73
+ countryCode?: string;
74
+ email?: string;
75
+ firstName?: string;
76
+ lastName?: string;
77
+ phoneNumber?: string;
78
+ postalCode?: string;
79
+ state?: string;
80
+ title?: string;
81
+ }
82
+ export interface IKlarnaSessionDataTokenDetails {
83
+ brand?: string;
84
+ maskedNumber?: string;
85
+ type: string;
86
+ expiryDate?: string;
87
+ }
88
+ export interface IExternalPayerInfo {
89
+ externalPayerId?: string;
90
+ email?: string;
91
+ firstName?: string;
92
+ lastName?: string;
93
+ }
94
+ export interface IShippingAddress {
95
+ firstName?: string;
96
+ lastName?: string;
97
+ addressLine1?: string;
98
+ addressLine2?: string;
99
+ city?: string;
100
+ state?: string;
101
+ countryCode?: string;
102
+ postalCode?: string;
103
+ }
104
+ export interface IBinData {
105
+ network?: string;
106
+ issuerCountryCode?: string;
107
+ issuerName?: string;
108
+ issuerCurrencyCode?: string;
109
+ regionalRestriction?: string;
110
+ accountNumberType?: string;
111
+ accountFundingType?: string;
112
+ prepaidReloadableIndicator?: string;
113
+ productUsageType?: string;
114
+ productCode?: string;
115
+ productName?: string;
116
+ }
@@ -0,0 +1,4 @@
1
+ export declare enum PrimerSessionIntent {
2
+ CHECKOUT = "CHECKOUT",
3
+ VAULT = "VAULT"
4
+ }
@@ -0,0 +1,77 @@
1
+ import type { PrimerErrorHandler, PrimerPaymentCreationHandler, PrimerResumeHandler, PrimerTokenizationHandler } from "./PrimerInterfaces";
2
+ import type { PrimerCheckoutData } from "./PrimerCheckoutData";
3
+ import type { PrimerCheckoutPaymentMethodData } from "./PrimerCheckoutPaymentMethodData";
4
+ import type { PrimerClientSession } from "./PrimerClientSession";
5
+ import type { PrimerPaymentMethodTokenData } from "./PrimerPaymentMethodTokenData";
6
+ import type { PrimerError } from "./PrimerError";
7
+ import type { IPrimerTheme } from "./PrimerTheme";
8
+ export declare type PrimerSettings = IPrimerSettings;
9
+ interface IPrimerSettings {
10
+ paymentHandling?: 'AUTO' | 'MANUAL';
11
+ localeData?: IPrimerLocaleData;
12
+ paymentMethodOptions?: IPrimerPaymentMethodOptions;
13
+ uiOptions?: IPrimerUIOptions;
14
+ debugOptions?: IPrimerDebugOptions;
15
+ onBeforeClientSessionUpdate?: () => void;
16
+ onClientSessionUpdate?: (clientSession: PrimerClientSession) => void;
17
+ onBeforePaymentCreate?: (checkoutPaymentMethodData: PrimerCheckoutPaymentMethodData, handler: PrimerPaymentCreationHandler) => void;
18
+ onCheckoutComplete?: (checkoutData: PrimerCheckoutData) => void;
19
+ onTokenizeSuccess?: (paymentMethodTokenData: PrimerPaymentMethodTokenData, handler: PrimerTokenizationHandler) => void;
20
+ onResumeSuccess?: (resumeToken: string, handler: PrimerResumeHandler) => void;
21
+ onError?: (error: PrimerError, checkoutData: PrimerCheckoutData | null, handler: PrimerErrorHandler | undefined) => void;
22
+ onDismiss?: () => void;
23
+ onPrepareStart?: (paymentMethod: string) => void;
24
+ onTokenizeStart?: (paymentMethod: string) => void;
25
+ onPaymentMethodShow?: (paymentMethod: string) => void;
26
+ onAvailablePaymentMethodsLoad?: (paymentMethods: string[]) => void;
27
+ }
28
+ interface IPrimerLocaleData {
29
+ languageCode?: string;
30
+ localeCode?: string;
31
+ }
32
+ interface IPrimerPaymentMethodOptions {
33
+ iOS?: {
34
+ urlScheme?: string;
35
+ };
36
+ android?: {
37
+ redirectScheme?: string;
38
+ };
39
+ apayaOptions?: IPrimerApayaOptions;
40
+ applePayOptions?: IPrimerApplePayOptions;
41
+ cardPaymentOptions?: IPrimerCardPaymentOptions;
42
+ goCardlessOptions?: IPrimerGoCardlessOptions;
43
+ googlePayOptions?: IPrimerGooglePayOptions;
44
+ klarnaOptions?: IPrimerKlarnaOptions;
45
+ }
46
+ interface IPrimerApayaOptions {
47
+ webViewTitle: string;
48
+ }
49
+ interface IPrimerApplePayOptions {
50
+ merchantIdentifier: string;
51
+ merchantName: string;
52
+ }
53
+ interface IPrimerCardPaymentOptions {
54
+ is3DSOnVaultingEnabled: boolean;
55
+ }
56
+ interface IPrimerGoCardlessOptions {
57
+ businessName?: string;
58
+ businessAddress?: string;
59
+ }
60
+ interface IPrimerGooglePayOptions {
61
+ merchantName?: string;
62
+ allowedCardNetworks?: string[];
63
+ }
64
+ interface IPrimerKlarnaOptions {
65
+ recurringPaymentDescription?: string;
66
+ webViewTitle?: string;
67
+ }
68
+ interface IPrimerUIOptions {
69
+ isInitScreenEnabled?: boolean;
70
+ isSuccessScreenEnabled?: boolean;
71
+ isErrorScreenEnabled?: boolean;
72
+ theme?: IPrimerTheme;
73
+ }
74
+ interface IPrimerDebugOptions {
75
+ is3DSSanityCheckEnabled?: boolean;
76
+ }
77
+ export {};
@@ -1,5 +1,5 @@
1
1
  export declare type PrimerTheme = IPrimerTheme;
2
- interface IPrimerTheme {
2
+ export interface IPrimerTheme {
3
3
  colors?: ColorTheme;
4
4
  darkModeColors?: ColorTheme;
5
5
  }
@@ -1,3 +1,3 @@
1
- import type { RgbaColor } from 'src/models/primer-theme';
1
+ import type { RgbaColor } from "../models/PrimerTheme";
2
2
  export declare function toRgbColor(hex: string): RgbaColor | null;
3
3
  export declare function parseCallback<T>(data: any, callback: (val: T) => void): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@primer-io/react-native",
3
- "version": "0.16.2",
3
+ "version": "2.1.0",
4
4
  "description": "Primer SDK for RN",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -17,5 +17,5 @@ Pod::Spec.new do |s|
17
17
  s.source_files = "ios/**/*.{h,m,mm,swift}"
18
18
 
19
19
  s.dependency "React-Core"
20
- s.dependency "PrimerSDK", "1.36.1"
20
+ s.dependency "PrimerSDK", "2.1.0"
21
21
  end