@tap-payments/apple-pay-button 0.0.82-development → 0.0.84-development

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +240 -240
  3. package/build/@types/ApplePayButtonProps.d.ts +129 -129
  4. package/build/@types/ApplePayButtonProps.js +1 -1
  5. package/build/@types/charge.d.ts +57 -57
  6. package/build/@types/charge.js +1 -1
  7. package/build/@types/checkoutProfile.d.ts +216 -195
  8. package/build/@types/checkoutProfile.js +1 -1
  9. package/build/@types/enums.d.ts +65 -65
  10. package/build/@types/enums.js +76 -76
  11. package/build/@types/index.d.ts +6 -6
  12. package/build/@types/index.js +6 -6
  13. package/build/@types/tapLocalisation.d.ts +193 -193
  14. package/build/@types/tapLocalisation.js +1 -1
  15. package/build/@types/tapTheme.d.ts +842 -842
  16. package/build/@types/tapTheme.js +1 -1
  17. package/build/api.d.ts +29 -29
  18. package/build/api.js +244 -244
  19. package/build/constants/index.d.ts +3 -3
  20. package/build/constants/index.js +3 -3
  21. package/build/features/ApplePayButton/ApplePayButton.d.ts +4 -4
  22. package/build/features/ApplePayButton/ApplePayButton.js +49 -49
  23. package/build/features/ApplePayButton/index.d.ts +3 -3
  24. package/build/features/ApplePayButton/index.js +2 -2
  25. package/build/hooks/index.d.ts +1 -1
  26. package/build/hooks/index.js +1 -1
  27. package/build/hooks/useApplePay.d.ts +93 -93
  28. package/build/hooks/useApplePay.js +447 -447
  29. package/build/hooks/useMerchantApplePay.d.ts +20 -20
  30. package/build/hooks/useMerchantApplePay.js +188 -176
  31. package/build/index.d.ts +4 -4
  32. package/build/index.js +13 -13
  33. package/build/utils/config.d.ts +14 -14
  34. package/build/utils/config.js +65 -65
  35. package/build/utils/defaultValues.d.ts +2 -2
  36. package/build/utils/defaultValues.js +27 -27
  37. package/build/utils/html.d.ts +1 -1
  38. package/build/utils/html.js +9 -9
  39. package/build/utils/index.d.ts +4 -4
  40. package/build/utils/index.js +4 -4
  41. package/build/utils/theme.d.ts +12 -12
  42. package/build/utils/theme.js +61 -61
  43. package/package.json +109 -109
