@paydock/client-sdk 1.10.81-beta → 1.10.83-beta-01

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 (60) hide show
  1. package/README.md +19 -19
  2. package/bundles/widget.umd.js +143 -111
  3. package/bundles/widget.umd.min.js +1 -1
  4. package/inicialization-guide.md +7 -0
  5. package/lib/api/api-base.d.ts +1 -0
  6. package/lib/api/api-base.js +8 -1
  7. package/lib/api/api-base.js.map +1 -1
  8. package/lib/checkout-button/afterpay-checkout-button.d.ts +4 -4
  9. package/lib/checkout-button/afterpay-checkout-button.js +5 -5
  10. package/lib/checkout-button/afterpay-checkout-button.js.map +1 -1
  11. package/lib/checkout-button/checkout-button.d.ts +4 -4
  12. package/lib/checkout-button/checkout-button.js +10 -10
  13. package/lib/checkout-button/checkout-button.js.map +1 -1
  14. package/lib/checkout-button/runner.js +3 -0
  15. package/lib/checkout-button/runner.js.map +1 -1
  16. package/lib/checkout-button/zipmoney.runner.js +5 -1
  17. package/lib/checkout-button/zipmoney.runner.js.map +1 -1
  18. package/lib/components/dispatcher.js +3 -0
  19. package/lib/components/dispatcher.js.map +1 -1
  20. package/lib/components/env.d.ts +3 -0
  21. package/lib/components/env.js +3 -0
  22. package/lib/components/env.js.map +1 -1
  23. package/lib/components/http-core.d.ts +2 -2
  24. package/lib/components/http-core.js +8 -4
  25. package/lib/components/http-core.js.map +1 -1
  26. package/lib/components/link.js +3 -0
  27. package/lib/components/link.js.map +1 -1
  28. package/lib/components/param.d.ts +3 -0
  29. package/lib/components/param.js.map +1 -1
  30. package/lib/external-checkout/checker.d.ts +1 -1
  31. package/lib/external-checkout/checker.js +2 -2
  32. package/lib/external-checkout/checker.js.map +1 -1
  33. package/lib/helper/access-token.d.ts +5 -0
  34. package/lib/helper/access-token.js +9 -0
  35. package/lib/helper/access-token.js.map +1 -1
  36. package/lib/payment-source/builder.d.ts +1 -1
  37. package/lib/payment-source/builder.js +2 -2
  38. package/lib/payment-source/builder.js.map +1 -1
  39. package/lib/payment-source-widget/payment-source-widget.d.ts +1 -1
  40. package/lib/payment-source-widget/payment-source-widget.js +3 -2
  41. package/lib/payment-source-widget/payment-source-widget.js.map +1 -1
  42. package/lib/wallet-buttons/flypay.wallet-service.js +2 -2
  43. package/lib/wallet-buttons/flypay.wallet-service.js.map +1 -1
  44. package/lib/wallet-buttons/google.wallet-service.js +2 -3
  45. package/lib/wallet-buttons/google.wallet-service.js.map +1 -1
  46. package/lib/wallet-buttons/mastercard.wallet-service.d.ts +1 -0
  47. package/lib/wallet-buttons/mastercard.wallet-service.js +4 -0
  48. package/lib/wallet-buttons/mastercard.wallet-service.js.map +1 -1
  49. package/lib/wallet-buttons/wallet-buttons.js +2 -2
  50. package/lib/wallet-buttons/wallet-buttons.js.map +1 -1
  51. package/lib/wallet-buttons/wallet-service.d.ts +1 -0
  52. package/lib/wallet-buttons/wallet-service.js.map +1 -1
  53. package/lib/widget/configuration.d.ts +3 -3
  54. package/lib/widget/configuration.js +11 -7
  55. package/lib/widget/configuration.js.map +1 -1
  56. package/lib/widget/multi-widget.d.ts +10 -10
  57. package/lib/widget/multi-widget.js +15 -9
  58. package/lib/widget/multi-widget.js.map +1 -1
  59. package/package.json +1 -1
  60. package/slate.md +1 -1
@@ -160,6 +160,66 @@
160
160
  }
161
161
  };
162
162
 
163
+ var ACCESS_HEADER_NAME = {
164
+ accessToken: 'x-access-token',
165
+ publicKey: 'x-user-public-key'
166
+ };
167
+ var AccessToken = function () {
168
+ function AccessToken() {
169
+ classCallCheck(this, AccessToken);
170
+ }
171
+
172
+ createClass(AccessToken, null, [{
173
+ key: 'validateJWT',
174
+ value: function validateJWT(jwt) {
175
+ if (!jwt) return null;
176
+
177
+ var _jwt$split = jwt.split("."),
178
+ _jwt$split2 = slicedToArray(_jwt$split, 3),
179
+ rawHead = _jwt$split2[0],
180
+ rawBody = _jwt$split2[1],
181
+ signature = _jwt$split2[2];
182
+
183
+ if (!rawHead || !rawBody || !signature) return null;
184
+ if (2 + rawHead.length + rawBody.length + signature.length !== jwt.length) return null;
185
+ try {
186
+ var head = JSON.parse(atob(rawHead));
187
+ var body = JSON.parse(atob(rawBody));
188
+ return { head: head, body: body, signature: signature };
189
+ } catch (_a) {
190
+ return null;
191
+ }
192
+ }
193
+ }, {
194
+ key: 'extractData',
195
+ value: function extractData(body) {
196
+ try {
197
+ return JSON.parse(atob(body.meta));
198
+ } catch (_a) {
199
+ return null;
200
+ }
201
+ }
202
+ }, {
203
+ key: 'extractMeta',
204
+ value: function extractMeta(body) {
205
+ try {
206
+ var _JSON$parse = JSON.parse(atob(body.meta)),
207
+ meta = _JSON$parse.meta;
208
+
209
+ return meta;
210
+ } catch (_a) {
211
+ return null;
212
+ }
213
+ }
214
+ }, {
215
+ key: 'getAccessHeaderNameByToken',
216
+ value: function getAccessHeaderNameByToken(token) {
217
+ return !!AccessToken.validateJWT(token) ? ACCESS_HEADER_NAME.accessToken : ACCESS_HEADER_NAME.publicKey;
218
+ }
219
+ }]);
220
+ return AccessToken;
221
+ }();
222
+
163
223
  var ENV = {
164
224
  SANDBOX: 'sandbox',
165
225
  SANDBOX_KOVENA: 'sandbox-kovena',
@@ -170,7 +230,10 @@
170
230
  STAGING_2: 'staging_2',
171
231
  STAGING_3: 'staging_3',
172
232
  STAGING_4: 'staging_4',
173
- STAGING_5: 'staging_5'
233
+ STAGING_5: 'staging_5',
234
+ STAGING_CBA: 'staging_cba',
235
+ SANDBOX_CBA: 'sandbox_cba',
236
+ PROD_CBA: 'production_cba'
174
237
  };
