@fat-zebra/sdk 1.5.3-beta.3 → 1.5.5-beta.0

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 (192) hide show
  1. package/README.dev.md +22 -0
  2. package/deploy-menu.png +0 -0
  3. package/dist/applepay/applepay.d.ts +22 -7
  4. package/dist/applepay/applepay.js +89 -21
  5. package/dist/applepay/applepaymanager.d.ts +28 -0
  6. package/dist/applepay/applepaymanager.js +115 -0
  7. package/dist/applepay/clients/apple-pay-client.d.ts +9 -5
  8. package/dist/applepay/clients/apple-pay-client.js +9 -3
  9. package/dist/applepay/clients/paynow-client.d.ts +4 -2
  10. package/dist/applepay/clients/paynow-client.js +2 -7
  11. package/dist/applepay/types.d.ts +15 -0
  12. package/dist/applepay/types.js +1 -0
  13. package/dist/click_to_pay/index.js +12 -0
  14. package/dist/click_to_pay/types.d.ts +11 -2
  15. package/dist/local/fatzebra.js +585 -11
  16. package/dist/local/fatzebra.js.map +1 -1
  17. package/dist/main.d.ts +2 -0
  18. package/dist/main.js +24 -2
  19. package/dist/production/fatzebra.css +91 -0
  20. package/dist/production/fatzebra.js +2 -0
  21. package/dist/production/fatzebra.js.LICENSE.txt +1 -0
  22. package/dist/react/ApplePayButton.d.ts +8 -0
  23. package/dist/react/ApplePayButton.js +18 -0
  24. package/dist/react/applePayUrl.js +0 -16
  25. package/dist/react/index.d.ts +2 -1
  26. package/dist/react/index.js +2 -1
  27. package/dist/react/useFatZebra.js +8 -57
  28. package/dist/react/useMessage.d.ts +10 -0
  29. package/dist/react/useMessage.js +70 -0
  30. package/dist/sandbox/fatzebra.css +91 -0
  31. package/dist/sandbox/fatzebra.js +2 -0
  32. package/dist/sandbox/fatzebra.js.LICENSE.txt +1 -0
  33. package/dist/scripts/release-package.js +324 -0
  34. package/dist/scripts/release-package.js.map +1 -0
  35. package/dist/shared/env.development.d.ts +3 -3
  36. package/dist/shared/env.development.js +3 -3
  37. package/dist/shared/envs/local.d.ts +3 -3
  38. package/dist/shared/envs/local.js +3 -3
  39. package/dist/shared/post-message-client.d.ts +2 -0
  40. package/dist/shared/post-message-client.js +1 -1
  41. package/dist/shared/types.d.ts +14 -2
  42. package/dist/shared/types.js +2 -0
  43. package/dist/src/applepay/applepay.js +198 -0
  44. package/dist/src/applepay/applepay.js.map +1 -0
  45. package/dist/src/applepay/applepaymanager.js +279 -0
  46. package/dist/src/applepay/applepaymanager.js.map +1 -0
  47. package/dist/src/applepay/clients/apple-pay-client.js +66 -0
  48. package/dist/src/applepay/clients/apple-pay-client.js.map +1 -0
  49. package/dist/src/applepay/clients/paynow-client.js +96 -0
  50. package/dist/src/applepay/clients/paynow-client.js.map +1 -0
  51. package/dist/src/applepay/index.js +6 -0
  52. package/dist/src/applepay/index.js.map +1 -0
  53. package/dist/src/click_to_pay/clicktopay.test.js +131 -0
  54. package/dist/src/click_to_pay/clicktopay.test.js.map +1 -0
  55. package/dist/src/click_to_pay/index.js +135 -0
  56. package/dist/src/click_to_pay/index.js.map +1 -0
  57. package/dist/src/click_to_pay/types.js +3 -0
  58. package/dist/src/click_to_pay/types.js.map +1 -0
  59. package/dist/src/hpp/hpp.js +230 -0
  60. package/dist/src/hpp/hpp.js.map +1 -0
  61. package/dist/src/hpp/hpp.test.js +137 -0
  62. package/dist/src/hpp/hpp.test.js.map +1 -0
  63. package/dist/src/hpp/index.js +6 -0
  64. package/dist/src/hpp/index.js.map +1 -0
  65. package/dist/src/index.js +15 -0
  66. package/dist/src/index.js.map +1 -0
  67. package/dist/src/main.js +229 -0
  68. package/dist/src/main.js.map +1 -0
  69. package/dist/src/main.test.js +236 -0
  70. package/dist/src/main.test.js.map +1 -0
  71. package/dist/src/react/ApplePayButton.js +56 -0
  72. package/dist/src/react/ApplePayButton.js.map +1 -0
  73. package/dist/src/react/VerifyCard.js +29 -0
  74. package/dist/src/react/VerifyCard.js.map +1 -0
  75. package/dist/src/react/VerifyExistingCard.js +30 -0
  76. package/dist/src/react/VerifyExistingCard.js.map +1 -0
  77. package/dist/src/react/applePayUrl.js +46 -0
  78. package/dist/src/react/applePayUrl.js.map +1 -0
  79. package/dist/src/react/applePayUrl.test.js +57 -0
  80. package/dist/src/react/applePayUrl.test.js.map +1 -0
  81. package/dist/src/react/index.js +13 -0
  82. package/dist/src/react/index.js.map +1 -0
  83. package/dist/src/react/paymentUrl.js +60 -0
  84. package/dist/src/react/paymentUrl.js.map +1 -0
  85. package/dist/src/react/paymentUrl.test.js +88 -0
  86. package/dist/src/react/paymentUrl.test.js.map +1 -0
  87. package/dist/src/react/submitForm.js +13 -0
  88. package/dist/src/react/submitForm.js.map +1 -0
  89. package/dist/src/react/useFatZebra.js +70 -0
  90. package/dist/src/react/useFatZebra.js.map +1 -0
  91. package/dist/src/react/useMessage.js +140 -0
  92. package/dist/src/react/useMessage.js.map +1 -0
  93. package/dist/src/react/useMessage.test.js +222 -0
  94. package/dist/src/react/useMessage.test.js.map +1 -0
  95. package/dist/src/react/verifyUrl.js +49 -0
  96. package/dist/src/react/verifyUrl.js.map +1 -0
  97. package/dist/src/sca/cardinal.js +145 -0
  98. package/dist/src/sca/cardinal.js.map +1 -0
  99. package/dist/src/sca/cardinal.test.js +77 -0
  100. package/dist/src/sca/cardinal.test.js.map +1 -0
  101. package/dist/src/sca/eci-mappings.js +63 -0
  102. package/dist/src/sca/eci-mappings.js.map +1 -0
  103. package/dist/src/sca/eci-mappings.test.js +31 -0
  104. package/dist/src/sca/eci-mappings.test.js.map +1 -0
  105. package/dist/src/sca/index.js +382 -0
  106. package/dist/src/sca/index.js.map +1 -0
  107. package/dist/src/sca/index.test.js +624 -0
  108. package/dist/src/sca/index.test.js.map +1 -0
  109. package/dist/src/sca/scenarios/enrollment.js +161 -0
  110. package/dist/src/sca/scenarios/enrollment.js.map +1 -0
  111. package/dist/src/sca/scenarios/index.js +8 -0
  112. package/dist/src/sca/scenarios/index.js.map +1 -0
  113. package/dist/src/sca/scenarios/validation.js +139 -0
  114. package/dist/src/sca/scenarios/validation.js.map +1 -0
  115. package/dist/src/sca/types.js +57 -0
  116. package/dist/src/sca/types.js.map +1 -0
  117. package/dist/src/shared/api-gateway-client.js +148 -0
  118. package/dist/src/shared/api-gateway-client.js.map +1 -0
  119. package/dist/src/shared/bridge-client.js +24 -0
  120. package/dist/src/shared/bridge-client.js.map +1 -0
  121. package/dist/src/shared/constants.js +19 -0
  122. package/dist/src/shared/constants.js.map +1 -0
  123. package/dist/src/shared/env.development.js +12 -0
  124. package/dist/src/shared/env.development.js.map +1 -0
  125. package/dist/src/shared/env.js +50 -0
  126. package/dist/src/shared/env.js.map +1 -0
  127. package/dist/src/shared/envs/local.js +12 -0
  128. package/dist/src/shared/envs/local.js.map +1 -0
  129. package/dist/src/shared/envs/production.js +12 -0
  130. package/dist/src/shared/envs/production.js.map +1 -0
  131. package/dist/src/shared/envs/sandbox.js +12 -0
  132. package/dist/src/shared/envs/sandbox.js.map +1 -0
  133. package/dist/src/shared/envs/staging.js +12 -0
  134. package/dist/src/shared/envs/staging.js.map +1 -0
  135. package/dist/src/shared/event-manager.js +24 -0
  136. package/dist/src/shared/event-manager.js.map +1 -0
  137. package/dist/src/shared/post-message-client.js +127 -0
  138. package/dist/src/shared/post-message-client.js.map +1 -0
  139. package/dist/src/shared/post-message-client.test.js +58 -0
  140. package/dist/src/shared/post-message-client.test.js.map +1 -0
  141. package/dist/src/shared/types.js +36 -0
  142. package/dist/src/shared/types.js.map +1 -0
  143. package/dist/src/shared/types.test.js +55 -0
  144. package/dist/src/shared/types.test.js.map +1 -0
  145. package/dist/src/shared/util.js +96 -0
  146. package/dist/src/shared/util.js.map +1 -0
  147. package/dist/src/shared/util.test.js +148 -0
  148. package/dist/src/shared/util.test.js.map +1 -0
  149. package/dist/src/validation/index.js +12 -0
  150. package/dist/src/validation/index.js.map +1 -0
  151. package/dist/src/validation/schemas/click-to-pay/load-params.json +34 -0
  152. package/dist/src/validation/schemas/click-to-pay/options.json +23 -0
  153. package/dist/src/validation/schemas/click-to-pay/payment-intent.json +42 -0
  154. package/dist/src/validation/schemas/customer.json +38 -0
  155. package/dist/src/validation/schemas/hpp-load-params.json +40 -0
  156. package/dist/src/validation/schemas/hpp-options.json +48 -0
  157. package/dist/src/validation/schemas/payment-intent.json +48 -0
  158. package/dist/src/validation/schemas/payment-method.json +83 -0
  159. package/dist/src/validation/schemas/verify-card-options.json +15 -0
  160. package/dist/src/validation/schemas/verify-card-params.json +24 -0
  161. package/dist/src/validation/validation-helper.js +10 -0
  162. package/dist/src/validation/validation-helper.js.map +1 -0
  163. package/dist/src/validation/validation-helper.test.js +34 -0
  164. package/dist/src/validation/validation-helper.test.js.map +1 -0
  165. package/dist/src/validation/validators/apple-pay-load-params-button-validator.js +19 -0
  166. package/dist/src/validation/validators/apple-pay-load-params-button-validator.js.map +1 -0
  167. package/dist/src/validation/validators/click-to-pay-load-params-validator.js +19 -0
  168. package/dist/src/validation/validators/click-to-pay-load-params-validator.js.map +1 -0
  169. package/dist/src/validation/validators/hpp-load-params-validator.js +21 -0
  170. package/dist/src/validation/validators/hpp-load-params-validator.js.map +1 -0
  171. package/dist/src/validation/validators/hpp-load-params-validator.test.js +56 -0
  172. package/dist/src/validation/validators/hpp-load-params-validator.test.js.map +1 -0
  173. package/dist/src/validation/validators/verify-card-params-validator.js +23 -0
  174. package/dist/src/validation/validators/verify-card-params-validator.js.map +1 -0
  175. package/dist/src/version.js +5 -0
  176. package/dist/src/version.js.map +1 -0
  177. package/dist/staging/fatzebra.css +91 -0
  178. package/dist/staging/fatzebra.js +19565 -0
  179. package/dist/staging/fatzebra.js.map +1 -0
  180. package/dist/staging/index.html +247 -0
  181. package/dist/tests/helpers/api-gateway-mock.js +37 -0
  182. package/dist/tests/helpers/api-gateway-mock.js.map +1 -0
  183. package/dist/validation/schemas/applepay/load-params.json +31 -0
  184. package/dist/validation/schemas/applepay/options.json +42 -0
  185. package/dist/validation/schemas/applepay/payment-intent.json +42 -0
  186. package/dist/validation/schemas/click-to-pay/options.json +30 -3
  187. package/dist/validation/validators/apple-pay-load-params-button-validator.d.ts +3 -0
  188. package/dist/validation/validators/apple-pay-load-params-button-validator.js +12 -0
  189. package/dist/version.d.ts +1 -1
  190. package/dist/version.js +1 -1
  191. package/package.json +10 -4
  192. package/tsconfig.json +1 -0
