@primer-io/react-native 2.26.3 → 2.28.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/android/.project +6 -0
  2. package/android/.settings/org.eclipse.buildship.core.prefs +5 -5
  3. package/android/build.gradle +1 -3
  4. package/android/src/main/AndroidManifest.xml +1 -4
  5. package/android/src/main/java/com/primerioreactnative/PrimerRN.kt +3 -3
  6. package/android/src/main/java/com/primerioreactnative/PrimerRNEventListener.kt +4 -3
  7. package/android/src/main/java/com/primerioreactnative/PrimerRNHeadlessUniversalCheckout.kt +2 -2
  8. package/android/src/main/java/com/primerioreactnative/PrimerRNHeadlessUniversalCheckoutListener.kt +46 -9
  9. package/android/src/main/java/com/primerioreactnative/ReactNativePackage.kt +4 -0
  10. package/android/src/main/java/com/primerioreactnative/components/manager/ach/AchMandateManager.kt +70 -0
  11. package/android/src/main/java/com/primerioreactnative/components/manager/ach/PrimerRNHeadlessUniversalCheckoutStripeAchUserDetailsComponent.kt +283 -0
  12. package/android/src/main/java/com/primerioreactnative/components/manager/banks/PrimerRNHeadlessUniversalCheckoutBanksComponent.kt +7 -37
  13. package/android/src/main/java/com/primerioreactnative/components/manager/klarna/PrimerRNHeadlessUniversalCheckoutKlarnaComponent.kt +5 -31
  14. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerCheckoutAdditionalInfoRN.kt +17 -4
  15. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerClientSessionRN.kt +9 -0
  16. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerSettingsRN.kt +53 -36
  17. package/android/src/main/java/com/primerioreactnative/datamodels/ach/AchUserDetailsCollectableDataRN.kt +22 -0
  18. package/android/src/main/java/com/primerioreactnative/datamodels/ach/AchUserDetailsStepRN.kt +22 -0
  19. package/android/src/main/java/com/primerioreactnative/datamodels/extensions/ach/AchUserDetailsCollectableData.kt +11 -0
  20. package/android/src/main/java/com/primerioreactnative/datamodels/extensions/ach/AchUserDetailsStep.kt +14 -0
  21. package/android/src/main/java/com/primerioreactnative/extensions/JSONExtensions.kt +41 -0
  22. package/android/src/main/java/com/primerioreactnative/extensions/PrimerCheckoutAdditionalInfo.kt +4 -0
  23. package/android/src/main/java/com/primerioreactnative/extensions/PrimerOrder.kt +5 -1
  24. package/android/src/main/java/com/primerioreactnative/extensions/PrimerPaymentMethodOptionsRN.kt +48 -15
  25. package/ios/Sources/DataModels/Ach Component/RNTAchUserDetailsCollectableData.swift +54 -0
  26. package/ios/Sources/DataModels/Ach Component/RNTAchUserDetailsStep.swift +40 -0
  27. package/ios/Sources/DataModels/PrimerCheckoutAdditionalInfoRN.swift +61 -0
  28. package/ios/Sources/DataModels/PrimerSettings+Extensions.swift +58 -4
  29. package/ios/Sources/Headless Universal Checkout/Managers/Ach/PrimerRNHeadlessUniversalCheckoutStripeAchUserDetailsComponent.m +28 -0
  30. package/ios/Sources/Headless Universal Checkout/Managers/Ach/PrimerRNHeadlessUniversalCheckoutStripeAchUserDetailsComponent.swift +233 -0
  31. package/ios/Sources/Headless Universal Checkout/Managers/Ach/RNTAchMandateManager.m +16 -0
  32. package/ios/Sources/Headless Universal Checkout/Managers/Ach/RNTAchMandateManager.swift +53 -0
  33. package/ios/Sources/Headless Universal Checkout/Managers/Klarna/PrimerRNHeadlessUniversalCheckoutKlarnaComponent.swift +2 -2
  34. package/ios/Sources/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.swift +55 -7
  35. package/ios/Sources/version.swift +1 -1
  36. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.js +106 -0
  37. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.js.map +1 -0
  38. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.js +38 -0
  39. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.js.map +1 -0
  40. package/lib/commonjs/index.js +70 -0
  41. package/lib/commonjs/index.js.map +1 -1
  42. package/lib/commonjs/models/ach/AchCollectableData.js +6 -0
  43. package/lib/commonjs/models/ach/AchCollectableData.js.map +1 -0
  44. package/lib/commonjs/models/ach/AchSteps.js +6 -0
  45. package/lib/commonjs/models/ach/AchSteps.js.map +1 -0
  46. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.js +99 -0
  47. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.js.map +1 -0
  48. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.js +31 -0
  49. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.js.map +1 -0
  50. package/lib/module/index.js +8 -0
  51. package/lib/module/index.js.map +1 -1
  52. package/lib/module/models/ach/AchCollectableData.js +2 -0
  53. package/lib/module/models/ach/AchCollectableData.js.map +1 -0
  54. package/lib/module/models/ach/AchSteps.js +2 -0
  55. package/lib/module/models/ach/AchSteps.js.map +1 -0
  56. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.d.ts +53 -0
  57. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.d.ts.map +1 -0
  58. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.d.ts +12 -0
  59. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.d.ts.map +1 -0
  60. package/lib/typescript/index.d.ts +8 -0
  61. package/lib/typescript/index.d.ts.map +1 -1
  62. package/lib/typescript/models/PrimerCheckoutAdditionalInfo.d.ts +10 -0
  63. package/lib/typescript/models/PrimerCheckoutAdditionalInfo.d.ts.map +1 -1
  64. package/lib/typescript/models/PrimerClientSession.d.ts +7 -0
  65. package/lib/typescript/models/PrimerClientSession.d.ts.map +1 -1
  66. package/lib/typescript/models/PrimerSettings.d.ts +40 -1
  67. package/lib/typescript/models/PrimerSettings.d.ts.map +1 -1
  68. package/lib/typescript/models/ach/AchCollectableData.d.ts +25 -0
  69. package/lib/typescript/models/ach/AchCollectableData.d.ts.map +1 -0
  70. package/lib/typescript/models/ach/AchSteps.d.ts +28 -0
  71. package/lib/typescript/models/ach/AchSteps.d.ts.map +1 -0
  72. package/package.json +1 -1
  73. package/primer-io-react-native.podspec +1 -1
  74. package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.ts +158 -0
  75. package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.ts +32 -0
  76. package/src/index.tsx +8 -0
  77. package/src/models/PrimerCheckoutAdditionalInfo.ts +19 -5
  78. package/src/models/PrimerClientSession.ts +9 -1
  79. package/src/models/PrimerSettings.ts +46 -1
  80. package/src/models/ach/AchCollectableData.ts +29 -0
  81. package/src/models/ach/AchSteps.ts +29 -0
