@fat-zebra/sdk 1.5.0 → 1.5.1

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 (147) hide show
  1. package/.jest/setup-env-vars.js +1 -0
  2. package/dist/click_to_pay/index.d.ts +4 -1
  3. package/dist/click_to_pay/index.js +13 -12
  4. package/dist/hpp/hpp.js +2 -0
  5. package/dist/local/fatzebra.js.map +1 -1
  6. package/dist/production/fatzebra.js.LICENSE.txt +1 -0
  7. package/dist/react/url.d.ts +12 -0
  8. package/dist/react/url.js +33 -0
  9. package/dist/react/useFatZebra.js +1 -1
  10. package/dist/sca/cardinal.js +2 -1
  11. package/dist/sca/index.js +1 -0
  12. package/dist/src/applepay/applepay.js +198 -0
  13. package/dist/src/applepay/applepay.js.map +1 -0
  14. package/dist/src/applepay/clients/apple-pay-client.js +66 -0
  15. package/dist/src/applepay/clients/apple-pay-client.js.map +1 -0
  16. package/dist/src/applepay/clients/paynow-client.js +96 -0
  17. package/dist/src/applepay/clients/paynow-client.js.map +1 -0
  18. package/dist/src/applepay/index.js +6 -0
  19. package/dist/src/applepay/index.js.map +1 -0
  20. package/dist/src/click_to_pay/index.js +88 -0
  21. package/dist/src/click_to_pay/index.js.map +1 -0
  22. package/dist/src/click_to_pay/types.js +3 -0
  23. package/dist/src/click_to_pay/types.js.map +1 -0
  24. package/dist/src/hpp/hpp.js +230 -0
  25. package/dist/src/hpp/hpp.js.map +1 -0
  26. package/dist/src/hpp/hpp.test.js +135 -0
  27. package/dist/src/hpp/hpp.test.js.map +1 -0
  28. package/dist/src/hpp/index.js +6 -0
  29. package/dist/src/hpp/index.js.map +1 -0
  30. package/dist/src/index.js +14 -0
  31. package/dist/src/index.js.map +1 -0
  32. package/dist/src/main.js +243 -0
  33. package/dist/src/main.js.map +1 -0
  34. package/dist/src/main.test.js +236 -0
  35. package/dist/src/main.test.js.map +1 -0
  36. package/dist/src/paypal/paypal-button.js +311 -0
  37. package/dist/src/paypal/paypal-button.js.map +1 -0
  38. package/dist/src/paypal/paypal-button.test.js +41 -0
  39. package/dist/src/paypal/paypal-button.test.js.map +1 -0
  40. package/dist/src/paypal/paypal-checkout.js +111 -0
  41. package/dist/src/paypal/paypal-checkout.js.map +1 -0
  42. package/dist/src/paypal/paypal-checkout.test.js +167 -0
  43. package/dist/src/paypal/paypal-checkout.test.js.map +1 -0
  44. package/dist/src/paypal/types.js +9 -0
  45. package/dist/src/paypal/types.js.map +1 -0
  46. package/dist/src/paypal/validation.js +73 -0
  47. package/dist/src/paypal/validation.js.map +1 -0
  48. package/dist/src/react/VerifyCard.js +29 -0
  49. package/dist/src/react/VerifyCard.js.map +1 -0
  50. package/dist/src/react/index.js +11 -0
  51. package/dist/src/react/index.js.map +1 -0
  52. package/dist/src/react/submitForm.js +13 -0
  53. package/dist/src/react/submitForm.js.map +1 -0
  54. package/dist/src/react/url.js +60 -0
  55. package/dist/src/react/url.js.map +1 -0
  56. package/dist/src/react/url.test.js +88 -0
  57. package/dist/src/react/url.test.js.map +1 -0
  58. package/dist/src/react/useFatZebra.js +119 -0
  59. package/dist/src/react/useFatZebra.js.map +1 -0
  60. package/dist/src/sca/cardinal.js +110 -0
  61. package/dist/src/sca/cardinal.js.map +1 -0
  62. package/dist/src/sca/eci-mappings.js +63 -0
  63. package/dist/src/sca/eci-mappings.js.map +1 -0
  64. package/dist/src/sca/eci-mappings.test.js +31 -0
  65. package/dist/src/sca/eci-mappings.test.js.map +1 -0
  66. package/dist/src/sca/index.js +363 -0
  67. package/dist/src/sca/index.js.map +1 -0
  68. package/dist/src/sca/index.test.js +620 -0
  69. package/dist/src/sca/index.test.js.map +1 -0
  70. package/dist/src/sca/scenarios/enrollment.js +161 -0
  71. package/dist/src/sca/scenarios/enrollment.js.map +1 -0
  72. package/dist/src/sca/scenarios/index.js +8 -0
  73. package/dist/src/sca/scenarios/index.js.map +1 -0
  74. package/dist/src/sca/scenarios/validation.js +139 -0
  75. package/dist/src/sca/scenarios/validation.js.map +1 -0
  76. package/dist/src/sca/types.js +57 -0
  77. package/dist/src/sca/types.js.map +1 -0
  78. package/dist/src/shared/api-gateway-client.js +184 -0
  79. package/dist/src/shared/api-gateway-client.js.map +1 -0
  80. package/dist/src/shared/bridge-client.js +24 -0
  81. package/dist/src/shared/bridge-client.js.map +1 -0
  82. package/dist/src/shared/constants.js +19 -0
  83. package/dist/src/shared/constants.js.map +1 -0
  84. package/dist/src/shared/env.development.js +12 -0
  85. package/dist/src/shared/env.development.js.map +1 -0
  86. package/dist/src/shared/env.js +46 -0
  87. package/dist/src/shared/env.js.map +1 -0
  88. package/dist/src/shared/envs/local.js +12 -0
  89. package/dist/src/shared/envs/local.js.map +1 -0
  90. package/dist/src/shared/envs/production.js +12 -0
  91. package/dist/src/shared/envs/production.js.map +1 -0
  92. package/dist/src/shared/envs/sandbox.js +12 -0
  93. package/dist/src/shared/envs/sandbox.js.map +1 -0
  94. package/dist/src/shared/envs/staging.js +12 -0
  95. package/dist/src/shared/envs/staging.js.map +1 -0
  96. package/dist/src/shared/event-manager.js +14 -0
  97. package/dist/src/shared/event-manager.js.map +1 -0
  98. package/dist/src/shared/post-message-client.js +107 -0
  99. package/dist/src/shared/post-message-client.js.map +1 -0
  100. package/dist/src/shared/post-message-client.test.js +58 -0
  101. package/dist/src/shared/post-message-client.test.js.map +1 -0
  102. package/dist/src/shared/types.js +47 -0
  103. package/dist/src/shared/types.js.map +1 -0
  104. package/dist/src/shared/types.test.js +55 -0
  105. package/dist/src/shared/types.test.js.map +1 -0
  106. package/dist/src/shared/util.js +96 -0
  107. package/dist/src/shared/util.js.map +1 -0
  108. package/dist/src/shared/util.test.js +148 -0
  109. package/dist/src/shared/util.test.js.map +1 -0
  110. package/dist/src/validation/index.js +12 -0
  111. package/dist/src/validation/index.js.map +1 -0
  112. package/dist/src/validation/schemas/click-to-pay/load-params.json +34 -0
  113. package/dist/src/validation/schemas/click-to-pay/options.json +23 -0
  114. package/dist/src/validation/schemas/click-to-pay/payment-intent.json +42 -0
  115. package/dist/src/validation/schemas/customer.json +38 -0
  116. package/dist/src/validation/schemas/hpp-load-params.json +40 -0
  117. package/dist/src/validation/schemas/hpp-options.json +48 -0
  118. package/dist/src/validation/schemas/payment-intent.json +48 -0
  119. package/dist/src/validation/schemas/payment-method.json +83 -0
  120. package/dist/src/validation/schemas/verify-card-options.json +15 -0
  121. package/dist/src/validation/schemas/verify-card-params.json +24 -0
  122. package/dist/src/validation/validation-helper.js +10 -0
  123. package/dist/src/validation/validation-helper.js.map +1 -0
  124. package/dist/src/validation/validation-helper.test.js +34 -0
  125. package/dist/src/validation/validation-helper.test.js.map +1 -0
  126. package/dist/src/validation/validators/click-to-pay-load-params-validator.js +19 -0
  127. package/dist/src/validation/validators/click-to-pay-load-params-validator.js.map +1 -0
  128. package/dist/src/validation/validators/hpp-load-params-validator.js +21 -0
  129. package/dist/src/validation/validators/hpp-load-params-validator.js.map +1 -0
  130. package/dist/src/validation/validators/hpp-load-params-validator.test.js +56 -0
  131. package/dist/src/validation/validators/hpp-load-params-validator.test.js.map +1 -0
  132. package/dist/src/validation/validators/verify-card-params-validator.js +23 -0
  133. package/dist/src/validation/validators/verify-card-params-validator.js.map +1 -0
  134. package/dist/tests/helpers/api-gateway-mock.js +37 -0
  135. package/dist/tests/helpers/api-gateway-mock.js.map +1 -0
  136. package/dist/validation/schemas/click-to-pay/payment-intent.json +1 -1
  137. package/package.json +1 -1
  138. package/.idea/fatzebra-js.iml +0 -12
  139. package/.idea/modules.xml +0 -8
  140. package/.idea/vcs.xml +0 -6
  141. package/CHANGELOG.md +0 -13
  142. package/dist/local/fatzebra.js +0 -18266
  143. package/dist/staging/fatzebra.css +0 -91
  144. package/dist/staging/fatzebra.js +0 -18265
  145. package/dist/staging/fatzebra.js.map +0 -1
  146. package/dist/staging/index.html +0 -247
  147. /package/dist/{fatzebra.css → local/fatzebra.css} +0 -0