175
238
  var KOVENA_ENV = [ENV.SANDBOX_KOVENA, ENV.SANDBOX_DEMO_KOVENA];
176
239
  var REGEX_ALIAS = '^([a-zA-Z0-9](?:(?:[a-zA-Z0-9-.]*(?!-)\\.(?![-.]))*[a-zA-Z0-9]+)?)$';
@@ -287,7 +350,7 @@
287
350
  this.params = {};
288
351
  this.widgetId = Uuid.generate();
289
352
  this.linkResource = linkResource;
290
- this.env = new Env([{ env: ENV.SANDBOX_KOVENA, url: 'https://widget-sandbox.' }, { env: ENV.SANDBOX_DEMO, url: 'https://widget-sandbox-demo.' }, { env: ENV.SANDBOX_DEMO_KOVENA, url: 'https://widget-sandbox-demo.' }, { env: ENV.SANDBOX, url: 'https://widget-sandbox.' }, { env: ENV.PROD, url: 'https://widget.' }, { env: ENV.STAGING, url: 'https://widsta.' }, { env: ENV.STAGING_2, url: 'https://widsta-2.' }, { env: ENV.STAGING_3, url: 'https://widsta-3.' }, { env: ENV.STAGING_4, url: 'https://widsta-4.' }, { env: ENV.STAGING_5, url: 'https://widsta-5.' }]);
353
+ this.env = new Env([{ env: ENV.SANDBOX_KOVENA, url: 'https://widget-sandbox.' }, { env: ENV.SANDBOX_DEMO, url: 'https://widget-sandbox-demo.' }, { env: ENV.SANDBOX_DEMO_KOVENA, url: 'https://widget-sandbox-demo.' }, { env: ENV.SANDBOX, url: 'https://widget-sandbox.' }, { env: ENV.PROD, url: 'https://widget.' }, { env: ENV.STAGING, url: 'https://widsta.' }, { env: ENV.STAGING_2, url: 'https://widsta-2.' }, { env: ENV.STAGING_3, url: 'https://widsta-3.' }, { env: ENV.STAGING_4, url: 'https://widsta-4.' }, { env: ENV.STAGING_5, url: 'https://widsta-5.' }, { env: ENV.STAGING_CBA, url: 'https://widget-staging-cba.' }, { env: ENV.SANDBOX_CBA, url: 'https://widget-sandbox-cba.' }, { env: ENV.PROD_CBA, url: 'https://widget-cba.' }]);
291
354
  this.setParams({ widget_id: this.widgetId });
292
355
  }
293
356
 
@@ -499,7 +562,7 @@
499
562
 
500
563
  if (ObjectHelper.values(PAYMENT_TYPE).indexOf(paymentType) === -1) throw new Error('unsupported payment type');else if (paymentType === PAYMENT_TYPE.CHECKOUT) throw new Error('Payment type "checkout" is deprecated. Use CheckoutButton for this type of payments https://www.npmjs.com/package/@paydock/client-sdk#checkout-button');
501
564
  if (ObjectHelper.values(PURPOSE).indexOf(purpose) === -1) throw new Error('unsupported purpose');
502
- this.env = new Env([{ env: ENV.SANDBOX_KOVENA, url: 'https://api-sandbox.' }, { env: ENV.SANDBOX_DEMO, url: 'https://api-sandbox-demo.' }, { env: ENV.SANDBOX_DEMO_KOVENA, url: 'https://api-sandbox-demo.' }, { env: ENV.SANDBOX, url: 'https://api-sandbox.' }, { env: ENV.PROD, url: 'https://api.' }, { env: ENV.STAGING, url: 'https://apista.' }, { env: ENV.STAGING_2, url: 'https://apista-2.' }, { env: ENV.STAGING_3, url: 'https://apista-3.' }, { env: ENV.STAGING_4, url: 'https://apista-4.' }, { env: ENV.STAGING_5, url: 'https://apista-5.' }]);
565
+ this.env = new Env([{ env: ENV.SANDBOX_KOVENA, url: 'https://api-sandbox.' }, { env: ENV.SANDBOX_DEMO, url: 'https://api-sandbox-demo.' }, { env: ENV.SANDBOX_DEMO_KOVENA, url: 'https://api-sandbox-demo.' }, { env: ENV.SANDBOX, url: 'https://api-sandbox.' }, { env: ENV.PROD, url: 'https://api.' }, { env: ENV.STAGING, url: 'https://apista.' }, { env: ENV.STAGING_2, url: 'https://apista-2.' }, { env: ENV.STAGING_3, url: 'https://apista-3.' }, { env: ENV.STAGING_4, url: 'https://apista-4.' }, { env: ENV.STAGING_5, url: 'https://apista-5.' }, { env: ENV.STAGING_CBA, url: 'https://api-staging-cba.' }, { env: ENV.SANDBOX_CBA, url: 'https://api-sandbox-cba.' }, { env: ENV.PROD_CBA, url: 'https://api-cba.' }]);
503
566
  this.configs = {
504
567
  purpose: purpose,
505
568
  meta: {},
@@ -641,28 +704,28 @@
641
704
  * console.log(error);
642
705
  * });