package/dist/main.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { Customer, PaymentIntent, PaymentMethod, PublicEvent } from './shared/types';
2
2
  import { HppLoadParams } from './hpp';
3
3
  import { ChallengeWindowSize } from './sca/types';
4
+ import { ApplePayParams } from './applepay/types';
4
5
  import { HppClickToPayParams } from './click_to_pay/types';
5
6
  export interface FZConfig {
6
7
  username: string;
@@ -31,6 +32,7 @@ export default class FatZebra {
31
32
  cardDidTokenize(headless: HTMLIFrameElement, callback: (data: any) => void): void;
32
33
  verifyCard(params: VerifyCardParams): Promise<void>;
33
34
  renderPaymentsPage(params: HppLoadParams): void;
35
+ renderApplePayButton(params: ApplePayParams): void;
34
36
  renderClickToPay(params: HppClickToPayParams): void;
35
37
  checkout(): void;
36
38
  on(event: PublicEvent, callback: (e: any) => void): void;
package/dist/main.js CHANGED
@@ -11,12 +11,14 @@ import Sca from './sca';
11
11
  import { PostMessageClient, } from './shared/post-message-client';
12
12
  import { BridgeEvent, PaymentMethodType, PublicEvent, } from './shared/types';
13
13
  import { LocalStorageAccessTokenKey } from './shared/constants';
14
- import { emit, on, off, onOnce } from './shared/event-manager';
14
+ import { emit, off, on, onOnce } from './shared/event-manager';
15
15
  import * as bridge from './shared/bridge-client';
16
- import { validateHppLoadParams, validateVerifyCardParams, toHumanizedErrors, validateClickToPayLoadParams, } from './validation';
16
+ import { toHumanizedErrors, validateClickToPayLoadParams, validateHppLoadParams, validateVerifyCardParams, } from './validation';
17
17
  import GatewayClient from './shared/api-gateway-client';
18
18
  import { Hpp } from './hpp';
19
19
  import ClickToPay from './click_to_pay';
20
+ import { validateApplePayLoadParams } from "./validation/validators/apple-pay-load-params-button-validator";
21
+ import { ApplePay } from "./applepay";
20
22
  export default class FatZebra {
21
23
  constructor(config) {
22
24
  this.fzConfig = config;
@@ -120,6 +122,26 @@ export default class FatZebra {
120
122
  });
121
123
  window.HPP.load(params);
122
124
  }
125
+ renderApplePayButton(params) {
126
+ const valid = validateApplePayLoadParams(params);
127
+ if (!valid) {
128
+ emit(PublicEvent.VALIDATION_ERROR, {
129
+ errors: toHumanizedErrors(validateApplePayLoadParams.errors),
130
+ data: null
131
+ });
132
+ return;
133
+ }
134
+ window.ApplePayButton = new ApplePay({
135
+ environment: params.environment,
136
+ paymentIntent: params.paymentIntent,
137
+ username: this.fzConfig.username
138
+ });
139
+ window.ApplePayButton.load({
140
+ containerId: params.containerId,
141
+ paymentIntent: params.paymentIntent,
142
+ options: params.options
143
+ });
144
+ }
123
145
  renderClickToPay(params) {
124
146
  const valid = validateClickToPayLoadParams(params);
125
147
  if (!valid) {
@@ -0,0 +1,91 @@
1
+ .checkout-button-wrapper {
2
+ display: flex;
3
+ justify-content: center;
4
+ align-items: center;
5
+ height: 200px;
6
+ }
7
+
8
+ .iframe-checkout {
9
+ flex: 1;
10
+ border: none;
11
+ width: 100%;
12
+ height: 100%;
13
+ min-height: 0;
14
+ overflow: auto;
15
+ -webkit-overflow-scrolling: touch;
16
+ }
17
+
18
+ .iframe-foreground,
19
+ .iframe-background {
20
+ top: 0;
21
+ left: 0;
22
+ right: 0;
23
+ bottom: 0;
24
+ flex-direction: column;
25
+ }
26
+
27
+ .iframe-foreground,
28
+ .iframe-background {
29
+ position: fixed;
30
+ }
31
+
32
+ .iframe-foreground {
33
+ z-index: -1;
34
+ }
35
+
36
+ .iframe-background {
37
+ background: rgba(0, 0, 0, 0.5);
38
+ }
39
+
40
+ .iframe-foreground {
41
+ flex-grow: 1;
42
+ top: auto;
43
+ width: 100%;
44
+ max-width: 480px;
45
+ height: 80vh;
46
+ background-color: #ffffff;
47
+ border-radius: 25px 25px 0 0;
48
+ }
49
+
50
+ .slide-in .iframe-foreground {
51
+ transform: translateY(100vh);
52
+ transition: transform 0.4s ease, z-index 0.3s ease 0.4s;
53
+ z-index: -1;
54
+ }
55
+
56
+ .slide-in .iframe-background {
57
+ opacity: 0;
58
+ z-index: -1;
59
+ transition: opacity 0.3s ease, z-index 0.3s ease 0.3s;
60
+ }
61
+
62
+ .slide-in.show .iframe-foreground {
63
+ transform: none;
64
+ transition: transform 0.4s ease;
65
+ z-index: 100;
66
+ }
67
+
68
+ .slide-in.show .iframe-background {
69
+ opacity: 1;
70
+ z-index: 0;
71
+ transition: opacity 0.3s ease;
72
+ }
73
+
74
+ @media only screen and (min-width: 480px) {
75
+ .iframe-foreground {
76
+ margin: 0 auto;
77
+ }
78
+ }
79
+
80
+ @media only screen and (min-width: 768px) {
81
+ .iframe-foreground {
82
+ margin: 0;
83
+ width: 400px;
84
+ height: 100vh;
85
+ left: 0;
86
+ }
87
+
88
+ .slide-in .iframe-foreground {
89
+ transform: translateX(-400px);
90
+ }
91
+ }