@@ -1,20 +1,20 @@
1
- import { MetaData, ApplePayButtonProps, Scope } from '../@types';
2
- interface ApplePayRequestData {
3
- isIframeIntegration: boolean;
4
- onError?: (error: any) => void;
5
- onSuccess?: (data: Record<string, any>) => void;
6
- setLoading?: (loading: boolean) => void;
7
- setSuccess?: (success: boolean) => void;
8
- setError?: (error: boolean) => void;
9
- scope: (typeof Scope)[keyof typeof Scope];
10
- profileData?: Pick<MetaData, 'merchant' | 'payment_options'>;
11
- merchant: Pick<MetaData['merchant'], 'id'>;
12
- order: ApplePayButtonProps['order'];
13
- customer: ApplePayButtonProps['customer'];
14
- transaction: ApplePayButtonProps['transaction'];
15
- operator: ApplePayButtonProps['operator'];
16
- redirect?: ApplePayButtonProps['redirect'];
17
- post?: ApplePayButtonProps['post'];
18
- }
19
- export declare const useMerchantApplePay: ({ isIframeIntegration, onError, onSuccess, setLoading, setError, setSuccess, scope, profileData, order, customer, transaction, operator, redirect, post }: ApplePayRequestData) => void;
20
- export {};
1
+ import { MetaData, ApplePayButtonProps, Scope } from '../@types';
2
+ interface ApplePayRequestData {
3
+ isIframeIntegration: boolean;
4
+ onError?: (error: any) => void;
5
+ onSuccess?: (data: Record<string, any>) => void;
6
+ setLoading?: (loading: boolean) => void;
7
+ setSuccess?: (success: boolean) => void;
8
+ setError?: (error: boolean) => void;
9
+ scope: (typeof Scope)[keyof typeof Scope];
10
+ profileData?: Pick<MetaData, 'merchant' | 'payment_options'>;
11
+ merchant: Pick<MetaData['merchant'], 'id'>;
12
+ order: ApplePayButtonProps['order'];
13
+ customer: ApplePayButtonProps['customer'];
14
+ transaction: ApplePayButtonProps['transaction'];
15
+ operator: ApplePayButtonProps['operator'];
16
+ redirect?: ApplePayButtonProps['redirect'];
17
+ post?: ApplePayButtonProps['post'];
18
+ }
19
+ export declare const useMerchantApplePay: ({ isIframeIntegration, onError, onSuccess, setLoading, setError, setSuccess, scope, profileData, order, customer, transaction, operator, redirect, post }: ApplePayRequestData) => void;
20
+ export {};
@@ -1,176 +1,188 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- var __generator = (this && this.__generator) || function (thisArg, body) {
11
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
- function verb(n) { return function (v) { return step([n, v]); }; }
14
- function step(op) {
15
- if (f) throw new TypeError("Generator is already executing.");
16
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
17
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
- if (y = 0, t) op = [op[0] & 2, t.value];
19
- switch (op[0]) {
20
- case 0: case 1: t = op; break;
21
- case 4: _.label++; return { value: op[1], done: false };
22
- case 5: _.label++; y = op[1]; op = [0]; continue;
23
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
- default:
25
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
- if (t[2]) _.ops.pop();
30
- _.trys.pop(); continue;
31
- }
32
- op = body.call(thisArg, _);
33
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
- }
36
- };
37
- import * as React from 'react';
38
- import appService from '../api';
39
- import { Scope, CHARGE_CODE } from '../@types';
40
- var EVENT_NAME = 'TAP_BUTTON::APPLE_PAY_ON_PAYMENT_AUTHORIZED';
41
- export var useMerchantApplePay = function (_a) {
42
- var isIframeIntegration = _a.isIframeIntegration, onError = _a.onError, onSuccess = _a.onSuccess, setLoading = _a.setLoading, setError = _a.setError, setSuccess = _a.setSuccess, scope = _a.scope, profileData = _a.profileData, order = _a.order, customer = _a.customer, transaction = _a.transaction, operator = _a.operator, redirect = _a.redirect, post = _a.post;
43
- var onMessageReceived = React.useCallback(function (_a) {
44
- var message = _a.data;
45
- return __awaiter(void 0, void 0, void 0, function () {
46
- var _b, event, data, _c, response, tokenId, supportCurrency, transactionRequest, transactionResponse, _d, successState, e_1;
47
- var _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
48
- return __generator(this, function (_w) {
49
- switch (_w.label) {
50
- case 0:
51
- _b = message !== null && message !== void 0 ? message : {}, event = _b.event, data = _b.data;
52
- if (!data || event !== EVENT_NAME)
53
- return [2];
54
- _w.label = 1;
55
- case 1:
56
- _w.trys.push([1, 13, 14, 15]);
57
- _c = scope;
58
- switch (_c) {
59
- case Scope.APPLE_PAY_TOKEN: return [3, 2];
60
- case Scope.TAP_TOKEN: return [3, 3];
61
- case Scope.AUTHORIZE: return [3, 5];
62
- case Scope.CHARGE: return [3, 5];
63
- }
64
- return [3, 11];
65
- case 2:
66
- onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(data);
67
- return [3, 12];
68
- case 3:
69
- setLoading === null || setLoading === void 0 ? void 0 : setLoading(true);
70
- return [4, appService.tapTokenization(data)];
71
- case 4:
72
- response = _w.sent();
73
- setSuccess === null || setSuccess === void 0 ? void 0 : setSuccess(true);
74
- onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(response);
75
- return [3, 12];
76
- case 5:
77
- setLoading === null || setLoading === void 0 ? void 0 : setLoading(true);
78
- return [4, appService.tapTokenization(data)];
79
- case 6:
80
- tokenId = (_w.sent()).id;
81
- supportCurrency = ((_f = (_e = profileData === null || profileData === void 0 ? void 0 : profileData.payment_options) === null || _e === void 0 ? void 0 : _e.supported_currencies) !== null && _f !== void 0 ? _f : [])[0];
82
- transactionRequest = {
83
- auto: (_g = transaction === null || transaction === void 0 ? void 0 : transaction.authorize) === null || _g === void 0 ? void 0 : _g.auto,
84
- amount: order.amount,
85
- currency: order.currency,
86
- selected_amount: supportCurrency === null || supportCurrency === void 0 ? void 0 : supportCurrency.amount,
87
- selected_currency: supportCurrency === null || supportCurrency === void 0 ? void 0 : supportCurrency.currency,
88
- customer: (customer === null || customer === void 0 ? void 0 : customer.id)
89
- ? { id: customer === null || customer === void 0 ? void 0 : customer.id }
90
- : {
91
- email: (_h = customer === null || customer === void 0 ? void 0 : customer.contact) === null || _h === void 0 ? void 0 : _h.email,
92
- first_name: ((_j = customer === null || customer === void 0 ? void 0 : customer.name) === null || _j === void 0 ? void 0 : _j.length) ? customer.name[0].first : '',
93
- last_name: ((_k = customer === null || customer === void 0 ? void 0 : customer.name) === null || _k === void 0 ? void 0 : _k.length) ? customer.name[0].last : '',
94
- phone: {
95
- country_code: (_o = (_m = (_l = customer === null || customer === void 0 ? void 0 : customer.contact) === null || _l === void 0 ? void 0 : _l.phone) === null || _m === void 0 ? void 0 : _m.countryCode) !== null && _o !== void 0 ? _o : '',
96
- number: (_r = (_q = (_p = customer === null || customer === void 0 ? void 0 : customer.contact) === null || _p === void 0 ? void 0 : _p.phone) === null || _q === void 0 ? void 0 : _q.number) !== null && _r !== void 0 ? _r : ''
97
- }
98
- },
99
- fee: 0,
100
- merchant: {
101
- id: (_t = (_s = profileData === null || profileData === void 0 ? void 0 : profileData.merchant) === null || _s === void 0 ? void 0 : _s.id) !== null && _t !== void 0 ? _t : ''
102
- },
103
- order: (_u = profileData === null || profileData === void 0 ? void 0 : profileData.payment_options) === null || _u === void 0 ? void 0 : _u.order,
104
- product: 'Apple-Pay-Button',
105
- save_card: false,
106
- source: { id: tokenId !== null && tokenId !== void 0 ? tokenId : '' },
107
- threeDSecure: transaction === null || transaction === void 0 ? void 0 : transaction.authentication,
108
- hashstring: operator.hashstring,
109
- redirect: redirect,
110
- metadata: transaction === null || transaction === void 0 ? void 0 : transaction.metadata,
111
- post: post,
112
- payment_agreement: transaction === null || transaction === void 0 ? void 0 : transaction.paymentAgreement,
113
- destinations: transaction === null || transaction === void 0 ? void 0 : transaction.destinations,
114
- reference: {
115
- order: order === null || order === void 0 ? void 0 : order.reference,
116
- transaction: transaction === null || transaction === void 0 ? void 0 : transaction.reference
117
- }
118
- };
119
- if (!(scope === Scope.AUTHORIZE)) return [3, 8];
120
- return [4, appService.createAuthorize(transactionRequest)];
121
- case 7:
122
- _d = _w.sent();
123
- return [3, 10];
124
- case 8: return [4, appService.createCharge(transactionRequest)];
125
- case 9:
126
- _d = _w.sent();
127
- _w.label = 10;
128
- case 10:
129
- transactionResponse = _d;
130
- successState = scope === Scope.AUTHORIZE ? CHARGE_CODE.AUTHORIZED : CHARGE_CODE.SUCCESS;
131
- if ((transactionResponse === null || transactionResponse === void 0 ? void 0 : transactionResponse.response.code) === successState) {
132
- setSuccess === null || setSuccess === void 0 ? void 0 : setSuccess(true);
133
- }
134
- else {
135
- setError === null || setError === void 0 ? void 0 : setError(true);
136
- }
137
- onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(transactionResponse);
138
- return [3, 12];
139
- case 11:
140
- console.error("We only support: ".concat(Object.values(Scope).join(', '), " for now"));
141
- onError === null || onError === void 0 ? void 0 : onError({ message: "We only support: ".concat(Object.values(Scope).join(', '), " for now"), code: '000' });
142
- return [3, 12];
143
- case 12: return [3, 15];
144
- case 13:
145
- e_1 = _w.sent();
146
- if (!onError)
147
- return [2];
148
- if (e_1.errors) {
149
- onError(e_1.errors);
150
- return [2];
151
- }
152
- if ((_v = e_1.response) === null || _v === void 0 ? void 0 : _v.data.errors) {
153
- onError(e_1.response.data.errors);
154
- return [2];
155
- }
156
- if (e_1.message) {
157
- onError([{ message: e_1.message, code: '400' }]);
158
- return [2];
159
- }
160
- onError(e_1);
161
- return [3, 15];
162
- case 14:
163
- setLoading === null || setLoading === void 0 ? void 0 : setLoading(false);
164
- return [7];
165
- case 15: return [2];
166
- }
167
- });
168
- });
169
- }, [onError, onSuccess, scope, profileData, order, customer, transaction, operator, redirect, post]);
170
- React.useEffect(function () {
171
- if (!isIframeIntegration)
172
- return;
173
- window.addEventListener('message', onMessageReceived);
174
- return function () { return window.removeEventListener('message', onMessageReceived); };
175
- }, [isIframeIntegration, onMessageReceived]);
176
- };
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
+ return new (P || (P = Promise))(function (resolve, reject) {
15
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
19
+ });
20
+ };
21
+ var __generator = (this && this.__generator) || function (thisArg, body) {
22
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
23
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
+ function verb(n) { return function (v) { return step([n, v]); }; }
25
+ function step(op) {
26
+ if (f) throw new TypeError("Generator is already executing.");
27
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
28
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
29
+ if (y = 0, t) op = [op[0] & 2, t.value];
30
+ switch (op[0]) {
31
+ case 0: case 1: t = op; break;
32
+ case 4: _.label++; return { value: op[1], done: false };
33
+ case 5: _.label++; y = op[1]; op = [0]; continue;
34
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
+ default:
36
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
+ if (t[2]) _.ops.pop();
41
+ _.trys.pop(); continue;
42
+ }
43
+ op = body.call(thisArg, _);
44
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
+ }
47
+ };
48
+ import * as React from 'react';
49
+ import appService from '../api';
50
+ import { Scope, CHARGE_CODE } from '../@types';
51
+ var EVENT_NAME = 'TAP_BUTTON::APPLE_PAY_ON_PAYMENT_AUTHORIZED';
52
+ export var useMerchantApplePay = function (_a) {
53
+ var isIframeIntegration = _a.isIframeIntegration, onError = _a.onError, onSuccess = _a.onSuccess, setLoading = _a.setLoading, setError = _a.setError, setSuccess = _a.setSuccess, scope = _a.scope, profileData = _a.profileData, order = _a.order, customer = _a.customer, transaction = _a.transaction, operator = _a.operator, redirect = _a.redirect, post = _a.post;
54
+ var onMessageReceived = React.useCallback(function (_a) {
55
+ var message = _a.data;
56
+ return __awaiter(void 0, void 0, void 0, function () {
57
+ var _b, event, data, _c, paymentData, paymentMethod, transactionIdentifier, _d, response, tokenId, supportCurrency, transactionRequest, transactionResponse, _e, successState, e_1;
58
+ var _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2;
59
+ return __generator(this, function (_3) {
60
+ switch (_3.label) {
61
+ case 0:
62
+ _b = message !== null && message !== void 0 ? message : {}, event = _b.event, data = _b.data;
63
+ if (!data || event !== EVENT_NAME)
64
+ return [2];
65
+ _c = data !== null && data !== void 0 ? data : {}, paymentData = _c.paymentData, paymentMethod = _c.paymentMethod, transactionIdentifier = _c.transactionIdentifier;
66
+ _3.label = 1;
67
+ case 1:
68
+ _3.trys.push([1, 13, 14, 15]);
69
+ _d = scope;
70
+ switch (_d) {
71
+ case Scope.APPLE_PAY_TOKEN: return [3, 2];
72
+ case Scope.TAP_TOKEN: return [3, 3];
73
+ case Scope.AUTHORIZE: return [3, 5];
74
+ case Scope.CHARGE: return [3, 5];
75
+ }
76
+ return [3, 11];
77
+ case 2:
78
+ onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(data);
79
+ return [3, 12];
80
+ case 3:
81
+ setLoading === null || setLoading === void 0 ? void 0 : setLoading(true);
82
+ return [4, appService.tapTokenization(__assign(__assign({}, paymentData), { paymentMethod: paymentMethod, transactionIdentifier: transactionIdentifier }))];
83
+ case 4:
84
+ response = _3.sent();
85
+ setSuccess === null || setSuccess === void 0 ? void 0 : setSuccess(true);
86
+ onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(response);
87
+ return [3, 12];
88
+ case 5:
89
+ setLoading === null || setLoading === void 0 ? void 0 : setLoading(true);
90
+ return [4, appService.tapTokenization(__assign(__assign({}, paymentData), { paymentMethod: paymentMethod, transactionIdentifier: transactionIdentifier }))];
91
+ case 6:
92
+ tokenId = (_3.sent()).id;
93
+ supportCurrency = ((_g = (_f = profileData === null || profileData === void 0 ? void 0 : profileData.payment_options) === null || _f === void 0 ? void 0 : _f.supported_currencies) !== null && _g !== void 0 ? _g : [])[0];
94
+ transactionRequest = {
95
+ auto: (_h = transaction === null || transaction === void 0 ? void 0 : transaction.authorize) === null || _h === void 0 ? void 0 : _h.auto,
96
+ amount: (_l = (_k = (_j = profileData === null || profileData === void 0 ? void 0 : profileData.payment_options) === null || _j === void 0 ? void 0 : _j.order) === null || _k === void 0 ? void 0 : _k.amount) !== null && _l !== void 0 ? _l : order.amount,
97
+ currency: (_p = (_o = (_m = profileData === null || profileData === void 0 ? void 0 : profileData.payment_options) === null || _m === void 0 ? void 0 : _m.order) === null || _o === void 0 ? void 0 : _o.currency) !== null && _p !== void 0 ? _p : order.currency,
98
+ selected_amount: supportCurrency === null || supportCurrency === void 0 ? void 0 : supportCurrency.amount,
99
+ selected_currency: supportCurrency === null || supportCurrency === void 0 ? void 0 : supportCurrency.currency,
100
+ customer: (customer === null || customer === void 0 ? void 0 : customer.id)
101
+ ? { id: customer === null || customer === void 0 ? void 0 : customer.id }
102
+ : {
103
+ email: (_q = customer === null || customer === void 0 ? void 0 : customer.contact) === null || _q === void 0 ? void 0 : _q.email,
104
+ first_name: ((_r = customer === null || customer === void 0 ? void 0 : customer.name) === null || _r === void 0 ? void 0 : _r.length) ? customer.name[0].first : '',
105
+ last_name: ((_s = customer === null || customer === void 0 ? void 0 : customer.name) === null || _s === void 0 ? void 0 : _s.length) ? customer.name[0].last : '',
106
+ phone: {
107
+ country_code: (_v = (_u = (_t = customer === null || customer === void 0 ? void 0 : customer.contact) === null || _t === void 0 ? void 0 : _t.phone) === null || _u === void 0 ? void 0 : _u.countryCode) !== null && _v !== void 0 ? _v : '',
108
+ number: (_y = (_x = (_w = customer === null || customer === void 0 ? void 0 : customer.contact) === null || _w === void 0 ? void 0 : _w.phone) === null || _x === void 0 ? void 0 : _x.number) !== null && _y !== void 0 ? _y : ''
109
+ }
110
+ },
111
+ fee: 0,
112
+ merchant: {
113
+ id: (_0 = (_z = profileData === null || profileData === void 0 ? void 0 : profileData.merchant) === null || _z === void 0 ? void 0 : _z.id) !== null && _0 !== void 0 ? _0 : ''
114
+ },
115
+ order: (_1 = profileData === null || profileData === void 0 ? void 0 : profileData.payment_options) === null || _1 === void 0 ? void 0 : _1.order,
116
+ product: 'Apple-Pay-Button',
117
+ save_card: false,
118
+ source: { id: tokenId !== null && tokenId !== void 0 ? tokenId : '' },
119
+ threeDSecure: transaction === null || transaction === void 0 ? void 0 : transaction.authentication,
120
+ hashstring: operator.hashstring,
121
+ redirect: redirect,
122
+ metadata: transaction === null || transaction === void 0 ? void 0 : transaction.metadata,
123
+ post: post,
124
+ payment_agreement: transaction === null || transaction === void 0 ? void 0 : transaction.paymentAgreement,
125
+ destinations: transaction === null || transaction === void 0 ? void 0 : transaction.destinations,
126
+ reference: {
127
+ order: order === null || order === void 0 ? void 0 : order.reference,
128
+ transaction: transaction === null || transaction === void 0 ? void 0 : transaction.reference
129
+ }
130
+ };
131
+ if (!(scope === Scope.AUTHORIZE)) return [3, 8];
132
+ return [4, appService.createAuthorize(transactionRequest)];
133
+ case 7:
134
+ _e = _3.sent();
135
+ return [3, 10];
136
+ case 8: return [4, appService.createCharge(transactionRequest)];
137
+ case 9:
138
+ _e = _3.sent();
139
+ _3.label = 10;
140
+ case 10:
141
+ transactionResponse = _e;
142
+ successState = scope === Scope.AUTHORIZE ? CHARGE_CODE.AUTHORIZED : CHARGE_CODE.SUCCESS;
143
+ if ((transactionResponse === null || transactionResponse === void 0 ? void 0 : transactionResponse.response.code) === successState) {
144
+ setSuccess === null || setSuccess === void 0 ? void 0 : setSuccess(true);
145
+ }
146
+ else {
147
+ setError === null || setError === void 0 ? void 0 : setError(true);
148
+ }
149
+ onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(transactionResponse);
150
+ return [3, 12];
151
+ case 11:
152
+ console.error("We only support: ".concat(Object.values(Scope).join(', '), " for now"));
153
+ onError === null || onError === void 0 ? void 0 : onError({ message: "We only support: ".concat(Object.values(Scope).join(', '), " for now"), code: '000' });
154
+ return [3, 12];
155
+ case 12: return [3, 15];
156
+ case 13:
157
+ e_1 = _3.sent();
158
+ if (!onError)
159
+ return [2];
160
+ if (e_1.errors) {
161
+ onError(e_1.errors);
162
+ return [2];
163
+ }
164
+ if ((_2 = e_1.response) === null || _2 === void 0 ? void 0 : _2.data.errors) {
165
+ onError(e_1.response.data.errors);
166
+ return [2];
167
+ }
168
+ if (e_1.message) {
169
+ onError([{ message: e_1.message, code: '400' }]);
170
+ return [2];
171
+ }
172
+ onError(e_1);
173
+ return [3, 15];
174
+ case 14:
175
+ setLoading === null || setLoading === void 0 ? void 0 : setLoading(false);
176
+ return [7];
177
+ case 15: return [2];
178
+ }
179
+ });
180
+ });
181
+ }, [onError, onSuccess, scope, profileData, order, customer, transaction, operator, redirect, post]);
182
+ React.useEffect(function () {
183
+ if (!isIframeIntegration)
184
+ return;
185
+ window.addEventListener('message', onMessageReceived);
186
+ return function () { return window.removeEventListener('message', onMessageReceived); };
187
+ }, [isIframeIntegration, onMessageReceived]);
188
+ };
package/build/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { ApplePayButtonProps, ApplePayButton, ApplePayRequestData } from './features/ApplePayButton';
2
- import { ThemeMode, Scope, SupportedNetworks, Locale, ButtonType, Edges, MerchantCapabilities } from './@types/enums';
3
- export type { ApplePayButtonProps, ApplePayRequestData };
4
- export { ApplePayButton, ThemeMode, Scope, SupportedNetworks, Locale, ButtonType, Edges, MerchantCapabilities };
1
+ import { ApplePayButtonProps, ApplePayButton, ApplePayRequestData } from './features/ApplePayButton';
2
+ import { ThemeMode, Scope, SupportedNetworks, Locale, ButtonType, Edges, MerchantCapabilities } from './@types/enums';
3
+ export type { ApplePayButtonProps, ApplePayRequestData };
4
+ export { ApplePayButton, ThemeMode, Scope, SupportedNetworks, Locale, ButtonType, Edges, MerchantCapabilities };
package/build/index.js CHANGED
@@ -1,13 +1,13 @@
1
- import { ApplePayButton, renderApplePayButton } from './features/ApplePayButton';
2
- import { ThemeMode, Scope, SupportedNetworks, Locale, ButtonType, Edges, MerchantCapabilities } from './@types/enums';
3
- export { ApplePayButton, ThemeMode, Scope, SupportedNetworks, Locale, ButtonType, Edges, MerchantCapabilities };
4
- window['TapSDKs'] = {
5
- renderApplePayButton: renderApplePayButton,
6
- Scope: Scope,
7
- SupportedNetworks: SupportedNetworks,
8
- Locale: Locale,
9
- ButtonType: ButtonType,
10
- ThemeMode: ThemeMode,
11
- Edges: Edges,
12
- MerchantCapabilities: MerchantCapabilities
13
- };
1
+ import { ApplePayButton, renderApplePayButton } from './features/ApplePayButton';
2
+ import { ThemeMode, Scope, SupportedNetworks, Locale, ButtonType, Edges, MerchantCapabilities } from './@types/enums';
3
+ export { ApplePayButton, ThemeMode, Scope, SupportedNetworks, Locale, ButtonType, Edges, MerchantCapabilities };
4
+ window['TapSDKs'] = {
5
+ renderApplePayButton: renderApplePayButton,
6
+ Scope: Scope,
7
+ SupportedNetworks: SupportedNetworks,
8
+ Locale: Locale,
9
+ ButtonType: ButtonType,
10
+ ThemeMode: ThemeMode,
11
+ Edges: Edges,
12
+ MerchantCapabilities: MerchantCapabilities
13
+ };
@@ -1,14 +1,14 @@
1
- import { Acceptance, ApplePayButtonProps, ApplePayRequestData, MetaData, PaymentMethod } from '../@types';
2
- export declare const validateSupportedNetworks: (supportedNetworksOptions: Acceptance['supportedSchemes'], merchantSupportedNetworks?: Acceptance['supportedSchemes']) => Acceptance['supportedSchemes'];
3
- export declare const getApplePayPaymentMethod: (paymentMethods: Array<PaymentMethod>) => PaymentMethod;
4
- export declare const getApplePayRequest: ({ order, customer, supportedNetworks, merchantCapabilities, countryCode, name }: Pick<ApplePayButtonProps, "order" | "customer"> & {
5
- supportedNetworks: Acceptance['supportedSchemes'];
6
- merchantCapabilities: ApplePayRequestData['merchantCapabilities'];
7
- countryCode: string;
8
- name: string;
9
- }) => ApplePayRequestData;
10
- export declare const prepareApplePayRequest: ({ payment_options, merchant, order, customer, acceptance }: Pick<MetaData, 'merchant' | 'payment_options'> & Pick<ApplePayButtonProps, 'order' | 'customer' | 'acceptance'>) => {
11
- applePaySessionRequest: ApplePayRequestData;
12
- paymentMethod: PaymentMethod;
13
- };
14
- export declare const shallRenderApplePay: () => boolean;
1
+ import { Acceptance, ApplePayButtonProps, ApplePayRequestData, MetaData, PaymentMethod } from '../@types';
2
+ export declare const validateSupportedNetworks: (supportedNetworksOptions: Acceptance['supportedSchemes'], merchantSupportedNetworks?: Acceptance['supportedSchemes']) => Acceptance['supportedSchemes'];
3
+ export declare const getApplePayPaymentMethod: (paymentMethods: Array<PaymentMethod>) => PaymentMethod;
4
+ export declare const getApplePayRequest: ({ order, customer, supportedNetworks, merchantCapabilities, countryCode, name }: Pick<ApplePayButtonProps, "order" | "customer"> & {
5
+ supportedNetworks: Acceptance['supportedSchemes'];
6
+ merchantCapabilities: ApplePayRequestData['merchantCapabilities'];
7
+ countryCode: string;
8
+ name: string;
9
+ }) => ApplePayRequestData;
10
+ export declare const prepareApplePayRequest: ({ payment_options, merchant, order, customer, acceptance }: Pick<MetaData, 'merchant' | 'payment_options'> & Pick<ApplePayButtonProps, 'order' | 'customer' | 'acceptance'>) => {
11
+ applePaySessionRequest: ApplePayRequestData;
12
+ paymentMethod: PaymentMethod;
13
+ };
14
+ export declare const shallRenderApplePay: () => boolean;