@primer-io/react-native 2.26.3 → 2.27.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/.project +6 -0
- package/android/.settings/org.eclipse.buildship.core.prefs +5 -5
- package/android/build.gradle +1 -3
- package/android/src/main/AndroidManifest.xml +1 -4
- package/android/src/main/java/com/primerioreactnative/PrimerRN.kt +3 -3
- package/android/src/main/java/com/primerioreactnative/PrimerRNEventListener.kt +4 -3
- package/android/src/main/java/com/primerioreactnative/PrimerRNHeadlessUniversalCheckout.kt +2 -2
- package/android/src/main/java/com/primerioreactnative/PrimerRNHeadlessUniversalCheckoutListener.kt +46 -9
- package/android/src/main/java/com/primerioreactnative/ReactNativePackage.kt +4 -0
- package/android/src/main/java/com/primerioreactnative/components/manager/ach/AchMandateManager.kt +70 -0
- package/android/src/main/java/com/primerioreactnative/components/manager/ach/PrimerRNHeadlessUniversalCheckoutStripeAchUserDetailsComponent.kt +283 -0
- package/android/src/main/java/com/primerioreactnative/components/manager/banks/PrimerRNHeadlessUniversalCheckoutBanksComponent.kt +7 -37
- package/android/src/main/java/com/primerioreactnative/components/manager/klarna/PrimerRNHeadlessUniversalCheckoutKlarnaComponent.kt +5 -31
- package/android/src/main/java/com/primerioreactnative/datamodels/PrimerCheckoutAdditionalInfoRN.kt +17 -4
- package/android/src/main/java/com/primerioreactnative/datamodels/PrimerSettingsRN.kt +44 -37
- package/android/src/main/java/com/primerioreactnative/datamodels/ach/AchUserDetailsCollectableDataRN.kt +22 -0
- package/android/src/main/java/com/primerioreactnative/datamodels/ach/AchUserDetailsStepRN.kt +22 -0
- package/android/src/main/java/com/primerioreactnative/datamodels/extensions/ach/AchUserDetailsCollectableData.kt +11 -0
- package/android/src/main/java/com/primerioreactnative/datamodels/extensions/ach/AchUserDetailsStep.kt +14 -0
- package/android/src/main/java/com/primerioreactnative/extensions/JSONExtensions.kt +41 -0
- package/android/src/main/java/com/primerioreactnative/extensions/PrimerCheckoutAdditionalInfo.kt +4 -0
- package/android/src/main/java/com/primerioreactnative/extensions/PrimerPaymentMethodOptionsRN.kt +42 -15
- package/ios/Sources/DataModels/Ach Component/RNTAchUserDetailsCollectableData.swift +54 -0
- package/ios/Sources/DataModels/Ach Component/RNTAchUserDetailsStep.swift +40 -0
- package/ios/Sources/DataModels/PrimerCheckoutAdditionalInfoRN.swift +61 -0
- package/ios/Sources/DataModels/PrimerSettings+Extensions.swift +24 -1
- package/ios/Sources/Headless Universal Checkout/Managers/Ach/PrimerRNHeadlessUniversalCheckoutStripeAchUserDetailsComponent.m +28 -0
- package/ios/Sources/Headless Universal Checkout/Managers/Ach/PrimerRNHeadlessUniversalCheckoutStripeAchUserDetailsComponent.swift +233 -0
- package/ios/Sources/Headless Universal Checkout/Managers/Ach/RNTAchMandateManager.m +16 -0
- package/ios/Sources/Headless Universal Checkout/Managers/Ach/RNTAchMandateManager.swift +53 -0
- package/ios/Sources/Headless Universal Checkout/Managers/Klarna/PrimerRNHeadlessUniversalCheckoutKlarnaComponent.swift +2 -2
- package/ios/Sources/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.swift +56 -7
- package/ios/Sources/version.swift +1 -1
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.js +106 -0
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.js.map +1 -0
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.js +38 -0
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.js.map +1 -0
- package/lib/commonjs/index.js +70 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/models/ach/AchCollectableData.js +6 -0
- package/lib/commonjs/models/ach/AchCollectableData.js.map +1 -0
- package/lib/commonjs/models/ach/AchSteps.js +6 -0
- package/lib/commonjs/models/ach/AchSteps.js.map +1 -0
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.js +99 -0
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.js.map +1 -0
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.js +31 -0
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.js.map +1 -0
- package/lib/module/index.js +8 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/models/ach/AchCollectableData.js +2 -0
- package/lib/module/models/ach/AchCollectableData.js.map +1 -0
- package/lib/module/models/ach/AchSteps.js +2 -0
- package/lib/module/models/ach/AchSteps.js.map +1 -0
- package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.d.ts +53 -0
- package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.d.ts.map +1 -0
- package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.d.ts +12 -0
- package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +8 -0
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/models/PrimerCheckoutAdditionalInfo.d.ts +10 -0
- package/lib/typescript/models/PrimerCheckoutAdditionalInfo.d.ts.map +1 -1
- package/lib/typescript/models/PrimerSettings.d.ts +14 -0
- package/lib/typescript/models/PrimerSettings.d.ts.map +1 -1
- package/lib/typescript/models/ach/AchCollectableData.d.ts +25 -0
- package/lib/typescript/models/ach/AchCollectableData.d.ts.map +1 -0
- package/lib/typescript/models/ach/AchSteps.d.ts +28 -0
- package/lib/typescript/models/ach/AchSteps.d.ts.map +1 -0
- package/package.json +1 -1
- package/primer-io-react-native.podspec +1 -1
- package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.ts +158 -0
- package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.ts +32 -0
- package/src/index.tsx +8 -0
- package/src/models/PrimerCheckoutAdditionalInfo.ts +19 -5
- package/src/models/PrimerSettings.ts +19 -0
- package/src/models/ach/AchCollectableData.ts +29 -0
- package/src/models/ach/AchSteps.ts +29 -0
|
@@ -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
|
@@ -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;
|
|
@@ -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 {
|
|
@@ -145,3 +146,21 @@ interface IPrimerThreeDsOptions {
|
|
|
145
146
|
threeDsAppRequestorUrl?: string;
|
|
146
147
|
};
|
|
147
148
|
}
|
|
149
|
+
|
|
150
|
+
//----------------------------------------
|
|
151
|
+
|
|
152
|
+
interface IPrimerStripeOptions {
|
|
153
|
+
publishableKey?: string;
|
|
154
|
+
mandateData?: IPrimerStripeTemplateMandateData | IPrimerFullMandateData;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
interface IPrimerStripeMandateData {}
|
|
158
|
+
|
|
159
|
+
interface IPrimerStripeTemplateMandateData extends IPrimerStripeMandateData {
|
|
160
|
+
merchantName: string;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
interface IPrimerFullMandateData extends IPrimerStripeMandateData {
|
|
164
|
+
fullMandateText: string;
|
|
165
|
+
fullMandateStringResourceName?: string;
|
|
166
|
+
}
|
|
@@ -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;
|