@primer-io/react-native 2.28.0-beta.1 → 2.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/.settings/org.eclipse.buildship.core.prefs +2 -2
- package/android/build.gradle +1 -1
- package/android/src/main/java/com/primerioreactnative/PrimerRNEventListener.kt +4 -4
- package/android/src/main/java/com/primerioreactnative/PrimerRNHeadlessUniversalCheckout.kt +1 -1
- package/android/src/main/java/com/primerioreactnative/PrimerRNHeadlessUniversalCheckoutListener.kt +5 -5
- package/android/src/main/java/com/primerioreactnative/ReactNativePackage.kt +8 -2
- package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/cardRedirect/PrimerRNCardRedirectData.kt +1 -1
- package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/phoneNumber/PrimerRNPhoneNumberData.kt +1 -1
- package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/retailOutlets/PrimerRNRetailOutletData.kt +1 -1
- package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/retailOutlets/RNRetailOutletsList.kt +1 -1
- package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/{asset/PrimerRNAsset.kt → resource/Resources.kt} +41 -9
- package/android/src/main/java/com/primerioreactnative/components/manager/NativeViewContainer.kt +35 -0
- package/android/src/main/java/com/primerioreactnative/components/manager/ach/PrimerRNHeadlessUniversalCheckoutStripeAchUserDetailsComponent.kt +4 -4
- package/android/src/main/java/com/primerioreactnative/components/manager/asset/PrimerRNHeadlessUniversalCheckoutAssetManager.kt +84 -2
- package/android/src/main/java/com/primerioreactnative/components/manager/banks/PrimerRNHeadlessUniversalCheckoutBanksComponent.kt +1 -1
- package/android/src/main/java/com/primerioreactnative/components/manager/googlePay/PrimerGooglePayButtonConstantsModule.kt +39 -0
- package/android/src/main/java/com/primerioreactnative/components/manager/googlePay/PrimerGooglePayButtonManager.kt +38 -0
- package/android/src/main/java/com/primerioreactnative/components/manager/klarna/PrimerKlarnaPaymentViewManager.kt +15 -78
- package/android/src/main/java/com/primerioreactnative/components/manager/klarna/PrimerRNHeadlessUniversalCheckoutKlarnaComponent.kt +4 -4
- package/android/src/main/java/com/primerioreactnative/components/manager/nativeUi/PrimerRNHeadlessUniversalCheckoutNativeUiManager.kt +1 -1
- package/android/src/main/java/com/primerioreactnative/components/manager/raw/PrimerRNHeadlessUniversalCheckoutRawManager.kt +2 -2
- package/android/src/main/java/com/primerioreactnative/components/manager/raw/PrimerRNHeadlessUniversalCheckoutRawManagerListener.kt +1 -1
- package/android/src/main/java/com/primerioreactnative/datamodels/PrimerClientSessionRN.kt +1 -1
- package/android/src/main/java/com/primerioreactnative/datamodels/PrimerErrorRN.kt +1 -1
- package/android/src/main/java/com/primerioreactnative/datamodels/PrimerPaymentInstrumentTokenRN.kt +5 -10
- package/android/src/main/java/com/primerioreactnative/datamodels/PrimerSettingsRN.kt +49 -37
- package/android/src/main/java/com/primerioreactnative/datamodels/extensions/ach/AchUserDetailsCollectableData.kt +1 -1
- package/android/src/main/java/com/primerioreactnative/datamodels/extensions/ach/AchUserDetailsStep.kt +1 -1
- package/android/src/main/java/com/primerioreactnative/extensions/PaymentInstrumentData.kt +29 -16
- package/android/src/main/java/com/primerioreactnative/extensions/PrimerCheckoutAdditionalInfo.kt +7 -7
- package/android/src/main/java/com/primerioreactnative/extensions/PrimerIssuingBank.kt +1 -1
- package/android/src/main/java/com/primerioreactnative/extensions/PrimerOrder.kt +4 -2
- package/android/src/main/java/com/primerioreactnative/extensions/PrimerPaymentMethodOptionsRN.kt +48 -35
- package/android/src/main/java/com/primerioreactnative/extensions/PrimerUIOptionsRN.kt +11 -0
- package/android/src/main/java/com/primerioreactnative/extensions/klarna/KlarnaPaymentCategory.kt +1 -1
- package/android/src/main/java/com/primerioreactnative/extensions/klarna/KlarnaPaymentCategoryRN.kt +1 -1
- package/android/src/main/java/com/primerioreactnative/extensions/klarna/KlarnaPaymentCollectableData.kt +2 -2
- package/android/src/main/java/com/primerioreactnative/extensions/klarna/KlarnaPaymentStep.kt +4 -4
- package/ios/Sources/DataModels/PrimerSettings+Extensions.swift +50 -7
- package/ios/Sources/Headless Universal Checkout/Managers/Assets Manager/RNTAssetsManager.m +7 -0
- package/ios/Sources/Headless Universal Checkout/Managers/Assets Manager/RNTAssetsManager.swift +162 -88
- package/ios/Sources/version.swift +1 -1
- package/lib/commonjs/HeadlessUniversalCheckout/Components/NativeResourceView.js +30 -0
- package/lib/commonjs/HeadlessUniversalCheckout/Components/NativeResourceView.js.map +1 -0
- package/lib/commonjs/HeadlessUniversalCheckout/Components/PrimerGooglePayButton.js +9 -0
- package/lib/commonjs/HeadlessUniversalCheckout/Components/PrimerGooglePayButton.js.map +1 -0
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/AssetsManager.js +32 -0
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/AssetsManager.js.map +1 -1
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.js +6 -0
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.js.map +1 -1
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.js +6 -0
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.js.map +1 -1
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/VaultManager.js +24 -1
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/VaultManager.js.map +1 -1
- package/lib/commonjs/index.js +20 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/models/PrimerPaymentMethodResource.js +2 -0
- package/lib/{module/models/PrimerAsset.js.map → commonjs/models/PrimerPaymentMethodResource.js.map} +1 -1
- package/lib/module/HeadlessUniversalCheckout/Components/NativeResourceView.js +22 -0
- package/lib/module/HeadlessUniversalCheckout/Components/NativeResourceView.js.map +1 -0
- package/lib/module/HeadlessUniversalCheckout/Components/PrimerGooglePayButton.js +3 -0
- package/lib/module/HeadlessUniversalCheckout/Components/PrimerGooglePayButton.js.map +1 -0
- package/lib/module/HeadlessUniversalCheckout/Managers/AssetsManager.js +32 -0
- package/lib/module/HeadlessUniversalCheckout/Managers/AssetsManager.js.map +1 -1
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.js +6 -0
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.js.map +1 -1
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.js +6 -0
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.js.map +1 -1
- package/lib/module/HeadlessUniversalCheckout/Managers/VaultManager.js +24 -1
- package/lib/module/HeadlessUniversalCheckout/Managers/VaultManager.js.map +1 -1
- package/lib/module/index.js +6 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/models/PrimerPaymentMethodResource.js +2 -0
- package/lib/{commonjs/models/PrimerAsset.js.map → module/models/PrimerPaymentMethodResource.js.map} +1 -1
- package/lib/typescript/HeadlessUniversalCheckout/Components/NativeResourceView.d.ts +11 -0
- package/lib/typescript/HeadlessUniversalCheckout/Components/NativeResourceView.d.ts.map +1 -0
- package/lib/typescript/HeadlessUniversalCheckout/Components/PrimerGooglePayButton.d.ts +6 -0
- package/lib/typescript/HeadlessUniversalCheckout/Components/PrimerGooglePayButton.d.ts.map +1 -0
- package/lib/typescript/HeadlessUniversalCheckout/Managers/AssetsManager.d.ts +10 -1
- package/lib/typescript/HeadlessUniversalCheckout/Managers/AssetsManager.d.ts.map +1 -1
- package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.d.ts +16 -1
- package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.d.ts.map +1 -1
- package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.d.ts +14 -1
- package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.d.ts.map +1 -1
- package/lib/typescript/HeadlessUniversalCheckout/Managers/VaultManager.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +8 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/models/PrimerPaymentMethodResource.d.ts +19 -0
- package/lib/typescript/models/PrimerPaymentMethodResource.d.ts.map +1 -0
- package/lib/typescript/models/PrimerPaymentMethodTokenData.d.ts +10 -49
- package/lib/typescript/models/PrimerPaymentMethodTokenData.d.ts.map +1 -1
- package/lib/typescript/models/PrimerSettings.d.ts +17 -4
- package/lib/typescript/models/PrimerSettings.d.ts.map +1 -1
- package/package.json +1 -1
- package/primer-io-react-native.podspec +1 -1
- package/src/HeadlessUniversalCheckout/Components/NativeResourceView.tsx +31 -0
- package/src/HeadlessUniversalCheckout/Components/PrimerGooglePayButton.tsx +8 -0
- package/src/HeadlessUniversalCheckout/Managers/AssetsManager.ts +34 -1
- package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.ts +24 -1
- package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.ts +22 -1
- package/src/HeadlessUniversalCheckout/Managers/VaultManager.ts +22 -1
- package/src/index.tsx +9 -3
- package/src/models/PrimerPaymentMethodResource.ts +21 -0
- package/src/models/PrimerPaymentMethodTokenData.ts +10 -53
- package/src/models/PrimerSettings.ts +20 -5
- package/lib/commonjs/models/PrimerAsset.js +0 -2
- package/lib/module/models/PrimerAsset.js +0 -2
- package/lib/typescript/models/PrimerAsset.d.ts +0 -15
- package/lib/typescript/models/PrimerAsset.d.ts.map +0 -1
- package/src/models/PrimerAsset.ts +0 -14
|
@@ -72,7 +72,10 @@ interface IPrimerApplePayOptions {
|
|
|
72
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
73
|
*/
|
|
74
74
|
merchantName?: string;
|
|
75
|
-
|
|
75
|
+
/**
|
|
76
|
+
* @deprecated Use BillingOptions to configure required billing fields.
|
|
77
|
+
*/
|
|
78
|
+
isCaptureBillingAddressEnabled: boolean;
|
|
76
79
|
/**
|
|
77
80
|
* If you don't want to present the Apple Pay option when the device doesn't support it, set this to `false`.
|
|
78
81
|
* Default value is `true`.
|
|
@@ -85,13 +88,16 @@ interface IPrimerApplePayOptions {
|
|
|
85
88
|
*/
|
|
86
89
|
checkProvidedNetworks?: boolean;
|
|
87
90
|
shippingOptions?: IShippingOptions;
|
|
91
|
+
billingOptions?: IBillingOptions;
|
|
88
92
|
}
|
|
89
93
|
interface IShippingOptions {
|
|
90
|
-
|
|
91
|
-
additionalShippingContactFields?: AdditionalShippingContactField[];
|
|
94
|
+
shippingContactFields?: RequiredContactField[];
|
|
92
95
|
requireShippingMethod: boolean;
|
|
93
96
|
}
|
|
94
|
-
|
|
97
|
+
interface IBillingOptions {
|
|
98
|
+
requiredBillingContactFields?: RequiredContactField[];
|
|
99
|
+
}
|
|
100
|
+
declare type RequiredContactField = 'name' | 'emailAddress' | 'phoneNumber' | 'postalAddress';
|
|
95
101
|
interface IPrimerCardPaymentOptions {
|
|
96
102
|
is3DSOnVaultingEnabled: boolean;
|
|
97
103
|
}
|
|
@@ -107,6 +113,11 @@ interface IPrimerGooglePayOptions {
|
|
|
107
113
|
shippingAddressParameters?: IPrimerGoogleShippingAddressParameters;
|
|
108
114
|
requireShippingMethod?: boolean;
|
|
109
115
|
emailAddressRequired?: boolean;
|
|
116
|
+
buttonOptions?: IPrimerGooglePayButtonOptions;
|
|
117
|
+
}
|
|
118
|
+
interface IPrimerGooglePayButtonOptions {
|
|
119
|
+
buttonType?: number;
|
|
120
|
+
buttonTheme?: number;
|
|
110
121
|
}
|
|
111
122
|
interface IPrimerGoogleShippingAddressParameters {
|
|
112
123
|
isPhoneNumberRequired?: boolean;
|
|
@@ -119,8 +130,10 @@ interface IPrimerUIOptions {
|
|
|
119
130
|
isInitScreenEnabled?: boolean;
|
|
120
131
|
isSuccessScreenEnabled?: boolean;
|
|
121
132
|
isErrorScreenEnabled?: boolean;
|
|
133
|
+
dismissalMechanism?: DismissalMechanism[];
|
|
122
134
|
theme?: IPrimerTheme;
|
|
123
135
|
}
|
|
136
|
+
export declare type DismissalMechanism = 'gestures' | 'closeButton';
|
|
124
137
|
interface IPrimerDebugOptions {
|
|
125
138
|
is3DSSanityCheckEnabled?: boolean;
|
|
126
139
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrimerSettings.d.ts","sourceRoot":"","sources":["../../../src/models/PrimerSettings.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PrimerSettings.d.ts","sourceRoot":"","sources":["../../../src/models/PrimerSettings.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { GestureResponderEvent, StyleSheet, TouchableOpacity, ViewStyle, NativeModules } from "react-native";
|
|
2
|
+
import { PrimerGooglePayButton } from "./PrimerGooglePayButton";
|
|
3
|
+
import React from "react";
|
|
4
|
+
|
|
5
|
+
interface NativeResourceViewProps {
|
|
6
|
+
nativeViewName: string;
|
|
7
|
+
style?: ViewStyle;
|
|
8
|
+
onPress?: (event: GestureResponderEvent) => void;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export const NativeResourceView: React.FC<NativeResourceViewProps> = ({
|
|
12
|
+
nativeViewName,
|
|
13
|
+
style,
|
|
14
|
+
onPress,
|
|
15
|
+
}) => {
|
|
16
|
+
return (
|
|
17
|
+
<TouchableOpacity onPress={onPress}>
|
|
18
|
+
{nativeViewName === 'PrimerGooglePayButton' ? (
|
|
19
|
+
<PrimerGooglePayButton style={[styles.defaultContainer, style]} />
|
|
20
|
+
) : null}
|
|
21
|
+
</TouchableOpacity>
|
|
22
|
+
);
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export const PrimerGooglePayButtonConstants = NativeModules.PrimerGooglePayButtonConstants?.getConstants();
|
|
26
|
+
|
|
27
|
+
const styles = StyleSheet.create({
|
|
28
|
+
defaultContainer: {
|
|
29
|
+
minHeight: 75
|
|
30
|
+
}
|
|
31
|
+
});
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Resource } from 'src';
|
|
2
|
+
import { IPrimerAsset as Asset } from '../../models/PrimerPaymentMethodResource';
|
|
2
3
|
import { NativeModules } from 'react-native';
|
|
3
4
|
|
|
4
5
|
const { RNTPrimerHeadlessUniversalCheckoutAssetsManager } = NativeModules;
|
|
@@ -26,6 +27,9 @@ class PrimerHeadlessUniversalCheckoutAssetsManager {
|
|
|
26
27
|
});
|
|
27
28
|
}
|
|
28
29
|
|
|
30
|
+
/**
|
|
31
|
+
* @deprecated Use getPaymentMethodResource instead
|
|
32
|
+
*/
|
|
29
33
|
async getPaymentMethodAsset(paymentMethodType: string): Promise<Asset> {
|
|
30
34
|
return new Promise(async (resolve, reject) => {
|
|
31
35
|
try {
|
|
@@ -39,6 +43,9 @@ class PrimerHeadlessUniversalCheckoutAssetsManager {
|
|
|
39
43
|
});
|
|
40
44
|
}
|
|
41
45
|
|
|
46
|
+
/**
|
|
47
|
+
* @deprecated Use getPaymentMethodResources instead
|
|
48
|
+
*/
|
|
42
49
|
async getPaymentMethodAssets(): Promise<Asset[]> {
|
|
43
50
|
return new Promise(async (resolve, reject) => {
|
|
44
51
|
try {
|
|
@@ -51,6 +58,32 @@ class PrimerHeadlessUniversalCheckoutAssetsManager {
|
|
|
51
58
|
}
|
|
52
59
|
});
|
|
53
60
|
}
|
|
61
|
+
|
|
62
|
+
async getPaymentMethodResources(): Promise<Resource[]> {
|
|
63
|
+
return new Promise(async (resolve, reject) => {
|
|
64
|
+
try {
|
|
65
|
+
const data = await RNTPrimerHeadlessUniversalCheckoutAssetsManager.getPaymentMethodResources();
|
|
66
|
+
const paymentMethodResources: Resource[] = data.paymentMethodResources;
|
|
67
|
+
resolve(paymentMethodResources);
|
|
68
|
+
} catch (err) {
|
|
69
|
+
console.error(err);
|
|
70
|
+
reject(err);
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
async getPaymentMethodResource(paymentMethodType: string): Promise<Resource> {
|
|
76
|
+
return new Promise(async (resolve, reject) => {
|
|
77
|
+
try {
|
|
78
|
+
const data = await RNTPrimerHeadlessUniversalCheckoutAssetsManager.getPaymentMethodResource(paymentMethodType);
|
|
79
|
+
const paymentMethodResource: Resource = data.paymentMethodResource;
|
|
80
|
+
resolve(paymentMethodResource);
|
|
81
|
+
} catch (err) {
|
|
82
|
+
console.error(err);
|
|
83
|
+
reject(err);
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
}
|
|
54
87
|
}
|
|
55
88
|
|
|
56
89
|
export default PrimerHeadlessUniversalCheckoutAssetsManager;
|
package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.ts
CHANGED
|
@@ -42,21 +42,38 @@ export interface BanksComponent {
|
|
|
42
42
|
* Selects the bank with the given {@link bankId}, triggering the
|
|
43
43
|
* validation flow.
|
|
44
44
|
* @param bankId The id of the selected bank.
|
|
45
|
+
* @deprecated use handleBankChange function instead.
|
|
45
46
|
*/
|
|
46
47
|
onBankSelected(bankId: string): Promise<void>;
|
|
47
48
|
|
|
49
|
+
/**
|
|
50
|
+
* Selects the bank with the given {@link bankId}, triggering the
|
|
51
|
+
* validation flow.
|
|
52
|
+
* @param bankId The id of the selected bank.
|
|
53
|
+
*/
|
|
54
|
+
handleBankChange(bankId: string): Promise<void>;
|
|
55
|
+
|
|
48
56
|
/**
|
|
49
57
|
* Filters down the bank list with the given {@link filter}, triggering
|
|
50
58
|
* the validation flow and a new step emission that contains the filtered
|
|
51
59
|
* list of banks in the form of an {@link IssuingBank} array.
|
|
52
60
|
* @param filter The text to filter the bank list by.
|
|
61
|
+
* @deprecated use handleBankFilterChange function instead.
|
|
53
62
|
*/
|
|
54
63
|
onBankFilterChange(filter: string): Promise<void>;
|
|
55
64
|
|
|
65
|
+
/**
|
|
66
|
+
* Filters down the bank list with the given {@link filter}, triggering
|
|
67
|
+
* the validation flow and a new step emission that contains the filtered
|
|
68
|
+
* list of banks in the form of an {@link IssuingBank} array.
|
|
69
|
+
* @param filter The text to filter the bank list by.
|
|
70
|
+
*/
|
|
71
|
+
handleBankFilterChange(filter: string): Promise<void>;
|
|
72
|
+
|
|
56
73
|
/**
|
|
57
74
|
* Submits the component, triggering tokenization and a redirect to the
|
|
58
75
|
* bank's page for finalizing the payment. This function should only be
|
|
59
|
-
* called after selecting a bank via {@link
|
|
76
|
+
* called after selecting a bank via {@link handleBankChange}.
|
|
60
77
|
*/
|
|
61
78
|
submit(): Promise<void>;
|
|
62
79
|
}
|
|
@@ -85,9 +102,15 @@ export class PrimerHeadlessUniversalCheckoutComponentWithRedirectManager {
|
|
|
85
102
|
onBankFilterChange: async (filter: String) => {
|
|
86
103
|
RNTPrimerHeadlessUniversalCheckoutBanksComponent.onBankFilterChange(filter);
|
|
87
104
|
},
|
|
105
|
+
handleBankFilterChange: async (filter: String) => {
|
|
106
|
+
RNTPrimerHeadlessUniversalCheckoutBanksComponent.onBankFilterChange(filter);
|
|
107
|
+
},
|
|
88
108
|
onBankSelected: async (bankId: String) => {
|
|
89
109
|
RNTPrimerHeadlessUniversalCheckoutBanksComponent.onBankSelected(bankId);
|
|
90
110
|
},
|
|
111
|
+
handleBankChange: async (bankId: String) => {
|
|
112
|
+
RNTPrimerHeadlessUniversalCheckoutBanksComponent.onBankSelected(bankId);
|
|
113
|
+
},
|
|
91
114
|
}
|
|
92
115
|
await RNTPrimerHeadlessUniversalCheckoutBanksComponent.configure(props.paymentMethodType);
|
|
93
116
|
return banksComponent;
|
|
@@ -35,18 +35,33 @@ export interface KlarnaComponent {
|
|
|
35
35
|
* triggering the validation flow.
|
|
36
36
|
* @param paymentOptions The options to use when initializing the Klarna
|
|
37
37
|
* payment view.
|
|
38
|
+
* @deprecated use handlePaymentOptionsChange function instead.
|
|
38
39
|
*/
|
|
39
40
|
onSetPaymentOptions(paymentOptions: KlarnaPaymentOptions): Promise<void>;
|
|
40
41
|
|
|
42
|
+
/**
|
|
43
|
+
* Sets the options to use when initializing the Klarna payment view,
|
|
44
|
+
* triggering the validation flow.
|
|
45
|
+
* @param paymentOptions The options to use when initializing the Klarna
|
|
46
|
+
* payment view.
|
|
47
|
+
*/
|
|
48
|
+
handlePaymentOptionsChange(paymentOptions: KlarnaPaymentOptions): Promise<void>;
|
|
49
|
+
|
|
41
50
|
/**
|
|
42
51
|
* Finalizes the payment.
|
|
52
|
+
* @deprecated use finalizePayment function instead.
|
|
43
53
|
*/
|
|
44
54
|
onFinalizePayment(): Promise<void>;
|
|
45
55
|
|
|
56
|
+
/**
|
|
57
|
+
* Finalizes the payment.
|
|
58
|
+
*/
|
|
59
|
+
finalizePayment(): Promise<void>;
|
|
60
|
+
|
|
46
61
|
/**
|
|
47
62
|
* Submits the component, initiating the payment authorization process.
|
|
48
63
|
* This function should only be called after setting the payment options
|
|
49
|
-
* {@link
|
|
64
|
+
* {@link handlePaymentOptionsChange}.
|
|
50
65
|
*/
|
|
51
66
|
submit(): Promise<void>;
|
|
52
67
|
}
|
|
@@ -74,9 +89,15 @@ export class PrimerHeadlessUniversalCheckoutKlarnaManager {
|
|
|
74
89
|
onSetPaymentOptions: async (paymentOptions: KlarnaPaymentOptions) => {
|
|
75
90
|
RNTPrimerHeadlessUniversalCheckoutKlarnaComponent.onSetPaymentOptions(paymentOptions);
|
|
76
91
|
},
|
|
92
|
+
handlePaymentOptionsChange: async (paymentOptions: KlarnaPaymentOptions) => {
|
|
93
|
+
RNTPrimerHeadlessUniversalCheckoutKlarnaComponent.onSetPaymentOptions(paymentOptions);
|
|
94
|
+
},
|
|
77
95
|
onFinalizePayment: async () => {
|
|
78
96
|
RNTPrimerHeadlessUniversalCheckoutKlarnaComponent.onFinalizePayment();
|
|
79
97
|
},
|
|
98
|
+
finalizePayment: async () => {
|
|
99
|
+
RNTPrimerHeadlessUniversalCheckoutKlarnaComponent.onFinalizePayment();
|
|
100
|
+
},
|
|
80
101
|
}
|
|
81
102
|
await RNTPrimerHeadlessUniversalCheckoutKlarnaComponent.configure(props.primerSessionIntent);
|
|
82
103
|
return klarnaComponent;
|
|
@@ -36,7 +36,8 @@ class PrimerHeadlessUniversalCheckoutVaultManager {
|
|
|
36
36
|
const data: PrimerVaultedPaymentMethodResult =
|
|
37
37
|
await RNPrimerHeadlessUniversalCheckoutVaultManager.fetchVaultedPaymentMethods();
|
|
38
38
|
const paymentMethods: VaultedPaymentMethod[] = data.paymentMethods;
|
|
39
|
-
|
|
39
|
+
const mappedPaymentMethods = sanitizePaymentMethods(paymentMethods);
|
|
40
|
+
resolve(mappedPaymentMethods);
|
|
40
41
|
} catch (err) {
|
|
41
42
|
console.error(err);
|
|
42
43
|
reject(err);
|
|
@@ -87,4 +88,24 @@ class PrimerHeadlessUniversalCheckoutVaultManager {
|
|
|
87
88
|
}
|
|
88
89
|
}
|
|
89
90
|
|
|
91
|
+
// Convert accountNumberLastFourDigits to accountNumberLast4Digits when present
|
|
92
|
+
// Overcomes an iOS limitation of toJsonObject()
|
|
93
|
+
function sanitizePaymentMethods(paymentMethods: VaultedPaymentMethod[]): VaultedPaymentMethod[] {
|
|
94
|
+
return paymentMethods.map(method => {
|
|
95
|
+
const unwrappedInstrumentData = method.paymentInstrumentData as any;
|
|
96
|
+
if (unwrappedInstrumentData?.accountNumberLastFourDigits !== undefined) {
|
|
97
|
+
const { accountNumberLastFourDigits, ...rest } = unwrappedInstrumentData;
|
|
98
|
+
return {
|
|
99
|
+
...method,
|
|
100
|
+
paymentInstrumentData: {
|
|
101
|
+
...rest,
|
|
102
|
+
accountNumberLast4Digits: accountNumberLastFourDigits
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
return method;
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
|
|
90
111
|
export default PrimerHeadlessUniversalCheckoutVaultManager;
|
package/src/index.tsx
CHANGED
|
@@ -34,10 +34,10 @@ export {
|
|
|
34
34
|
} from './models/PrimerCheckoutData';
|
|
35
35
|
export { PrimerCheckoutPaymentMethodData as CheckoutPaymentMethodData } from './models/PrimerCheckoutPaymentMethodData';
|
|
36
36
|
export { PrimerError } from './models/PrimerError';
|
|
37
|
-
export type {
|
|
37
|
+
export type { PrimerPaymentMethodAsset as Asset} from './models/PrimerPaymentMethodResource';
|
|
38
|
+
export type { IPrimerPaymentMethodResource as Resource, PrimerPaymentMethodAsset as AssetResource, PrimerPaymentMethodNativeView as NativeViewResource, IPrimerAsset as AssetResourceColors } from './models/PrimerPaymentMethodResource';
|
|
38
39
|
export { PrimerHeadlessUniversalCheckout as HeadlessUniversalCheckout } from './HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout';
|
|
39
40
|
export type { IPrimerHeadlessUniversalCheckoutPaymentMethod as PaymentMethod } from './models/PrimerHeadlessUniversalCheckoutPaymentMethod';
|
|
40
|
-
|
|
41
41
|
import PrimerHeadlessUniversalCheckoutAssetsManager from './HeadlessUniversalCheckout/Managers/AssetsManager';
|
|
42
42
|
export { PrimerHeadlessUniversalCheckoutAssetsManager as AssetsManager };
|
|
43
43
|
import PrimerHeadlessUniversalCheckoutPaymentMethodNativeUIManager from './HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager';
|
|
@@ -76,6 +76,12 @@ 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 { NativeResourceView } from './HeadlessUniversalCheckout/Components/NativeResourceView'
|
|
80
|
+
export { NativeResourceView }
|
|
81
|
+
import { PrimerGooglePayButtonConstants } from './HeadlessUniversalCheckout/Components/NativeResourceView'
|
|
82
|
+
export { PrimerGooglePayButtonConstants }
|
|
83
|
+
import { PrimerGooglePayButton } from './HeadlessUniversalCheckout/Components/PrimerGooglePayButton'
|
|
84
|
+
export { PrimerGooglePayButton }
|
|
79
85
|
import { UserDetailsRetrieved, UserDetailsCollected, AchStep } from './models/ach/AchSteps';
|
|
80
86
|
export { UserDetailsRetrieved as CollectUserDetails, UserDetailsCollected, AchStep }
|
|
81
87
|
import { AchFirstName, AchLastName, AchEmailAddress, AchValidatableData } from './models/ach/AchCollectableData';
|
|
@@ -94,4 +100,4 @@ export { BankId, BankListFilter, BanksValidatableData };
|
|
|
94
100
|
import { BanksLoading, BanksRetrieved, BanksStep } from './models/banks/BanksSteps';
|
|
95
101
|
export { BanksLoading, BanksRetrieved, BanksStep };
|
|
96
102
|
import { NamedComponentValidatableData } from './models/NamedComponentValidatableData';
|
|
97
|
-
export { NamedComponentValidatableData };
|
|
103
|
+
export { NamedComponentValidatableData };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export interface IPrimerPaymentMethodResource {
|
|
2
|
+
paymentMethodType: string;
|
|
3
|
+
paymentMethodName: string;
|
|
4
|
+
nativeViewName?: string;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export interface PrimerPaymentMethodAsset extends IPrimerPaymentMethodResource {
|
|
8
|
+
paymentMethodLogo: IPrimerAsset
|
|
9
|
+
paymentMethodBackgroundColor: IPrimerAsset
|
|
10
|
+
nativeViewName?: undefined
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export interface PrimerPaymentMethodNativeView extends IPrimerPaymentMethodResource {
|
|
14
|
+
nativeViewName: string
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export interface IPrimerAsset {
|
|
18
|
+
colored?: string;
|
|
19
|
+
dark?: string;
|
|
20
|
+
light?: string;
|
|
21
|
+
}
|
|
@@ -30,76 +30,33 @@ export interface IPrimerVaultData {
|
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
export interface IPrimerPaymentInstrumentData {
|
|
33
|
-
paypalBillingAgreementId?: string;
|
|
34
|
-
first6Digits?: string;
|
|
35
|
-
last4Digits?: string;
|
|
36
|
-
expirationMonth?: string;
|
|
37
|
-
expirationYear?: string;
|
|
38
|
-
cardholderName?: string;
|
|
39
33
|
network?: string;
|
|
40
|
-
|
|
34
|
+
cardholderName?: string;
|
|
35
|
+
first6Digits?: number;
|
|
36
|
+
last4Digits?: number;
|
|
37
|
+
accountNumberLast4Digits?: number;
|
|
38
|
+
expirationMonth?: number;
|
|
39
|
+
expirationYear?: number;
|
|
40
|
+
externalPayerInfo?: IExternalPayerInfo;
|
|
41
41
|
klarnaCustomerToken?: string;
|
|
42
|
-
|
|
43
42
|
sessionData?: IKlarnaSessionData;
|
|
44
|
-
|
|
45
|
-
shippingAddress?: IShippingAddress;
|
|
43
|
+
paymentMethodType?: string;
|
|
46
44
|
binData?: IBinData;
|
|
47
|
-
|
|
48
|
-
gocardlessMandateId?: string;
|
|
49
|
-
authorizationToken?: string;
|
|
50
|
-
hashedIdentifier?: string;
|
|
51
|
-
mcc?: string;
|
|
52
|
-
mnc?: string;
|
|
53
|
-
mx?: string;
|
|
54
|
-
currencyCode?: string;
|
|
55
|
-
productId?: string;
|
|
45
|
+
bankName?: string;
|
|
56
46
|
}
|
|
57
47
|
|
|
58
48
|
export interface IKlarnaSessionData {
|
|
59
49
|
recurringDescription?: string;
|
|
60
|
-
purchaseCountry?: string;
|
|
61
|
-
purchaseCurrency?: string;
|
|
62
|
-
locale?: string;
|
|
63
|
-
orderAmount?: string;
|
|
64
|
-
orderLines?: IKlarnaSessionOrderLines[];
|
|
65
50
|
billingAddress?: IKlarnaBillingAddress;
|
|
66
|
-
tokenDetails?: IKlarnaSessionDataTokenDetails;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
export interface IKlarnaSessionOrderLines {
|
|
70
|
-
type?: string;
|
|
71
|
-
name?: string;
|
|
72
|
-
quantity?: number;
|
|
73
|
-
unitPrice?: number;
|
|
74
|
-
totalAmount?: number;
|
|
75
|
-
totalDiscountAmount?: number;
|
|
76
51
|
}
|
|
77
52
|
|
|
78
53
|
export interface IKlarnaBillingAddress {
|
|
79
|
-
addressLine1?: string;
|
|
80
|
-
addressLine2?: string;
|
|
81
|
-
addressLine3?: string;
|
|
82
|
-
city?: string;
|
|
83
|
-
countryCode?: string;
|
|
84
54
|
email?: string;
|
|
85
|
-
firstName?: string;
|
|
86
|
-
lastName?: string;
|
|
87
|
-
phoneNumber?: string;
|
|
88
|
-
postalCode?: string;
|
|
89
|
-
state?: string;
|
|
90
|
-
title?: string;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
export interface IKlarnaSessionDataTokenDetails {
|
|
94
|
-
brand?: string;
|
|
95
|
-
maskedNumber?: string;
|
|
96
|
-
type: string;
|
|
97
|
-
expiryDate?: string;
|
|
98
55
|
}
|
|
99
56
|
|
|
100
57
|
export interface IExternalPayerInfo {
|
|
58
|
+
email: string;
|
|
101
59
|
externalPayerId?: string;
|
|
102
|
-
email?: string;
|
|
103
60
|
firstName?: string;
|
|
104
61
|
lastName?: string;
|
|
105
62
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
|
|
2
1
|
import type { PrimerCheckoutData } from "./PrimerCheckoutData";
|
|
3
2
|
import type { PrimerCheckoutAdditionalInfo } from "./PrimerCheckoutAdditionalInfo";
|
|
4
3
|
import type { PrimerCheckoutPaymentMethodData } from "./PrimerCheckoutPaymentMethodData";
|
|
@@ -98,7 +97,10 @@ interface IPrimerApplePayOptions {
|
|
|
98
97
|
* @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
98
|
*/
|
|
100
99
|
merchantName?: string;
|
|
101
|
-
|
|
100
|
+
/**
|
|
101
|
+
* @deprecated Use BillingOptions to configure required billing fields.
|
|
102
|
+
*/
|
|
103
|
+
isCaptureBillingAddressEnabled: boolean;
|
|
102
104
|
/**
|
|
103
105
|
* If you don't want to present the Apple Pay option when the device doesn't support it, set this to `false`.
|
|
104
106
|
* Default value is `true`.
|
|
@@ -111,13 +113,17 @@ interface IPrimerApplePayOptions {
|
|
|
111
113
|
*/
|
|
112
114
|
checkProvidedNetworks?: boolean;
|
|
113
115
|
shippingOptions?: IShippingOptions;
|
|
116
|
+
billingOptions?: IBillingOptions;
|
|
114
117
|
}
|
|
115
118
|
interface IShippingOptions {
|
|
116
|
-
|
|
117
|
-
additionalShippingContactFields?: AdditionalShippingContactField[];
|
|
119
|
+
shippingContactFields?: RequiredContactField[];
|
|
118
120
|
requireShippingMethod: boolean;
|
|
119
121
|
}
|
|
120
|
-
|
|
122
|
+
interface IBillingOptions {
|
|
123
|
+
requiredBillingContactFields?: RequiredContactField[];
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
type RequiredContactField = 'name' | 'emailAddress' | 'phoneNumber' | 'postalAddress';
|
|
121
127
|
|
|
122
128
|
interface IPrimerCardPaymentOptions {
|
|
123
129
|
is3DSOnVaultingEnabled: boolean;
|
|
@@ -136,6 +142,12 @@ interface IPrimerGooglePayOptions {
|
|
|
136
142
|
shippingAddressParameters?: IPrimerGoogleShippingAddressParameters;
|
|
137
143
|
requireShippingMethod?: boolean;
|
|
138
144
|
emailAddressRequired?: boolean;
|
|
145
|
+
buttonOptions?: IPrimerGooglePayButtonOptions;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
interface IPrimerGooglePayButtonOptions {
|
|
149
|
+
buttonType?: number;
|
|
150
|
+
buttonTheme?: number;
|
|
139
151
|
}
|
|
140
152
|
|
|
141
153
|
interface IPrimerGoogleShippingAddressParameters {
|
|
@@ -153,9 +165,12 @@ interface IPrimerUIOptions {
|
|
|
153
165
|
isInitScreenEnabled?: boolean;
|
|
154
166
|
isSuccessScreenEnabled?: boolean;
|
|
155
167
|
isErrorScreenEnabled?: boolean;
|
|
168
|
+
dismissalMechanism?: DismissalMechanism[];
|
|
156
169
|
theme?: IPrimerTheme;
|
|
157
170
|
}
|
|
158
171
|
|
|
172
|
+
export type DismissalMechanism = 'gestures' | 'closeButton';
|
|
173
|
+
|
|
159
174
|
//----------------------------------------
|
|
160
175
|
|
|
161
176
|
interface IPrimerDebugOptions {
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export interface IPrimerAsset {
|
|
2
|
-
paymentMethodType: string;
|
|
3
|
-
paymentMethodName: string;
|
|
4
|
-
paymentMethodLogo: {
|
|
5
|
-
colored?: string;
|
|
6
|
-
dark?: string;
|
|
7
|
-
light?: string;
|
|
8
|
-
};
|
|
9
|
-
paymentMethodBackgroundColor: {
|
|
10
|
-
colored?: string;
|
|
11
|
-
dark?: string;
|
|
12
|
-
light?: string;
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=PrimerAsset.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PrimerAsset.d.ts","sourceRoot":"","sources":["../../../src/models/PrimerAsset.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,CAAA;IACD,4BAA4B,EAAE;QAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,CAAA;CACJ"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export interface IPrimerAsset {
|
|
2
|
-
paymentMethodType: string;
|
|
3
|
-
paymentMethodName: string;
|
|
4
|
-
paymentMethodLogo: {
|
|
5
|
-
colored?: string;
|
|
6
|
-
dark?: string;
|
|
7
|
-
light?: string;
|
|
8
|
-
}
|
|
9
|
-
paymentMethodBackgroundColor: {
|
|
10
|
-
colored?: string;
|
|
11
|
-
dark?: string;
|
|
12
|
-
light?: string;
|
|
13
|
-
}
|
|
14
|
-
}
|