643
706
  *
644
- * @param {string} publicKey - Customer public key which provided for each client
707
+ * @param {string} accessToken - Customer access token or public key which provided for each client
645
708
  * @param {createToken~requestCallback} cb - The callback that handles the success response.
646
709
  * @param {createToken~requestCallback} errorCb - The callback that handles the failed response.
647
710
  */
648
711
 
649
712
  }, {
650
713
  key: 'createToken',
651
- value: function createToken(publicKey, cb) {
714
+ value: function createToken(accessToken, cb) {
652
715
  var errorCb = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function (err) {};
653
716
 
654
- this.send(publicKey, function (data, status) {
717
+ this.send(accessToken, function (data, status) {
655
718
  if (status >= 200 && status < 300) return cb(data.resource.data.configuration_token);
656
719
  if (typeof data.error === "undefined" || typeof data.error.message === "undefined") errorCb('unknown error');else errorCb(data.error.message);
657
720
  });
658
721
  }
659
722
  }, {
660
723
  key: 'send',
661
- value: function send(publicKey, cb) {
724
+ value: function send(accessToken, cb) {
662
725
  var request = new XMLHttpRequest();
663
726
  request.open('POST', this.getUrl(), true);
664
727
  request.setRequestHeader('Content-Type', 'application/json; charset=UTF-8');
665
- request.setRequestHeader('x-user-public-key', publicKey);
728
+ request.setRequestHeader(AccessToken.getAccessHeaderNameByToken(accessToken), accessToken);
666
729
  request.send(JSON.stringify(this.getConfigs()));
667
730
  request.onload = function () {
668
731
  var res = {};
@@ -684,7 +747,7 @@
684
747
  }
685
748
  }], [{
686
749
  key: 'createEachToken',
687
- value: function createEachToken(publicKey, configs, cb) {
750
+ value: function createEachToken(accessToken, configs, cb) {
688
751
  var errorCb = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : function (errors) {};
689
752
 
690
753
  var tokens = new Array(configs.length);
@@ -692,7 +755,7 @@
692
755
  var counter = 0;
693
756
 
694
757
  var _loop = function _loop(index) {
695
- if (configs.hasOwnProperty(index)) configs[index].createToken(publicKey, function (token) {
758
+ if (configs.hasOwnProperty(index)) configs[index].createToken(accessToken, function (token) {
696
759
  tokens[index] = token;
697
760
  counter++;
698
761
  if (configs.length === counter) Configuration.finishCreatingEachToken(tokens, errors, cb, errorCb);
@@ -909,30 +972,34 @@
909
972
  * Class MultiWidget include method for for creating iframe url
910
973
  * @constructor
911
974
  *
912
- * @param {string} publicKey - PayDock users public key
975
+ * @param {string} accessToken - PayDock users access token or public key
913
976
  * @param {(Configuration | string | Configuration[] | string[])} conf - exemplar[s] Configuration class OR configuration token
914
977
  *
915
978
  * @example
916
- * var widget = new MultiWidget('publicKey','configurationToken'); // With a pre-created configuration token
979
+ * var widget = new MultiWidget('accessToken','configurationToken'); // With a pre-created configuration token
917
980
  *
918
- * var widget = new MultiWidget('publicKey',['configurationToken', 'configurationToken2']); // With pre-created configuration tokens
981
+ * var widget = new MultiWidget('accessToken',['configurationToken', 'configurationToken2']); // With pre-created configuration tokens
919
982
  *
920
- * var widget = new MultiWidget('publicKey', new Configuration('gatewayId')); With Configuration
983
+ * var widget = new MultiWidget('accessToken', new Configuration('gatewayId')); With Configuration
921
984
  *
922
- * var widget = new MultiWidget('publicKey',[ With Configurations
985
+ * var widget = new MultiWidget('accessToken',[ With Configurations
923
986
  * Configuration('gatewayId'),
924
987
  * Configuration('gatewayId', 'bank_account')
925
988
  * ]);
926
989
  **/
927
990
  var MultiWidget = function () {
928
- function MultiWidget(publicKey, conf) {
991
+ function MultiWidget(accessToken, conf) {
929
992
  classCallCheck(this, MultiWidget);
930
993
 
931
994
  this.configs = [];
932
995
  this.configTokens = [];
933
996
  this.link = new Link(WIDGET_LINK);
934
- this.link.setParams({ public_key: publicKey });
935
- this.publicKey = publicKey;
997
+ if (!!AccessToken.validateJWT(accessToken)) {
998
+ this.link.setParams({ token: accessToken });
999
+ } else {
1000
+ this.link.setParams({ public_key: accessToken });
1001
+ }
1002
+ this.accessToken = accessToken;
936
1003
  if (!conf || Array.isArray(conf) && !conf.length) throw Error('configuration token is required');
937
1004
  if (typeof conf === 'string') this.configTokens.push(conf);else if (conf instanceof Configuration) this.configs.push(conf);else if (Array.isArray(conf) && typeof conf[0] === 'string') this.configTokens = conf;else if (Array.isArray(conf) && conf[0] instanceof Configuration) this.configs = conf;else throw Error('Unsupported type of configuration token');
938
1005
  }
@@ -1307,7 +1374,7 @@
1307
1374
  this.link.setParams({ configuration_tokens: this.configTokens.join(',') });
1308
1375
  return cb(this.link.getUrl());
1309
1376
  }
1310
- Configuration.createEachToken(this.publicKey, this.configs, function (tokens) {
1377
+ Configuration.createEachToken(this.accessToken, this.configs, function (tokens) {
1311
1378
  _this2.link.concatParams({ configuration_tokens: tokens.join(',') });
1312
1379
  return cb(_this2.link.getUrl());
1313
1380
  }, function (errors) {
@@ -2293,7 +2360,7 @@
2293
2360
  function HttpCore() {
2294
2361
  classCallCheck(this, HttpCore);
2295
2362
 
2296
- this.env = new Env([{ env: ENV.SANDBOX_KOVENA, url: 'https://api-sandbox.' }, { env: ENV.SANDBOX_DEMO, url: 'https://api-sandbox-demo.' }, { env: ENV.SANDBOX_DEMO_KOVENA, url: 'https://api-sandbox-demo.' }, { env: ENV.SANDBOX, url: 'https://api-sandbox.' }, { env: ENV.PROD, url: 'https://api.' }, { env: ENV.STAGING, url: 'https://apista.' }, { env: ENV.STAGING_2, url: 'https://apista-2.' }, { env: ENV.STAGING_3, url: 'https://apista-3.' }, { env: ENV.STAGING_4, url: 'https://apista-4.' }, { env: ENV.STAGING_5, url: 'https://apista-5.' }]);
2363
+ this.env = new Env([{ env: ENV.SANDBOX_KOVENA, url: 'https://api-sandbox.' }, { env: ENV.SANDBOX_DEMO, url: 'https://api-sandbox-demo.' }, { env: ENV.SANDBOX_DEMO_KOVENA, url: 'https://api-sandbox-demo.' }, { env: ENV.SANDBOX, url: 'https://api-sandbox.' }, { env: ENV.PROD, url: 'https://api.' }, { env: ENV.STAGING, url: 'https://apista.' }, { env: ENV.STAGING_2, url: 'https://apista-2.' }, { env: ENV.STAGING_3, url: 'https://apista-3.' }, { env: ENV.STAGING_4, url: 'https://apista-4.' }, { env: ENV.STAGING_5, url: 'https://apista-5.' }, { env: ENV.STAGING_CBA, url: 'https://api-staging-cba.' }, { env: ENV.SANDBOX_CBA, url: 'https://api-sandbox-cba.' }, { env: ENV.PROD_CBA, url: 'https://api-cba.' }]);
2297
2364
  }
2298
2365
 
2299
2366
  createClass(HttpCore, [{
@@ -2313,7 +2380,7 @@
2313
2380
  }
2314
2381
  }, {
2315
2382
  key: 'create',
2316
- value: function create(publicKey, data, cb, errorCb) {
2383
+ value: function create(accessToken, data, cb, errorCb) {
2317
2384
  var _this = this;
2318
2385
 
2319
2386
  var request = new XMLHttpRequest();
@@ -2322,12 +2389,12 @@
2322
2389
  };
2323
2390
  request.open('POST', this.getUrl(), true);
2324
2391
  request.setRequestHeader('Content-Type', 'application/json; charset=UTF-8');
2325
- request.setRequestHeader('x-user-public-key', publicKey);
2392
+ request.setRequestHeader(AccessToken.getAccessHeaderNameByToken(accessToken), accessToken);
2326
2393
  request.send(JSON.stringify(data));
2327
2394
  }
2328
2395
  }, {
2329
2396
  key: 'get',
2330
- value: function get(publicKey, cb, errorCb) {
2397
+ value: function get(accessToken, cb, errorCb) {
2331
2398
  var _this2 = this;
2332
2399
 
2333
2400
  var request = new XMLHttpRequest();
@@ -2336,7 +2403,7 @@
2336
2403
  };
2337
2404
  request.open('GET', this.getUrl(), true);
2338
2405
  request.setRequestHeader('Content-Type', 'application/json; charset=UTF-8');
2339
- request.setRequestHeader('x-user-public-key', publicKey);
2406
+ request.setRequestHeader(AccessToken.getAccessHeaderNameByToken(accessToken), accessToken);
2340
2407
  request.send();
2341
2408
  }
2342
2409
  }, {
@@ -2429,10 +2496,10 @@
2429
2496
  }
2430
2497
  }, {
2431
2498
  key: 'send',
2432
- value: function send(publicKey, cb) {
2499
+ value: function send(accessToken, cb) {
2433
2500
  var errorCb = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function (err) {};
2434
2501
 
2435
- this.get(publicKey, function (data, status) {
2502
+ this.get(accessToken, function (data, status) {
2436
2503
  cb(data);
2437
2504
  }, function (err, status) {
2438
2505
  if (typeof err.message === "undefined") errorCb(status + ': unknown error');else errorCb(err.message);
@@ -2754,10 +2821,10 @@
2754
2821
  }
2755
2822
  }, {
2756
2823
  key: 'send',
2757
- value: function send(publicKey, cb) {
2824
+ value: function send(accessToken, cb) {
2758
2825
  var errorCb = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function (err) {};
2759
2826
 
2760
- this.create(publicKey, this.getConfigs(), function (data, status) {
2827
+ this.create(accessToken, this.getConfigs(), function (data, status) {
2761
2828
  return cb(data);
2762
2829
  }, function (err, status) {
2763
2830
  if (typeof err.message === "undefined") errorCb('unknown error');else errorCb(err.message);
@@ -2794,7 +2861,7 @@
2794
2861
  this.background.onTrigger(TRIGGER$1.CLOSE, function () {
2795
2862
  return _this.stop();
2796
2863
  });
2797
- this.widgetEnv = new Env([{ env: ENV.SANDBOX, url: 'https://widget-sandbox.' }, { env: ENV.SANDBOX_KOVENA, url: 'https://widget-sandbox.' }, { env: ENV.SANDBOX_DEMO, url: 'https://widget-sandbox-demo.' }, { env: ENV.SANDBOX_DEMO_KOVENA, url: 'https://widget-sandbox-demo.' }, { env: ENV.PROD, url: 'https://widget.' }, { env: ENV.STAGING, url: 'https://widsta.' }, { env: ENV.STAGING_2, url: 'https://widsta-2.' }, { env: ENV.STAGING_3, url: 'https://widsta-3.' }, { env: ENV.STAGING_4, url: 'https://widsta-4.' }, { env: ENV.STAGING_5, url: 'https://widsta-5.' }]);
2864
+ this.widgetEnv = new Env([{ env: ENV.SANDBOX, url: 'https://widget-sandbox.' }, { env: ENV.SANDBOX_KOVENA, url: 'https://widget-sandbox.' }, { env: ENV.SANDBOX_DEMO, url: 'https://widget-sandbox-demo.' }, { env: ENV.SANDBOX_DEMO_KOVENA, url: 'https://widget-sandbox-demo.' }, { env: ENV.PROD, url: 'https://widget.' }, { env: ENV.STAGING, url: 'https://widsta.' }, { env: ENV.STAGING_2, url: 'https://widsta-2.' }, { env: ENV.STAGING_3, url: 'https://widsta-3.' }, { env: ENV.STAGING_4, url: 'https://widsta-4.' }, { env: ENV.STAGING_5, url: 'https://widsta-5.' }, { env: ENV.STAGING_CBA, url: 'https://widget-staging-cba.' }, { env: ENV.SANDBOX_CBA, url: 'https://widget-sandbox-cba.' }, { env: ENV.PROD_CBA, url: 'https://widget-cba.' }]);
2798
2865
  }
2799
2866
 
2800
2867
  createClass(Runner, [{
@@ -3894,7 +3961,7 @@
3894
3961
  _this.checkout = null;
3895
3962
  _this.runs = false;
3896
3963
  _this.eventEmitter = new EventEmitter();
3897
- _this.echoEnv = new Env([{ env: ENV.SANDBOX, url: 'https://api-sandbox.' }, { env: ENV.SANDBOX_KOVENA, url: 'https://api-sandbox.' }, { env: ENV.SANDBOX_DEMO, url: 'https://api-sandbox-demo.' }, { env: ENV.SANDBOX_DEMO_KOVENA, url: 'https://api-sandbox-demo.' }, { env: ENV.PROD, url: 'https://api.' }, { env: ENV.STAGING, url: 'https://apista.' }, { env: ENV.STAGING_2, url: 'https://apista-2.' }, { env: ENV.STAGING_3, url: 'https://apista-3.' }, { env: ENV.STAGING_4, url: 'https://apista-4.' }, { env: ENV.STAGING_5, url: 'https://apista-5.' }]);
3964
+ _this.echoEnv = new Env([{ env: ENV.SANDBOX, url: 'https://api-sandbox.' }, { env: ENV.SANDBOX_KOVENA, url: 'https://api-sandbox.' }, { env: ENV.SANDBOX_DEMO, url: 'https://api-sandbox-demo.' }, { env: ENV.SANDBOX_DEMO_KOVENA, url: 'https://api-sandbox-demo.' }, { env: ENV.PROD, url: 'https://api.' }, { env: ENV.STAGING, url: 'https://apista.' }, { env: ENV.STAGING_2, url: 'https://apista-2.' }, { env: ENV.STAGING_3, url: 'https://apista-3.' }, { env: ENV.STAGING_4, url: 'https://apista-4.' }, { env: ENV.STAGING_5, url: 'https://apista-5.' }, { env: ENV.STAGING_CBA, url: 'https://api-staging-cba.' }, { env: ENV.SANDBOX_CBA, url: 'https://api-sandbox-cba.' }, { env: ENV.PROD_CBA, url: 'https://api-cba.' }]);
3898
3965
  return _this;
3899
3966
  }
3900
3967
 
@@ -3917,7 +3984,7 @@
3917
3984
  this.background.clear();
3918
3985
  this.checkout = checkoutData;
3919
3986
  var checkoutLink = String(ECHO_LINK);
3920
- checkoutLink = Url.extendSearchParams(checkoutLink, 'public_key', this.publicKey);
3987
+ checkoutLink = Url.extendSearchParams(checkoutLink, AccessToken.validateJWT(this.publicKey) ? 'access_token' : 'public_key', this.publicKey);
3921
3988
  checkoutLink = Url.extendSearchParams(checkoutLink, 'json_body', encodeURIComponent(JSON.stringify({
3922
3989
  redirect_uri: this.checkout.link
3923
3990
  })));
@@ -4050,7 +4117,7 @@
4050
4117
  classCallCheck(this, Dispatcher);
4051
4118
 
4052
4119
  this.messageSource = messageSource;
4053
- this.env = new Env([{ env: ENV.SANDBOX, url: 'https://widget-sandbox.' }, { env: ENV.SANDBOX_KOVENA, url: 'https://widget-sandbox.' }, { env: ENV.SANDBOX_DEMO, url: 'https://widget-sandbox-demo.' }, { env: ENV.SANDBOX_DEMO_KOVENA, url: 'https://widget-sandbox-demo.' }, { env: ENV.PROD, url: 'https://widget.' }, { env: ENV.STAGING, url: 'https://widsta.' }, { env: ENV.STAGING_2, url: 'https://widsta-2.' }, { env: ENV.STAGING_3, url: 'https://widsta-3.' }, { env: ENV.STAGING_4, url: 'https://widsta-4.' }, { env: ENV.STAGING_5, url: 'https://widsta-5.' }]);
4120
+ this.env = new Env([{ env: ENV.SANDBOX, url: 'https://widget-sandbox.' }, { env: ENV.SANDBOX_KOVENA, url: 'https://widget-sandbox.' }, { env: ENV.SANDBOX_DEMO, url: 'https://widget-sandbox-demo.' }, { env: ENV.SANDBOX_DEMO_KOVENA, url: 'https://widget-sandbox-demo.' }, { env: ENV.PROD, url: 'https://widget.' }, { env: ENV.STAGING, url: 'https://widsta.' }, { env: ENV.STAGING_2, url: 'https://widsta-2.' }, { env: ENV.STAGING_3, url: 'https://widsta-3.' }, { env: ENV.STAGING_4, url: 'https://widsta-4.' }, { env: ENV.STAGING_5, url: 'https://widsta-5.' }, { env: ENV.STAGING_CBA, url: 'https://widget-staging-cba.' }, { env: ENV.SANDBOX_CBA, url: 'https://widget-sandbox-cba.' }, { env: ENV.PROD_CBA, url: 'https://widget-cba.' }]);
4054
4121
  }
4055
4122
 
4056
4123
  createClass(Dispatcher, [{
@@ -4403,21 +4470,21 @@
4403
4470
  * @constructor
4404
4471
  *
4405
4472
  * @param {string} selector - Selector of html element.
4406
- * @param {string} publicKey - PayDock users public key
4473
+ * @param {string} aceessToken - PayDock access token or users public key
4407
4474
  * @param {string} [gatewayId=default] - PayDock's gatewayId. By default or if put 'default', it will use the selected default gateway
4408
4475
  * @param {string} [type=PaypalClassic] - Type of gateway (PaypalClassic, Zipmoney)
4409
4476
  * @example
4410
- * var widget = new CheckoutButton('#button', 'publicKey','gatewayId');
4477
+ * var widget = new CheckoutButton('#button', 'aceessToken','gatewayId');
4411
4478
  **/
4412
4479
  var CheckoutButton = function () {
4413
- function CheckoutButton(selector, publicKey) {
4480
+ function CheckoutButton(selector, aceessToken) {
4414
4481
  var _this = this;
4415
4482
 
4416
4483
  var gatewayId = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'default';
4417
4484
  var gatewayType = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : GATEWAY_TYPE.PAYPAL;
4418
4485
  classCallCheck(this, CheckoutButton);
4419
4486
 
4420
- this.publicKey = publicKey;
4487
+ this.aceessToken = aceessToken;
4421
4488
  this.gatewayId = gatewayId;
4422
4489
  this.gatewayType = gatewayType;
4423
4490
  this.details = null;
@@ -4428,13 +4495,13 @@
4428
4495
  this.background = new Background();
4429
4496
  switch (gatewayType) {
4430
4497
  case GATEWAY_TYPE.PAYPAL:
4431
- this.runner = new PaypalRunner(publicKey);
4498
+ this.runner = new PaypalRunner(aceessToken);
4432
4499
  break;
4433
4500
  case GATEWAY_TYPE.AFTERPAY:
4434
- this.runner = new AfterpayRunner(publicKey);
4501
+ this.runner = new AfterpayRunner(aceessToken);
4435
4502
  break;
4436
4503
  case GATEWAY_TYPE.ZIPMONEY:
4437
- this.runner = new ZipmoneyRunner(publicKey);
4504
+ this.runner = new ZipmoneyRunner(aceessToken);
4438
4505
  break;
4439
4506
  }
4440
4507
  this.initCheckout();
@@ -4456,7 +4523,7 @@
4456
4523
  var externalCheckout = new Builder(_this2.gatewayId, _this2.runner.getSuccessRedirectUri(), _this2.runner.getErrorRedirectUri());
4457
4524
  externalCheckout.setMeta(_this2.meta);
4458
4525
  externalCheckout.setEnv(_this2.env);
4459
- externalCheckout.send(_this2.publicKey, function (checkout) {
4526
+ externalCheckout.send(_this2.aceessToken, function (checkout) {
4460
4527
  _this2.eventEmitter.emit(CHECKOUT_BUTTON_EVENT.POPUP_REDIRECT, {});
4461
4528
  _this2.runner.next(checkout);
4462
4529
  }, function (error, code) {
@@ -4507,7 +4574,7 @@
4507
4574
 
4508
4575
  var checker = new Checker(token);
4509
4576
  checker.setEnv(this.env);
4510
- checker.send(this.publicKey, function (details) {
4577
+ checker.send(this.aceessToken, function (details) {
4511
4578
  _this4.details = details;
4512
4579
  cb();
4513
4580
  }, function () {
@@ -4522,7 +4589,7 @@
4522
4589
 
4523
4590
  var paymentSourceToken = new Builder$1(this.gatewayId, token, TYPE.CHECKOUT_TOKEN);
4524
4591
  paymentSourceToken.setEnv(this.env);
4525
- paymentSourceToken.send(this.publicKey, function (token) {
4592
+ paymentSourceToken.send(this.aceessToken, function (token) {
4526
4593
  _this5.eventEmitter.emit(CHECKOUT_BUTTON_EVENT.FINISH, {
4527
4594
  payment_source_token: token,
4528
4595
  checkout_email: _this5.details.checkout_email,
@@ -4730,21 +4797,21 @@
4730
4797
  * @constructor
4731
4798
  *
4732
4799
  * @param {string} selector - Selector of html element.
4733
- * @param {string} publicKey - PayDock users public key
4800
+ * @param {string} accessToken - PayDock access-token or users public key
4734
4801
  * @param {string} [gatewayId=default] - PayDock's gatewayId. By default or if put 'default', it will use the selected default gateway
4735
4802
  * @example
4736
- * var widget = new AfterpayCheckoutButton('#button', 'publicKey','gatewayId');
4803
+ * var widget = new AfterpayCheckoutButton('#button', 'access-token','gatewayId');
4737
4804
  **/
4738
4805
  var AfterpayCheckoutButton = function (_CheckoutButton) {
4739
4806
  inherits(AfterpayCheckoutButton, _CheckoutButton);
4740
4807
 
4741
- function AfterpayCheckoutButton(selector, publicKey) {
4808
+ function AfterpayCheckoutButton(selector, accessToken) {
4742
4809
  var gatewayId = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'default';
4743
4810
  classCallCheck(this, AfterpayCheckoutButton);
4744
4811
 
4745
- var _this = possibleConstructorReturn(this, (AfterpayCheckoutButton.__proto__ || Object.getPrototypeOf(AfterpayCheckoutButton)).call(this, selector, publicKey, gatewayId, GATEWAY_TYPE.AFTERPAY));
4812
+ var _this = possibleConstructorReturn(this, (AfterpayCheckoutButton.__proto__ || Object.getPrototypeOf(AfterpayCheckoutButton)).call(this, selector, accessToken, gatewayId, GATEWAY_TYPE.AFTERPAY));
4746
4813
 
4747
- _this.publicKey = publicKey;
4814
+ _this.accessToken = accessToken;
4748
4815
  _this.gatewayId = gatewayId;
4749
4816
  return _this;
4750
4817
  }
@@ -4996,12 +5063,13 @@
4996
5063
  currency = meta.currency,
4997
5064
  id = meta.id,
4998
5065
  gateway_mode = meta.gateway_mode,
5066
+ reference = meta.reference,
4999
5067
  request_shipping = meta.request_shipping;
5000
5068
 
5001
5069
  _this.link.setParams(_extends({ token: token,
5002
5070
  amount: amount,
5003
5071
  currency: currency,
5004
- gateway_mode: gateway_mode, credentials: id }, request_shipping ? { request_shipping: request_shipping } : {}));
5072
+ gateway_mode: gateway_mode, credentials: reference || id }, request_shipping ? { request_shipping: request_shipping } : {}));
5005
5073
  _this.token = token;
5006
5074
  _this.event = new FlypayIframeEvent(window);
5007
5075
  return _this;
@@ -5923,7 +5991,7 @@
5923
5991
  googlePayJs.src = "https://pay.google.com/gp/p/js/pay.js";
5924
5992
  googlePayJs.async = true;
5925
5993
  googlePayJs.onload = function () {
5926
- var _a, _b, _c;
5994
+ var _a, _b, _c, _d;
5927
5995
  if (!window.google) {
5928
5996
  _this2.eventEmitter.emit(WALLET_EVENT.UNAVAILABLE, { wallet: WALLET_TYPE.GOOGLE });
5929
5997
  reject();
@@ -5939,7 +6007,7 @@
5939
6007
  onPaymentDataChanged: function onPaymentDataChanged(intermediatePaymentData) {
5940
6008
  return _this2.onPaymentDataChanged(intermediatePaymentData);
5941
6009
  }
5942
- }) }, _this2.env !== ENV.PROD ? { environment: "TEST" } : { environment: "PRODUCTION" }));
6010
+ }) }, ((_d = _this2.meta) === null || _d === void 0 ? void 0 : _d.gateway_mode) === 'live' ? { environment: "PRODUCTION" } : { environment: "TEST" }));
5943
6011
  _this2.checkAvailability().then(function (available) {
5944
6012
  if (!available) {
5945
6013
  _this2.eventEmitter.emit(WALLET_EVENT.UNAVAILABLE, { wallet: WALLET_TYPE.GOOGLE });
@@ -6149,6 +6217,14 @@
6149
6217
  value: function getGatewayName() {
6150
6218
  return WALLET_GATEWAY.MASTERCARD;
6151
6219
  }
6220
+ }, {
6221
+ key: "setEnv",
6222
+ value: function setEnv(env) {
6223
+ this.childWallets.forEach(function (child) {
6224
+ return child.setEnv(env);
6225
+ });
6226
+ return this;
6227
+ }
6152
6228
  }, {
6153
6229
  key: "update",
6154
6230
  value: function update(data) {
@@ -6160,55 +6236,6 @@
6160
6236
  return MastercardWalletService;
6161
6237
  }(WalletService);
6162
6238
 
6163
- var AccessToken = function () {
6164
- function AccessToken() {
6165
- classCallCheck(this, AccessToken);
6166
- }
6167
-
6168
- createClass(AccessToken, null, [{
6169
- key: "validateJWT",
6170
- value: function validateJWT(jwt) {
6171
- var _jwt$split = jwt.split("."),
6172
- _jwt$split2 = slicedToArray(_jwt$split, 3),
6173
- rawHead = _jwt$split2[0],
6174
- rawBody = _jwt$split2[1],
6175
- signature = _jwt$split2[2];
6176
-
6177
- if (!rawHead || !rawBody || !signature) return null;
6178
- if (2 + rawHead.length + rawBody.length + signature.length !== jwt.length) return null;
6179
- try {
6180
- var head = JSON.parse(atob(rawHead));
6181
- var body = JSON.parse(atob(rawBody));
6182
- return { head: head, body: body, signature: signature };
6183
- } catch (_a) {
6184
- return null;
6185
- }
6186
- }
6187
- }, {
6188
- key: "extractData",
6189
- value: function extractData(body) {
6190
- try {
6191
- return JSON.parse(atob(body.meta));
6192
- } catch (_a) {
6193
- return null;
6194
- }
6195
- }
6196
- }, {
6197
- key: "extractMeta",
6198
- value: function extractMeta(body) {
6199
- try {
6200
- var _JSON$parse = JSON.parse(atob(body.meta)),
6201
- meta = _JSON$parse.meta;
6202
-
6203
- return meta;
6204
- } catch (_a) {
6205
- return null;
6206
- }
6207
- }
6208
- }]);
6209
- return AccessToken;
6210
- }();
6211
-
6212
6239
  var API_AUTH_TYPE;
6213
6240
  (function (API_AUTH_TYPE) {
6214
6241
  API_AUTH_TYPE[API_AUTH_TYPE["PUBLIC_KEY"] = 0] = "PUBLIC_KEY";
@@ -6219,8 +6246,8 @@
6219
6246
  classCallCheck(this, ApiBase);
6220
6247
 
6221
6248
  this.auth = auth;
6222
- this.authType = authType || API_AUTH_TYPE.PUBLIC_KEY;
6223
- this.env = new Env([{ env: ENV.SANDBOX, url: 'https://api-sandbox.' }, { env: ENV.PROD, url: 'https://api.' }, { env: ENV.STAGING, url: 'https://apista.' }, { env: ENV.STAGING_2, url: 'https://apista-2.' }, { env: ENV.STAGING_3, url: 'https://apista-3.' }, { env: ENV.STAGING_4, url: 'https://apista-4.' }, { env: ENV.STAGING_5, url: 'https://apista-5.' }]);
6249
+ this.authType = authType || this.setAuthType();
6250
+ this.env = new Env([{ env: ENV.SANDBOX, url: 'https://api-sandbox.' }, { env: ENV.PROD, url: 'https://api.' }, { env: ENV.STAGING, url: 'https://apista.' }, { env: ENV.STAGING_2, url: 'https://apista-2.' }, { env: ENV.STAGING_3, url: 'https://apista-3.' }, { env: ENV.STAGING_4, url: 'https://apista-4.' }, { env: ENV.STAGING_5, url: 'https://apista-5.' }, { env: ENV.STAGING_CBA, url: 'https://api-staging-cba.' }, { env: ENV.SANDBOX_CBA, url: 'https://api-sandbox-cba.' }, { env: ENV.PROD_CBA, url: 'https://api-cba.' }]);
6224
6251
  }
6225
6252
  /**
6226
6253
  * Current method can change environment. By default environment = sandbox.
@@ -6234,13 +6261,18 @@
6234
6261
 
6235
6262
 
6236
6263
  createClass(ApiBase, [{
6237
- key: "setEnv",
6264
+ key: 'setEnv',
6238
6265
  value: function setEnv(env, alias) {
6239
6266
  this.env.setEnv(env, alias);
6240
6267
  return this;
6241
6268
  }
6242
6269
  }, {
6243
- key: "getClient",
6270
+ key: 'setAuthType',
6271
+ value: function setAuthType() {
6272
+ return this.authType = !!AccessToken.validateJWT(this.auth) ? API_AUTH_TYPE.TOKEN : API_AUTH_TYPE.PUBLIC_KEY;
6273
+ }
6274
+ }, {
6275
+ key: 'getClient',
6244
6276
  value: function getClient(method, link) {
6245
6277
  var _this = this;
6246
6278
 
@@ -6259,7 +6291,7 @@
6259
6291
  };
6260
6292
  }
6261
6293
  }, {
6262
- key: "getClientPromise",
6294
+ key: 'getClientPromise',
6263
6295
  value: function getClientPromise(method, link) {
6264
6296
  var _this2 = this;
6265
6297
 
@@ -6282,7 +6314,7 @@
6282
6314
  };
6283
6315
  }
6284
6316
  }, {
6285
- key: "parser",
6317
+ key: 'parser',
6286
6318
  value: function parser(_ref, cb, errorCb) {
6287
6319
  var text = _ref.text,
6288
6320
  status = _ref.status;
@@ -6293,7 +6325,7 @@
6293
6325
  } catch (e) {}
6294
6326
  }
6295
6327
  }, {
6296
- key: "parserPromise",
6328
+ key: 'parserPromise',
6297
6329
  value: function parserPromise(_ref2) {
6298
6330
  var text = _ref2.text,
6299
6331
  status = _ref2.status;
@@ -6306,7 +6338,7 @@
6306
6338
  }
6307
6339
  }
6308
6340
  }, {
6309
- key: "setAuthHeader",
6341
+ key: 'setAuthHeader',
6310
6342
  value: function setAuthHeader(request) {
6311
6343
  switch (this.authType) {
6312
6344
  case API_AUTH_TYPE.PUBLIC_KEY:
@@ -6473,13 +6505,13 @@
6473
6505
  this.service = new StripeWalletService(tokenMeta.credentials.client_auth, _extends(_extends({}, meta), { amount: tokenMeta.charge.amount, currency: tokenMeta.charge.currency }));
6474
6506
  break;
6475
6507
  case WALLET_GATEWAY.FLYPAY:
6476
- this.service = new FlypayWalletService(chargeToken, _extends(_extends({}, meta), { id: tokenMeta.charge.id, gateway_mode: tokenMeta.gateway.mode, amount: tokenMeta.charge.amount, currency: tokenMeta.charge.currency }));
6508
+ this.service = new FlypayWalletService(chargeToken, _extends(_extends({}, meta), { id: tokenMeta.charge.id, gateway_mode: tokenMeta.gateway.mode, amount: tokenMeta.charge.amount, currency: tokenMeta.charge.currency, reference: tokenMeta.charge.reference }));
6477
6509
  break;
6478
6510
  case WALLET_GATEWAY.PAYPAL:
6479
6511
  this.service = new PaypalWalletService(tokenMeta.credentials.client_auth, _extends(_extends({}, meta), { id: tokenMeta.charge.id, gateway_mode: tokenMeta.gateway.mode, amount: tokenMeta.charge.amount, currency: tokenMeta.charge.currency, capture: tokenMeta.charge.capture }));
6480
6512
  break;
6481
6513
  case WALLET_GATEWAY.MASTERCARD:
6482
- this.service = new MastercardWalletService('', _extends(_extends({}, meta), { credentials: tokenMeta.gateway.credentials, amount: tokenMeta.charge.amount, currency: tokenMeta.charge.currency }));
6514
+ this.service = new MastercardWalletService('', _extends(_extends({}, meta), { credentials: tokenMeta.gateway.credentials, amount: tokenMeta.charge.amount, currency: tokenMeta.charge.currency, gateway_mode: tokenMeta.gateway.mode }));
6483
6515
  break;
6484
6516
  }
6485
6517
  }
@@ -6895,13 +6927,13 @@
6895
6927
  * var widget = new PaymentSourceWidget('publicKey', customerReference, true);
6896
6928
  **/
6897
6929
  var PaymentSourceWidget = function () {
6898
- function PaymentSourceWidget(publicKey, queryToken) {
6930
+ function PaymentSourceWidget(accessToken, queryToken) {
6899
6931
  classCallCheck(this, PaymentSourceWidget);
6900
6932
 
6901
6933
  this.configs = [];
6902
6934
  this.configTokens = [];
6903
6935
  this.link = new Link(PAYMENT_SOURCE_LINK);
6904
- this.link.setParams({ public_key: publicKey, query_token: queryToken });
6936
+ this.link.setParams(_extends({ query_token: queryToken }, AccessToken.validateJWT(accessToken) ? { access_token: accessToken } : { public_key: accessToken }));
6905
6937
  }
6906
6938
  /**
6907
6939
  * Object contain styles for widget