@fat-zebra/sdk 1.4.13 → 1.4.14
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/.jest/setup-env-vars.js +0 -1
- package/dist/click_to_pay/index.d.ts +28 -0
- package/dist/click_to_pay/index.js +50 -0
- package/dist/click_to_pay/types.d.ts +13 -0
- package/dist/click_to_pay/types.js +1 -0
- package/dist/local/fatzebra.js.map +1 -0
- package/dist/local/index.html +247 -0
- package/dist/main.d.ts +2 -0
- package/dist/main.js +18 -1
- package/dist/production/fatzebra.js.LICENSE.txt +1 -0
- package/dist/react/url.js +0 -4
- package/dist/sca/index.d.ts +1 -1
- package/dist/sca/index.js +26 -10
- package/dist/sca/scenarios/enrollment.d.ts +2 -1
- package/dist/sca/scenarios/enrollment.js +11 -1
- package/dist/sca/scenarios/validation.d.ts +2 -1
- package/dist/sca/scenarios/validation.js +11 -1
- package/dist/sca/types.d.ts +2 -2
- package/dist/shared/api-gateway-client.js +6 -1
- package/dist/shared/post-message-client.js +2 -0
- package/dist/shared/types.d.ts +1 -1
- package/dist/src/applepay/applepay.js +198 -0
- package/dist/src/applepay/applepay.js.map +1 -0
- package/dist/src/applepay/clients/apple-pay-client.js +66 -0
- package/dist/src/applepay/clients/apple-pay-client.js.map +1 -0
- package/dist/src/applepay/clients/paynow-client.js +96 -0
- package/dist/src/applepay/clients/paynow-client.js.map +1 -0
- package/dist/src/applepay/index.js +6 -0
- package/dist/src/applepay/index.js.map +1 -0
- package/dist/src/click_to_pay/index.js +88 -0
- package/dist/src/click_to_pay/index.js.map +1 -0
- package/dist/src/click_to_pay/types.js +3 -0
- package/dist/src/click_to_pay/types.js.map +1 -0
- package/dist/src/hpp/hpp.js +230 -0
- package/dist/src/hpp/hpp.js.map +1 -0
- package/dist/src/hpp/hpp.test.js +135 -0
- package/dist/src/hpp/hpp.test.js.map +1 -0
- package/dist/src/hpp/index.js +6 -0
- package/dist/src/hpp/index.js.map +1 -0
- package/dist/src/index.js +14 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/main.js +243 -0
- package/dist/src/main.js.map +1 -0
- package/dist/src/main.test.js +236 -0
- package/dist/src/main.test.js.map +1 -0
- package/dist/src/paypal/paypal-button.js +311 -0
- package/dist/src/paypal/paypal-button.js.map +1 -0
- package/dist/src/paypal/paypal-button.test.js +41 -0
- package/dist/src/paypal/paypal-button.test.js.map +1 -0
- package/dist/src/paypal/paypal-checkout.js +111 -0
- package/dist/src/paypal/paypal-checkout.js.map +1 -0
- package/dist/src/paypal/paypal-checkout.test.js +167 -0
- package/dist/src/paypal/paypal-checkout.test.js.map +1 -0
- package/dist/src/paypal/types.js +9 -0
- package/dist/src/paypal/types.js.map +1 -0
- package/dist/src/paypal/validation.js +73 -0
- package/dist/src/paypal/validation.js.map +1 -0
- package/dist/src/react/VerifyCard.js +29 -0
- package/dist/src/react/VerifyCard.js.map +1 -0
- package/dist/src/react/index.js +11 -0
- package/dist/src/react/index.js.map +1 -0
- package/dist/src/react/submitForm.js +13 -0
- package/dist/src/react/submitForm.js.map +1 -0
- package/dist/src/react/url.js +60 -0
- package/dist/src/react/url.js.map +1 -0
- package/dist/src/react/url.test.js +88 -0
- package/dist/src/react/url.test.js.map +1 -0
- package/dist/src/react/useFatZebra.js +119 -0
- package/dist/src/react/useFatZebra.js.map +1 -0
- package/dist/src/sca/cardinal.js +110 -0
- package/dist/src/sca/cardinal.js.map +1 -0
- package/dist/src/sca/eci-mappings.js +63 -0
- package/dist/src/sca/eci-mappings.js.map +1 -0
- package/dist/src/sca/eci-mappings.test.js +31 -0
- package/dist/src/sca/eci-mappings.test.js.map +1 -0
- package/dist/src/sca/index.js +363 -0
- package/dist/src/sca/index.js.map +1 -0
- package/dist/src/sca/index.test.js +620 -0
- package/dist/src/sca/index.test.js.map +1 -0
- package/dist/src/sca/scenarios/enrollment.js +161 -0
- package/dist/src/sca/scenarios/enrollment.js.map +1 -0
- package/dist/src/sca/scenarios/index.js +8 -0
- package/dist/src/sca/scenarios/index.js.map +1 -0
- package/dist/src/sca/scenarios/validation.js +139 -0
- package/dist/src/sca/scenarios/validation.js.map +1 -0
- package/dist/src/sca/types.js +57 -0
- package/dist/src/sca/types.js.map +1 -0
- package/dist/src/shared/api-gateway-client.js +184 -0
- package/dist/src/shared/api-gateway-client.js.map +1 -0
- package/dist/src/shared/bridge-client.js +24 -0
- package/dist/src/shared/bridge-client.js.map +1 -0
- package/dist/src/shared/constants.js +19 -0
- package/dist/src/shared/constants.js.map +1 -0
- package/dist/src/shared/env.development.js +12 -0
- package/dist/src/shared/env.development.js.map +1 -0
- package/dist/src/shared/env.js +46 -0
- package/dist/src/shared/env.js.map +1 -0
- package/dist/src/shared/envs/local.js +12 -0
- package/dist/src/shared/envs/local.js.map +1 -0
- package/dist/src/shared/envs/production.js +12 -0
- package/dist/src/shared/envs/production.js.map +1 -0
- package/dist/src/shared/envs/sandbox.js +12 -0
- package/dist/src/shared/envs/sandbox.js.map +1 -0
- package/dist/src/shared/envs/staging.js +12 -0
- package/dist/src/shared/envs/staging.js.map +1 -0
- package/dist/src/shared/event-manager.js +14 -0
- package/dist/src/shared/event-manager.js.map +1 -0
- package/dist/src/shared/post-message-client.js +107 -0
- package/dist/src/shared/post-message-client.js.map +1 -0
- package/dist/src/shared/post-message-client.test.js +58 -0
- package/dist/src/shared/post-message-client.test.js.map +1 -0
- package/dist/src/shared/types.js +47 -0
- package/dist/src/shared/types.js.map +1 -0
- package/dist/src/shared/types.test.js +55 -0
- package/dist/src/shared/types.test.js.map +1 -0
- package/dist/src/shared/util.js +96 -0
- package/dist/src/shared/util.js.map +1 -0
- package/dist/src/shared/util.test.js +148 -0
- package/dist/src/shared/util.test.js.map +1 -0
- package/dist/src/validation/index.js +12 -0
- package/dist/src/validation/index.js.map +1 -0
- package/dist/src/validation/schemas/click-to-pay/load-params.json +34 -0
- package/dist/src/validation/schemas/click-to-pay/options.json +23 -0
- package/dist/src/validation/schemas/click-to-pay/payment-intent.json +42 -0
- package/dist/src/validation/schemas/customer.json +38 -0
- package/dist/src/validation/schemas/hpp-load-params.json +40 -0
- package/dist/src/validation/schemas/hpp-options.json +48 -0
- package/dist/src/validation/schemas/payment-intent.json +48 -0
- package/dist/src/validation/schemas/payment-method.json +83 -0
- package/dist/src/validation/schemas/verify-card-options.json +15 -0
- package/dist/src/validation/schemas/verify-card-params.json +24 -0
- package/dist/src/validation/validation-helper.js +10 -0
- package/dist/src/validation/validation-helper.js.map +1 -0
- package/dist/src/validation/validation-helper.test.js +34 -0
- package/dist/src/validation/validation-helper.test.js.map +1 -0
- package/dist/src/validation/validators/click-to-pay-load-params-validator.js +19 -0
- package/dist/src/validation/validators/click-to-pay-load-params-validator.js.map +1 -0
- package/dist/src/validation/validators/hpp-load-params-validator.js +21 -0
- package/dist/src/validation/validators/hpp-load-params-validator.js.map +1 -0
- package/dist/src/validation/validators/hpp-load-params-validator.test.js +56 -0
- package/dist/src/validation/validators/hpp-load-params-validator.test.js.map +1 -0
- package/dist/src/validation/validators/verify-card-params-validator.js +23 -0
- package/dist/src/validation/validators/verify-card-params-validator.js.map +1 -0
- package/dist/tests/helpers/api-gateway-mock.js +37 -0
- package/dist/tests/helpers/api-gateway-mock.js.map +1 -0
- package/dist/validation/index.d.ts +1 -0
- package/dist/validation/index.js +1 -0
- package/dist/validation/schemas/click-to-pay/load-params.json +34 -0
- package/dist/validation/schemas/click-to-pay/options.json +23 -0
- package/dist/validation/schemas/click-to-pay/payment-intent.json +42 -0
- package/dist/validation/schemas/hpp-options.json +93 -45
- package/dist/validation/validators/click-to-pay-load-params-validator.d.ts +3 -0
- package/dist/validation/validators/click-to-pay-load-params-validator.js +12 -0
- package/package.json +1 -1
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.validateHppLoadParams = void 0;
|
|
7
|
+
var ajv_1 = __importDefault(require("ajv"));
|
|
8
|
+
var customer_json_1 = __importDefault(require("../schemas/customer.json"));
|
|
9
|
+
var payment_intent_json_1 = __importDefault(require("../schemas/payment-intent.json"));
|
|
10
|
+
var hpp_options_json_1 = __importDefault(require("../schemas/hpp-options.json"));
|
|
11
|
+
var hpp_load_params_json_1 = __importDefault(require("../schemas/hpp-load-params.json"));
|
|
12
|
+
var validator = new ajv_1.default({
|
|
13
|
+
allErrors: true,
|
|
14
|
+
jsonPointers: true,
|
|
15
|
+
})
|
|
16
|
+
.addSchema(customer_json_1.default)
|
|
17
|
+
.addSchema(payment_intent_json_1.default)
|
|
18
|
+
.addSchema(hpp_options_json_1.default)
|
|
19
|
+
.compile(hpp_load_params_json_1.default);
|
|
20
|
+
exports.validateHppLoadParams = validator;
|
|
21
|
+
//# sourceMappingURL=hpp-load-params-validator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hpp-load-params-validator.js","sourceRoot":"","sources":["../../../../src/validation/validators/hpp-load-params-validator.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAqB;AACrB,2EAAqD;AACrD,uFAAgE;AAChE,iFAA0D;AAC1D,yFAAiE;AAEjE,IAAM,SAAS,GAAG,IAAI,aAAG,CAAC;IACxB,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;CACnB,CAAC;KACC,SAAS,CAAC,uBAAc,CAAC;KACzB,SAAS,CAAC,6BAAmB,CAAC;KAC9B,SAAS,CAAC,0BAAgB,CAAC;KAC3B,OAAO,CAAC,8BAAmB,CAAC,CAAA;AAGhB,0CAAqB"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var hpp_load_params_validator_1 = require("./hpp-load-params-validator");
|
|
4
|
+
var customer = {
|
|
5
|
+
firstName: 'John',
|
|
6
|
+
lastName: 'Doe',
|
|
7
|
+
email: 'john.doe@gmail.com',
|
|
8
|
+
address: '123 Sesame St.',
|
|
9
|
+
city: 'Sin City',
|
|
10
|
+
postcode: '2000',
|
|
11
|
+
state: 'NSW',
|
|
12
|
+
country: 'Australia'
|
|
13
|
+
};
|
|
14
|
+
var paymentIntent = {
|
|
15
|
+
payment: {
|
|
16
|
+
amount: 100,
|
|
17
|
+
currency: 'AUD',
|
|
18
|
+
reference: 'ref123',
|
|
19
|
+
hide_card_holder: false,
|
|
20
|
+
},
|
|
21
|
+
verification: 'ver123'
|
|
22
|
+
};
|
|
23
|
+
var input;
|
|
24
|
+
beforeEach(function () {
|
|
25
|
+
input = {
|
|
26
|
+
containerId: 'fz-iframe',
|
|
27
|
+
customer: customer,
|
|
28
|
+
paymentIntent: paymentIntent,
|
|
29
|
+
options: {
|
|
30
|
+
tokenizeOnly: false
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
});
|
|
34
|
+
describe('hppLoadParamsValidator', function () {
|
|
35
|
+
describe('hppOptions: tokenizeOnly', function () {
|
|
36
|
+
it('does not require customer object when true', function () {
|
|
37
|
+
delete input.customer;
|
|
38
|
+
input.options.tokenizeOnly = true;
|
|
39
|
+
var valid = (0, hpp_load_params_validator_1.validateHppLoadParams)(input);
|
|
40
|
+
expect(valid).toEqual(true);
|
|
41
|
+
});
|
|
42
|
+
it('require customer object when false', function () {
|
|
43
|
+
input.customer = customer;
|
|
44
|
+
input.options.tokenizeOnly = false;
|
|
45
|
+
var valid = (0, hpp_load_params_validator_1.validateHppLoadParams)(input);
|
|
46
|
+
expect(valid).toEqual(true);
|
|
47
|
+
});
|
|
48
|
+
it('require customer object when not set', function () {
|
|
49
|
+
input.customer = customer;
|
|
50
|
+
delete input.options.tokenizeOnly;
|
|
51
|
+
var valid = (0, hpp_load_params_validator_1.validateHppLoadParams)(input);
|
|
52
|
+
expect(valid).toEqual(true);
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
//# sourceMappingURL=hpp-load-params-validator.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hpp-load-params-validator.test.js","sourceRoot":"","sources":["../../../../src/validation/validators/hpp-load-params-validator.test.ts"],"names":[],"mappings":";;AAAA,yEAAmE;AAGnE,IAAM,QAAQ,GAAG;IACf,SAAS,EAAE,MAAM;IACjB,QAAQ,EAAE,KAAK;IACf,KAAK,EAAE,oBAAoB;IAC3B,OAAO,EAAE,gBAAgB;IACzB,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE,MAAM;IAChB,KAAK,EAAE,KAAK;IACZ,OAAO,EAAE,WAAW;CACrB,CAAA;AAED,IAAM,aAAa,GAAG;IACpB,OAAO,EAAE;QACP,MAAM,EAAE,GAAG;QACX,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,QAAQ;QACnB,gBAAgB,EAAE,KAAK;KACxB;IACD,YAAY,EAAE,QAAQ;CACvB,CAAA;AAED,IAAI,KAAoB,CAAA;AAExB,UAAU,CAAC;IACT,KAAK,GAAG;QACN,WAAW,EAAE,WAAW;QACxB,QAAQ,UAAA;QACR,aAAa,eAAA;QACb,OAAO,EAAE;YACP,YAAY,EAAE,KAAK;SACpB;KACF,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,wBAAwB,EAAE;IACjC,QAAQ,CAAC,0BAA0B,EAAE;QACnC,EAAE,CAAC,4CAA4C,EAAE;YAC/C,OAAO,KAAK,CAAC,QAAQ,CAAA;YACrB,KAAK,CAAC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAA;YAEjC,IAAM,KAAK,GAAG,IAAA,iDAAqB,EAAC,KAAK,CAAC,CAAA;YAC1C,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAC7B,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,oCAAoC,EAAE;YACvC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAA;YACzB,KAAK,CAAC,OAAO,CAAC,YAAY,GAAG,KAAK,CAAA;YAElC,IAAM,KAAK,GAAG,IAAA,iDAAqB,EAAC,KAAK,CAAC,CAAA;YAC1C,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAC7B,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,sCAAsC,EAAE;YACzC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAA;YACzB,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,CAAA;YAEjC,IAAM,KAAK,GAAG,IAAA,iDAAqB,EAAC,KAAK,CAAC,CAAA;YAC1C,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAC7B,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.validateVerifyCardParams = void 0;
|
|
7
|
+
var ajv_1 = __importDefault(require("ajv"));
|
|
8
|
+
var customer_json_1 = __importDefault(require("../schemas/customer.json"));
|
|
9
|
+
var payment_intent_json_1 = __importDefault(require("../schemas/payment-intent.json"));
|
|
10
|
+
var payment_method_json_1 = __importDefault(require("../schemas/payment-method.json"));
|
|
11
|
+
var verify_card_options_json_1 = __importDefault(require("../schemas/verify-card-options.json"));
|
|
12
|
+
var verify_card_params_json_1 = __importDefault(require("../schemas/verify-card-params.json"));
|
|
13
|
+
var validator = new ajv_1.default({
|
|
14
|
+
allErrors: true,
|
|
15
|
+
jsonPointers: true,
|
|
16
|
+
})
|
|
17
|
+
.addSchema(customer_json_1.default)
|
|
18
|
+
.addSchema(payment_intent_json_1.default)
|
|
19
|
+
.addSchema(payment_method_json_1.default)
|
|
20
|
+
.addSchema(verify_card_options_json_1.default)
|
|
21
|
+
.compile(verify_card_params_json_1.default);
|
|
22
|
+
exports.validateVerifyCardParams = validator;
|
|
23
|
+
//# sourceMappingURL=verify-card-params-validator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verify-card-params-validator.js","sourceRoot":"","sources":["../../../../src/validation/validators/verify-card-params-validator.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAqB;AAErB,2EAAqD;AACrD,uFAAgE;AAChE,uFAAgE;AAChE,iGAAyE;AACzE,+FAAuE;AAEvE,IAAM,SAAS,GAAG,IAAI,aAAG,CAAC;IACxB,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;CACnB,CAAC;KACD,SAAS,CAAC,uBAAc,CAAC;KACzB,SAAS,CAAC,6BAAmB,CAAC;KAC9B,SAAS,CAAC,6BAAmB,CAAC;KAC9B,SAAS,CAAC,kCAAuB,CAAC;KAClC,OAAO,CAAC,iCAAsB,CAAC,CAAA;AAGlB,6CAAwB"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.mockCustomRequest = exports.mockRequest = void 0;
|
|
7
|
+
var nock_1 = __importDefault(require("nock"));
|
|
8
|
+
var env_1 = __importDefault(require("../../src/shared/env"));
|
|
9
|
+
var apiGatewayUrl = env_1.default.sandbox.apiUrl;
|
|
10
|
+
var mockRequest = function (config) {
|
|
11
|
+
(0, nock_1.default)(apiGatewayUrl)
|
|
12
|
+
.defaultReplyHeaders({
|
|
13
|
+
'Access-Control-Allow-Origin': '*',
|
|
14
|
+
'Access-Control-Allow-Headers': 'Authorization, FZ-SDK-Version, fz-merchant-username',
|
|
15
|
+
"Content-Type": "application:json"
|
|
16
|
+
})
|
|
17
|
+
.options(config.request.path)
|
|
18
|
+
.reply(200, null)
|
|
19
|
+
.post(config.request.path, config.request.body)
|
|
20
|
+
.reply(config.response.status, config.response.body);
|
|
21
|
+
};
|
|
22
|
+
exports.mockRequest = mockRequest;
|
|
23
|
+
var mockCustomRequest = function (config) {
|
|
24
|
+
(0, nock_1.default)(apiGatewayUrl)
|
|
25
|
+
.log(console.log)
|
|
26
|
+
.defaultReplyHeaders({
|
|
27
|
+
'Access-Control-Allow-Origin': '*',
|
|
28
|
+
'Access-Control-Allow-Headers': 'Authorization',
|
|
29
|
+
"Content-Type": "application:json"
|
|
30
|
+
})
|
|
31
|
+
.options(config.request.path)
|
|
32
|
+
.reply(200, null)
|
|
33
|
+
.intercept(config.request.path, config.request.action, config.request.body)
|
|
34
|
+
.reply(config.response.status, config.response.body);
|
|
35
|
+
};
|
|
36
|
+
exports.mockCustomRequest = mockCustomRequest;
|
|
37
|
+
//# sourceMappingURL=api-gateway-mock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-gateway-mock.js","sourceRoot":"","sources":["../../../tests/helpers/api-gateway-mock.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAuB;AACvB,6DAAsC;AAEtC,IAAM,aAAa,GAAG,aAAG,CAAC,OAAO,CAAC,MAAM,CAAA;AAcxC,IAAM,WAAW,GAAG,UAAC,MAAyB;IAC5C,IAAA,cAAI,EAAC,aAAa,CAAC;SAClB,mBAAmB,CAAC;QACnB,6BAA6B,EAAE,GAAG;QAClC,8BAA8B,EAAE,qDAAqD;QACrF,cAAc,EAAE,kBAAkB;KACnC,CAAC;SACD,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;SAC5B,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC;SAChB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;SAC9C,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;AACtD,CAAC,CAAA;AAiBC,kCAAW;AAfb,IAAM,iBAAiB,GAAG,UAAC,MAAyB;IAClD,IAAA,cAAI,EAAC,aAAa,CAAC;SAClB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC;SAChB,mBAAmB,CAAC;QACnB,6BAA6B,EAAE,GAAG;QAClC,8BAA8B,EAAE,eAAe;QAC/C,cAAc,EAAE,kBAAkB;KACnC,CAAC;SACD,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;SAC5B,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC;SAChB,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;SAC1E,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;AACtD,CAAC,CAAA;AAIC,8CAAiB"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { validateHppLoadParams } from './validators/hpp-load-params-validator';
|
|
2
|
+
export { validateClickToPayLoadParams } from './validators/click-to-pay-load-params-validator';
|
|
2
3
|
export { validateVerifyCardParams } from './validators/verify-card-params-validator';
|
|
3
4
|
export { toHumanizedErrors } from './validation-helper';
|
package/dist/validation/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { validateHppLoadParams } from './validators/hpp-load-params-validator';
|
|
2
|
+
export { validateClickToPayLoadParams } from './validators/click-to-pay-load-params-validator';
|
|
2
3
|
export { validateVerifyCardParams } from './validators/verify-card-params-validator';
|
|
3
4
|
export { toHumanizedErrors } from './validation-helper';
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "https://www.fatzebra.com/schemas/click-to-pay/load-params.json",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"additionalProperties": false,
|
|
5
|
+
"required": [
|
|
6
|
+
"containerId",
|
|
7
|
+
"paymentIntent"
|
|
8
|
+
],
|
|
9
|
+
"properties": {
|
|
10
|
+
"containerId": {
|
|
11
|
+
"type": "string"
|
|
12
|
+
},
|
|
13
|
+
"paymentIntent": {
|
|
14
|
+
"$ref": "payment-intent.json#/definitions/PaymentIntent"
|
|
15
|
+
},
|
|
16
|
+
"options": {
|
|
17
|
+
"$ref": "options.json#/definitions/Options"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"if": {
|
|
21
|
+
"properties": {
|
|
22
|
+
"options": {
|
|
23
|
+
"propertes": {
|
|
24
|
+
"tokenizeOnly": {
|
|
25
|
+
"boolean": true
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"else": {
|
|
32
|
+
"required": []
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "https://www.fatzebra.com/schemas/click-to-pay/options.json",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"definitions": {
|
|
5
|
+
"Options": {
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"hideConfirmButton": {
|
|
9
|
+
"type": "boolean"
|
|
10
|
+
},
|
|
11
|
+
"tokenizeOnly": {
|
|
12
|
+
"type": "boolean"
|
|
13
|
+
},
|
|
14
|
+
"css": {
|
|
15
|
+
"type": "string"
|
|
16
|
+
},
|
|
17
|
+
"cssSignature": {
|
|
18
|
+
"type": "string"
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "https://www.fatzebra.com/schemas/click-to-pay/payment-intent.json",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"additionalProperties": false,
|
|
5
|
+
"definitions": {
|
|
6
|
+
"PaymentIntent": {
|
|
7
|
+
"type": "object",
|
|
8
|
+
"additionalProperties": false,
|
|
9
|
+
"properties": {
|
|
10
|
+
"payment": {
|
|
11
|
+
"type": "object",
|
|
12
|
+
"additionalProperties": false,
|
|
13
|
+
"required": [
|
|
14
|
+
"amount",
|
|
15
|
+
"currency",
|
|
16
|
+
"reference"
|
|
17
|
+
],
|
|
18
|
+
"properties": {
|
|
19
|
+
"amount": {
|
|
20
|
+
"type": "number",
|
|
21
|
+
"minimum": 0.01
|
|
22
|
+
},
|
|
23
|
+
"currency": {
|
|
24
|
+
"type": "string"
|
|
25
|
+
},
|
|
26
|
+
"reference": {
|
|
27
|
+
"type": "string"
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"verification": {
|
|
32
|
+
"type": "string",
|
|
33
|
+
"minLength": 5
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
"required": [
|
|
37
|
+
"payment",
|
|
38
|
+
"verification"
|
|
39
|
+
]
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -1,48 +1,96 @@
|
|
|
1
|
-
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
1
|
+
[{
|
|
2
|
+
"$id": "https://www.fatzebra.com/schemas/hpp-options.json",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"definitions": {
|
|
5
|
+
"HppOptions": {
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"buttonText": {
|
|
9
|
+
"type": "string"
|
|
10
|
+
},
|
|
11
|
+
"cards": {
|
|
12
|
+
"type": "string"
|
|
13
|
+
},
|
|
14
|
+
"challengeWindowSize": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"enum": ["01", "02", "03", "04", "05"]
|
|
17
|
+
},
|
|
18
|
+
"css": {
|
|
19
|
+
"type": "string"
|
|
20
|
+
},
|
|
21
|
+
"cssSignature": {
|
|
22
|
+
"type": "string"
|
|
23
|
+
},
|
|
24
|
+
"enableSca": {
|
|
25
|
+
"type": "boolean"
|
|
26
|
+
},
|
|
27
|
+
"hideButton": {
|
|
28
|
+
"type": "boolean"
|
|
29
|
+
},
|
|
30
|
+
"hideLogos": {
|
|
31
|
+
"type": "boolean"
|
|
32
|
+
},
|
|
33
|
+
"logoUrl": {
|
|
34
|
+
"type": "string"
|
|
35
|
+
},
|
|
36
|
+
"showEmail": {
|
|
37
|
+
"type": "boolean"
|
|
38
|
+
},
|
|
39
|
+
"showExtras": {
|
|
40
|
+
"type": "boolean"
|
|
41
|
+
},
|
|
42
|
+
"tokenizeOnly": {
|
|
43
|
+
"type": "boolean"
|
|
44
|
+
}
|
|
44
45
|
}
|
|
45
46
|
}
|
|
46
47
|
}
|
|
47
|
-
}
|
|
48
|
-
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"$id": "https://www.fatzebra.com/schemas/hpp-options.json",
|
|
51
|
+
"type": "object",
|
|
52
|
+
"definitions": {
|
|
53
|
+
"HppOptions": {
|
|
54
|
+
"type": "object",
|
|
55
|
+
"properties": {
|
|
56
|
+
"buttonText": {
|
|
57
|
+
"type": "string"
|
|
58
|
+
},
|
|
59
|
+
"cards": {
|
|
60
|
+
"type": "string"
|
|
61
|
+
},
|
|
62
|
+
"challengeWindowSize": {
|
|
63
|
+
"type": "string",
|
|
64
|
+
"enum": ["01", "02", "03", "04", "05"]
|
|
65
|
+
},
|
|
66
|
+
"css": {
|
|
67
|
+
"type": "string"
|
|
68
|
+
},
|
|
69
|
+
"cssSignature": {
|
|
70
|
+
"type": "string"
|
|
71
|
+
},
|
|
72
|
+
"enableSca": {
|
|
73
|
+
"type": "boolean"
|
|
74
|
+
},
|
|
75
|
+
"hideButton": {
|
|
76
|
+
"type": "boolean"
|
|
77
|
+
},
|
|
78
|
+
"hideLogos": {
|
|
79
|
+
"type": "boolean"
|
|
80
|
+
},
|
|
81
|
+
"logoUrl": {
|
|
82
|
+
"type": "string"
|
|
83
|
+
},
|
|
84
|
+
"showEmail": {
|
|
85
|
+
"type": "boolean"
|
|
86
|
+
},
|
|
87
|
+
"showExtras": {
|
|
88
|
+
"type": "boolean"
|
|
89
|
+
},
|
|
90
|
+
"tokenizeOnly": {
|
|
91
|
+
"type": "boolean"
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}]
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import Ajv from 'ajv';
|
|
2
|
+
import paymentIntentSchema from '../schemas/click-to-pay/payment-intent.json';
|
|
3
|
+
import optionsSchema from '../schemas/click-to-pay/options.json';
|
|
4
|
+
import loadParams from '../schemas/click-to-pay/load-params.json';
|
|
5
|
+
const validator = new Ajv({
|
|
6
|
+
allErrors: true,
|
|
7
|
+
jsonPointers: true,
|
|
8
|
+
})
|
|
9
|
+
.addSchema(paymentIntentSchema)
|
|
10
|
+
.addSchema(optionsSchema)
|
|
11
|
+
.compile(loadParams);
|
|
12
|
+
export { validator as validateClickToPayLoadParams };
|