@@ -1 +1,2 @@
1
1
  process.env.API_ENV = 'local'
2
+ process.env.PAYNOW_BASE_URL = 'https://paynow.test'
@@ -1,5 +1,8 @@
1
1
  import { PaymentIntent } from "../shared/types";
2
2
  import { ClickToPayOptions } from "./types";
3
+ export declare const CLICK_TO_PAY_DEFAULT_OPTIONS: {
4
+ [key: string]: boolean | string;
5
+ };
3
6
  interface ClickToPayModuleConfig {
4
7
  paymentIntent: PaymentIntent;
5
8
  username: string;
@@ -20,7 +23,7 @@ declare class ClickToPay {
20
23
  constructor(config: ClickToPayModuleConfig);
21
24
  load(config: ClickToPayLoadParams): void;
22
25
  getPayNowUrl(options?: {
23
- [key: string]: boolean | string;
26
+ [key: string]: any;
24
27
  }): string;
25
28
  setCrossFramesEventListeners(): void;
26
29
  purchase(): void;
@@ -2,7 +2,7 @@ import { PostMessageClient } from "../shared/post-message-client";
2
2
  import { BridgeEvent, PublicEvent } from "../shared/types";
3
3
  import * as util from '../shared/util';
4
4
  import { emit } from "../shared/event-manager";
5
- const CLICK_TO_PAY_DEFAULT_OPTIONS = {
5
+ export const CLICK_TO_PAY_DEFAULT_OPTIONS = {
6
6
  iframe: true,
7
7
  postmessage: true,
8
8
  };
@@ -35,23 +35,24 @@ class ClickToPay {
35
35
  this.username,
36
36
  payment.reference,
37
37
  payment.currency,
38
- payment.amount,
38
+ // If amount is left as 0 (type: Number), it will be filtered out later
39
+ // So we convert to string as "0" will be allowed through the filter
40
+ // Yes, we do want $0 purchases (especially for tokenizeOnly / auth flows)
41
+ payment.amount.toString(),
39
42
  this.paymentIntent.verification
40
43
  ].filter(part => part).join('/');
41
- let queryString;
42
- if (options) {
43
- const _options = Object.assign(Object.assign({}, CLICK_TO_PAY_DEFAULT_OPTIONS), options);
44
- queryString = Object.keys(_options).map(key => {
45
- return util.toSnakeCase(key) + '=' + _options[key];
46
- }).join('&');
47
- }
48
- let searchParams = new URLSearchParams(queryString);
49
- return queryString ? `${base}?${searchParams.toString()}` : `${base}`;
44
+ let searchParams = new URLSearchParams();
45
+ const combinedOptions = Object.assign(Object.assign({}, CLICK_TO_PAY_DEFAULT_OPTIONS), options);
46
+ Object.keys(combinedOptions).map(key => {
47
+ if (combinedOptions[key] !== null && combinedOptions[key] !== undefined) {
48
+ searchParams.append(util.toSnakeCase(key), combinedOptions[key]);
49
+ }
50
+ });
51
+ return searchParams.toString().length > 0 ? `${base}?${searchParams.toString()}` : `${base}`;
50
52
  }
51
53
  setCrossFramesEventListeners() {
52
54
  const handlers = {};
53
55
  handlers[BridgeEvent.TOKENIZE_CARD_RESPONSE] = (data) => {
54
- console.log(data);
55
56
  if (data.errors) {
56
57
  emit(PublicEvent.TOKENIZATION_ERROR, {
57
58
  message: 'Card tokenization failed.',
package/dist/hpp/hpp.js CHANGED
@@ -154,6 +154,8 @@ class Hpp {
154
154
  }
155
155
  setPublicEventListeners() {
156
156
  const handler = (event) => {
157
+ if (this.hppOptions.tokenizeOnly)
158
+ return;
157
159
  const threedsData = event.detail.data;
158
160
  const extra = util.toObjectWithSnakeCaseKeys(threedsData);
159
161
  this.createPurchase(extra);