@fat-zebra/sdk 2.0.2 → 2.0.3-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/dist/main.js +27 -53
- package/dist/shared/envs/local.d.ts +3 -2
- package/dist/shared/envs/local.js +3 -2
- package/dist/shared/envs/production.d.ts +3 -2
- package/dist/shared/envs/production.js +3 -2
- package/dist/shared/envs/sandbox.d.ts +3 -2
- package/dist/shared/envs/sandbox.js +3 -2
- package/dist/shared/envs/staging.d.ts +3 -2
- package/dist/shared/envs/staging.js +3 -2
- package/dist/three_d_secure/utility/device-data-collection.js +3 -2
- package/package.json +1 -1
package/dist/main.js
CHANGED
|
@@ -51,6 +51,10 @@ class FatZebra {
|
|
|
51
51
|
this.headless.addEventListener('load', () => resolve());
|
|
52
52
|
});
|
|
53
53
|
}
|
|
54
|
+
this.sca = new Sca({
|
|
55
|
+
gatewayClient: this.gatewayClient,
|
|
56
|
+
});
|
|
57
|
+
this.sca.loadScript();
|
|
54
58
|
this.authReady = this.setAuthImpl();
|
|
55
59
|
const message = {
|
|
56
60
|
channel: 'sca',
|
|
@@ -71,12 +75,6 @@ class FatZebra {
|
|
|
71
75
|
});
|
|
72
76
|
this.setThreeDSecureListeners();
|
|
73
77
|
}
|
|
74
|
-
else {
|
|
75
|
-
this.sca = new Sca({
|
|
76
|
-
gatewayClient: this.gatewayClient,
|
|
77
|
-
});
|
|
78
|
-
this.sca.loadScript();
|
|
79
|
-
}
|
|
80
78
|
});
|
|
81
79
|
}
|
|
82
80
|
tokenizeCard(card) {
|
|
@@ -149,7 +147,7 @@ class FatZebra {
|
|
|
149
147
|
}
|
|
150
148
|
verifyCard(params) {
|
|
151
149
|
return __awaiter(this, void 0, void 0, function* () {
|
|
152
|
-
var _a
|
|
150
|
+
var _a;
|
|
153
151
|
console.log('verifyCard');
|
|
154
152
|
const valid = validateVerifyCardParams(params);
|
|
155
153
|
if (!valid) {
|
|
@@ -159,34 +157,22 @@ class FatZebra {
|
|
|
159
157
|
});
|
|
160
158
|
return;
|
|
161
159
|
}
|
|
162
|
-
yield this.
|
|
160
|
+
yield this.bridgeReady;
|
|
163
161
|
switch (params.paymentMethod.type) {
|
|
164
162
|
case PaymentMethodType.CARD: {
|
|
165
163
|
console.log('Verify card (new card)');
|
|
166
164
|
const card = params.paymentMethod.data;
|
|
167
165
|
this.cardDidTokenize((data) => __awaiter(this, void 0, void 0, function* () {
|
|
168
|
-
var _a
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
}
|
|
179
|
-
else {
|
|
180
|
-
const bin = card.number.substr(0, 6);
|
|
181
|
-
this.sca.run({
|
|
182
|
-
source: 'verifyCard',
|
|
183
|
-
cardToken: data.token,
|
|
184
|
-
customer: params.customer,
|
|
185
|
-
paymentIntent: params.paymentIntent,
|
|
186
|
-
bin,
|
|
187
|
-
challengeWindowSize: (_b = params.options) === null || _b === void 0 ? void 0 : _b.challengeWindowSize,
|
|
188
|
-
});
|
|
189
|
-
}
|
|
166
|
+
var _a;
|
|
167
|
+
const bin = card.number.substr(0, 6);
|
|
168
|
+
this.sca.run({
|
|
169
|
+
source: 'verifyCard',
|
|
170
|
+
cardToken: data.token,
|
|
171
|
+
customer: params.customer,
|
|
172
|
+
paymentIntent: params.paymentIntent,
|
|
173
|
+
bin,
|
|
174
|
+
challengeWindowSize: (_a = params.options) === null || _a === void 0 ? void 0 : _a.challengeWindowSize,
|
|
175
|
+
});
|
|
190
176
|
}));
|
|
191
177
|
this.tokenizeCard(card);
|
|
192
178
|
break;
|
|
@@ -194,29 +180,17 @@ class FatZebra {
|
|
|
194
180
|
case PaymentMethodType.CARD_ON_FILE: {
|
|
195
181
|
console.log('Verify card (card on file)');
|
|
196
182
|
const cardToken = params.paymentMethod.data.token;
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
const bin = (yield this.gatewayClient.getCard({
|
|
209
|
-
card_token: cardToken,
|
|
210
|
-
})).data.bin;
|
|
211
|
-
this.sca.run({
|
|
212
|
-
source: 'verifyCard',
|
|
213
|
-
cardToken,
|
|
214
|
-
customer: params.customer,
|
|
215
|
-
paymentIntent: params.paymentIntent,
|
|
216
|
-
bin,
|
|
217
|
-
challengeWindowSize: (_b = params.options) === null || _b === void 0 ? void 0 : _b.challengeWindowSize,
|
|
218
|
-
});
|
|
219
|
-
}
|
|
183
|
+
const bin = (yield this.gatewayClient.getCard({
|
|
184
|
+
card_token: cardToken,
|
|
185
|
+
})).data.bin;
|
|
186
|
+
this.sca.run({
|
|
187
|
+
source: 'verifyCard',
|
|
188
|
+
cardToken,
|
|
189
|
+
customer: params.customer,
|
|
190
|
+
paymentIntent: params.paymentIntent,
|
|
191
|
+
bin,
|
|
192
|
+
challengeWindowSize: (_a = params.options) === null || _a === void 0 ? void 0 : _a.challengeWindowSize,
|
|
193
|
+
});
|
|
220
194
|
break;
|
|
221
195
|
}
|
|
222
196
|
}
|
|
@@ -2,6 +2,7 @@ declare const bridgeUrl = "http://localhost:3006/sdk/bridge";
|
|
|
2
2
|
declare const apiUrl = "https://api.test/sdk";
|
|
3
3
|
declare const payNowUrl = "https://paynow.test";
|
|
4
4
|
declare const songbirdUrl = "https://songbirdstag.cardinalcommerce.com/edge/v1/songbird.js";
|
|
5
|
-
declare const cybersourceUrl = "https://
|
|
5
|
+
declare const cybersourceUrl = "https://cas.client.cardinaltrusted.com";
|
|
6
|
+
declare const cybersourceSecondaryUrl = "https://centinelapistag.cardinalcommerce.com";
|
|
6
7
|
declare const returnCybersourceUrl = "https://48e5-115-130-65-211.ngrok-free.app/return";
|
|
7
|
-
export { bridgeUrl, apiUrl, payNowUrl, songbirdUrl, cybersourceUrl, returnCybersourceUrl };
|
|
8
|
+
export { bridgeUrl, apiUrl, payNowUrl, songbirdUrl, cybersourceUrl, cybersourceSecondaryUrl, returnCybersourceUrl };
|
|
@@ -2,6 +2,7 @@ const bridgeUrl = "http://localhost:3006/sdk/bridge";
|
|
|
2
2
|
const apiUrl = "https://api.test/sdk";
|
|
3
3
|
const payNowUrl = "https://paynow.test";
|
|
4
4
|
const songbirdUrl = "https://songbirdstag.cardinalcommerce.com/edge/v1/songbird.js";
|
|
5
|
-
const cybersourceUrl = "https://
|
|
5
|
+
const cybersourceUrl = "https://cas.client.cardinaltrusted.com";
|
|
6
|
+
const cybersourceSecondaryUrl = "https://centinelapistag.cardinalcommerce.com";
|
|
6
7
|
const returnCybersourceUrl = "https://48e5-115-130-65-211.ngrok-free.app/return";
|
|
7
|
-
export { bridgeUrl, apiUrl, payNowUrl, songbirdUrl, cybersourceUrl, returnCybersourceUrl };
|
|
8
|
+
export { bridgeUrl, apiUrl, payNowUrl, songbirdUrl, cybersourceUrl, cybersourceSecondaryUrl, returnCybersourceUrl };
|
|
@@ -2,6 +2,7 @@ declare const bridgeUrl = "https://paynow.pmnts.io/sdk/bridge";
|
|
|
2
2
|
declare const apiUrl = "https://gateway.pmnts.io/sdk";
|
|
3
3
|
declare const payNowUrl = "https://paynow.pmnts.io";
|
|
4
4
|
declare const songbirdUrl = "https://songbird.cardinalcommerce.com/edge/v1/songbird.js";
|
|
5
|
-
declare const cybersourceUrl = "https://
|
|
5
|
+
declare const cybersourceUrl = "https://client.cardinaltrusted.com";
|
|
6
|
+
declare const cybersourceSecondaryUrl = "https://centinelapi.cardinalcommerce.com";
|
|
6
7
|
declare const returnCybersourceUrl = "https://paynow.pmnts.io/return";
|
|
7
|
-
export { bridgeUrl, apiUrl, payNowUrl, songbirdUrl, cybersourceUrl, returnCybersourceUrl };
|
|
8
|
+
export { bridgeUrl, apiUrl, payNowUrl, songbirdUrl, cybersourceUrl, cybersourceSecondaryUrl, returnCybersourceUrl };
|
|
@@ -2,6 +2,7 @@ const bridgeUrl = "https://paynow.pmnts.io/sdk/bridge";
|
|
|
2
2
|
const apiUrl = "https://gateway.pmnts.io/sdk";
|
|
3
3
|
const payNowUrl = "https://paynow.pmnts.io";
|
|
4
4
|
const songbirdUrl = "https://songbird.cardinalcommerce.com/edge/v1/songbird.js";
|
|
5
|
-
const cybersourceUrl = "https://
|
|
5
|
+
const cybersourceUrl = "https://client.cardinaltrusted.com";
|
|
6
|
+
const cybersourceSecondaryUrl = "https://centinelapi.cardinalcommerce.com";
|
|
6
7
|
const returnCybersourceUrl = "https://paynow.pmnts.io/return";
|
|
7
|
-
export { bridgeUrl, apiUrl, payNowUrl, songbirdUrl, cybersourceUrl, returnCybersourceUrl };
|
|
8
|
+
export { bridgeUrl, apiUrl, payNowUrl, songbirdUrl, cybersourceUrl, cybersourceSecondaryUrl, returnCybersourceUrl };
|
|
@@ -2,6 +2,7 @@ declare const bridgeUrl = "https://paynow.pmnts-sandbox.io/sdk/bridge";
|
|
|
2
2
|
declare const apiUrl = "https://gateway.pmnts-sandbox.io/sdk";
|
|
3
3
|
declare const payNowUrl = "https://paynow.pmnts-sandbox.io";
|
|
4
4
|
declare const songbirdUrl = "https://songbirdstag.cardinalcommerce.com/edge/v1/songbird.js";
|
|
5
|
-
declare const cybersourceUrl = "https://
|
|
5
|
+
declare const cybersourceUrl = "https://cas.client.cardinaltrusted.com";
|
|
6
|
+
declare const cybersourceSecondaryUrl = "https://centinelapistag.cardinalcommerce.com";
|
|
6
7
|
declare const returnCybersourceUrl = "https://paynow.pmnts-sandbox.io/return";
|
|
7
|
-
export { bridgeUrl, apiUrl, payNowUrl, songbirdUrl, cybersourceUrl, returnCybersourceUrl };
|
|
8
|
+
export { bridgeUrl, apiUrl, payNowUrl, songbirdUrl, cybersourceUrl, cybersourceSecondaryUrl, returnCybersourceUrl };
|
|
@@ -2,6 +2,7 @@ const bridgeUrl = "https://paynow.pmnts-sandbox.io/sdk/bridge";
|
|
|
2
2
|
const apiUrl = "https://gateway.pmnts-sandbox.io/sdk";
|
|
3
3
|
const payNowUrl = "https://paynow.pmnts-sandbox.io";
|
|
4
4
|
const songbirdUrl = "https://songbirdstag.cardinalcommerce.com/edge/v1/songbird.js";
|
|
5
|
-
const cybersourceUrl = "https://
|
|
5
|
+
const cybersourceUrl = "https://cas.client.cardinaltrusted.com";
|
|
6
|
+
const cybersourceSecondaryUrl = "https://centinelapistag.cardinalcommerce.com";
|
|
6
7
|
const returnCybersourceUrl = "https://paynow.pmnts-sandbox.io/return";
|
|
7
|
-
export { bridgeUrl, apiUrl, payNowUrl, songbirdUrl, cybersourceUrl, returnCybersourceUrl };
|
|
8
|
+
export { bridgeUrl, apiUrl, payNowUrl, songbirdUrl, cybersourceUrl, cybersourceSecondaryUrl, returnCybersourceUrl };
|
|
@@ -2,6 +2,7 @@ declare const bridgeUrl = "https://paynow.pmnts-staging.io/sdk/bridge";
|
|
|
2
2
|
declare const apiUrl = "https://gateway.pmnts-staging.io/sdk";
|
|
3
3
|
declare const payNowUrl = "https://paynow.pmnts-staging.io";
|
|
4
4
|
declare const songbirdUrl = "https://songbirdstag.cardinalcommerce.com/edge/v1/songbird.js";
|
|
5
|
-
declare const cybersourceUrl = "https://
|
|
5
|
+
declare const cybersourceUrl = "https://cas.client.cardinaltrusted.com";
|
|
6
|
+
declare const cybersourceSecondaryUrl = "https://centinelapistag.cardinalcommerce.com";
|
|
6
7
|
declare const returnCybersourceUrl = "https://paynow.pmnts-staging.io/return";
|
|
7
|
-
export { bridgeUrl, apiUrl, payNowUrl, songbirdUrl, cybersourceUrl, returnCybersourceUrl };
|
|
8
|
+
export { bridgeUrl, apiUrl, payNowUrl, songbirdUrl, cybersourceUrl, cybersourceSecondaryUrl, returnCybersourceUrl };
|
|
@@ -2,6 +2,7 @@ const bridgeUrl = "https://paynow.pmnts-staging.io/sdk/bridge";
|
|
|
2
2
|
const apiUrl = "https://gateway.pmnts-staging.io/sdk";
|
|
3
3
|
const payNowUrl = "https://paynow.pmnts-staging.io";
|
|
4
4
|
const songbirdUrl = "https://songbirdstag.cardinalcommerce.com/edge/v1/songbird.js";
|
|
5
|
-
const cybersourceUrl = "https://
|
|
5
|
+
const cybersourceUrl = "https://cas.client.cardinaltrusted.com";
|
|
6
|
+
const cybersourceSecondaryUrl = "https://centinelapistag.cardinalcommerce.com";
|
|
6
7
|
const returnCybersourceUrl = "https://paynow.pmnts-staging.io/return";
|
|
7
|
-
export { bridgeUrl, apiUrl, payNowUrl, songbirdUrl, cybersourceUrl, returnCybersourceUrl };
|
|
8
|
+
export { bridgeUrl, apiUrl, payNowUrl, songbirdUrl, cybersourceUrl, cybersourceSecondaryUrl, returnCybersourceUrl };
|
|
@@ -48,7 +48,8 @@ class DeviceDataCollection {
|
|
|
48
48
|
}
|
|
49
49
|
static handleDataCollectionResponse(event, environment) {
|
|
50
50
|
// https://developer.cybersource.com/docs/cybs/en-us/payer-authentication/developer/all/so/payer-auth/pa2-ccdc-ddc-intro.html#reference_qmk_jrl_xpb
|
|
51
|
-
|
|
51
|
+
const whitelistedUrls = [env[environment].cybersourceUrl, env[environment].cybersourceSecondaryUrl];
|
|
52
|
+
if (!whitelistedUrls.includes(event.origin))
|
|
52
53
|
return;
|
|
53
54
|
this.handleCollectionResponse(event);
|
|
54
55
|
}
|
|
@@ -83,7 +84,7 @@ class DeviceDataCollection {
|
|
|
83
84
|
this.ensureCreated();
|
|
84
85
|
const form = this.getForm();
|
|
85
86
|
const input = this.getInput();
|
|
86
|
-
form.action = url; // e.g. https://
|
|
87
|
+
form.action = url; // e.g. https://cas.client.cardinaltrusted.com/...
|
|
87
88
|
input.value = jwt; // the AccessToken JWT
|
|
88
89
|
}
|
|
89
90
|
static getForm() {
|