@fat-zebra/sdk 1.4.9 → 1.4.11

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 (128) hide show
  1. package/dist/main.js +1 -0
  2. package/dist/react/index.d.ts +1 -2
  3. package/dist/react/index.js +1 -2
  4. package/dist/react/url.js +3 -3
  5. package/dist/sca/index.d.ts +1 -1
  6. package/dist/sca/index.js +7 -5
  7. package/dist/shared/api-gateway-client.js +6 -1
  8. package/dist/shared/types.d.ts +1 -2
  9. package/package.json +2 -1
  10. package/dist/local/fatzebra.js.map +0 -1
  11. package/dist/local/index.html +0 -247
  12. package/dist/react/submitForm.d.ts +0 -2
  13. package/dist/react/submitForm.js +0 -10
  14. package/dist/shared/envs/env.local.d.ts +0 -5
  15. package/dist/shared/envs/env.local.js +0 -5
  16. package/dist/shared/envs/env.staging.d.ts +0 -5
  17. package/dist/shared/envs/env.staging.js +0 -5
  18. package/dist/src/applepay/applepay.js +0 -198
  19. package/dist/src/applepay/applepay.js.map +0 -1
  20. package/dist/src/applepay/clients/apple-pay-client.js +0 -66
  21. package/dist/src/applepay/clients/apple-pay-client.js.map +0 -1
  22. package/dist/src/applepay/clients/paynow-client.js +0 -96
  23. package/dist/src/applepay/clients/paynow-client.js.map +0 -1
  24. package/dist/src/applepay/index.js +0 -6
  25. package/dist/src/applepay/index.js.map +0 -1
  26. package/dist/src/hpp/hpp.js +0 -230
  27. package/dist/src/hpp/hpp.js.map +0 -1
  28. package/dist/src/hpp/hpp.test.js +0 -135
  29. package/dist/src/hpp/hpp.test.js.map +0 -1
  30. package/dist/src/hpp/index.js +0 -6
  31. package/dist/src/hpp/index.js.map +0 -1
  32. package/dist/src/index.js +0 -12
  33. package/dist/src/index.js.map +0 -1
  34. package/dist/src/main.js +0 -225
  35. package/dist/src/main.js.map +0 -1
  36. package/dist/src/main.test.js +0 -236
  37. package/dist/src/main.test.js.map +0 -1
  38. package/dist/src/paypal/paypal-button.js +0 -311
  39. package/dist/src/paypal/paypal-button.js.map +0 -1
  40. package/dist/src/paypal/paypal-button.test.js +0 -41
  41. package/dist/src/paypal/paypal-button.test.js.map +0 -1
  42. package/dist/src/paypal/paypal-checkout.js +0 -111
  43. package/dist/src/paypal/paypal-checkout.js.map +0 -1
  44. package/dist/src/paypal/paypal-checkout.test.js +0 -167
  45. package/dist/src/paypal/paypal-checkout.test.js.map +0 -1
  46. package/dist/src/paypal/types.js +0 -9
  47. package/dist/src/paypal/types.js.map +0 -1
  48. package/dist/src/paypal/validation.js +0 -73
  49. package/dist/src/paypal/validation.js.map +0 -1
  50. package/dist/src/react/VerifyCard.js +0 -47
  51. package/dist/src/react/VerifyCard.js.map +0 -1
  52. package/dist/src/react/index.js +0 -9
  53. package/dist/src/react/index.js.map +0 -1
  54. package/dist/src/react/url.js +0 -60
  55. package/dist/src/react/url.js.map +0 -1
  56. package/dist/src/react/useFatZebra.js +0 -150
  57. package/dist/src/react/useFatZebra.js.map +0 -1
  58. package/dist/src/sca/cardinal.js +0 -110
  59. package/dist/src/sca/cardinal.js.map +0 -1
  60. package/dist/src/sca/eci-mappings.js +0 -63
  61. package/dist/src/sca/eci-mappings.js.map +0 -1
  62. package/dist/src/sca/eci-mappings.test.js +0 -31
  63. package/dist/src/sca/eci-mappings.test.js.map +0 -1
  64. package/dist/src/sca/index.js +0 -349
  65. package/dist/src/sca/index.js.map +0 -1
  66. package/dist/src/sca/index.test.js +0 -550
  67. package/dist/src/sca/index.test.js.map +0 -1
  68. package/dist/src/sca/scenarios/enrollment.js +0 -150
  69. package/dist/src/sca/scenarios/enrollment.js.map +0 -1
  70. package/dist/src/sca/scenarios/index.js +0 -8
  71. package/dist/src/sca/scenarios/index.js.map +0 -1
  72. package/dist/src/sca/scenarios/validation.js +0 -128
  73. package/dist/src/sca/scenarios/validation.js.map +0 -1
  74. package/dist/src/sca/types.js +0 -57
  75. package/dist/src/sca/types.js.map +0 -1
  76. package/dist/src/shared/api-gateway-client.js +0 -174
  77. package/dist/src/shared/api-gateway-client.js.map +0 -1
  78. package/dist/src/shared/bridge-client.js +0 -24
  79. package/dist/src/shared/bridge-client.js.map +0 -1
  80. package/dist/src/shared/constants.js +0 -19
  81. package/dist/src/shared/constants.js.map +0 -1
  82. package/dist/src/shared/env.development.js +0 -12
  83. package/dist/src/shared/env.development.js.map +0 -1
  84. package/dist/src/shared/env.js +0 -46
  85. package/dist/src/shared/env.js.map +0 -1
  86. package/dist/src/shared/envs/local.js +0 -12
  87. package/dist/src/shared/envs/local.js.map +0 -1
  88. package/dist/src/shared/envs/production.js +0 -12
  89. package/dist/src/shared/envs/production.js.map +0 -1
  90. package/dist/src/shared/envs/sandbox.js +0 -12
  91. package/dist/src/shared/envs/sandbox.js.map +0 -1
  92. package/dist/src/shared/envs/staging.js +0 -12
  93. package/dist/src/shared/envs/staging.js.map +0 -1
  94. package/dist/src/shared/event-manager.js +0 -14
  95. package/dist/src/shared/event-manager.js.map +0 -1
  96. package/dist/src/shared/post-message-client.js +0 -107
  97. package/dist/src/shared/post-message-client.js.map +0 -1
  98. package/dist/src/shared/post-message-client.test.js +0 -58
  99. package/dist/src/shared/post-message-client.test.js.map +0 -1
  100. package/dist/src/shared/types.js +0 -47
  101. package/dist/src/shared/types.js.map +0 -1
  102. package/dist/src/shared/types.test.js +0 -55
  103. package/dist/src/shared/types.test.js.map +0 -1
  104. package/dist/src/shared/util.js +0 -96
  105. package/dist/src/shared/util.js.map +0 -1
  106. package/dist/src/shared/util.test.js +0 -148
  107. package/dist/src/shared/util.test.js.map +0 -1
  108. package/dist/src/validation/index.js +0 -10
  109. package/dist/src/validation/index.js.map +0 -1
  110. package/dist/src/validation/schemas/customer.json +0 -38
  111. package/dist/src/validation/schemas/hpp-load-params.json +0 -40
  112. package/dist/src/validation/schemas/hpp-options.json +0 -48
  113. package/dist/src/validation/schemas/payment-intent.json +0 -48
  114. package/dist/src/validation/schemas/payment-method.json +0 -83
  115. package/dist/src/validation/schemas/verify-card-options.json +0 -15
  116. package/dist/src/validation/schemas/verify-card-params.json +0 -24
  117. package/dist/src/validation/validation-helper.js +0 -10
  118. package/dist/src/validation/validation-helper.js.map +0 -1
  119. package/dist/src/validation/validation-helper.test.js +0 -34
  120. package/dist/src/validation/validation-helper.test.js.map +0 -1
  121. package/dist/src/validation/validators/hpp-load-params-validator.js +0 -21
  122. package/dist/src/validation/validators/hpp-load-params-validator.js.map +0 -1
  123. package/dist/src/validation/validators/hpp-load-params-validator.test.js +0 -56
  124. package/dist/src/validation/validators/hpp-load-params-validator.test.js.map +0 -1
  125. package/dist/src/validation/validators/verify-card-params-validator.js +0 -23
  126. package/dist/src/validation/validators/verify-card-params-validator.js.map +0 -1
  127. package/dist/tests/helpers/api-gateway-mock.js +0 -37
  128. package/dist/tests/helpers/api-gateway-mock.js.map +0 -1
