@primer-io/react-native 0.12.4 → 0.13.0-beta.2
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 +2 -2
- package/android/src/main/java/com/primerioreactnative/PrimerCardNumberEditTextManager.kt +83 -0
- package/android/src/main/java/com/primerioreactnative/PrimerHeadlessUniversalCheckout.kt +201 -0
- package/android/src/main/java/com/primerioreactnative/PrimerRN.kt +3 -3
- package/android/src/main/java/com/primerioreactnative/ReactNativePackage.kt +14 -3
- package/android/src/main/java/com/primerioreactnative/datamodels/PrimerErrorRN.kt +2 -0
- package/android/src/main/java/com/primerioreactnative/datamodels/PrimerSettingsRN.kt +3 -4
- package/android/src/main/java/com/primerioreactnative/huc/assets/AssetsManager.kt +56 -0
- package/android/src/main/java/com/primerioreactnative/huc/events/PrimerHeadlessUniversalCheckoutEvent.kt +11 -0
- package/android/src/main/java/com/primerioreactnative/huc/extensions/Map.kt +10 -0
- package/ios/{PrimerRN+PrimerDelegate.swift → Core/PrimerRN+PrimerDelegate.swift} +4 -3
- package/ios/{ReactNative.m → Core/PrimerRN.m} +1 -1
- package/ios/{PrimerRN.swift → Core/PrimerRN.swift} +26 -24
- package/ios/{ReactNative-Bridging-Header.h → Core/ReactNative-Bridging-Header.h} +2 -0
- package/ios/DataModels/PrimerErrorRN.swift +32 -2
- package/ios/DataModels/PrimerSettingsRN.swift +0 -6
- package/ios/Headless Universal Checkout/RNTPrimerCardNumberInputElementManager.m +23 -0
- package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.m +30 -0
- package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.swift +241 -0
- package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.m +14 -0
- package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.swift +117 -0
- package/lib/commonjs/Primer.js +2 -1
- package/lib/commonjs/Primer.js.map +1 -1
- package/lib/commonjs/PrimerInput.js +80 -0
- package/lib/commonjs/PrimerInput.js.map +1 -0
- package/lib/commonjs/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.js +14 -0
- package/lib/commonjs/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.js.map +1 -0
- package/lib/commonjs/headless_checkout/NativePrimerHeadlessUniversalCheckout.js +73 -0
- package/lib/commonjs/headless_checkout/NativePrimerHeadlessUniversalCheckout.js.map +1 -0
- package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckout.js +119 -0
- package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckout.js.map +1 -0
- package/lib/commonjs/headless_checkout/types.js +2 -0
- package/lib/commonjs/headless_checkout/types.js.map +1 -0
- package/lib/commonjs/index.js +28 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/Primer.js +1 -1
- package/lib/module/Primer.js.map +1 -1
- package/lib/module/PrimerInput.js +46 -0
- package/lib/module/PrimerInput.js.map +1 -0
- package/lib/module/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.js +5 -0
- package/lib/module/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.js.map +1 -0
- package/lib/module/headless_checkout/NativePrimerHeadlessUniversalCheckout.js +64 -0
- package/lib/module/headless_checkout/NativePrimerHeadlessUniversalCheckout.js.map +1 -0
- package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckout.js +104 -0
- package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckout.js.map +1 -0
- package/lib/module/headless_checkout/types.js +2 -0
- package/lib/module/headless_checkout/types.js.map +1 -0
- package/lib/module/index.js +3 -1
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/PrimerInput.d.ts +15 -0
- package/lib/typescript/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.d.ts +1 -0
- package/lib/typescript/headless_checkout/NativePrimerHeadlessUniversalCheckout.d.ts +10 -0
- package/lib/typescript/headless_checkout/PrimerHeadlessUniversalCheckout.d.ts +14 -0
- package/lib/typescript/headless_checkout/types.d.ts +16 -0
- package/lib/typescript/index.d.ts +3 -1
- package/lib/typescript/models/primer-settings.d.ts +1 -2
- package/package.json +1 -1
- package/primer-io-react-native.podspec +1 -1
- package/src/Primer.ts +2 -0
- package/src/PrimerInput.tsx +73 -0
- package/src/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.tsx +2 -0
- package/src/headless_checkout/NativePrimerHeadlessUniversalCheckout.ts +94 -0
- package/src/headless_checkout/PrimerHeadlessUniversalCheckout.ts +136 -0
- package/src/headless_checkout/types.ts +18 -0
- package/src/index.tsx +3 -1
- package/src/models/primer-settings.ts +1 -2
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
|
|
10
|
+
const {
|
|
11
|
+
PrimerHeadlessUniversalCheckout
|
|
12
|
+
} = _reactNative.NativeModules;
|
|
13
|
+
const eventEmitter = new _reactNative.NativeEventEmitter(PrimerHeadlessUniversalCheckout);
|
|
14
|
+
const NativePrimerHeadlessUniversalCheckout = {
|
|
15
|
+
///////////////////////////////////////////
|
|
16
|
+
// Event Emitter
|
|
17
|
+
///////////////////////////////////////////
|
|
18
|
+
addListener: (eventType, listener) => {
|
|
19
|
+
eventEmitter.addListener(eventType, listener);
|
|
20
|
+
},
|
|
21
|
+
///////////////////////////////////////////
|
|
22
|
+
// Native API
|
|
23
|
+
///////////////////////////////////////////
|
|
24
|
+
getAssetForPaymentMethod: (paymentMethodType, assetType) => {
|
|
25
|
+
return new Promise((resolve, reject) => {
|
|
26
|
+
try {
|
|
27
|
+
PrimerHeadlessUniversalCheckout.getAssetForPaymentMethodType(paymentMethodType, assetType, err => {
|
|
28
|
+
reject(err);
|
|
29
|
+
}, url => {
|
|
30
|
+
resolve(url);
|
|
31
|
+
});
|
|
32
|
+
} catch (e) {
|
|
33
|
+
reject(e);
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
},
|
|
37
|
+
getAssetForCardNetwork: (cardNetwork, assetType) => {
|
|
38
|
+
return new Promise((resolve, reject) => {
|
|
39
|
+
try {
|
|
40
|
+
PrimerHeadlessUniversalCheckout.getAssetForPaymentMethodType(cardNetwork, assetType, err => {
|
|
41
|
+
reject(err);
|
|
42
|
+
}, url => {
|
|
43
|
+
resolve(url);
|
|
44
|
+
});
|
|
45
|
+
} catch (e) {
|
|
46
|
+
reject(e);
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
},
|
|
50
|
+
|
|
51
|
+
startWithClientToken(clientToken, settings) {
|
|
52
|
+
return new Promise((resolve, reject) => {
|
|
53
|
+
PrimerHeadlessUniversalCheckout.startWithClientToken(clientToken, JSON.stringify(settings), err => {
|
|
54
|
+
console.error(err);
|
|
55
|
+
reject(err);
|
|
56
|
+
}, paymentMethodTypes => {
|
|
57
|
+
resolve({
|
|
58
|
+
paymentMethodTypes
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
},
|
|
63
|
+
|
|
64
|
+
showPaymentMethod: paymentMethod => PrimerHeadlessUniversalCheckout.showPaymentMethod(paymentMethod),
|
|
65
|
+
|
|
66
|
+
resumeWithClientToken(resumeToken) {
|
|
67
|
+
PrimerHeadlessUniversalCheckout.resumeWithClientToken(resumeToken);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
};
|
|
71
|
+
var _default = NativePrimerHeadlessUniversalCheckout;
|
|
72
|
+
exports.default = _default;
|
|
73
|
+
//# sourceMappingURL=NativePrimerHeadlessUniversalCheckout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["NativePrimerHeadlessUniversalCheckout.ts"],"names":["PrimerHeadlessUniversalCheckout","NativeModules","eventEmitter","NativeEventEmitter","NativePrimerHeadlessUniversalCheckout","addListener","eventType","listener","getAssetForPaymentMethod","paymentMethodType","assetType","Promise","resolve","reject","getAssetForPaymentMethodType","err","url","e","getAssetForCardNetwork","cardNetwork","startWithClientToken","clientToken","settings","JSON","stringify","console","error","paymentMethodTypes","showPaymentMethod","paymentMethod","resumeWithClientToken","resumeToken"],"mappings":";;;;;;;AAAA;;AAEA,MAAM;AAAEA,EAAAA;AAAF,IAAsCC,0BAA5C;AAEA,MAAMC,YAAY,GAAG,IAAIC,+BAAJ,CAAuBH,+BAAvB,CAArB;AAUA,MAAMI,qCAAqC,GAAG;AAC5C;AACA;AACA;AACAC,EAAAA,WAAW,EAAE,CAACC,SAAD,EAAuBC,QAAvB,KAA6D;AACxEL,IAAAA,YAAY,CAACG,WAAb,CAAyBC,SAAzB,EAAoCC,QAApC;AACD,GAN2C;AAQ5C;AACA;AACA;AACAC,EAAAA,wBAAwB,EAAE,CACxBC,iBADwB,EAExBC,SAFwB,KAGJ;AACpB,WAAO,IAAIC,OAAJ,CAAY,CAACC,OAAD,EAAUC,MAAV,KAAqB;AACtC,UAAI;AACFb,QAAAA,+BAA+B,CAACc,4BAAhC,CACEL,iBADF,EAEEC,SAFF,EAGGK,GAAD,IAAgB;AACdF,UAAAA,MAAM,CAACE,GAAD,CAAN;AACD,SALH,EAMGC,GAAD,IAAiB;AACfJ,UAAAA,OAAO,CAACI,GAAD,CAAP;AACD,SARH;AAUD,OAXD,CAWE,OAAOC,CAAP,EAAU;AACVJ,QAAAA,MAAM,CAACI,CAAD,CAAN;AACD;AACF,KAfM,CAAP;AAgBD,GA/B2C;AAiC5CC,EAAAA,sBAAsB,EAAE,CACtBC,WADsB,EAEtBT,SAFsB,KAGF;AACpB,WAAO,IAAIC,OAAJ,CAAY,CAACC,OAAD,EAAUC,MAAV,KAAqB;AACtC,UAAI;AACFb,QAAAA,+BAA+B,CAACc,4BAAhC,CACEK,WADF,EAEET,SAFF,EAGGK,GAAD,IAAgB;AACdF,UAAAA,MAAM,CAACE,GAAD,CAAN;AACD,SALH,EAMGC,GAAD,IAAiB;AACfJ,UAAAA,OAAO,CAACI,GAAD,CAAP;AACD,SARH;AAUD,OAXD,CAWE,OAAOC,CAAP,EAAU;AACVJ,QAAAA,MAAM,CAACI,CAAD,CAAN;AACD;AACF,KAfM,CAAP;AAgBD,GArD2C;;AAuD5CG,EAAAA,oBAAoB,CAACC,WAAD,EAAsBC,QAAtB,EAAmD;AACrE,WAAO,IAAIX,OAAJ,CAAY,CAACC,OAAD,EAAUC,MAAV,KAAqB;AACtCb,MAAAA,+BAA+B,CAACoB,oBAAhC,CACEC,WADF,EAEEE,IAAI,CAACC,SAAL,CAAeF,QAAf,CAFF,EAGGP,GAAD,IAAgB;AACdU,QAAAA,OAAO,CAACC,KAAR,CAAcX,GAAd;AACAF,QAAAA,MAAM,CAACE,GAAD,CAAN;AACD,OANH,EAOGY,kBAAD,IAAkC;AAChCf,QAAAA,OAAO,CAAC;AAAEe,UAAAA;AAAF,SAAD,CAAP;AACD,OATH;AAWD,KAZM,CAAP;AAaD,GArE2C;;AAuE5CC,EAAAA,iBAAiB,EAAGC,aAAD,IACjB7B,+BAA+B,CAAC4B,iBAAhC,CAAkDC,aAAlD,CAxE0C;;AA0E5CC,EAAAA,qBAAqB,CAACC,WAAD,EAAsB;AACzC/B,IAAAA,+BAA+B,CAAC8B,qBAAhC,CAAsDC,WAAtD;AACD;;AA5E2C,CAA9C;eA+Ee3B,qC","sourcesContent":["import { NativeEventEmitter, NativeModules } from 'react-native';\n\nconst { PrimerHeadlessUniversalCheckout } = NativeModules;\n\nconst eventEmitter = new NativeEventEmitter(PrimerHeadlessUniversalCheckout);\n\ntype EventType =\n | 'preparationStarted'\n | 'paymentMethodPresented'\n | 'tokenizationStarted'\n | 'tokenizationSucceeded'\n | 'resume'\n | 'error';\n\nconst NativePrimerHeadlessUniversalCheckout = {\n ///////////////////////////////////////////\n // Event Emitter\n ///////////////////////////////////////////\n addListener: (eventType: EventType, listener: (...args: any[]) => any) => {\n eventEmitter.addListener(eventType, listener);\n },\n\n ///////////////////////////////////////////\n // Native API\n ///////////////////////////////////////////\n getAssetForPaymentMethod: (\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: (paymentMethod: string) =>\n PrimerHeadlessUniversalCheckout.showPaymentMethod(paymentMethod),\n\n resumeWithClientToken(resumeToken: string) {\n PrimerHeadlessUniversalCheckout.resumeWithClientToken(resumeToken);\n },\n};\n\nexport default NativePrimerHeadlessUniversalCheckout;\n"]}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _NativePrimerHeadlessUniversalCheckout = _interopRequireDefault(require("./NativePrimerHeadlessUniversalCheckout"));
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
|
|
12
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
13
|
+
|
|
14
|
+
class PrimerHeadlessUniversalCheckoutClass {
|
|
15
|
+
///////////////////////////////////////////
|
|
16
|
+
// Init
|
|
17
|
+
///////////////////////////////////////////
|
|
18
|
+
constructor() {
|
|
19
|
+
_defineProperty(this, "callbacks", void 0);
|
|
20
|
+
|
|
21
|
+
this.callbacks = undefined;
|
|
22
|
+
this.configureListeners();
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
configureListeners() {
|
|
26
|
+
_NativePrimerHeadlessUniversalCheckout.default.addListener('preparationStarted', () => {
|
|
27
|
+
var _this$callbacks, _this$callbacks$onPre;
|
|
28
|
+
|
|
29
|
+
console.log('preparationStarted');
|
|
30
|
+
(_this$callbacks = this.callbacks) === null || _this$callbacks === void 0 ? void 0 : (_this$callbacks$onPre = _this$callbacks.onPreparationStarted) === null || _this$callbacks$onPre === void 0 ? void 0 : _this$callbacks$onPre.call(_this$callbacks);
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
_NativePrimerHeadlessUniversalCheckout.default.addListener('paymentMethodPresented', () => {
|
|
34
|
+
var _this$callbacks2, _this$callbacks2$onPa;
|
|
35
|
+
|
|
36
|
+
console.log('paymentMethodPresented');
|
|
37
|
+
(_this$callbacks2 = this.callbacks) === null || _this$callbacks2 === void 0 ? void 0 : (_this$callbacks2$onPa = _this$callbacks2.onPaymentMethodPresented) === null || _this$callbacks2$onPa === void 0 ? void 0 : _this$callbacks2$onPa.call(_this$callbacks2);
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
_NativePrimerHeadlessUniversalCheckout.default.addListener('tokenizationStarted', () => {
|
|
41
|
+
var _this$callbacks3, _this$callbacks3$onTo;
|
|
42
|
+
|
|
43
|
+
console.log('tokenizationStarted');
|
|
44
|
+
(_this$callbacks3 = this.callbacks) === null || _this$callbacks3 === void 0 ? void 0 : (_this$callbacks3$onTo = _this$callbacks3.onTokenizeStart) === null || _this$callbacks3$onTo === void 0 ? void 0 : _this$callbacks3$onTo.call(_this$callbacks3);
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
_NativePrimerHeadlessUniversalCheckout.default.addListener('tokenizationSucceeded', data => {
|
|
48
|
+
console.log('tokenizationSucceeded', data);
|
|
49
|
+
|
|
50
|
+
if (data.paymentMethodToken) {
|
|
51
|
+
var _this$callbacks4, _this$callbacks4$onTo;
|
|
52
|
+
|
|
53
|
+
const paymentMethodTokenObj = JSON.parse(data.paymentMethodToken);
|
|
54
|
+
(_this$callbacks4 = this.callbacks) === null || _this$callbacks4 === void 0 ? void 0 : (_this$callbacks4$onTo = _this$callbacks4.onTokenizeSuccess) === null || _this$callbacks4$onTo === void 0 ? void 0 : _this$callbacks4$onTo.call(_this$callbacks4, paymentMethodTokenObj);
|
|
55
|
+
} else {
|
|
56
|
+
var _this$callbacks5, _this$callbacks5$onFa;
|
|
57
|
+
|
|
58
|
+
const err = {
|
|
59
|
+
name: 'ParseJsonFailed',
|
|
60
|
+
description: 'Failed to parse payment method token'
|
|
61
|
+
}; //@ts-ignore
|
|
62
|
+
|
|
63
|
+
(_this$callbacks5 = this.callbacks) === null || _this$callbacks5 === void 0 ? void 0 : (_this$callbacks5$onFa = _this$callbacks5.onFailure) === null || _this$callbacks5$onFa === void 0 ? void 0 : _this$callbacks5$onFa.call(_this$callbacks5, err);
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
_NativePrimerHeadlessUniversalCheckout.default.addListener('resume', data => {
|
|
68
|
+
var _this$callbacks6, _this$callbacks6$onRe;
|
|
69
|
+
|
|
70
|
+
console.log('resume', data);
|
|
71
|
+
(_this$callbacks6 = this.callbacks) === null || _this$callbacks6 === void 0 ? void 0 : (_this$callbacks6$onRe = _this$callbacks6.onResumeSuccess) === null || _this$callbacks6$onRe === void 0 ? void 0 : _this$callbacks6$onRe.call(_this$callbacks6, data.resumeToken);
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
_NativePrimerHeadlessUniversalCheckout.default.addListener('error', data => {
|
|
75
|
+
var _this$callbacks7, _this$callbacks7$onFa;
|
|
76
|
+
|
|
77
|
+
console.log('error', data);
|
|
78
|
+
(_this$callbacks7 = this.callbacks) === null || _this$callbacks7 === void 0 ? void 0 : (_this$callbacks7$onFa = _this$callbacks7.onFailure) === null || _this$callbacks7$onFa === void 0 ? void 0 : _this$callbacks7$onFa.call(_this$callbacks7, data.error);
|
|
79
|
+
});
|
|
80
|
+
} ///////////////////////////////////////////
|
|
81
|
+
// API
|
|
82
|
+
///////////////////////////////////////////
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
startWithClientToken(clientToken, settings) {
|
|
86
|
+
// Copy callback
|
|
87
|
+
this.callbacks = {
|
|
88
|
+
onPreparationStarted: settings.onPreparationStarted,
|
|
89
|
+
onPaymentMethodPresented: settings.onPaymentMethodPresented,
|
|
90
|
+
onTokenizeStart: settings.onTokenizeStart,
|
|
91
|
+
onTokenizeSuccess: settings.onTokenizeSuccess,
|
|
92
|
+
onResumeSuccess: settings.onResumeSuccess,
|
|
93
|
+
onFailure: settings.onFailure
|
|
94
|
+
};
|
|
95
|
+
return _NativePrimerHeadlessUniversalCheckout.default.startWithClientToken(clientToken, settings);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
showPaymentMethod(paymentMethod) {
|
|
99
|
+
return _NativePrimerHeadlessUniversalCheckout.default.showPaymentMethod(paymentMethod);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
resumeWithClientToken(resumeToken) {
|
|
103
|
+
return _NativePrimerHeadlessUniversalCheckout.default.resumeWithClientToken(resumeToken);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
getAssetForPaymentMethod(paymentMethodType, assetType) {
|
|
107
|
+
return _NativePrimerHeadlessUniversalCheckout.default.getAssetForPaymentMethod(paymentMethodType, assetType);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
getAssetForCardNetwork(cardNetwork, assetType) {
|
|
111
|
+
return _NativePrimerHeadlessUniversalCheckout.default.getAssetForCardNetwork(cardNetwork, assetType);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
const PrimerHeadlessUniversalCheckout = new PrimerHeadlessUniversalCheckoutClass();
|
|
117
|
+
var _default = PrimerHeadlessUniversalCheckout;
|
|
118
|
+
exports.default = _default;
|
|
119
|
+
//# sourceMappingURL=PrimerHeadlessUniversalCheckout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["PrimerHeadlessUniversalCheckout.ts"],"names":["PrimerHeadlessUniversalCheckoutClass","constructor","callbacks","undefined","configureListeners","NativePrimerHeadlessUniversalCheckout","addListener","console","log","onPreparationStarted","onPaymentMethodPresented","onTokenizeStart","data","paymentMethodToken","paymentMethodTokenObj","JSON","parse","onTokenizeSuccess","err","name","description","onFailure","onResumeSuccess","resumeToken","error","startWithClientToken","clientToken","settings","showPaymentMethod","paymentMethod","resumeWithClientToken","getAssetForPaymentMethod","paymentMethodType","assetType","getAssetForCardNetwork","cardNetwork","PrimerHeadlessUniversalCheckout"],"mappings":"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","sourcesContent":["import type { PaymentInstrumentToken } from 'src/models/payment-instrument-token';\nimport type { PrimerError } from 'src/models/primer-error';\nimport type { PrimerSettings } from 'src/models/primer-settings';\nimport NativePrimerHeadlessUniversalCheckout from './NativePrimerHeadlessUniversalCheckout';\nimport type {\n PrimerHeadlessUniversalCheckoutStartResponse,\n PrimerHeadlessUniversalCheckoutCallbacks,\n} from './types';\n\nclass PrimerHeadlessUniversalCheckoutClass {\n private callbacks: PrimerHeadlessUniversalCheckoutCallbacks | undefined;\n\n ///////////////////////////////////////////\n // Init\n ///////////////////////////////////////////\n constructor() {\n this.callbacks = undefined;\n this.configureListeners();\n }\n\n private configureListeners() {\n NativePrimerHeadlessUniversalCheckout.addListener(\n 'preparationStarted',\n () => {\n console.log('preparationStarted');\n this.callbacks?.onPreparationStarted?.();\n }\n );\n\n NativePrimerHeadlessUniversalCheckout.addListener(\n 'paymentMethodPresented',\n () => {\n console.log('paymentMethodPresented');\n this.callbacks?.onPaymentMethodPresented?.();\n }\n );\n\n NativePrimerHeadlessUniversalCheckout.addListener(\n 'tokenizationStarted',\n () => {\n console.log('tokenizationStarted');\n this.callbacks?.onTokenizeStart?.();\n }\n );\n\n NativePrimerHeadlessUniversalCheckout.addListener(\n 'tokenizationSucceeded',\n (data) => {\n console.log('tokenizationSucceeded', data);\n\n if (data.paymentMethodToken) {\n const paymentMethodTokenObj: PaymentInstrumentToken = JSON.parse(\n data.paymentMethodToken\n );\n this.callbacks?.onTokenizeSuccess?.(paymentMethodTokenObj);\n } else {\n const err: PrimerError = {\n name: 'ParseJsonFailed',\n description: 'Failed to parse payment method token',\n };\n //@ts-ignore\n this.callbacks?.onFailure?.(err);\n }\n }\n );\n\n NativePrimerHeadlessUniversalCheckout.addListener('resume', (data) => {\n console.log('resume', data);\n this.callbacks?.onResumeSuccess?.(data.resumeToken);\n });\n\n NativePrimerHeadlessUniversalCheckout.addListener('error', (data) => {\n console.log('error', data);\n this.callbacks?.onFailure?.(data.error);\n });\n }\n\n ///////////////////////////////////////////\n // API\n ///////////////////////////////////////////\n startWithClientToken(\n clientToken: string,\n settings: PrimerSettings & PrimerHeadlessUniversalCheckoutCallbacks\n ): Promise<PrimerHeadlessUniversalCheckoutStartResponse> {\n // Copy callback\n this.callbacks = {\n onPreparationStarted: settings.onPreparationStarted,\n onPaymentMethodPresented: settings.onPaymentMethodPresented,\n onTokenizeStart: settings.onTokenizeStart,\n onTokenizeSuccess: settings.onTokenizeSuccess,\n onResumeSuccess: settings.onResumeSuccess,\n onFailure: settings.onFailure,\n };\n\n return NativePrimerHeadlessUniversalCheckout.startWithClientToken(\n clientToken,\n settings\n );\n }\n\n showPaymentMethod(paymentMethod: string) {\n return NativePrimerHeadlessUniversalCheckout.showPaymentMethod(\n paymentMethod\n );\n }\n\n resumeWithClientToken(resumeToken: string) {\n return NativePrimerHeadlessUniversalCheckout.resumeWithClientToken(\n resumeToken\n );\n }\n\n getAssetForPaymentMethod(\n paymentMethodType: string,\n assetType: 'logo' | 'icon'\n ): Promise<string> {\n return NativePrimerHeadlessUniversalCheckout.getAssetForPaymentMethod(\n paymentMethodType,\n assetType\n );\n }\n\n getAssetForCardNetwork(\n cardNetwork: string,\n assetType: 'logo' | 'icon'\n ): Promise<string> {\n return NativePrimerHeadlessUniversalCheckout.getAssetForCardNetwork(\n cardNetwork,\n assetType\n );\n }\n}\n\nconst PrimerHeadlessUniversalCheckout = new PrimerHeadlessUniversalCheckoutClass();\n\nexport default PrimerHeadlessUniversalCheckout;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -3,10 +3,38 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
var _exportNames = {
|
|
7
|
+
Primer: true,
|
|
8
|
+
HeadlessUniversalCheckout: true
|
|
9
|
+
};
|
|
10
|
+
Object.defineProperty(exports, "HeadlessUniversalCheckout", {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _PrimerHeadlessUniversalCheckout.default;
|
|
14
|
+
}
|
|
15
|
+
});
|
|
6
16
|
exports.Primer = void 0;
|
|
7
17
|
|
|
18
|
+
var _PrimerHeadlessUniversalCheckout = _interopRequireDefault(require("./headless_checkout/PrimerHeadlessUniversalCheckout"));
|
|
19
|
+
|
|
8
20
|
var _Primer = require("./Primer");
|
|
9
21
|
|
|
22
|
+
var _PrimerInput = require("./PrimerInput");
|
|
23
|
+
|
|
24
|
+
Object.keys(_PrimerInput).forEach(function (key) {
|
|
25
|
+
if (key === "default" || key === "__esModule") return;
|
|
26
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
27
|
+
if (key in exports && exports[key] === _PrimerInput[key]) return;
|
|
28
|
+
Object.defineProperty(exports, key, {
|
|
29
|
+
enumerable: true,
|
|
30
|
+
get: function () {
|
|
31
|
+
return _PrimerInput[key];
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
37
|
+
|
|
10
38
|
const Primer = _Primer.PrimerNativeMapping;
|
|
11
39
|
exports.Primer = Primer;
|
|
12
40
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.tsx"],"names":["Primer","PrimerNativeMapping"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["index.tsx"],"names":["Primer","PrimerNativeMapping"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AAEA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;AAEA,MAAMA,MAAe,GAAGC,2BAAxB","sourcesContent":["import PrimerHeadlessUniversalCheckout from './headless_checkout/PrimerHeadlessUniversalCheckout';\nimport type { IPrimer } from './models/primer';\nimport { PrimerNativeMapping } from './Primer';\nexport * from './PrimerInput';\n\nconst Primer: IPrimer = PrimerNativeMapping;\n\nexport { Primer, PrimerHeadlessUniversalCheckout as HeadlessUniversalCheckout };\n"]}
|
package/lib/module/Primer.js
CHANGED
package/lib/module/Primer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Primer.ts"],"names":["NativeModules","parseCallback","PrimerRN","NativeModule","PrimerNativeMapping","showUniversalCheckout","token","config","configureIntent","vault","paymentMethod","configure","initialize","showVaultManager","showPaymentMethod","intent","dispose","configureTheme","theme","configureSettings","settings","configureOnVaultSuccess","onTokenAddedToVault","configureOnDismiss","onDismiss","configureOnError","onError","configureOnTokenizeSuccess","onTokenizeSuccess","configureOnClientSessionActions","onClientSessionActions","configureOnResumeSuccess","onResumeSuccess","data","JSON","stringify","resume","request","callback","_","__","parsedData","parse","handleError","error","handleSuccess","handleNewClientToken","resumeWithError","resumeWithSuccess","e","console","log","actionResume","paymentMethodToken","configureOnPrimerError"],"mappings":"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","sourcesContent":["import { NativeModules } from 'react-native';\nimport type { ClientSessionActionsRequest } from './models/client-session-actions-request';\nimport type { PaymentInstrumentToken } from './models/payment-instrument-token';\nimport type { IPrimer } from './models/primer';\nimport type {\n OnClientSessionActionsCallback,\n OnDismissCallback,\n OnPrimerErrorCallback,\n OnTokenAddedToVaultCallback,\n OnTokenizeSuccessCallback,\n} from './models/primer-callbacks';\nimport type { PrimerConfig } from './models/primer-config';\nimport type { PrimerError } from './models/primer-error';\nimport type {\n PrimerIntent,\n PrimerPaymentMethodIntent,\n} from './models/primer-intent';\nimport type { PrimerSettings } from './models/primer-settings';\nimport type { PrimerTheme } from './models/primer-theme';\nimport { parseCallback } from './utils';\n\nconst { PrimerRN: NativeModule } = NativeModules;\n\nexport const PrimerNativeMapping: IPrimer = {\n showUniversalCheckout(token: String, config: PrimerConfig): void {\n configureIntent({ vault: false, paymentMethod: 'Any' });\n configure(config);\n NativeModule.initialize(token);\n },\n\n showVaultManager(token: String, config: PrimerConfig): void {\n configureIntent({ vault: true, paymentMethod: 'Any' });\n configure(config);\n NativeModule.initialize(token);\n },\n\n showPaymentMethod(\n token: String,\n intent: PrimerPaymentMethodIntent,\n config: PrimerConfig\n ): void {\n configureIntent(intent);\n configure(config);\n NativeModule.initialize(token);\n },\n\n // todo: refactor\n // fetchSavedPaymentInstruments(token: String, config: PrimerConfig): void {\n // configure(config);\n // NativeModule.fetchSavedPaymentInstruments(token);\n // },\n\n dispose(): void {\n NativeModule.dispose();\n },\n};\n\nfunction configure(config: PrimerConfig): void {\n configureTheme(config.theme);\n configureSettings(config.settings);\n configureOnVaultSuccess(config.onTokenAddedToVault);\n configureOnDismiss(config.onDismiss);\n configureOnError(config.onError);\n configureOnTokenizeSuccess(config.onTokenizeSuccess);\n configureOnClientSessionActions(config.onClientSessionActions);\n configureOnResumeSuccess(config.onResumeSuccess);\n}\n\nfunction configureSettings(settings: PrimerSettings = {}): void {\n const data = JSON.stringify(settings);\n NativeModule.configureSettings(data);\n}\n\nfunction configureTheme(theme: PrimerTheme = {}): void {\n const data = JSON.stringify(theme);\n NativeModule.configureTheme(data);\n}\n\nfunction configureIntent(\n intent: PrimerIntent = { vault: false, paymentMethod: 'Any' }\n): void {\n const data = JSON.stringify(intent);\n NativeModule.configureIntent(data);\n}\n\nfunction resume(request: ResumeRequest) {\n const data = JSON.stringify(request);\n NativeModule.resume(data);\n}\n\nfunction configureOnTokenizeSuccess(\n callback: OnTokenizeSuccessCallback = (_, __) => {}\n) {\n NativeModule.configureOnTokenizeSuccess((data: any) => {\n try {\n const parsedData = JSON.parse(data) as PaymentInstrumentToken;\n callback(parsedData, {\n handleError: (error) => resume({ error, token: null }),\n handleSuccess: () => resume({ error: null, token: null }),\n handleNewClientToken: (token) => resume({ error: null, token }),\n // deprecated\n resumeWithError: (error) => resume({ error, token: null }),\n resumeWithSuccess: (token) => resume({ error: null, token }),\n });\n } catch (e) {\n console.log('failed to parse json', e);\n }\n });\n}\n\nfunction actionResume(request: ResumeRequest) {\n const data = JSON.stringify(request);\n NativeModule.actionResume(data);\n}\n\n/**\n * Call @method configureOnClientSessionActions on the native bridge, passing\n * in a callback that the native side will call every time a client session\n * action is triggered.\n */\nfunction configureOnClientSessionActions(\n callback?: OnClientSessionActionsCallback // defined by integrating developer.\n) {\n NativeModule.configureOnClientSessionActions((data: any) => {\n try {\n // parse the client session action JSON string.\n const parsedData = JSON.parse(data) as ClientSessionActionsRequest;\n\n if (!callback) {\n /**\n * if @param callback is undefined immediately call the native bridge\n * and resume with null values. This will resume the SDK flow without\n * triggering extra configuration API fetch calls.\n */\n actionResume({ error: null, token: null });\n } else {\n /**\n * send the parsed data back to the developer through the defined callback.\n * The developer will determine how to resume the flow using one of the provided\n * resume handlers.\n */\n callback(parsedData, {\n handleError: (error) => actionResume({ error, token: null }),\n handleSuccess: () => actionResume({ error: null, token: null }),\n handleNewClientToken: (token) => actionResume({ error: null, token }),\n // deprecated, remove in next major version update.\n resumeWithError: (error) => actionResume({ error, token: null }),\n resumeWithSuccess: (token) => actionResume({ error: null, token }),\n });\n }\n\n // reset the client session action callback (native bridge callbacks are disposed once they're invoked).\n configureOnClientSessionActions(callback);\n } catch (e) {\n // log error if the client session action JSON string cannot be parsed (this should never happen!).\n console.error('[OnClientSessionActions]', 'failed to parse json', e);\n }\n });\n}\n\nfunction configureOnResumeSuccess(\n callback: OnTokenizeSuccessCallback = (_, __) => {}\n) {\n NativeModule.configureOnResumeSuccess((paymentMethodToken: any) => {\n try {\n callback(paymentMethodToken, {\n handleError: (error) => resume({ error, token: null }),\n handleSuccess: () => resume({ error: null, token: null }),\n handleNewClientToken: (token) => resume({ error: null, token }),\n // deprecated\n resumeWithError: (error) => resume({ error, token: null }),\n resumeWithSuccess: (token) => resume({ error: null, token }),\n });\n } catch (e) {\n console.log('failed to parse json', e);\n }\n });\n}\n\nfunction configureOnVaultSuccess(\n callback: OnTokenAddedToVaultCallback = (_) => {}\n) {\n NativeModule.configureOnVaultSuccess((data: any) => {\n parseCallback<PaymentInstrumentToken>(data, callback);\n });\n}\n\nfunction configureOnDismiss(callback: OnDismissCallback = () => {}) {\n NativeModule.configureOnDismiss((_: any) => callback());\n}\n\nfunction configureOnError(callback: OnPrimerErrorCallback = (_) => {}) {\n NativeModule.configureOnPrimerError((data: any) => {\n parseCallback<PrimerError>(data, callback);\n });\n}\n\ninterface ResumeRequest {\n error: string | null;\n token: string | null;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["Primer.ts"],"names":["NativeModules","parseCallback","PrimerRN","NativeModule","PrimerNativeMapping","showUniversalCheckout","token","config","configureIntent","vault","paymentMethod","configure","initialize","showVaultManager","showPaymentMethod","intent","dispose","configureTheme","theme","configureSettings","settings","configureOnVaultSuccess","onTokenAddedToVault","configureOnDismiss","onDismiss","configureOnError","onError","configureOnTokenizeSuccess","onTokenizeSuccess","configureOnClientSessionActions","onClientSessionActions","configureOnResumeSuccess","onResumeSuccess","data","JSON","stringify","resume","request","callback","_","__","parsedData","parse","handleError","error","handleSuccess","handleNewClientToken","resumeWithError","resumeWithSuccess","e","console","log","actionResume","paymentMethodToken","configureOnPrimerError"],"mappings":"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","sourcesContent":["import { NativeModules } from 'react-native';\nimport type { ClientSessionActionsRequest } from './models/client-session-actions-request';\nimport type { PaymentInstrumentToken } from './models/payment-instrument-token';\nimport type { IPrimer } from './models/primer';\nimport type {\n OnClientSessionActionsCallback,\n OnDismissCallback,\n OnPrimerErrorCallback,\n OnTokenAddedToVaultCallback,\n OnTokenizeSuccessCallback,\n} from './models/primer-callbacks';\nimport type { PrimerConfig } from './models/primer-config';\nimport type { PrimerError } from './models/primer-error';\nimport type {\n PrimerIntent,\n PrimerPaymentMethodIntent,\n} from './models/primer-intent';\nimport type { PrimerSettings } from './models/primer-settings';\nimport type { PrimerTheme } from './models/primer-theme';\nimport { parseCallback } from './utils';\n\nconst { PrimerRN: NativeModule } = NativeModules;\n\nexport const PrimerNativeMapping: IPrimer = {\n showUniversalCheckout(token: String, config: PrimerConfig): void {\n configureIntent({ vault: false, paymentMethod: 'Any' });\n configure(config);\n NativeModule.initialize(token);\n },\n\n showVaultManager(token: String, config: PrimerConfig): void {\n configureIntent({ vault: true, paymentMethod: 'Any' });\n configure(config);\n NativeModule.initialize(token);\n },\n\n showPaymentMethod(\n token: String,\n intent: PrimerPaymentMethodIntent,\n config: PrimerConfig\n ): void {\n configureIntent(intent);\n configure(config);\n NativeModule.initialize(token);\n },\n\n // todo: refactor\n // fetchSavedPaymentInstruments(token: String, config: PrimerConfig): void {\n // configure(config);\n // NativeModule.fetchSavedPaymentInstruments(token);\n // },\n\n dispose(): void {\n NativeModule.dispose();\n },\n};\n\n//\n\nfunction configure(config: PrimerConfig): void {\n configureTheme(config.theme);\n configureSettings(config.settings);\n configureOnVaultSuccess(config.onTokenAddedToVault);\n configureOnDismiss(config.onDismiss);\n configureOnError(config.onError);\n configureOnTokenizeSuccess(config.onTokenizeSuccess);\n configureOnClientSessionActions(config.onClientSessionActions);\n configureOnResumeSuccess(config.onResumeSuccess);\n}\n\nfunction configureSettings(settings: PrimerSettings = {}): void {\n const data = JSON.stringify(settings);\n NativeModule.configureSettings(data);\n}\n\nfunction configureTheme(theme: PrimerTheme = {}): void {\n const data = JSON.stringify(theme);\n NativeModule.configureTheme(data);\n}\n\nfunction configureIntent(\n intent: PrimerIntent = { vault: false, paymentMethod: 'Any' }\n): void {\n const data = JSON.stringify(intent);\n NativeModule.configureIntent(data);\n}\n\nfunction resume(request: ResumeRequest) {\n const data = JSON.stringify(request);\n NativeModule.resume(data);\n}\n\nfunction configureOnTokenizeSuccess(\n callback: OnTokenizeSuccessCallback = (_, __) => {}\n) {\n NativeModule.configureOnTokenizeSuccess((data: any) => {\n try {\n const parsedData = JSON.parse(data) as PaymentInstrumentToken;\n callback(parsedData, {\n handleError: (error) => resume({ error, token: null }),\n handleSuccess: () => resume({ error: null, token: null }),\n handleNewClientToken: (token) => resume({ error: null, token }),\n // deprecated\n resumeWithError: (error) => resume({ error, token: null }),\n resumeWithSuccess: (token) => resume({ error: null, token }),\n });\n } catch (e) {\n console.log('failed to parse json', e);\n }\n });\n}\n\nfunction actionResume(request: ResumeRequest) {\n const data = JSON.stringify(request);\n NativeModule.actionResume(data);\n}\n\n/**\n * Call @method configureOnClientSessionActions on the native bridge, passing\n * in a callback that the native side will call every time a client session\n * action is triggered.\n */\nfunction configureOnClientSessionActions(\n callback?: OnClientSessionActionsCallback // defined by integrating developer.\n) {\n NativeModule.configureOnClientSessionActions((data: any) => {\n try {\n // parse the client session action JSON string.\n const parsedData = JSON.parse(data) as ClientSessionActionsRequest;\n\n if (!callback) {\n /**\n * if @param callback is undefined immediately call the native bridge\n * and resume with null values. This will resume the SDK flow without\n * triggering extra configuration API fetch calls.\n */\n actionResume({ error: null, token: null });\n } else {\n /**\n * send the parsed data back to the developer through the defined callback.\n * The developer will determine how to resume the flow using one of the provided\n * resume handlers.\n */\n callback(parsedData, {\n handleError: (error) => actionResume({ error, token: null }),\n handleSuccess: () => actionResume({ error: null, token: null }),\n handleNewClientToken: (token) => actionResume({ error: null, token }),\n // deprecated, remove in next major version update.\n resumeWithError: (error) => actionResume({ error, token: null }),\n resumeWithSuccess: (token) => actionResume({ error: null, token }),\n });\n }\n\n // reset the client session action callback (native bridge callbacks are disposed once they're invoked).\n configureOnClientSessionActions(callback);\n } catch (e) {\n // log error if the client session action JSON string cannot be parsed (this should never happen!).\n console.error('[OnClientSessionActions]', 'failed to parse json', e);\n }\n });\n}\n\nfunction configureOnResumeSuccess(\n callback: OnTokenizeSuccessCallback = (_, __) => {}\n) {\n NativeModule.configureOnResumeSuccess((paymentMethodToken: any) => {\n try {\n callback(paymentMethodToken, {\n handleError: (error) => resume({ error, token: null }),\n handleSuccess: () => resume({ error: null, token: null }),\n handleNewClientToken: (token) => resume({ error: null, token }),\n // deprecated\n resumeWithError: (error) => resume({ error, token: null }),\n resumeWithSuccess: (token) => resume({ error: null, token }),\n });\n } catch (e) {\n console.log('failed to parse json', e);\n }\n });\n}\n\nfunction configureOnVaultSuccess(\n callback: OnTokenAddedToVaultCallback = (_) => {}\n) {\n NativeModule.configureOnVaultSuccess((data: any) => {\n parseCallback<PaymentInstrumentToken>(data, callback);\n });\n}\n\nfunction configureOnDismiss(callback: OnDismissCallback = () => {}) {\n NativeModule.configureOnDismiss((_: any) => callback());\n}\n\nfunction configureOnError(callback: OnPrimerErrorCallback = (_) => {}) {\n NativeModule.configureOnPrimerError((data: any) => {\n parseCallback<PrimerError>(data, callback);\n });\n}\n\ninterface ResumeRequest {\n error: string | null;\n token: string | null;\n}\n"]}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
+
|
|
3
|
+
import { PrimerHeadlessUniversalCheckoutCardFormUIManager } from './RNTPrimerHeadlessUniversalCheckoutCardFormUIManager';
|
|
4
|
+
import React, { useEffect, useRef } from 'react';
|
|
5
|
+
import { NativeModules, requireNativeComponent } from 'react-native'; // PrimerCardNumberEditText
|
|
6
|
+
|
|
7
|
+
export const PrimerCardNumberEditTextRaw = requireNativeComponent('PrimerCardNumberEditText');
|
|
8
|
+
const {
|
|
9
|
+
PrimerRN
|
|
10
|
+
} = NativeModules;
|
|
11
|
+
export const PrimerCardNumberEditText = props => {
|
|
12
|
+
const ref = useRef( /*#__PURE__*/React.createRef());
|
|
13
|
+
useEffect(() => {
|
|
14
|
+
const tag = ref.current.current._nativeTag;
|
|
15
|
+
PrimerHeadlessUniversalCheckoutCardFormUIManager.addInput(tag);
|
|
16
|
+
return () => PrimerRN.removeInput(tag);
|
|
17
|
+
}, []);
|
|
18
|
+
const rawComponent = /*#__PURE__*/React.createElement(PrimerCardNumberEditTextRaw, _extends({
|
|
19
|
+
ref: ref.current
|
|
20
|
+
}, props));
|
|
21
|
+
return rawComponent;
|
|
22
|
+
}; // PrimerCardholderNameEditText
|
|
23
|
+
|
|
24
|
+
export const PrimerCardholderNameEditTextRaw = requireNativeComponent('PrimerCardholderNameEditText');
|
|
25
|
+
export const PrimerCardholderNameEditText = props => {
|
|
26
|
+
const ref = useRef( /*#__PURE__*/React.createRef());
|
|
27
|
+
useEffect(() => {
|
|
28
|
+
const tag = ref.current.current._nativeTag;
|
|
29
|
+
PrimerRN.addInput(tag);
|
|
30
|
+
return () => PrimerRN.removeInput(tag);
|
|
31
|
+
}, []);
|
|
32
|
+
return /*#__PURE__*/React.createElement(PrimerCardholderNameEditTextRaw, _extends({
|
|
33
|
+
ref: ref.current
|
|
34
|
+
}, props));
|
|
35
|
+
}; // PrimerExpiryEditText
|
|
36
|
+
|
|
37
|
+
export const PrimerExpiryEditTextRaw = requireNativeComponent('PrimerExpiryEditText');
|
|
38
|
+
export const PrimerExpiryEditText = props => {
|
|
39
|
+
return /*#__PURE__*/React.createElement(PrimerExpiryEditTextRaw, props);
|
|
40
|
+
}; // cvv
|
|
41
|
+
|
|
42
|
+
export const PrimerCvvEditTextRaw = requireNativeComponent('PrimerCvvEditText');
|
|
43
|
+
export const PrimerCvvEditText = props => {
|
|
44
|
+
return /*#__PURE__*/React.createElement(PrimerCvvEditTextRaw, props);
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=PrimerInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["PrimerInput.tsx"],"names":["PrimerHeadlessUniversalCheckoutCardFormUIManager","React","useEffect","useRef","NativeModules","requireNativeComponent","PrimerCardNumberEditTextRaw","PrimerRN","PrimerCardNumberEditText","props","ref","createRef","tag","current","_nativeTag","addInput","removeInput","rawComponent","PrimerCardholderNameEditTextRaw","PrimerCardholderNameEditText","PrimerExpiryEditTextRaw","PrimerExpiryEditText","PrimerCvvEditTextRaw","PrimerCvvEditText"],"mappings":";;AAAA,SAASA,gDAAT,QAAiE,uDAAjE;AACA,OAAOC,KAAP,IAAgBC,SAAhB,EAA2BC,MAA3B,QAAyC,OAAzC;AACA,SAASC,aAAT,EAAwBC,sBAAxB,QAAiE,cAAjE,C,CAGA;;AACA,OAAO,MAAMC,2BAA2B,GAAGD,sBAAsB,CAC/D,0BAD+D,CAA1D;AAMP,MAAM;AAAEE,EAAAA;AAAF,IAAeH,aAArB;AAEA,OAAO,MAAMI,wBAAiE,GAAIC,KAAD,IAAW;AAC1F,QAAMC,GAAG,GAAGP,MAAM,eAACF,KAAK,CAACU,SAAN,EAAD,CAAlB;AAEAT,EAAAA,SAAS,CAAC,MAAM;AACd,UAAMU,GAAG,GAAGF,GAAG,CAACG,OAAJ,CAAYA,OAAZ,CAAoBC,UAAhC;AACAd,IAAAA,gDAAgD,CAACe,QAAjD,CAA0DH,GAA1D;AACA,WAAO,MAAML,QAAQ,CAACS,WAAT,CAAqBJ,GAArB,CAAb;AACD,GAJQ,EAIN,EAJM,CAAT;AAMA,QAAMK,YAAY,gBAChB,oBAAC,2BAAD;AAA6B,IAAA,GAAG,EAAEP,GAAG,CAACG;AAAtC,KAAmDJ,KAAnD,EADF;AAIA,SAAOQ,YAAP;AACD,CAdM,C,CAgBP;;AACA,OAAO,MAAMC,+BAA+B,GAAGb,sBAAsB,CACnE,8BADmE,CAA9D;AAMP,OAAO,MAAMc,4BAAyE,GACpFV,KADuF,IAEpF;AACH,QAAMC,GAAG,GAAGP,MAAM,eAACF,KAAK,CAACU,SAAN,EAAD,CAAlB;AAEAT,EAAAA,SAAS,CAAC,MAAM;AACd,UAAMU,GAAG,GAAGF,GAAG,CAACG,OAAJ,CAAYA,OAAZ,CAAoBC,UAAhC;AACAP,IAAAA,QAAQ,CAACQ,QAAT,CAAkBH,GAAlB;AACA,WAAO,MAAML,QAAQ,CAACS,WAAT,CAAqBJ,GAArB,CAAb;AACD,GAJQ,EAIN,EAJM,CAAT;AAKA,sBAAO,oBAAC,+BAAD;AAAiC,IAAA,GAAG,EAAEF,GAAG,CAACG;AAA1C,KAAuDJ,KAAvD,EAAP;AACD,CAXM,C,CAaP;;AACA,OAAO,MAAMW,uBAAuB,GAAGf,sBAAsB,CAC3D,sBAD2D,CAAtD;AAMP,OAAO,MAAMgB,oBAAyD,GACpEZ,KADuE,IAEpE;AACH,sBAAO,oBAAC,uBAAD,EAA6BA,KAA7B,CAAP;AACD,CAJM,C,CAMP;;AACA,OAAO,MAAMa,oBAAoB,GAAGjB,sBAAsB,CACxD,mBADwD,CAAnD;AAMP,OAAO,MAAMkB,iBAAmD,GAAId,KAAD,IAAW;AAC5E,sBAAO,oBAAC,oBAAD,EAA0BA,KAA1B,CAAP;AACD,CAFM","sourcesContent":["import { PrimerHeadlessUniversalCheckoutCardFormUIManager } from './RNTPrimerHeadlessUniversalCheckoutCardFormUIManager';\nimport React, { useEffect, useRef } from 'react';\nimport { NativeModules, requireNativeComponent, ViewProps } from 'react-native';\n\n\n// PrimerCardNumberEditText\nexport const PrimerCardNumberEditTextRaw = requireNativeComponent<{}>(\n 'PrimerCardNumberEditText'\n);\n\ntype PrimerCardNumberEditTextProps = ViewProps;\n\nconst { PrimerRN } = NativeModules;\n\nexport const PrimerCardNumberEditText: React.FC<PrimerCardNumberEditTextProps> = (props) => {\n const ref = useRef(React.createRef<any>());\n\n useEffect(() => {\n const tag = ref.current.current._nativeTag;\n PrimerHeadlessUniversalCheckoutCardFormUIManager.addInput(tag);\n return () => PrimerRN.removeInput(tag);\n }, []);\n\n const rawComponent = (\n <PrimerCardNumberEditTextRaw ref={ref.current} {...props} />\n );\n\n return rawComponent;\n};\n\n// PrimerCardholderNameEditText\nexport const PrimerCardholderNameEditTextRaw = requireNativeComponent<{}>(\n 'PrimerCardholderNameEditText'\n);\n\ntype PrimerCardholderNameEditTextProps = ViewProps;\n\nexport const PrimerCardholderNameEditText: React.FC<PrimerCardholderNameEditTextProps> = (\n props\n) => {\n const ref = useRef(React.createRef<any>());\n\n useEffect(() => {\n const tag = ref.current.current._nativeTag;\n PrimerRN.addInput(tag);\n return () => PrimerRN.removeInput(tag);\n }, []);\n return <PrimerCardholderNameEditTextRaw ref={ref.current} {...props} />;\n};\n\n// PrimerExpiryEditText\nexport const PrimerExpiryEditTextRaw = requireNativeComponent<{}>(\n 'PrimerExpiryEditText'\n);\n\ntype PrimerExpiryEditTextProps = ViewProps;\n\nexport const PrimerExpiryEditText: React.FC<PrimerExpiryEditTextProps> = (\n props\n) => {\n return <PrimerExpiryEditTextRaw {...props} />;\n};\n\n// cvv\nexport const PrimerCvvEditTextRaw = requireNativeComponent<{}>(\n 'PrimerCvvEditText'\n);\n\ntype PrimerCvvEditTextProps = ViewProps;\n\nexport const PrimerCvvEditText: React.FC<PrimerCvvEditTextProps> = (props) => {\n return <PrimerCvvEditTextRaw {...props} />;\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.tsx"],"names":["NativeModules","PrimerHeadlessUniversalCheckoutCardFormUIManager"],"mappings":"AAAA,SAASA,aAAT,QAA8B,cAA9B;AACA,OAAO,MAAM;AAAEC,EAAAA;AAAF,IAAuDD,aAA7D","sourcesContent":["import { NativeModules } from 'react-native';\nexport const { PrimerHeadlessUniversalCheckoutCardFormUIManager } = NativeModules;"]}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { NativeEventEmitter, NativeModules } from 'react-native';
|
|
2
|
+
const {
|
|
3
|
+
PrimerHeadlessUniversalCheckout
|
|
4
|
+
} = NativeModules;
|
|
5
|
+
const eventEmitter = new NativeEventEmitter(PrimerHeadlessUniversalCheckout);
|
|
6
|
+
const NativePrimerHeadlessUniversalCheckout = {
|
|
7
|
+
///////////////////////////////////////////
|
|
8
|
+
// Event Emitter
|
|
9
|
+
///////////////////////////////////////////
|
|
10
|
+
addListener: (eventType, listener) => {
|
|
11
|
+
eventEmitter.addListener(eventType, listener);
|
|
12
|
+
},
|
|
13
|
+
///////////////////////////////////////////
|
|
14
|
+
// Native API
|
|
15
|
+
///////////////////////////////////////////
|
|
16
|
+
getAssetForPaymentMethod: (paymentMethodType, assetType) => {
|
|
17
|
+
return new Promise((resolve, reject) => {
|
|
18
|
+
try {
|
|
19
|
+
PrimerHeadlessUniversalCheckout.getAssetForPaymentMethodType(paymentMethodType, assetType, err => {
|
|
20
|
+
reject(err);
|
|
21
|
+
}, url => {
|
|
22
|
+
resolve(url);
|
|
23
|
+
});
|
|
24
|
+
} catch (e) {
|
|
25
|
+
reject(e);
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
},
|
|
29
|
+
getAssetForCardNetwork: (cardNetwork, assetType) => {
|
|
30
|
+
return new Promise((resolve, reject) => {
|
|
31
|
+
try {
|
|
32
|
+
PrimerHeadlessUniversalCheckout.getAssetForPaymentMethodType(cardNetwork, assetType, err => {
|
|
33
|
+
reject(err);
|
|
34
|
+
}, url => {
|
|
35
|
+
resolve(url);
|
|
36
|
+
});
|
|
37
|
+
} catch (e) {
|
|
38
|
+
reject(e);
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
},
|
|
42
|
+
|
|
43
|
+
startWithClientToken(clientToken, settings) {
|
|
44
|
+
return new Promise((resolve, reject) => {
|
|
45
|
+
PrimerHeadlessUniversalCheckout.startWithClientToken(clientToken, JSON.stringify(settings), err => {
|
|
46
|
+
console.error(err);
|
|
47
|
+
reject(err);
|
|
48
|
+
}, paymentMethodTypes => {
|
|
49
|
+
resolve({
|
|
50
|
+
paymentMethodTypes
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
},
|
|
55
|
+
|
|
56
|
+
showPaymentMethod: paymentMethod => PrimerHeadlessUniversalCheckout.showPaymentMethod(paymentMethod),
|
|
57
|
+
|
|
58
|
+
resumeWithClientToken(resumeToken) {
|
|
59
|
+
PrimerHeadlessUniversalCheckout.resumeWithClientToken(resumeToken);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
};
|
|
63
|
+
export default NativePrimerHeadlessUniversalCheckout;
|
|
64
|
+
//# sourceMappingURL=NativePrimerHeadlessUniversalCheckout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["NativePrimerHeadlessUniversalCheckout.ts"],"names":["NativeEventEmitter","NativeModules","PrimerHeadlessUniversalCheckout","eventEmitter","NativePrimerHeadlessUniversalCheckout","addListener","eventType","listener","getAssetForPaymentMethod","paymentMethodType","assetType","Promise","resolve","reject","getAssetForPaymentMethodType","err","url","e","getAssetForCardNetwork","cardNetwork","startWithClientToken","clientToken","settings","JSON","stringify","console","error","paymentMethodTypes","showPaymentMethod","paymentMethod","resumeWithClientToken","resumeToken"],"mappings":"AAAA,SAASA,kBAAT,EAA6BC,aAA7B,QAAkD,cAAlD;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAsCD,aAA5C;AAEA,MAAME,YAAY,GAAG,IAAIH,kBAAJ,CAAuBE,+BAAvB,CAArB;AAUA,MAAME,qCAAqC,GAAG;AAC5C;AACA;AACA;AACAC,EAAAA,WAAW,EAAE,CAACC,SAAD,EAAuBC,QAAvB,KAA6D;AACxEJ,IAAAA,YAAY,CAACE,WAAb,CAAyBC,SAAzB,EAAoCC,QAApC;AACD,GAN2C;AAQ5C;AACA;AACA;AACAC,EAAAA,wBAAwB,EAAE,CACxBC,iBADwB,EAExBC,SAFwB,KAGJ;AACpB,WAAO,IAAIC,OAAJ,CAAY,CAACC,OAAD,EAAUC,MAAV,KAAqB;AACtC,UAAI;AACFX,QAAAA,+BAA+B,CAACY,4BAAhC,CACEL,iBADF,EAEEC,SAFF,EAGGK,GAAD,IAAgB;AACdF,UAAAA,MAAM,CAACE,GAAD,CAAN;AACD,SALH,EAMGC,GAAD,IAAiB;AACfJ,UAAAA,OAAO,CAACI,GAAD,CAAP;AACD,SARH;AAUD,OAXD,CAWE,OAAOC,CAAP,EAAU;AACVJ,QAAAA,MAAM,CAACI,CAAD,CAAN;AACD;AACF,KAfM,CAAP;AAgBD,GA/B2C;AAiC5CC,EAAAA,sBAAsB,EAAE,CACtBC,WADsB,EAEtBT,SAFsB,KAGF;AACpB,WAAO,IAAIC,OAAJ,CAAY,CAACC,OAAD,EAAUC,MAAV,KAAqB;AACtC,UAAI;AACFX,QAAAA,+BAA+B,CAACY,4BAAhC,CACEK,WADF,EAEET,SAFF,EAGGK,GAAD,IAAgB;AACdF,UAAAA,MAAM,CAACE,GAAD,CAAN;AACD,SALH,EAMGC,GAAD,IAAiB;AACfJ,UAAAA,OAAO,CAACI,GAAD,CAAP;AACD,SARH;AAUD,OAXD,CAWE,OAAOC,CAAP,EAAU;AACVJ,QAAAA,MAAM,CAACI,CAAD,CAAN;AACD;AACF,KAfM,CAAP;AAgBD,GArD2C;;AAuD5CG,EAAAA,oBAAoB,CAACC,WAAD,EAAsBC,QAAtB,EAAmD;AACrE,WAAO,IAAIX,OAAJ,CAAY,CAACC,OAAD,EAAUC,MAAV,KAAqB;AACtCX,MAAAA,+BAA+B,CAACkB,oBAAhC,CACEC,WADF,EAEEE,IAAI,CAACC,SAAL,CAAeF,QAAf,CAFF,EAGGP,GAAD,IAAgB;AACdU,QAAAA,OAAO,CAACC,KAAR,CAAcX,GAAd;AACAF,QAAAA,MAAM,CAACE,GAAD,CAAN;AACD,OANH,EAOGY,kBAAD,IAAkC;AAChCf,QAAAA,OAAO,CAAC;AAAEe,UAAAA;AAAF,SAAD,CAAP;AACD,OATH;AAWD,KAZM,CAAP;AAaD,GArE2C;;AAuE5CC,EAAAA,iBAAiB,EAAGC,aAAD,IACjB3B,+BAA+B,CAAC0B,iBAAhC,CAAkDC,aAAlD,CAxE0C;;AA0E5CC,EAAAA,qBAAqB,CAACC,WAAD,EAAsB;AACzC7B,IAAAA,+BAA+B,CAAC4B,qBAAhC,CAAsDC,WAAtD;AACD;;AA5E2C,CAA9C;AA+EA,eAAe3B,qCAAf","sourcesContent":["import { NativeEventEmitter, NativeModules } from 'react-native';\n\nconst { PrimerHeadlessUniversalCheckout } = NativeModules;\n\nconst eventEmitter = new NativeEventEmitter(PrimerHeadlessUniversalCheckout);\n\ntype EventType =\n | 'preparationStarted'\n | 'paymentMethodPresented'\n | 'tokenizationStarted'\n | 'tokenizationSucceeded'\n | 'resume'\n | 'error';\n\nconst NativePrimerHeadlessUniversalCheckout = {\n ///////////////////////////////////////////\n // Event Emitter\n ///////////////////////////////////////////\n addListener: (eventType: EventType, listener: (...args: any[]) => any) => {\n eventEmitter.addListener(eventType, listener);\n },\n\n ///////////////////////////////////////////\n // Native API\n ///////////////////////////////////////////\n getAssetForPaymentMethod: (\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: (paymentMethod: string) =>\n PrimerHeadlessUniversalCheckout.showPaymentMethod(paymentMethod),\n\n resumeWithClientToken(resumeToken: string) {\n PrimerHeadlessUniversalCheckout.resumeWithClientToken(resumeToken);\n },\n};\n\nexport default NativePrimerHeadlessUniversalCheckout;\n"]}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
+
|
|
3
|
+
import NativePrimerHeadlessUniversalCheckout from './NativePrimerHeadlessUniversalCheckout';
|
|
4
|
+
|
|
5
|
+
class PrimerHeadlessUniversalCheckoutClass {
|
|
6
|
+
///////////////////////////////////////////
|
|
7
|
+
// Init
|
|
8
|
+
///////////////////////////////////////////
|
|
9
|
+
constructor() {
|
|
10
|
+
_defineProperty(this, "callbacks", void 0);
|
|
11
|
+
|
|
12
|
+
this.callbacks = undefined;
|
|
13
|
+
this.configureListeners();
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
configureListeners() {
|
|
17
|
+
NativePrimerHeadlessUniversalCheckout.addListener('preparationStarted', () => {
|
|
18
|
+
var _this$callbacks, _this$callbacks$onPre;
|
|
19
|
+
|
|
20
|
+
console.log('preparationStarted');
|
|
21
|
+
(_this$callbacks = this.callbacks) === null || _this$callbacks === void 0 ? void 0 : (_this$callbacks$onPre = _this$callbacks.onPreparationStarted) === null || _this$callbacks$onPre === void 0 ? void 0 : _this$callbacks$onPre.call(_this$callbacks);
|
|
22
|
+
});
|
|
23
|
+
NativePrimerHeadlessUniversalCheckout.addListener('paymentMethodPresented', () => {
|
|
24
|
+
var _this$callbacks2, _this$callbacks2$onPa;
|
|
25
|
+
|
|
26
|
+
console.log('paymentMethodPresented');
|
|
27
|
+
(_this$callbacks2 = this.callbacks) === null || _this$callbacks2 === void 0 ? void 0 : (_this$callbacks2$onPa = _this$callbacks2.onPaymentMethodPresented) === null || _this$callbacks2$onPa === void 0 ? void 0 : _this$callbacks2$onPa.call(_this$callbacks2);
|
|
28
|
+
});
|
|
29
|
+
NativePrimerHeadlessUniversalCheckout.addListener('tokenizationStarted', () => {
|
|
30
|
+
var _this$callbacks3, _this$callbacks3$onTo;
|
|
31
|
+
|
|
32
|
+
console.log('tokenizationStarted');
|
|
33
|
+
(_this$callbacks3 = this.callbacks) === null || _this$callbacks3 === void 0 ? void 0 : (_this$callbacks3$onTo = _this$callbacks3.onTokenizeStart) === null || _this$callbacks3$onTo === void 0 ? void 0 : _this$callbacks3$onTo.call(_this$callbacks3);
|
|
34
|
+
});
|
|
35
|
+
NativePrimerHeadlessUniversalCheckout.addListener('tokenizationSucceeded', data => {
|
|
36
|
+
console.log('tokenizationSucceeded', data);
|
|
37
|
+
|
|
38
|
+
if (data.paymentMethodToken) {
|
|
39
|
+
var _this$callbacks4, _this$callbacks4$onTo;
|
|
40
|
+
|
|
41
|
+
const paymentMethodTokenObj = JSON.parse(data.paymentMethodToken);
|
|
42
|
+
(_this$callbacks4 = this.callbacks) === null || _this$callbacks4 === void 0 ? void 0 : (_this$callbacks4$onTo = _this$callbacks4.onTokenizeSuccess) === null || _this$callbacks4$onTo === void 0 ? void 0 : _this$callbacks4$onTo.call(_this$callbacks4, paymentMethodTokenObj);
|
|
43
|
+
} else {
|
|
44
|
+
var _this$callbacks5, _this$callbacks5$onFa;
|
|
45
|
+
|
|
46
|
+
const err = {
|
|
47
|
+
name: 'ParseJsonFailed',
|
|
48
|
+
description: 'Failed to parse payment method token'
|
|
49
|
+
}; //@ts-ignore
|
|
50
|
+
|
|
51
|
+
(_this$callbacks5 = this.callbacks) === null || _this$callbacks5 === void 0 ? void 0 : (_this$callbacks5$onFa = _this$callbacks5.onFailure) === null || _this$callbacks5$onFa === void 0 ? void 0 : _this$callbacks5$onFa.call(_this$callbacks5, err);
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
NativePrimerHeadlessUniversalCheckout.addListener('resume', data => {
|
|
55
|
+
var _this$callbacks6, _this$callbacks6$onRe;
|
|
56
|
+
|
|
57
|
+
console.log('resume', data);
|
|
58
|
+
(_this$callbacks6 = this.callbacks) === null || _this$callbacks6 === void 0 ? void 0 : (_this$callbacks6$onRe = _this$callbacks6.onResumeSuccess) === null || _this$callbacks6$onRe === void 0 ? void 0 : _this$callbacks6$onRe.call(_this$callbacks6, data.resumeToken);
|
|
59
|
+
});
|
|
60
|
+
NativePrimerHeadlessUniversalCheckout.addListener('error', data => {
|
|
61
|
+
var _this$callbacks7, _this$callbacks7$onFa;
|
|
62
|
+
|
|
63
|
+
console.log('error', data);
|
|
64
|
+
(_this$callbacks7 = this.callbacks) === null || _this$callbacks7 === void 0 ? void 0 : (_this$callbacks7$onFa = _this$callbacks7.onFailure) === null || _this$callbacks7$onFa === void 0 ? void 0 : _this$callbacks7$onFa.call(_this$callbacks7, data.error);
|
|
65
|
+
});
|
|
66
|
+
} ///////////////////////////////////////////
|
|
67
|
+
// API
|
|
68
|
+
///////////////////////////////////////////
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
startWithClientToken(clientToken, settings) {
|
|
72
|
+
// Copy callback
|
|
73
|
+
this.callbacks = {
|
|
74
|
+
onPreparationStarted: settings.onPreparationStarted,
|
|
75
|
+
onPaymentMethodPresented: settings.onPaymentMethodPresented,
|
|
76
|
+
onTokenizeStart: settings.onTokenizeStart,
|
|
77
|
+
onTokenizeSuccess: settings.onTokenizeSuccess,
|
|
78
|
+
onResumeSuccess: settings.onResumeSuccess,
|
|
79
|
+
onFailure: settings.onFailure
|
|
80
|
+
};
|
|
81
|
+
return NativePrimerHeadlessUniversalCheckout.startWithClientToken(clientToken, settings);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
showPaymentMethod(paymentMethod) {
|
|
85
|
+
return NativePrimerHeadlessUniversalCheckout.showPaymentMethod(paymentMethod);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
resumeWithClientToken(resumeToken) {
|
|
89
|
+
return NativePrimerHeadlessUniversalCheckout.resumeWithClientToken(resumeToken);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
getAssetForPaymentMethod(paymentMethodType, assetType) {
|
|
93
|
+
return NativePrimerHeadlessUniversalCheckout.getAssetForPaymentMethod(paymentMethodType, assetType);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
getAssetForCardNetwork(cardNetwork, assetType) {
|
|
97
|
+
return NativePrimerHeadlessUniversalCheckout.getAssetForCardNetwork(cardNetwork, assetType);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
const PrimerHeadlessUniversalCheckout = new PrimerHeadlessUniversalCheckoutClass();
|
|
103
|
+
export default PrimerHeadlessUniversalCheckout;
|
|
104
|
+
//# sourceMappingURL=PrimerHeadlessUniversalCheckout.js.map
|