@primer-io/react-native 2.8.1 → 2.9.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/build.gradle +1 -1
- package/android/src/main/java/com/primerioreactnative/PrimerRNEventListener.kt +23 -2
- package/android/src/main/java/com/primerioreactnative/PrimerRNHeadlessUniversalCheckoutListener.kt +23 -2
- package/android/src/main/java/com/primerioreactnative/datamodels/PrimerCheckoutAdditionalInfoRN.kt +9 -0
- package/android/src/main/java/com/primerioreactnative/datamodels/PrimerEvents.kt +1 -0
- package/android/src/main/java/com/primerioreactnative/extensions/PrimerCheckoutAdditionalInfo.kt +4 -1
- package/android/src/main/java/com/primerioreactnative/utils/PrimerHeadlessUniversalCheckoutImplementedRNCallbacks.kt +2 -1
- package/android/src/main/java/com/primerioreactnative/utils/PrimerImplementedRNCallbacks.kt +2 -0
- package/ios/DataModels/ImplementedRNCallbacks.swift +3 -0
- package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.swift +23 -1
- package/ios/RNTPrimer.swift +3 -0
- package/lib/commonjs/Primer.js +14 -3
- package/lib/commonjs/Primer.js.map +1 -1
- package/lib/commonjs/RNPrimer.js +1 -1
- package/lib/commonjs/RNPrimer.js.map +1 -1
- package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckout.js +17 -6
- package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckout.js.map +1 -1
- package/lib/commonjs/headless_checkout/RNPrimerHeadlessUniversalCheckout.js +1 -1
- package/lib/commonjs/headless_checkout/RNPrimerHeadlessUniversalCheckout.js.map +1 -1
- package/lib/module/Primer.js +14 -3
- package/lib/module/Primer.js.map +1 -1
- package/lib/module/RNPrimer.js +1 -1
- package/lib/module/RNPrimer.js.map +1 -1
- package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckout.js +17 -6
- package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckout.js.map +1 -1
- package/lib/module/headless_checkout/RNPrimerHeadlessUniversalCheckout.js +1 -1
- package/lib/module/headless_checkout/RNPrimerHeadlessUniversalCheckout.js.map +1 -1
- package/lib/typescript/src/RNPrimer.d.ts +1 -1
- package/lib/typescript/src/headless_checkout/RNPrimerHeadlessUniversalCheckout.d.ts +1 -1
- package/lib/typescript/src/models/PrimerCheckoutAdditionalInfo.d.ts +9 -0
- package/lib/typescript/src/models/PrimerSettings.d.ts +1 -0
- package/package.json +1 -1
- package/primer-io-react-native.podspec +1 -1
- package/src/Primer.ts +15 -0
- package/src/RNPrimer.ts +2 -0
- package/src/headless_checkout/PrimerHeadlessUniversalCheckout.ts +17 -2
- package/src/headless_checkout/RNPrimerHeadlessUniversalCheckout.ts +3 -1
- package/src/models/PrimerCheckoutAdditionalInfo.ts +12 -0
- package/src/models/PrimerSettings.ts +1 -0
|
@@ -3,7 +3,7 @@ const {
|
|
|
3
3
|
PrimerHeadlessUniversalCheckout
|
|
4
4
|
} = NativeModules;
|
|
5
5
|
const eventEmitter = new NativeEventEmitter(PrimerHeadlessUniversalCheckout);
|
|
6
|
-
const eventTypes = ['onHUCTokenizeStart', 'onHUCPrepareStart', 'onHUCAvailablePaymentMethodsLoaded', 'onHUCPaymentMethodShow', 'onTokenizeSuccess', 'onResumeSuccess', 'onResumePending', 'onBeforePaymentCreate', 'onBeforeClientSessionUpdate', 'onClientSessionUpdate', 'onCheckoutComplete', 'onError'];
|
|
6
|
+
const eventTypes = ['onHUCTokenizeStart', 'onHUCPrepareStart', 'onHUCAvailablePaymentMethodsLoaded', 'onHUCPaymentMethodShow', 'onTokenizeSuccess', 'onResumeSuccess', 'onResumePending', 'onCheckoutReceivedAdditionalInfo', 'onBeforePaymentCreate', 'onBeforeClientSessionUpdate', 'onClientSessionUpdate', 'onCheckoutComplete', 'onError'];
|
|
7
7
|
const RNPrimerHeadlessUniversalCheckout = {
|
|
8
8
|
///////////////////////////////////////////
|
|
9
9
|
// Event Emitter
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["RNPrimerHeadlessUniversalCheckout.ts"],"names":["NativeEventEmitter","NativeModules","PrimerHeadlessUniversalCheckout","eventEmitter","eventTypes","RNPrimerHeadlessUniversalCheckout","addListener","eventType","listener","removeListener","removeAllListenersForEvent","removeAllListeners","forEach","getAssetForPaymentMethodType","paymentMethodType","assetType","Promise","resolve","reject","err","url","e","getAssetForCardNetwork","cardNetwork","startWithClientToken","clientToken","settings","JSON","stringify","console","error","paymentMethodTypes","showPaymentMethod","handleTokenizationNewClientToken","newClientToken","handleTokenizationSuccess","handleTokenizationFailure","errorMessage","handleResumeWithNewClientToken","handleResumeSuccess","handleResumeFailure","handlePaymentCreationAbort","handlePaymentCreationContinue","setImplementedRNCallbacks","implementedRNCallbacks","disposePrimerHeadlessUniversalCheckout"],"mappings":"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","sourcesContent":["import { NativeEventEmitter, NativeModules } from 'react-native';\n\nconst { PrimerHeadlessUniversalCheckout } = NativeModules;\n\nconst eventEmitter = new NativeEventEmitter(PrimerHeadlessUniversalCheckout);\n\ntype EventType =\n | 'onHUCTokenizeStart'\n | 'onHUCPrepareStart'\n | 'onHUCAvailablePaymentMethodsLoaded'\n | 'onHUCPaymentMethodShow'\n | 'onTokenizeSuccess'\n | 'onResumeSuccess'\n | 'onResumePending'\n | 'onBeforePaymentCreate'\n | 'onBeforeClientSessionUpdate'\n | 'onClientSessionUpdate'\n | 'onCheckoutComplete'\n | 'onError';\n\nconst eventTypes: EventType[] = [\n 'onHUCTokenizeStart',\n 'onHUCPrepareStart',\n 'onHUCAvailablePaymentMethodsLoaded',\n 'onHUCPaymentMethodShow',\n 'onTokenizeSuccess',\n 'onResumeSuccess',\n 'onResumePending',\n 'onBeforePaymentCreate',\n 'onBeforeClientSessionUpdate',\n 'onClientSessionUpdate',\n 'onCheckoutComplete',\n 'onError'\n];\n\nconst RNPrimerHeadlessUniversalCheckout = {\n ///////////////////////////////////////////\n // Event Emitter\n ///////////////////////////////////////////\n addListener: (eventType: EventType, listener: (...args: any[]) => any) => {\n eventEmitter.addListener(eventType, listener);\n },\n\n removeListener: (eventType: EventType, listener: (...args: any[]) => any) => {\n eventEmitter.removeListener(eventType, listener);\n },\n\n removeAllListenersForEvent(eventType: EventType) {\n eventEmitter.removeAllListeners(eventType);\n },\n\n removeAllListeners() {\n eventTypes.forEach((eventType) => RNPrimerHeadlessUniversalCheckout.removeAllListenersForEvent(eventType));\n },\n\n ///////////////////////////////////////////\n // Native API\n ///////////////////////////////////////////\n getAssetForPaymentMethodType: (\n paymentMethodType: string,\n assetType: 'logo' | 'icon'\n ): Promise<string> => {\n return new Promise((resolve, reject) => {\n try {\n PrimerHeadlessUniversalCheckout.getAssetForPaymentMethodType(\n paymentMethodType,\n assetType,\n (err: Error) => {\n reject(err);\n },\n (url: string) => {\n resolve(url);\n }\n );\n } catch (e) {\n reject(e);\n }\n });\n },\n\n getAssetForCardNetwork: (\n cardNetwork: string,\n assetType: 'logo' | 'icon'\n ): Promise<string> => {\n return new Promise((resolve, reject) => {\n try {\n PrimerHeadlessUniversalCheckout.getAssetForPaymentMethodType(\n cardNetwork,\n assetType,\n (err: Error) => {\n reject(err);\n },\n (url: string) => {\n resolve(url);\n }\n );\n } catch (e) {\n reject(e);\n }\n });\n },\n\n startWithClientToken(clientToken: string, settings: any): Promise<any> {\n return new Promise((resolve, reject) => {\n PrimerHeadlessUniversalCheckout.startWithClientToken(\n clientToken,\n JSON.stringify(settings),\n (err: Error) => {\n console.error(err);\n reject(err);\n },\n (paymentMethodTypes: string[]) => {\n resolve({ paymentMethodTypes });\n }\n );\n });\n },\n\n showPaymentMethod: (paymentMethodType: string): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckout.showPaymentMethod(paymentMethodType);\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n ///////////////////////////////////////////\n // DECISION HANDLERS\n ///////////////////////////////////////////\n\n // Tokenization Handlers\n\n handleTokenizationNewClientToken: (newClientToken: string): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckout.handleTokenizationNewClientToken(newClientToken);\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n handleTokenizationSuccess: (): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckout.handleTokenizationSuccess();\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n handleTokenizationFailure: (errorMessage: string | null): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckout.handleTokenizationFailure(errorMessage || \"\");\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n // Resume Handlers\n\n handleResumeWithNewClientToken: (newClientToken: string): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckout.handleResumeWithNewClientToken(newClientToken);\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n handleResumeSuccess: (): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckout.handleResumeSuccess();\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n handleResumeFailure: (errorMessage: string | null): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckout.handleTokenizationFailure(errorMessage || \"\");\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n // Payment Creation Handlers\n\n handlePaymentCreationAbort: (errorMessage: string | null): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckout.handlePaymentCreationAbort(errorMessage || \"\");\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n handlePaymentCreationContinue: (): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckout.handlePaymentCreationContinue();\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n // HELPERS\n\n setImplementedRNCallbacks: (implementedRNCallbacks: any): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckout.setImplementedRNCallbacks(JSON.stringify(implementedRNCallbacks));\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n \n disposePrimerHeadlessUniversalCheckout: (): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckout.disposePrimerHeadlessUniversalCheckout();\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n};\n\nexport default RNPrimerHeadlessUniversalCheckout;\n"]}
|
|
1
|
+
{"version":3,"sources":["RNPrimerHeadlessUniversalCheckout.ts"],"names":["NativeEventEmitter","NativeModules","PrimerHeadlessUniversalCheckout","eventEmitter","eventTypes","RNPrimerHeadlessUniversalCheckout","addListener","eventType","listener","removeListener","removeAllListenersForEvent","removeAllListeners","forEach","getAssetForPaymentMethodType","paymentMethodType","assetType","Promise","resolve","reject","err","url","e","getAssetForCardNetwork","cardNetwork","startWithClientToken","clientToken","settings","JSON","stringify","console","error","paymentMethodTypes","showPaymentMethod","handleTokenizationNewClientToken","newClientToken","handleTokenizationSuccess","handleTokenizationFailure","errorMessage","handleResumeWithNewClientToken","handleResumeSuccess","handleResumeFailure","handlePaymentCreationAbort","handlePaymentCreationContinue","setImplementedRNCallbacks","implementedRNCallbacks","disposePrimerHeadlessUniversalCheckout"],"mappings":"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","sourcesContent":["import { NativeEventEmitter, NativeModules } from 'react-native';\n\nconst { PrimerHeadlessUniversalCheckout } = NativeModules;\n\nconst eventEmitter = new NativeEventEmitter(PrimerHeadlessUniversalCheckout);\n\ntype EventType =\n | 'onHUCTokenizeStart'\n | 'onHUCPrepareStart'\n | 'onHUCAvailablePaymentMethodsLoaded'\n | 'onHUCPaymentMethodShow'\n | 'onTokenizeSuccess'\n | 'onResumeSuccess'\n | 'onResumePending'\n | 'onCheckoutReceivedAdditionalInfo'\n | 'onBeforePaymentCreate'\n | 'onBeforeClientSessionUpdate'\n | 'onClientSessionUpdate'\n | 'onCheckoutComplete'\n | 'onError';\n\nconst eventTypes: EventType[] = [\n 'onHUCTokenizeStart',\n 'onHUCPrepareStart',\n 'onHUCAvailablePaymentMethodsLoaded',\n 'onHUCPaymentMethodShow',\n 'onTokenizeSuccess',\n 'onResumeSuccess',\n 'onResumePending',\n 'onCheckoutReceivedAdditionalInfo',\n 'onBeforePaymentCreate',\n 'onBeforeClientSessionUpdate',\n 'onClientSessionUpdate',\n 'onCheckoutComplete',\n 'onError'\n];\n\nconst RNPrimerHeadlessUniversalCheckout = {\n ///////////////////////////////////////////\n // Event Emitter\n ///////////////////////////////////////////\n addListener: (eventType: EventType, listener: (...args: any[]) => any) => {\n eventEmitter.addListener(eventType, listener);\n },\n\n removeListener: (eventType: EventType, listener: (...args: any[]) => any) => {\n eventEmitter.removeListener(eventType, listener);\n },\n\n removeAllListenersForEvent(eventType: EventType) {\n eventEmitter.removeAllListeners(eventType);\n },\n\n removeAllListeners() {\n eventTypes.forEach((eventType) => RNPrimerHeadlessUniversalCheckout.removeAllListenersForEvent(eventType));\n },\n\n ///////////////////////////////////////////\n // Native API\n ///////////////////////////////////////////\n getAssetForPaymentMethodType: (\n paymentMethodType: string,\n assetType: 'logo' | 'icon'\n ): Promise<string> => {\n return new Promise((resolve, reject) => {\n try {\n PrimerHeadlessUniversalCheckout.getAssetForPaymentMethodType(\n paymentMethodType,\n assetType,\n (err: Error) => {\n reject(err);\n },\n (url: string) => {\n resolve(url);\n }\n );\n } catch (e) {\n reject(e);\n }\n });\n },\n\n getAssetForCardNetwork: (\n cardNetwork: string,\n assetType: 'logo' | 'icon'\n ): Promise<string> => {\n return new Promise((resolve, reject) => {\n try {\n PrimerHeadlessUniversalCheckout.getAssetForPaymentMethodType(\n cardNetwork,\n assetType,\n (err: Error) => {\n reject(err);\n },\n (url: string) => {\n resolve(url);\n }\n );\n } catch (e) {\n reject(e);\n }\n });\n },\n\n startWithClientToken(clientToken: string, settings: any): Promise<any> {\n return new Promise((resolve, reject) => {\n PrimerHeadlessUniversalCheckout.startWithClientToken(\n clientToken,\n JSON.stringify(settings),\n (err: Error) => {\n console.error(err);\n reject(err);\n },\n (paymentMethodTypes: string[]) => {\n resolve({ paymentMethodTypes });\n }\n );\n });\n },\n\n showPaymentMethod: (paymentMethodType: string): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckout.showPaymentMethod(paymentMethodType);\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n ///////////////////////////////////////////\n // DECISION HANDLERS\n ///////////////////////////////////////////\n\n // Tokenization Handlers\n\n handleTokenizationNewClientToken: (newClientToken: string): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckout.handleTokenizationNewClientToken(newClientToken);\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n handleTokenizationSuccess: (): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckout.handleTokenizationSuccess();\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n handleTokenizationFailure: (errorMessage: string | null): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckout.handleTokenizationFailure(errorMessage || \"\");\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n // Resume Handlers\n\n handleResumeWithNewClientToken: (newClientToken: string): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckout.handleResumeWithNewClientToken(newClientToken);\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n handleResumeSuccess: (): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckout.handleResumeSuccess();\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n handleResumeFailure: (errorMessage: string | null): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckout.handleTokenizationFailure(errorMessage || \"\");\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n // Payment Creation Handlers\n\n handlePaymentCreationAbort: (errorMessage: string | null): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckout.handlePaymentCreationAbort(errorMessage || \"\");\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n handlePaymentCreationContinue: (): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckout.handlePaymentCreationContinue();\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n // HELPERS\n\n setImplementedRNCallbacks: (implementedRNCallbacks: any): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckout.setImplementedRNCallbacks(JSON.stringify(implementedRNCallbacks));\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n\n disposePrimerHeadlessUniversalCheckout: (): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckout.disposePrimerHeadlessUniversalCheckout();\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n};\n\nexport default RNPrimerHeadlessUniversalCheckout;\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { PrimerSessionIntent } from './models/PrimerSessionIntent';
|
|
2
2
|
import type { PrimerSettings } from './models/PrimerSettings';
|
|
3
|
-
declare type EventType = 'onCheckoutComplete' | 'onBeforeClientSessionUpdate' | 'onClientSessionUpdate' | 'onBeforePaymentCreate' | 'onError' | 'onDismiss' | 'onTokenizeSuccess' | 'onResumeSuccess' | 'onResumePending' | 'detectImplementedRNCallbacks';
|
|
3
|
+
declare type EventType = 'onCheckoutComplete' | 'onBeforeClientSessionUpdate' | 'onClientSessionUpdate' | 'onBeforePaymentCreate' | 'onError' | 'onDismiss' | 'onTokenizeSuccess' | 'onResumeSuccess' | 'onResumePending' | 'onCheckoutReceivedAdditionalInfo' | 'detectImplementedRNCallbacks';
|
|
4
4
|
export interface IPrimerError {
|
|
5
5
|
errorId: string;
|
|
6
6
|
errorDescription?: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
declare type EventType = 'onHUCTokenizeStart' | 'onHUCPrepareStart' | 'onHUCAvailablePaymentMethodsLoaded' | 'onHUCPaymentMethodShow' | 'onTokenizeSuccess' | 'onResumeSuccess' | 'onResumePending' | 'onBeforePaymentCreate' | 'onBeforeClientSessionUpdate' | 'onClientSessionUpdate' | 'onCheckoutComplete' | 'onError';
|
|
1
|
+
declare type EventType = 'onHUCTokenizeStart' | 'onHUCPrepareStart' | 'onHUCAvailablePaymentMethodsLoaded' | 'onHUCPaymentMethodShow' | 'onTokenizeSuccess' | 'onResumeSuccess' | 'onResumePending' | 'onCheckoutReceivedAdditionalInfo' | 'onBeforePaymentCreate' | 'onBeforeClientSessionUpdate' | 'onClientSessionUpdate' | 'onCheckoutComplete' | 'onError';
|
|
2
2
|
declare const RNPrimerHeadlessUniversalCheckout: {
|
|
3
3
|
addListener: (eventType: EventType, listener: (...args: any[]) => any) => void;
|
|
4
4
|
removeListener: (eventType: EventType, listener: (...args: any[]) => any) => void;
|
|
@@ -7,4 +7,13 @@ interface IMultibancoCheckoutAdditionalInfo extends IPrimerCheckoutAdditionalInf
|
|
|
7
7
|
entity?: string;
|
|
8
8
|
reference?: string;
|
|
9
9
|
}
|
|
10
|
+
export declare type PrimerCheckoutQRCodeInfo = IPrimerCheckoutQRCodeInfo;
|
|
11
|
+
interface IPrimerCheckoutQRCodeInfo extends IPrimerCheckoutAdditionalInfo {
|
|
12
|
+
}
|
|
13
|
+
export declare type PromptPayCheckoutAdditionalInfo = IPromptPayCheckoutAdditionalInfo;
|
|
14
|
+
interface IPromptPayCheckoutAdditionalInfo extends IPrimerCheckoutQRCodeInfo {
|
|
15
|
+
expiresAt: string;
|
|
16
|
+
qrCodeUrl?: string;
|
|
17
|
+
qrCodeBase64?: string;
|
|
18
|
+
}
|
|
10
19
|
export {};
|
|
@@ -20,6 +20,7 @@ interface IPrimerSettings {
|
|
|
20
20
|
onTokenizeSuccess?: (paymentMethodTokenData: PrimerPaymentMethodTokenData, handler: PrimerTokenizationHandler) => void;
|
|
21
21
|
onResumeSuccess?: (resumeToken: string, handler: PrimerResumeHandler) => void;
|
|
22
22
|
onResumePending?: (additionalInfo: PrimerCheckoutAdditionalInfo) => void;
|
|
23
|
+
onCheckoutReceivedAdditionalInfo?: (additionalInfo: PrimerCheckoutAdditionalInfo) => void;
|
|
23
24
|
onError?: (error: PrimerError, checkoutData: PrimerCheckoutData | null, handler: PrimerErrorHandler | undefined) => void;
|
|
24
25
|
onDismiss?: () => void;
|
|
25
26
|
onPrepareStart?: (paymentMethod: string) => void;
|
package/package.json
CHANGED
package/src/Primer.ts
CHANGED
|
@@ -116,6 +116,7 @@ async function configureListeners(): Promise<void> {
|
|
|
116
116
|
onTokenizeSuccess: (primerSettings?.onTokenizeSuccess !== undefined),
|
|
117
117
|
onResumeSuccess: (primerSettings?.onResumeSuccess !== undefined),
|
|
118
118
|
onResumePending: (primerSettings?.onResumePending !== undefined),
|
|
119
|
+
onCheckoutReceivedAdditionalInfo: (primerSettings?.onCheckoutReceivedAdditionalInfo !== undefined),
|
|
119
120
|
onDismiss: (primerSettings?.onDismiss !== undefined),
|
|
120
121
|
onError: (primerSettings?.onError !== undefined),
|
|
121
122
|
};
|
|
@@ -188,6 +189,20 @@ async function configureListeners(): Promise<void> {
|
|
|
188
189
|
);
|
|
189
190
|
}
|
|
190
191
|
|
|
192
|
+
if (implementedRNCallbacks.onCheckoutReceivedAdditionalInfo) {
|
|
193
|
+
RNPrimer.addListener(
|
|
194
|
+
'onCheckoutReceivedAdditionalInfo',
|
|
195
|
+
(additionalInfo) => {
|
|
196
|
+
if (primerSettings && primerSettings.onCheckoutReceivedAdditionalInfo) {
|
|
197
|
+
const checkoutAdditionalInfo: PrimerCheckoutAdditionalInfo = additionalInfo;
|
|
198
|
+
primerSettings.onCheckoutReceivedAdditionalInfo(checkoutAdditionalInfo);
|
|
199
|
+
} else {
|
|
200
|
+
// Ignore!
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
);
|
|
204
|
+
}
|
|
205
|
+
|
|
191
206
|
if (implementedRNCallbacks.onDismiss) {
|
|
192
207
|
RNPrimer.addListener('onDismiss', _ => {
|
|
193
208
|
if (primerSettings && primerSettings.onDismiss) {
|
package/src/RNPrimer.ts
CHANGED
|
@@ -15,6 +15,7 @@ type EventType =
|
|
|
15
15
|
| 'onTokenizeSuccess'
|
|
16
16
|
| 'onResumeSuccess'
|
|
17
17
|
| 'onResumePending'
|
|
18
|
+
| 'onCheckoutReceivedAdditionalInfo'
|
|
18
19
|
| 'detectImplementedRNCallbacks';
|
|
19
20
|
|
|
20
21
|
export interface IPrimerError {
|
|
@@ -32,6 +33,7 @@ const eventTypes: EventType[] = [
|
|
|
32
33
|
'onDismiss',
|
|
33
34
|
'onTokenizeSuccess',
|
|
34
35
|
'onResumeSuccess',
|
|
36
|
+
'onCheckoutReceivedAdditionalInfo',
|
|
35
37
|
'onResumePending',
|
|
36
38
|
'detectImplementedRNCallbacks'
|
|
37
39
|
];
|
|
@@ -104,12 +104,13 @@ async function configureListeners(): Promise<void> {
|
|
|
104
104
|
onTokenizeSuccess: (primerSettings?.onTokenizeSuccess !== undefined),
|
|
105
105
|
onResumeSuccess: (primerSettings?.onResumeSuccess !== undefined),
|
|
106
106
|
onResumePending: (primerSettings?.onResumePending !== undefined),
|
|
107
|
+
onCheckoutReceivedAdditionalInfo: (primerSettings?.onCheckoutReceivedAdditionalInfo !== undefined),
|
|
107
108
|
onDismiss: false,
|
|
108
109
|
onError: (primerSettings?.onError !== undefined),
|
|
109
110
|
onHUCAvailablePaymentMethodsLoaded: (primerSettings?.onAvailablePaymentMethodsLoad !== undefined),
|
|
110
111
|
onHUCPrepareStart: (primerSettings?.onPrepareStart !== undefined),
|
|
111
112
|
onHUCTokenizeStart: (primerSettings?.onTokenizeStart !== undefined),
|
|
112
|
-
onHUCPaymentMethodShow: (primerSettings?.onPaymentMethodShow !== undefined)
|
|
113
|
+
onHUCPaymentMethodShow: (primerSettings?.onPaymentMethodShow !== undefined)
|
|
113
114
|
};
|
|
114
115
|
|
|
115
116
|
await RNPrimerHeadlessUniversalCheckout.setImplementedRNCallbacks(implementedRNCallbacks);
|
|
@@ -143,6 +144,20 @@ async function configureListeners(): Promise<void> {
|
|
|
143
144
|
);
|
|
144
145
|
}
|
|
145
146
|
|
|
147
|
+
if (implementedRNCallbacks.onCheckoutReceivedAdditionalInfo) {
|
|
148
|
+
RNPrimerHeadlessUniversalCheckout.addListener(
|
|
149
|
+
'onCheckoutReceivedAdditionalInfo',
|
|
150
|
+
(additionalInfo) => {
|
|
151
|
+
if (primerSettings && primerSettings.onCheckoutReceivedAdditionalInfo) {
|
|
152
|
+
const checkoutAdditionalInfo: PrimerCheckoutAdditionalInfo = additionalInfo;
|
|
153
|
+
primerSettings.onCheckoutReceivedAdditionalInfo(checkoutAdditionalInfo);
|
|
154
|
+
} else {
|
|
155
|
+
// Ignore!
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
);
|
|
159
|
+
}
|
|
160
|
+
|
|
146
161
|
if (implementedRNCallbacks.onHUCPrepareStart) {
|
|
147
162
|
RNPrimerHeadlessUniversalCheckout.addListener(
|
|
148
163
|
'onHUCPrepareStart',
|
|
@@ -198,7 +213,7 @@ async function configureListeners(): Promise<void> {
|
|
|
198
213
|
} else {
|
|
199
214
|
primerSettings.onAvailablePaymentMethodsLoad(['not implemented']);
|
|
200
215
|
}
|
|
201
|
-
|
|
216
|
+
|
|
202
217
|
} else {
|
|
203
218
|
// Ignore!
|
|
204
219
|
}
|
|
@@ -12,6 +12,7 @@ type EventType =
|
|
|
12
12
|
| 'onTokenizeSuccess'
|
|
13
13
|
| 'onResumeSuccess'
|
|
14
14
|
| 'onResumePending'
|
|
15
|
+
| 'onCheckoutReceivedAdditionalInfo'
|
|
15
16
|
| 'onBeforePaymentCreate'
|
|
16
17
|
| 'onBeforeClientSessionUpdate'
|
|
17
18
|
| 'onClientSessionUpdate'
|
|
@@ -26,6 +27,7 @@ const eventTypes: EventType[] = [
|
|
|
26
27
|
'onTokenizeSuccess',
|
|
27
28
|
'onResumeSuccess',
|
|
28
29
|
'onResumePending',
|
|
30
|
+
'onCheckoutReceivedAdditionalInfo',
|
|
29
31
|
'onBeforePaymentCreate',
|
|
30
32
|
'onBeforeClientSessionUpdate',
|
|
31
33
|
'onClientSessionUpdate',
|
|
@@ -238,7 +240,7 @@ const RNPrimerHeadlessUniversalCheckout = {
|
|
|
238
240
|
});
|
|
239
241
|
},
|
|
240
242
|
|
|
241
|
-
|
|
243
|
+
|
|
242
244
|
disposePrimerHeadlessUniversalCheckout: (): Promise<void> => {
|
|
243
245
|
return new Promise(async (resolve, reject) => {
|
|
244
246
|
try {
|
|
@@ -9,3 +9,15 @@ interface IMultibancoCheckoutAdditionalInfo extends IPrimerCheckoutAdditionalInf
|
|
|
9
9
|
entity?: string;
|
|
10
10
|
reference?: string;
|
|
11
11
|
}
|
|
12
|
+
|
|
13
|
+
export type PrimerCheckoutQRCodeInfo = IPrimerCheckoutQRCodeInfo;
|
|
14
|
+
|
|
15
|
+
interface IPrimerCheckoutQRCodeInfo extends IPrimerCheckoutAdditionalInfo {}
|
|
16
|
+
|
|
17
|
+
export type PromptPayCheckoutAdditionalInfo = IPromptPayCheckoutAdditionalInfo;
|
|
18
|
+
|
|
19
|
+
interface IPromptPayCheckoutAdditionalInfo extends IPrimerCheckoutQRCodeInfo {
|
|
20
|
+
expiresAt: string;
|
|
21
|
+
qrCodeUrl?: string;
|
|
22
|
+
qrCodeBase64?: string;
|
|
23
|
+
}
|
|
@@ -29,6 +29,7 @@ interface IPrimerSettings {
|
|
|
29
29
|
onTokenizeSuccess?: (paymentMethodTokenData: PrimerPaymentMethodTokenData, handler: PrimerTokenizationHandler) => void;
|
|
30
30
|
onResumeSuccess?: (resumeToken: string, handler: PrimerResumeHandler) => void;
|
|
31
31
|
onResumePending?: (additionalInfo: PrimerCheckoutAdditionalInfo) => void;
|
|
32
|
+
onCheckoutReceivedAdditionalInfo?: (additionalInfo: PrimerCheckoutAdditionalInfo) => void;
|
|
32
33
|
// PrimerErrorHandler will be undefined on the HUC flow.
|
|
33
34
|
onError?: (error: PrimerError, checkoutData: PrimerCheckoutData | null, handler: PrimerErrorHandler | undefined) => void;
|
|
34
35
|
|