@@ -1,247 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta charset="UTF-8" />
5
- <title>Merchant XYZ Checkout Page</title>
6
- <link rel="stylesheet" type="text/css" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
7
- <style type="text/css">
8
- iframe {
9
- height: 600px;
10
- width: 700px;
11
- }
12
- </style>
13
- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
14
- <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/rollups/hmac-md5.js"></script>
15
- <script>
16
- window.localStorage.setItem('fz-access-token', "<DO NOT USE>")
17
- // card tokens will be filled out
18
- var actionItems = {
19
- tokens: [
20
- {
21
- token: 'whatever',
22
- number: '4000000000001000',
23
- description: 'Successful Frictionless Authentication'
24
- },
25
- {
26
- token: '',
27
- number: '4000000000001026',
28
- description: 'Attempts Stand-In Frictionless'
29
- },
30
- {
31
- token: '',
32
- number: '4000000000001034',
33
- description: 'Unavailable Frictionless'
34
- },
35
- {
36
- token: '',
37
- number: '4000000000001059',
38
- description: 'Authentication Not Available on Lookup'
39
- },
40
- {
41
- token: '',
42
- number: '4000000000001067',
43
- description: 'Error on Lookup'
44
- },
45
- {
46
- token: '',
47
- number: '4000000000001075',
48
- description: 'Timeout on cmpi_lookup'
49
- },
50
- {
51
- token: '',
52
- number: '4000000000001083',
53
- description: 'Bypassed Authentication'
54
- },
55
- {
56
- token: '',
57
- number: '4000000000001018',
58
- description: 'Failed Frictionless'
59
- },
60
- {
61
- token: '',
62
- number: '4000000000001042',
63
- description: 'Rejected Frictionless'
64
- },
65
- {
66
- token: 'ahq94qb60fs0xaruga3h',
67
- number: '4000000000001091',
68
- description: 'Challenge'
69
- }
70
- ],
71
- cards: [
72
- {
73
- number: '4000000000001000',
74
- description: 'Successful Frictionless Authentication'
75
- },
76
- {
77
- number: '4000000000001026',
78
- description: 'Attempts Stand-In Frictionless'
79
- },
80
- {
81
- number: '4000000000001034',
82
- description: 'Unavailable Frictionless'
83
- },
84
- {
85
- number: '4000000000001059',
86
- description: 'Authentication Not Available on Lookup'
87
- },
88
- {
89
- number: '4000000000001067',
90
- description: 'Error on Lookup'
91
- },
92
- {
93
- number: '4000000000001075',
94
- description: 'Timeout on cmpi_lookup'
95
- },
96
- {
97
- number: '4000000000001083',
98
- description: 'Bypassed Authentication'
99
- },
100
- {
101
- number: '4000000000001018',
102
- description: 'Failed Frictionless'
103
- },
104
- {
105
- number: '4000000000001042',
106
- description: 'Rejected Frictionless'
107
- },
108
- {
109
- number: '4000000000001091',
110
- description: 'Challenge'
111
- }
112
- ]
113
- }
114
- </script>
115
- <script src="fatzebra.js"></script></head>
116
- <body>
117
- <table id="options" class="table table-bordered">
118
- <thead>
119
- <tr>
120
- <th scope="col">Card Token</th>
121
- <th scope="col">New Card</th>
122
- <th scope="col">Description</th>
123
- </tr>
124
- </thead>
125
- <tbody>
126
- </tbody>
127
- </table>
128
- <button type="button" class="btn btn-primary" id='doCheckout'>Primary</button>
129
-
130
- <script>
131
- var selectedMode = undefined
132
- var selectedValue = undefined
133
-
134
- $(document).ready(function() {
135
-
136
- for (var i = 0; i < actionItems.tokens.length; i ++ ) {
137
- const row = "<tr><td><input type='checkbox' class='option' data-mode='token' value='" + actionItems.tokens[i].token + "'><label>token for " + actionItems.tokens[i].number + "</label></td>" +
138
- "<td><input type='checkbox' class='option' data-mode='card' value='" + actionItems.cards[i].number + "'><label>" + actionItems.cards[i].number + "</label></td>" +
139
- "<td><label>" + actionItems.cards[i].description + "</label></td></tr>";
140
- $('#options').append(row)
141
- }
142
-
143
- $('.option').change(function() {
144
-
145
- if ($(this).prop("checked") == true) {
146
- if (selectedValue === undefined) {
147
- selectedMode = $(this).data('mode');
148
- selectedValue = $(this).val();
149
- } else {
150
- $(this).prop("checked", false)
151
- alert("There can only be one checkbox selected!");
152
- }
153
- } else {
154
- selectedMode = undefined;
155
- selectedValue = undefined;
156
- }
157
-
158
- console.log('selectedMode: ' + selectedMode);
159
- console.log('selectedValue: ' + selectedValue);
160
- })
161
- })
162
-
163
- </script>
164
- </body>
165
- <footer>
166
-
167
- <script>
168
- var fz = new FatZebra({
169
- username: 'TEST'
170
- });
171
-
172
- $('#doCheckout').click(function() {
173
- if (selectedMode === undefined || selectedValue == undefined) {
174
- alert('Please select an option.');
175
- return
176
- }
177
-
178
- var paymentMethod = undefined;
179
-
180
- if (selectedMode === 'card') {
181
- paymentMethod = {
182
- type: 'card',
183
- data: {
184
- number: selectedValue,
185
- holder: 'John Doe',
186
- expiryMonth: '01',
187
- expiryYear: '2022',
188
- cvv: '123'
189
- }
190
- }
191
- } else {
192
- paymentMethod = {
193
- type: 'card_on_file',
194
- data: {
195
- token: selectedValue
196
- }
197
- }
198
- }
199
-
200
- function randomString(length) {
201
- return Math.round((Math.pow(36, length + 1) - Math.random() * Math.pow(36, length))).toString(36).slice(1);
202
- }
203
-
204
- const reference = randomString(16);
205
- const amount = 1200000;
206
- const currency = 'AUD';
207
- const message = [reference, amount, currency].join(':')
208
- const verification = CryptoJS.HmacMD5(message, "033bd94b11").toString();
209
-
210
- fz.verifyCard({
211
- customer: {
212
- firstName: 'Captain',
213
- lastName: 'America',
214
- email: 'sos@fatzebra.com.au',
215
- address: '123 Get High Blvd.',
216
- city: 'Red Light District',
217
- postcode: '6666',
218
- state: 'NSW',
219
- country: 'Australia'
220
- },
221
- paymentIntent: {
222
- payment: {
223
- amount: amount,
224
- currency: currency,
225
- reference: reference
226
- },
227
- verification: verification
228
- },
229
- paymentMethod: paymentMethod
230
- })
231
- })
232
-
233
- fz.on('fz.sca.error', function(event) {
234
- console.log(JSON.stringify(event.detail))
235
- })
236
-
237
- fz.on('fz.sca.success', function(event) {
238
- console.log(JSON.stringify(event.detail))
239
- })
240
-
241
- fz.on('fz.validation.error', function(event) {
242
- console.log(JSON.stringify(event.detail))
243
- })
244
- </script>
245
-
246
- </footer>
247
- </html>
@@ -1,2 +0,0 @@
1
- declare const submitForm: (e: React.MouseEvent<HTMLElement>) => void;
2
- export default submitForm;
@@ -1,10 +0,0 @@
1
- import { BridgeEvent } from "../shared/types";
2
- const submitForm = (e) => {
3
- const message = {
4
- channel: 'sca',
5
- subject: BridgeEvent.TRIGGER_PAYNOW_BUTTON,
6
- data: {}
7
- };
8
- document.querySelector("iframe[title=verification-form]").contentWindow.postMessage(message, "*");
9
- };
10
- export default submitForm;
@@ -1,5 +0,0 @@
1
- declare const bridgeUrl = "http://paynow.test";
2
- declare const apiUrl = "http://api.test:3002/sdk";
3
- declare const payNowUrl = "http://paynow.test:3004";
4
- declare const songbirdUrl = "https://songbirdstag.cardinalcommerce.com/edge/v1/songbird.js";
5
- export { bridgeUrl, apiUrl, payNowUrl, songbirdUrl };
@@ -1,5 +0,0 @@
1
- const bridgeUrl = "http://paynow.test";
2
- const apiUrl = "http://api.test:3002/sdk";
3
- const payNowUrl = "http://paynow.test:3004";
4
- const songbirdUrl = "https://songbirdstag.cardinalcommerce.com/edge/v1/songbird.js";
5
- export { bridgeUrl, apiUrl, payNowUrl, songbirdUrl };
@@ -1,5 +0,0 @@
1
- declare const bridgeUrl = "https://paynow.pmnts-staging.io/sdk/bridge";
2
- declare const apiUrl = "https://gateway.pmnts-staging.io/sdk";
3
- declare const payNowUrl = "https://paynow.pmnts-staging.io";
4
- declare const songbirdUrl = "https://songbirdstag.cardinalcommerce.com/edge/v1/songbird.js";
5
- export { bridgeUrl, apiUrl, payNowUrl, songbirdUrl };
@@ -1,5 +0,0 @@
1
- const bridgeUrl = "https://paynow.pmnts-staging.io/sdk/bridge";
2
- const apiUrl = "https://gateway.pmnts-staging.io/sdk";
3
- const payNowUrl = "https://paynow.pmnts-staging.io";
4
- const songbirdUrl = "https://songbirdstag.cardinalcommerce.com/edge/v1/songbird.js";
5
- export { bridgeUrl, apiUrl, payNowUrl, songbirdUrl };
@@ -1,198 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
- if (k2 === undefined) k2 = k;
15
- var desc = Object.getOwnPropertyDescriptor(m, k);
16
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
- desc = { enumerable: true, get: function() { return m[k]; } };
18
- }
19
- Object.defineProperty(o, k2, desc);
20
- }) : (function(o, m, k, k2) {
21
- if (k2 === undefined) k2 = k;
22
- o[k2] = m[k];
23
- }));
24
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
- Object.defineProperty(o, "default", { enumerable: true, value: v });
26
- }) : function(o, v) {
27
- o["default"] = v;
28
- });
29
- var __importStar = (this && this.__importStar) || function (mod) {
30
- if (mod && mod.__esModule) return mod;
31
- var result = {};
32
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
- __setModuleDefault(result, mod);
34
- return result;
35
- };
36
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
37
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
38
- return new (P || (P = Promise))(function (resolve, reject) {
39
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
40
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
41
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
42
- step((generator = generator.apply(thisArg, _arguments || [])).next());
43
- });
44
- };
45
- var __generator = (this && this.__generator) || function (thisArg, body) {
46
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
47
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
48
- function verb(n) { return function (v) { return step([n, v]); }; }
49
- function step(op) {
50
- if (f) throw new TypeError("Generator is already executing.");
51
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
52
- 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;
53
- if (y = 0, t) op = [op[0] & 2, t.value];
54
- switch (op[0]) {
55
- case 0: case 1: t = op; break;
56
- case 4: _.label++; return { value: op[1], done: false };
57
- case 5: _.label++; y = op[1]; op = [0]; continue;
58
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
59
- default:
60
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
61
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
62
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
63
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
64
- if (t[2]) _.ops.pop();
65
- _.trys.pop(); continue;
66
- }
67
- op = body.call(thisArg, _);
68
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
69
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
70
- }
71
- };
72
- Object.defineProperty(exports, "__esModule", { value: true });
73
- exports.ApplePay = void 0;
74
- var apple_pay_client_1 = require("./clients/apple-pay-client");
75
- var payNow = __importStar(require("./clients/paynow-client"));
76
- var post_message_client_1 = require("../shared/post-message-client");
77
- var channel = 'applepay';
78
- var fzPayNowDomain = process.env.PAYNOW_BASE_URL;
79
- var ApplePay = /** @class */ (function () {
80
- function ApplePay(config) {
81
- this.iframe = config.iframe;
82
- this.postMessageClient = new post_message_client_1.PostMessageClient({
83
- channel: 'applepay',
84
- target: this.iframe
85
- });
86
- this.registerEventListener();
87
- this.checkApplePayEligibilty();
88
- this.notifyApplePayEligibiity();
89
- }
90
- ApplePay.prototype.checkApplePayEligibilty = function () {
91
- if ((0, apple_pay_client_1.getEligibilty)()) {
92
- this.canMakePayments = true;
93
- }
94
- };
95
- ApplePay.prototype.notifyApplePayEligibiity = function () {
96
- var message = {
97
- channel: channel,
98
- subject: 'eligibility',
99
- data: {
100
- canMakePayments: this.canMakePayments
101
- }
102
- };
103
- this.postMessageClient.send(message);
104
- };
105
- ApplePay.prototype.registerEventListener = function () {
106
- var _this = this;
107
- this.postMessageClient.setEventListeners({
108
- 'paymentrequest': function (data) { return __awaiter(_this, void 0, void 0, function () {
109
- return __generator(this, function (_a) {
110
- switch (_a.label) {
111
- case 0: return [4 /*yield*/, this.purchase(data)];
112
- case 1:
113
- _a.sent();
114
- return [2 /*return*/];
115
- }
116
- });
117
- }); }
118
- });
119
- };
120
- ApplePay.prototype.purchase = function (request) {
121
- return __awaiter(this, void 0, void 0, function () {
122
- var applePayPaymentRequest, payNowPaymentAttributes, _a;
123
- var _this = this;
124
- return __generator(this, function (_b) {
125
- switch (_b.label) {
126
- case 0:
127
- applePayPaymentRequest = this.extractApplePaymentRequestParams(request);
128
- payNowPaymentAttributes = this.extractPayNowPaymentAttributes(request);
129
- _a = this;
130
- return [4 /*yield*/, (0, apple_pay_client_1.createSession)(applePayPaymentRequest)];
131
- case 1:
132
- _a.applePaySession = _b.sent();
133
- this.applePaySession.onvalidatemerchant = function (event) { return __awaiter(_this, void 0, void 0, function () {
134
- var merchantSession, e_1;
135
- return __generator(this, function (_a) {
136
- switch (_a.label) {
137
- case 0:
138
- _a.trys.push([0, 2, , 3]);
139
- return [4 /*yield*/, payNow.getMerchantSession(event.validationURL, payNowPaymentAttributes)];
140
- case 1:
141
- merchantSession = _a.sent();
142
- return [3 /*break*/, 3];
143
- case 2:
144
- e_1 = _a.sent();
145
- console.log('Unable to establish new merchant session');
146
- return [2 /*return*/];
147
- case 3:
148
- this.applePaySession.completeMerchantValidation(merchantSession);
149
- return [2 /*return*/];
150
- }
151
- });
152
- }); };
153
- this.applePaySession.onpaymentauthorized = function (event) { return __awaiter(_this, void 0, void 0, function () {
154
- var e_2;
155
- return __generator(this, function (_a) {
156
- switch (_a.label) {
157
- case 0:
158
- _a.trys.push([0, 2, , 3]);
159
- return [4 /*yield*/, payNow.authorizePayment(__assign(__assign({}, payNowPaymentAttributes), event.payment.token))];
160
- case 1:
161
- _a.sent();
162
- this.applePaySession.completePayment(window.ApplePaySession.STATUS_SUCCESS);
163
- return [3 /*break*/, 3];
164
- case 2:
165
- e_2 = _a.sent();
166
- this.applePaySession.completePayment(window.ApplePaySession.STATUS_FAILURE);
167
- return [3 /*break*/, 3];
168
- case 3: return [2 /*return*/];
169
- }
170
- });
171
- }); };
172
- this.applePaySession.begin();
173
- return [2 /*return*/];
174
- }
175
- });
176
- });
177
- };
178
- ApplePay.prototype.extractApplePaymentRequestParams = function (payload) {
179
- var countryCode = payload.countryCode, currencyCode = payload.currencyCode, merchantCapabilities = payload.merchantCapabilities, supportedNetworks = payload.supportedNetworks, total = payload.total;
180
- return {
181
- countryCode: countryCode,
182
- currencyCode: currencyCode,
183
- merchantCapabilities: merchantCapabilities,
184
- supportedNetworks: supportedNetworks,
185
- total: total,
186
- };
187
- };
188
- ApplePay.prototype.extractPayNowPaymentAttributes = function (payload) {
189
- var paymentAttributes = payload.paymentAttributes;
190
- return paymentAttributes;
191
- };
192
- ApplePay.prototype.sendMessage = function (payload) {
193
- this.iframe.contentWindow.postMessage(payload, fzPayNowDomain);
194
- };
195
- return ApplePay;
196
- }());
197
- exports.ApplePay = ApplePay;
198
- //# sourceMappingURL=applepay.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"applepay.js","sourceRoot":"","sources":["../../../src/applepay/applepay.ts"],"names":[],"mappings":"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"}
@@ -1,66 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
- 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;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.SupportedNetwork = exports.MerchantCapability = exports.getEligibilty = exports.createSession = void 0;
40
- var SupportedNetwork;
41
- (function (SupportedNetwork) {
42
- SupportedNetwork["Amex"] = "amex";
43
- SupportedNetwork["Visa"] = "visa";
44
- SupportedNetwork["MasterCard"] = "masterCard";
45
- })(SupportedNetwork || (exports.SupportedNetwork = SupportedNetwork = {}));
46
- var MerchantCapability;
47
- (function (MerchantCapability) {
48
- MerchantCapability["Supports3DS"] = "supports3DS";
49
- MerchantCapability["SupportsCredit"] = "supportsCredit";
50
- MerchantCapability["SupportsDebit"] = "supportsDebit";
51
- MerchantCapability["SupportsEMV"] = "supportsEMV";
52
- })(MerchantCapability || (exports.MerchantCapability = MerchantCapability = {}));
53
- var getEligibilty = function () {
54
- return window.ApplePaySession && window.ApplePaySession.canMakePayments();
55
- };
56
- exports.getEligibilty = getEligibilty;
57
- var createSession = function (payload) { return __awaiter(void 0, void 0, void 0, function () {
58
- return __generator(this, function (_a) {
59
- switch (_a.label) {
60
- case 0: return [4 /*yield*/, new window.ApplePaySession(2, payload)];
61
- case 1: return [2 /*return*/, _a.sent()];
62
- }
63
- });
64
- }); };
65
- exports.createSession = createSession;
66
- //# sourceMappingURL=apple-pay-client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"apple-pay-client.js","sourceRoot":"","sources":["../../../../src/applepay/clients/apple-pay-client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAK,gBAIJ;AAJD,WAAK,gBAAgB;IACnB,iCAAa,CAAA;IACb,iCAAa,CAAA;IACb,6CAAyB,CAAA;AAC3B,CAAC,EAJI,gBAAgB,gCAAhB,gBAAgB,QAIpB;AAED,IAAK,kBAKJ;AALD,WAAK,kBAAkB;IACrB,iDAA2B,CAAA;IAC3B,uDAAiC,CAAA;IACjC,qDAA+B,CAAA;IAC/B,iDAA2B,CAAA;AAC7B,CAAC,EALI,kBAAkB,kCAAlB,kBAAkB,QAKtB;AAaD,IAAM,aAAa,GAAG;IACpB,OAAO,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,eAAe,CAAC,eAAe,EAAE,CAAA;AAC3E,CAAC,CAAA;AASC,sCAAa;AAPf,IAAM,aAAa,GAAG,UAAO,OAAuB;;;oBAC3C,qBAAM,IAAI,MAAM,CAAC,eAAe,CAAC,CAAC,EAAE,OAAO,CAAC,EAAA;oBAAnD,sBAAO,SAA4C,EAAA;;;KACpD,CAAA;AAGC,sCAAa"}
@@ -1,96 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
- 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;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.authorizePayment = exports.getMerchantSession = exports.objectToQueryString = void 0;
40
- var paynowDomain = process.env.PAYNOW_BASE_URL;
41
- var merchantSessionPath = process.env.PAYNOW_APPLEPAY_AUTH_PATH;
42
- var purchaseTokenPath = process.env.PAYNOW_APPLEPAY_TOKEN_PATH;
43
- var objectToQueryString = function (obj) {
44
- var queryString = [];
45
- for (var _i = 0, _a = Object.keys(obj); _i < _a.length; _i++) {
46
- var key = _a[_i];
47
- queryString.push("".concat(key, "=").concat(obj[key]));
48
- }
49
- return queryString.join("&");
50
- };
51
- exports.objectToQueryString = objectToQueryString;
52
- var getMerchantSession = function (validationUrl, paymentAttributes) { return __awaiter(void 0, void 0, void 0, function () {
53
- var baseUrl, queryString;
54
- return __generator(this, function (_a) {
55
- baseUrl = "".concat(paynowDomain).concat(merchantSessionPath);
56
- queryString = "url=".concat(validationUrl, "&").concat((0, exports.objectToQueryString)(paymentAttributes));
57
- return [2 /*return*/, new Promise(function (resolve, reject) {
58
- var request = new XMLHttpRequest();
59
- request.onload = function () {
60
- if (request.status >= 200 && request.status < 300) {
61
- return resolve(JSON.parse(request.responseText));
62
- }
63
- else {
64
- return reject(new Error());
65
- }
66
- };
67
- request.onerror = reject;
68
- request.open('GET', "".concat(baseUrl, "?").concat(queryString));
69
- request.send();
70
- })];
71
- });
72
- }); };
73
- exports.getMerchantSession = getMerchantSession;
74
- var authorizePayment = function (payload) { return __awaiter(void 0, void 0, void 0, function () {
75
- var url;
76
- return __generator(this, function (_a) {
77
- url = "".concat(paynowDomain).concat(purchaseTokenPath);
78
- return [2 /*return*/, new Promise(function (resolve, reject) {
79
- var request = new XMLHttpRequest();
80
- request.onload = function () {
81
- if (request.status >= 200 && request.status < 300) {
82
- return resolve(true);
83
- }
84
- else {
85
- return reject(new Error());
86
- }
87
- };
88
- request.onerror = reject;
89
- request.open('POST', url);
90
- request.setRequestHeader('Content-Type', 'application/json;charset=UTF-8');
91
- request.send(JSON.stringify(payload));
92
- })];
93
- });
94
- }); };
95
- exports.authorizePayment = authorizePayment;
96
- //# sourceMappingURL=paynow-client.js.map