@@ -1,11 +1,16 @@
1
1
  export declare type PrimerCheckoutAdditionalInfo = IPrimerCheckoutAdditionalInfo;
2
2
  interface IPrimerCheckoutAdditionalInfo {
3
+ /**
4
+ * The name of this additional info.
5
+ */
6
+ additionalInfoName: string;
3
7
  }
4
8
  export declare type MultibancoCheckoutAdditionalInfo = IMultibancoCheckoutAdditionalInfo;
5
9
  interface IMultibancoCheckoutAdditionalInfo extends IPrimerCheckoutAdditionalInfo {
6
10
  expiresAt?: string;
7
11
  entity?: string;
8
12
  reference?: string;
13
+ additionalInfoName: "MultibancoCheckoutAdditionalInfo";
9
14
  }
10
15
  export declare type PrimerCheckoutQRCodeInfo = IPrimerCheckoutQRCodeInfo;
11
16
  interface IPrimerCheckoutQRCodeInfo extends IPrimerCheckoutAdditionalInfo {
@@ -15,6 +20,7 @@ interface IPromptPayCheckoutAdditionalInfo extends IPrimerCheckoutQRCodeInfo {
15
20
  expiresAt: string;
16
21
  qrCodeUrl?: string;
17
22
  qrCodeBase64?: string;
23
+ additionalInfoName: "PromptPayCheckoutAdditionalInfo";
18
24
  }
19
25
  export declare type PrimerCheckoutVoucherAdditionalInfo = IPrimerCheckoutVoucherAdditionalInfo;
20
26
  interface IPrimerCheckoutVoucherAdditionalInfo extends IPrimerCheckoutAdditionalInfo {
@@ -24,6 +30,10 @@ interface IXenditCheckoutVoucherAdditionalInfo extends IPrimerCheckoutVoucherAdd
24
30
  expiresAt: string;
25
31
  couponCode: string;
26
32
  retailerName: string;
33
+ additionalInfoName: "XenditCheckoutVoucherAdditionalInfo";
27
34
  }
35
+ export declare type DisplayStripeAchMandateAdditionalInfo = {
36
+ additionalInfoName: "DisplayStripeAchMandateAdditionalInfo";
37
+ } & IPrimerCheckoutAdditionalInfo;
28
38
  export {};
29
39
  //# sourceMappingURL=PrimerCheckoutAdditionalInfo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PrimerCheckoutAdditionalInfo.d.ts","sourceRoot":"","sources":["../../../src/models/PrimerCheckoutAdditionalInfo.ts"],"names":[],"mappings":"AAAA,oBAAY,4BAA4B,GAAG,6BAA6B,CAAC;AAEzE,UAAU,6BAA6B;CAAG;AAE1C,oBAAY,gCAAgC,GAAG,iCAAiC,CAAC;AAEjF,UAAU,iCAAkC,SAAQ,6BAA6B;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,oBAAY,wBAAwB,GAAG,yBAAyB,CAAC;AAEjE,UAAU,yBAA0B,SAAQ,6BAA6B;CAAG;AAE5E,oBAAY,+BAA+B,GAAG,gCAAgC,CAAC;AAE/E,UAAU,gCAAiC,SAAQ,yBAAyB;IACxE,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,oBAAY,mCAAmC,GAAG,oCAAoC,CAAC;AAEvF,UAAU,oCAAqC,SAAQ,6BAA6B;CAAG;AAEvF,oBAAY,mCAAmC,GAAG,oCAAoC,CAAC;AAEvF,UAAU,oCAAqC,SAAQ,oCAAoC;IACvF,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACxB"}
1
+ {"version":3,"file":"PrimerCheckoutAdditionalInfo.d.ts","sourceRoot":"","sources":["../../../src/models/PrimerCheckoutAdditionalInfo.ts"],"names":[],"mappings":"AAAA,oBAAY,4BAA4B,GAAG,6BAA6B,CAAC;AAEzE,UAAU,6BAA6B;IACnC;;OAEG;IACH,kBAAkB,EAAE,MAAM,CAAA;CAC7B;AAGD,oBAAY,gCAAgC,GAAG,iCAAiC,CAAC;AACjF,UAAU,iCAAkC,SAAQ,6BAA6B;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,kCAAkC,CAAC;CAC1D;AAGD,oBAAY,wBAAwB,GAAG,yBAAyB,CAAC;AAEjE,UAAU,yBAA0B,SAAQ,6BAA6B;CAAG;AAE5E,oBAAY,+BAA+B,GAAG,gCAAgC,CAAC;AAC/E,UAAU,gCAAiC,SAAQ,yBAAyB;IACxE,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,iCAAiC,CAAC;CACzD;AAGD,oBAAY,mCAAmC,GAAG,oCAAoC,CAAC;AAEvF,UAAU,oCAAqC,SAAQ,6BAA6B;CAAG;AAGvF,oBAAY,mCAAmC,GAAG,oCAAoC,CAAC;AACvF,UAAU,oCAAqC,SAAQ,oCAAoC;IACvF,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,qCAAqC,CAAC;CAC7D;AAGD,oBAAY,qCAAqC,GAAG;IAChD,kBAAkB,EAAE,uCAAuC,CAAC;CAC/D,GAAG,6BAA6B,CAAC"}
@@ -21,6 +21,13 @@ interface IPrimerLineItem {
21
21
  export declare type PrimerOrder = IPrimerOrder;
22
22
  interface IPrimerOrder {
23
23
  countryCode?: string;
24
+ shipping?: IPrimerShipping;
25
+ }
26
+ interface IPrimerShipping {
27
+ amount?: number;
28
+ methodId?: string;
29
+ methodName?: string;
30
+ methodDescription?: string;
24
31
  }
25
32
  export declare type PrimerCustomer = IPrimerCustomer;
26
33
  interface IPrimerCustomer {
@@ -1 +1 @@
1
- {"version":3,"file":"PrimerClientSession.d.ts","sourceRoot":"","sources":["../../../src/models/PrimerClientSession.ts"],"names":[],"mappings":"AAAA,oBAAY,mBAAmB,GAAG,oBAAoB,CAAC;AAEvD,UAAU,oBAAoB;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC;IAC9B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED,oBAAY,cAAc,GAAG,eAAe,CAAC;AAE7C,UAAU,eAAe;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,oBAAY,WAAW,GAAG,YAAY,CAAC;AAEvC,UAAU,YAAY;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,oBAAY,cAAc,GAAG,eAAe,CAAC;AAE7C,UAAU,eAAe;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,eAAe,CAAC,EAAE,cAAc,CAAC;CACpC;AAED,oBAAY,aAAa,GAAG,cAAc,CAAC;AAE3C,UAAU,cAAc;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB"}
1
+ {"version":3,"file":"PrimerClientSession.d.ts","sourceRoot":"","sources":["../../../src/models/PrimerClientSession.ts"],"names":[],"mappings":"AAAA,oBAAY,mBAAmB,GAAG,oBAAoB,CAAC;AAEvD,UAAU,oBAAoB;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC;IAC9B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED,oBAAY,cAAc,GAAG,eAAe,CAAC;AAE7C,UAAU,eAAe;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,oBAAY,WAAW,GAAG,YAAY,CAAC;AAEvC,UAAU,YAAY;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED,UAAU,eAAe;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,oBAAY,cAAc,GAAG,eAAe,CAAC;AAE7C,UAAU,eAAe;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,eAAe,CAAC,EAAE,cAAc,CAAC;CACpC;AAED,oBAAY,aAAa,GAAG,cAAc,CAAC;AAE3C,UAAU,cAAc;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB"}
@@ -61,17 +61,37 @@ interface IPrimerPaymentMethodOptions {
61
61
  googlePayOptions?: IPrimerGooglePayOptions;
62
62
  klarnaOptions?: IPrimerKlarnaOptions;
63
63
  threeDsOptions?: IPrimerThreeDsOptions;
64
+ stripeOptions?: IPrimerStripeOptions;
64
65
  }
65
66
  interface IPrimerApayaOptions {
66
67
  webViewTitle: string;
67
68
  }
68
69
  interface IPrimerApplePayOptions {
69
70
  merchantIdentifier: string;
70
- merchantName: string;
71
+ /**
72
+ * @deprecated Use Client Session API to provide merchant name value: https://primer.io/docs/payment-methods/apple-pay/direct-integration#prepare-the-client-session
73
+ */
74
+ merchantName?: string;
71
75
  isCaptureBillingAddressEnabled?: boolean;
76
+ /**
77
+ * If you don't want to present the Apple Pay option when the device doesn't support it, set this to `false`.
78
+ * Default value is `true`.
79
+ */
72
80
  showApplePayForUnsupportedDevice?: boolean;
81
+ /**
82
+ * Due to reports about the Apple Pay flow not presenting because `canMakePayments(usingNetworks:)` was returning false
83
+ * when there were no cards in the Wallet, we introduced this flag to continue supporting the old behavior.
84
+ * Default value is `true`.
85
+ */
73
86
  checkProvidedNetworks?: boolean;
87
+ shippingOptions?: IShippingOptions;
88
+ }
89
+ interface IShippingOptions {
90
+ isCaptureShippingAddressEnabled: boolean;
91
+ additionalShippingContactFields?: AdditionalShippingContactField[];
92
+ requireShippingMethod: boolean;
74
93
  }
94
+ declare type AdditionalShippingContactField = 'name' | 'emailAddress' | 'phoneNumber';
75
95
  interface IPrimerCardPaymentOptions {
76
96
  is3DSOnVaultingEnabled: boolean;
77
97
  }
@@ -84,6 +104,12 @@ interface IPrimerGooglePayOptions {
84
104
  allowedCardNetworks?: string[];
85
105
  isCaptureBillingAddressEnabled?: boolean;
86
106
  isExistingPaymentMethodRequired?: boolean;
107
+ shippingAddressParameters?: IPrimerGoogleShippingAddressParameters;
108
+ requireShippingMethod?: boolean;
109
+ emailAddressRequired?: boolean;
110
+ }
111
+ interface IPrimerGoogleShippingAddressParameters {
112
+ isPhoneNumberRequired?: boolean;
87
113
  }
88
114
  interface IPrimerKlarnaOptions {
89
115
  recurringPaymentDescription?: string;
@@ -106,5 +132,18 @@ interface IPrimerThreeDsOptions {
106
132
  threeDsAppRequestorUrl?: string;
107
133
  };
108
134
  }
135
+ interface IPrimerStripeOptions {
136
+ publishableKey?: string;
137
+ mandateData?: IPrimerStripeTemplateMandateData | IPrimerFullMandateData;
138
+ }
139
+ interface IPrimerStripeMandateData {
140
+ }
141
+ interface IPrimerStripeTemplateMandateData extends IPrimerStripeMandateData {
142
+ merchantName: string;
143
+ }
144
+ interface IPrimerFullMandateData extends IPrimerStripeMandateData {
145
+ fullMandateText: string;
146
+ fullMandateStringResourceName?: string;
147
+ }
109
148
  export {};
110
149
  //# sourceMappingURL=PrimerSettings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PrimerSettings.d.ts","sourceRoot":"","sources":["../../../src/models/PrimerSettings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PrimerSettings.d.ts","sourceRoot":"","sources":["../../../src/models/PrimerSettings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { NamedComponentValidatableData } from "../NamedComponentValidatableData";
2
+ export declare type AchValidatableData = AchUserDetailsValidatableData;
3
+ export declare type AchUserDetailsValidatableData = AchFirstName | AchLastName | AchEmailAddress;
4
+ /**
5
+ * A type representing representing the customer's first name.
6
+ */
7
+ export declare type AchFirstName = {
8
+ validatableDataName: "firstName";
9
+ value: string;
10
+ } & NamedComponentValidatableData;
11
+ /**
12
+ * A type representing representing the customer's last name.
13
+ */
14
+ export declare type AchLastName = {
15
+ validatableDataName: "lastName";
16
+ value: string;
17
+ } & NamedComponentValidatableData;
18
+ /**
19
+ * A type representing representing the customer's email address.
20
+ */
21
+ export declare type AchEmailAddress = {
22
+ validatableDataName: "emailAddress";
23
+ value: string;
24
+ } & NamedComponentValidatableData;
25
+ //# sourceMappingURL=AchCollectableData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AchCollectableData.d.ts","sourceRoot":"","sources":["../../../../src/models/ach/AchCollectableData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AAEjF,oBAAY,kBAAkB,GAAG,6BAA6B,CAAA;AAE9D,oBAAY,6BAA6B,GAAG,YAAY,GAAG,WAAW,GAAG,eAAe,CAAA;AAExF;;GAEG;AACH,oBAAY,YAAY,GAAG;IACvB,mBAAmB,EAAE,WAAW,CAAC;IACjC,KAAK,EAAE,MAAM,CAAA;CAChB,GAAG,6BAA6B,CAAA;AAEjC;;GAEG;AACH,oBAAY,WAAW,GAAG;IACtB,mBAAmB,EAAE,UAAU,CAAC;IAChC,KAAK,EAAE,MAAM,CAAA;CAChB,GAAG,6BAA6B,CAAA;AAEjC;;GAEG;AACH,oBAAY,eAAe,GAAG;IAC1B,mBAAmB,EAAE,cAAc,CAAC;IACpC,KAAK,EAAE,MAAM,CAAA;CAChB,GAAG,6BAA6B,CAAA"}
@@ -0,0 +1,28 @@
1
+ import { NamedComponentStep } from "../NamedComponentStep";
2
+ export declare type AchStep = AchUserDetailsStep;
3
+ export declare type AchUserDetailsStep = UserDetailsRetrieved | UserDetailsCollected;
4
+ /**
5
+ * A type representing the retrieved user details.
6
+ */
7
+ export declare type UserDetailsRetrieved = {
8
+ stepName: "userDetailsRetrieved";
9
+ /**
10
+ * The first name previously sent on client session creation.
11
+ */
12
+ firstName: string;
13
+ /**
14
+ * The last name previously sent on client session creation.
15
+ */
16
+ lastName: string;
17
+ /**
18
+ * The email address previously sent on client session creation.
19
+ */
20
+ emailAddress: string;
21
+ } & NamedComponentStep;
22
+ /**
23
+ * A type representing the collected user details.
24
+ */
25
+ export declare type UserDetailsCollected = {
26
+ stepName: "userDetailsCollected";
27
+ } & NamedComponentStep;
28
+ //# sourceMappingURL=AchSteps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AchSteps.d.ts","sourceRoot":"","sources":["../../../../src/models/ach/AchSteps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,oBAAY,OAAO,GAAG,kBAAkB,CAAA;AAExC,oBAAY,kBAAkB,GAAG,oBAAoB,GAAG,oBAAoB,CAAA;AAE5E;;GAEG;AACH,oBAAY,oBAAoB,GAAG;IAC/B,QAAQ,EAAE,sBAAsB,CAAC;IACjC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAA;CACvB,GAAG,kBAAkB,CAAA;AAEtB;;GAEG;AACH,oBAAY,oBAAoB,GAAG;IAAE,QAAQ,EAAE,sBAAsB,CAAA;CAAE,GAAG,kBAAkB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@primer-io/react-native",
3
- "version": "2.26.3",
3
+ "version": "2.28.0-beta.1",
4
4
  "description": "Primer SDK for RN",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -16,5 +16,5 @@ Pod::Spec.new do |s|
16
16
  s.source_files = "ios/**/*.{h,m,mm,swift}"
17
17
 
18
18
  s.dependency "React-Core"
19
- s.dependency "PrimerSDK", "2.30.1"
19
+ s.dependency "PrimerSDK", "2.32.0-express-checkout.1"
20
20
  end
@@ -0,0 +1,158 @@
1
+ import {
2
+ NativeEventEmitter,
3
+ NativeModules,
4
+ EmitterSubscription,
5
+ } from 'react-native';
6
+ import { PrimerComponentDataValidationError, PrimerInvalidComponentData, PrimerValidComponentData, PrimerValidatingComponentData } from 'src/models/PrimerComponentDataValidation';
7
+ import { PrimerError } from 'src/models/PrimerError';
8
+ import { EventType, eventTypes } from './Utils/EventType';
9
+ import { AchStep, UserDetailsRetrieved } from 'src/models/ach/AchSteps';
10
+ import { AchValidatableData } from 'src/models/ach/AchCollectableData';
11
+
12
+ const { RNTPrimerHeadlessUniversalCheckoutStripeAchUserDetailsComponent } = NativeModules;
13
+
14
+ const eventEmitter = new NativeEventEmitter(RNTPrimerHeadlessUniversalCheckoutStripeAchUserDetailsComponent);
15
+ export interface AchManagerProps {
16
+ paymentMethodType: string;
17
+ onStep?: (data: AchStep) => void;
18
+ onError?: (error: PrimerError) => void;
19
+ onInvalid?: (data: PrimerInvalidComponentData<AchValidatableData>) => void;
20
+ onValid?: (data: PrimerValidComponentData<AchValidatableData>) => void;
21
+ onValidating?: (data: PrimerValidatingComponentData<AchValidatableData>) => void;
22
+ onValidationError?: (data: PrimerComponentDataValidationError<AchValidatableData>) => void;
23
+ }
24
+
25
+ export interface StripeAchUserDetailsComponent {
26
+ /**
27
+ * Starts the component, causing the {@link UserDetailsRetrieved} step
28
+ * to be emitted.
29
+ */
30
+ start(): Promise<void>;
31
+
32
+ /**
33
+ * Sets the customer's first name.
34
+ * @param value The customer's first name.
35
+ */
36
+ handleFirstNameChange(value: String): Promise<void>;
37
+
38
+ /**
39
+ * Sets the customer's last name.
40
+ * @param value The customer's last name.
41
+ */
42
+ handleLastNameChange(value: String): Promise<void>;
43
+
44
+ /**
45
+ * Sets the customer's email address.
46
+ * @param value The customer's email address.
47
+ */
48
+ handleEmailAddressChange(value: String): Promise<void>;
49
+
50
+ /**
51
+ * Submits the component, initiating the payment authorization process.
52
+ * This function should only be called after setting the customer first name,
53
+ * last name and email address.
54
+ */
55
+ submit(): Promise<void>;
56
+ }
57
+
58
+ export class PrimerHeadlessUniversalCheckoutAchManager {
59
+ ///////////////////////////////////////////
60
+ // Init
61
+ ///////////////////////////////////////////
62
+ constructor() { }
63
+
64
+ ///////////////////////////////////////////
65
+ // API
66
+ ///////////////////////////////////////////
67
+
68
+ async provide(props: AchManagerProps): Promise<StripeAchUserDetailsComponent | any> {
69
+ await this.configureListeners(props);
70
+
71
+ if (props.paymentMethodType == "STRIPE_ACH") {
72
+ const component: StripeAchUserDetailsComponent = {
73
+ start: async () => {
74
+ RNTPrimerHeadlessUniversalCheckoutStripeAchUserDetailsComponent.start();
75
+ },
76
+ submit: async () => {
77
+ RNTPrimerHeadlessUniversalCheckoutStripeAchUserDetailsComponent.submit();
78
+ },
79
+ handleFirstNameChange: async (value: String) => {
80
+ RNTPrimerHeadlessUniversalCheckoutStripeAchUserDetailsComponent.onSetFirstName(value);
81
+ },
82
+ handleLastNameChange: async (value: String) => {
83
+ RNTPrimerHeadlessUniversalCheckoutStripeAchUserDetailsComponent.onSetLastName(value);
84
+ },
85
+ handleEmailAddressChange: async (value: String) => {
86
+ RNTPrimerHeadlessUniversalCheckoutStripeAchUserDetailsComponent.onSetEmailAddress(value);
87
+ }
88
+ }
89
+ await RNTPrimerHeadlessUniversalCheckoutStripeAchUserDetailsComponent.configure();
90
+ return component;
91
+ } else {
92
+ return null;
93
+ }
94
+ }
95
+
96
+ private async configureListeners(props: AchManagerProps): Promise<void> {
97
+ if (props?.onStep) {
98
+ this.addListener('onStep', (data) => {
99
+ props.onStep?.(data);
100
+ });
101
+ }
102
+
103
+ if (props?.onInvalid) {
104
+ this.addListener('onInvalid', (data) => {
105
+ props.onInvalid?.(data);
106
+ });
107
+ }
108
+
109
+ if (props?.onError) {
110
+ this.addListener('onError', (data) => {
111
+ props.onError?.(data);
112
+ });
113
+ }
114
+
115
+ if (props?.onValid) {
116
+ this.addListener('onValid', (data) => {
117
+ props.onValid?.(data);
118
+ });
119
+ }
120
+
121
+ if (props?.onValidating) {
122
+ this.addListener('onValidating', (data) => {
123
+ props.onValidating?.(data);
124
+ });
125
+ }
126
+
127
+ if (props?.onValidationError) {
128
+ this.addListener('onValidationError', (data) => {
129
+ props.onValidationError?.(data);
130
+ });
131
+ }
132
+ }
133
+
134
+ ///////////////////////////////////////////
135
+ // HELPERS
136
+ ///////////////////////////////////////////
137
+
138
+ async addListener(
139
+ eventType: EventType,
140
+ listener: (...args: any[]) => any
141
+ ): Promise<EmitterSubscription> {
142
+ return eventEmitter.addListener(eventType, listener);
143
+ }
144
+
145
+ removeListener(subscription: EmitterSubscription): void {
146
+ return subscription.remove();
147
+ }
148
+
149
+ removeAllListenersForEvent(eventType: EventType) {
150
+ eventEmitter.removeAllListeners(eventType);
151
+ }
152
+
153
+ removeAllListeners() {
154
+ eventTypes.forEach((eventType) =>
155
+ this.removeAllListenersForEvent(eventType)
156
+ );
157
+ }
158
+ }
@@ -0,0 +1,32 @@
1
+ import {
2
+ NativeModules
3
+ } from 'react-native';
4
+
5
+ const { RNTAchMandateManager } = NativeModules;
6
+
7
+ export class PrimerHeadlessUniversalCheckoutAchMandateManager {
8
+ ///////////////////////////////////////////
9
+ // Init
10
+ ///////////////////////////////////////////
11
+ constructor() { }
12
+
13
+ ///////////////////////////////////////////
14
+ // API
15
+ ///////////////////////////////////////////
16
+
17
+ /**
18
+ * Accepts the ACH mandate, completing the payment.
19
+ */
20
+ async acceptMandate(): Promise<void> {
21
+ console.log("Accepting mandate");
22
+ await RNTAchMandateManager.acceptMandate();
23
+ }
24
+
25
+ /**
26
+ * Declines the ACH mandate, cancelling the payment.
27
+ */
28
+ async declineMandate(): Promise<void> {
29
+ console.log("Declining mandate");
30
+ await RNTAchMandateManager.declineMandate();
31
+ }
32
+ }
package/src/index.tsx CHANGED
@@ -76,6 +76,14 @@ import { PaymentSessionCreated, PaymentSessionAuthorized, PaymentSessionFinalize
76
76
  export { PaymentSessionCreated, PaymentSessionAuthorized, PaymentSessionFinalized, PaymentViewLoaded, KlarnaPaymentStep };
77
77
  import { PrimerKlarnaPaymentView } from './HeadlessUniversalCheckout/Components/PrimerKlarnaPaymentView'
78
78
  export { PrimerKlarnaPaymentView }
79
+ import { UserDetailsRetrieved, UserDetailsCollected, AchStep } from './models/ach/AchSteps';
80
+ export { UserDetailsRetrieved as CollectUserDetails, UserDetailsCollected, AchStep }
81
+ import { AchFirstName, AchLastName, AchEmailAddress, AchValidatableData } from './models/ach/AchCollectableData';
82
+ export { AchFirstName, AchLastName, AchEmailAddress, AchValidatableData };
83
+ import { PrimerHeadlessUniversalCheckoutAchManager, StripeAchUserDetailsComponent, AchManagerProps } from './HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager';
84
+ export { PrimerHeadlessUniversalCheckoutAchManager as AchManager, StripeAchUserDetailsComponent, AchManagerProps };
85
+ import { PrimerHeadlessUniversalCheckoutAchMandateManager } from './HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager';
86
+ export { PrimerHeadlessUniversalCheckoutAchMandateManager as AchMandateManager };
79
87
 
80
88
  import { PrimerHeadlessUniversalCheckoutComponentWithRedirectManager, BanksComponent, ComponentWithRedirectManagerProps } from './HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager';
81
89
  export { PrimerHeadlessUniversalCheckoutComponentWithRedirectManager as ComponentWithRedirectManager, BanksComponent, ComponentWithRedirectManagerProps };
@@ -1,35 +1,49 @@
1
1
  export type PrimerCheckoutAdditionalInfo = IPrimerCheckoutAdditionalInfo;
2
2
 
3
- interface IPrimerCheckoutAdditionalInfo {}
3
+ interface IPrimerCheckoutAdditionalInfo {
4
+ /**
5
+ * The name of this additional info.
6
+ */
7
+ additionalInfoName: string
8
+ }
4
9
 
5
- export type MultibancoCheckoutAdditionalInfo = IMultibancoCheckoutAdditionalInfo;
6
10
 
11
+ export type MultibancoCheckoutAdditionalInfo = IMultibancoCheckoutAdditionalInfo;
7
12
  interface IMultibancoCheckoutAdditionalInfo extends IPrimerCheckoutAdditionalInfo {
8
13
  expiresAt?: string;
9
14
  entity?: string;
10
15
  reference?: string;
16
+ additionalInfoName: "MultibancoCheckoutAdditionalInfo";
11
17
  }
12
18
 
19
+
13
20
  export type PrimerCheckoutQRCodeInfo = IPrimerCheckoutQRCodeInfo;
14
21
 
15
22
  interface IPrimerCheckoutQRCodeInfo extends IPrimerCheckoutAdditionalInfo {}
16
23
 
17
24
  export type PromptPayCheckoutAdditionalInfo = IPromptPayCheckoutAdditionalInfo;
18
-
19
25
  interface IPromptPayCheckoutAdditionalInfo extends IPrimerCheckoutQRCodeInfo {
20
26
  expiresAt: string;
21
27
  qrCodeUrl?: string;
22
28
  qrCodeBase64?: string;
29
+ additionalInfoName: "PromptPayCheckoutAdditionalInfo";
23
30
  }
24
31
 
32
+
25
33
  export type PrimerCheckoutVoucherAdditionalInfo = IPrimerCheckoutVoucherAdditionalInfo;
26
34
 
27
35
  interface IPrimerCheckoutVoucherAdditionalInfo extends IPrimerCheckoutAdditionalInfo {}
28
36
 
29
- export type XenditCheckoutVoucherAdditionalInfo = IXenditCheckoutVoucherAdditionalInfo;
30
37
 
38
+ export type XenditCheckoutVoucherAdditionalInfo = IXenditCheckoutVoucherAdditionalInfo;
31
39
  interface IXenditCheckoutVoucherAdditionalInfo extends IPrimerCheckoutVoucherAdditionalInfo {
32
40
  expiresAt: string;
33
41
  couponCode: string;
34
42
  retailerName: string;
35
- }
43
+ additionalInfoName: "XenditCheckoutVoucherAdditionalInfo";
44
+ }
45
+
46
+
47
+ export type DisplayStripeAchMandateAdditionalInfo = {
48
+ additionalInfoName: "DisplayStripeAchMandateAdditionalInfo";
49
+ } & IPrimerCheckoutAdditionalInfo;
@@ -26,6 +26,14 @@ export type PrimerOrder = IPrimerOrder;
26
26
 
27
27
  interface IPrimerOrder {
28
28
  countryCode?: string;
29
+ shipping?: IPrimerShipping;
30
+ }
31
+
32
+ interface IPrimerShipping {
33
+ amount?: number;
34
+ methodId?: string;
35
+ methodName?: string;
36
+ methodDescription?: string;
29
37
  }
30
38
 
31
39
  export type PrimerCustomer = IPrimerCustomer;
@@ -50,4 +58,4 @@ interface IPrimerAddress {
50
58
  city?: string;
51
59
  state?: string;
52
60
  countryCode?: string;
53
- }
61
+ }
@@ -85,6 +85,7 @@ interface IPrimerPaymentMethodOptions {
85
85
  googlePayOptions?: IPrimerGooglePayOptions;
86
86
  klarnaOptions?: IPrimerKlarnaOptions;
87
87
  threeDsOptions?: IPrimerThreeDsOptions;
88
+ stripeOptions?: IPrimerStripeOptions;
88
89
  }
89
90
 
90
91
  interface IPrimerApayaOptions {
@@ -93,11 +94,30 @@ interface IPrimerApayaOptions {
93
94
 
94
95
  interface IPrimerApplePayOptions {
95
96
  merchantIdentifier: string;
96
- merchantName: string;
97
+ /**
98
+ * @deprecated Use Client Session API to provide merchant name value: https://primer.io/docs/payment-methods/apple-pay/direct-integration#prepare-the-client-session
99
+ */
100
+ merchantName?: string;
97
101
  isCaptureBillingAddressEnabled?: boolean;
102
+ /**
103
+ * If you don't want to present the Apple Pay option when the device doesn't support it, set this to `false`.
104
+ * Default value is `true`.
105
+ */
98
106
  showApplePayForUnsupportedDevice?: boolean;
107
+ /**
108
+ * Due to reports about the Apple Pay flow not presenting because `canMakePayments(usingNetworks:)` was returning false
109
+ * when there were no cards in the Wallet, we introduced this flag to continue supporting the old behavior.
110
+ * Default value is `true`.
111
+ */
99
112
  checkProvidedNetworks?: boolean;
113
+ shippingOptions?: IShippingOptions;
100
114
  }
115
+ interface IShippingOptions {
116
+ isCaptureShippingAddressEnabled: boolean;
117
+ additionalShippingContactFields?: AdditionalShippingContactField[];
118
+ requireShippingMethod: boolean;
119
+ }
120
+ type AdditionalShippingContactField = 'name' | 'emailAddress' | 'phoneNumber';
101
121
 
102
122
  interface IPrimerCardPaymentOptions {
103
123
  is3DSOnVaultingEnabled: boolean;
@@ -113,6 +133,13 @@ interface IPrimerGooglePayOptions {
113
133
  allowedCardNetworks?: string[];
114
134
  isCaptureBillingAddressEnabled?: boolean;
115
135
  isExistingPaymentMethodRequired?: boolean;
136
+ shippingAddressParameters?: IPrimerGoogleShippingAddressParameters;
137
+ requireShippingMethod?: boolean;
138
+ emailAddressRequired?: boolean;
139
+ }
140
+
141
+ interface IPrimerGoogleShippingAddressParameters {
142
+ isPhoneNumberRequired?: boolean;
116
143
  }
117
144
 
118
145
  interface IPrimerKlarnaOptions {
@@ -145,3 +172,21 @@ interface IPrimerThreeDsOptions {
145
172
  threeDsAppRequestorUrl?: string;
146
173
  };
147
174
  }
175
+
176
+ //----------------------------------------
177
+
178
+ interface IPrimerStripeOptions {
179
+ publishableKey?: string;
180
+ mandateData?: IPrimerStripeTemplateMandateData | IPrimerFullMandateData;
181
+ }
182
+
183
+ interface IPrimerStripeMandateData {}
184
+
185
+ interface IPrimerStripeTemplateMandateData extends IPrimerStripeMandateData {
186
+ merchantName: string;
187
+ }
188
+
189
+ interface IPrimerFullMandateData extends IPrimerStripeMandateData {
190
+ fullMandateText: string;
191
+ fullMandateStringResourceName?: string;
192
+ }
@@ -0,0 +1,29 @@
1
+ import { NamedComponentValidatableData } from "../NamedComponentValidatableData";
2
+
3
+ export type AchValidatableData = AchUserDetailsValidatableData
4
+
5
+ export type AchUserDetailsValidatableData = AchFirstName | AchLastName | AchEmailAddress
6
+
7
+ /**
8
+ * A type representing representing the customer's first name.
9
+ */
10
+ export type AchFirstName = {
11
+ validatableDataName: "firstName",
12
+ value: string
13
+ } & NamedComponentValidatableData
14
+
15
+ /**
16
+ * A type representing representing the customer's last name.
17
+ */
18
+ export type AchLastName = {
19
+ validatableDataName: "lastName",
20
+ value: string
21
+ } & NamedComponentValidatableData
22
+
23
+ /**
24
+ * A type representing representing the customer's email address.
25
+ */
26
+ export type AchEmailAddress = {
27
+ validatableDataName: "emailAddress",
28
+ value: string
29
+ } & NamedComponentValidatableData
@@ -0,0 +1,29 @@
1
+ import { NamedComponentStep } from "../NamedComponentStep";
2
+
3
+ export type AchStep = AchUserDetailsStep
4
+
5
+ export type AchUserDetailsStep = UserDetailsRetrieved | UserDetailsCollected
6
+
7
+ /**
8
+ * A type representing the retrieved user details.
9
+ */
10
+ export type UserDetailsRetrieved = {
11
+ stepName: "userDetailsRetrieved",
12
+ /**
13
+ * The first name previously sent on client session creation.
14
+ */
15
+ firstName: string,
16
+ /**
17
+ * The last name previously sent on client session creation.
18
+ */
19
+ lastName: string,
20
+ /**
21
+ * The email address previously sent on client session creation.
22
+ */
23
+ emailAddress: string
24
+ } & NamedComponentStep
25
+
26
+ /**
27
+ * A type representing the collected user details.
28
+ */
29
+ export type UserDetailsCollected = { stepName: "userDetailsCollected" } & NamedComponentStep;