@paystack/checkout-js 1.18.0-dev.9 → 1.18.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.
package/es/checkout.js CHANGED
@@ -18569,7 +18569,7 @@ var CardAPI = {
18569
18569
 
18570
18570
  var paymentMethod$3 = 'card';
18571
18571
 
18572
- function validate$4(card, isSetter) {
18572
+ function validate$3(card, isSetter) {
18573
18573
  return new Promise(function (resolve, reject) {
18574
18574
  var validation = Card.validate(card);
18575
18575
 
@@ -18590,7 +18590,7 @@ var CardCharge = {
18590
18590
  setCard: function setCard(params) {
18591
18591
  var _this = this;
18592
18592
 
18593
- return validate$4(params, true).then(function () {
18593
+ return validate$3(params, true).then(function () {
18594
18594
  _this.card = new Card(params);
18595
18595
  });
18596
18596
  },
@@ -18606,7 +18606,7 @@ var CardCharge = {
18606
18606
  return this.chargeCardWithPin(customFields);
18607
18607
  }
18608
18608
 
18609
- return validate$4(this.card).then(function () {
18609
+ return validate$3(this.card).then(function () {
18610
18610
  _this2.logAttempt(paymentMethod$3);
18611
18611
 
18612
18612
  var chargeParams = {
@@ -18618,7 +18618,6 @@ var CardCharge = {
18618
18618
  rememberCard: _this2.remember_card,
18619
18619
  transactionType: _this2.transactionType,
18620
18620
  subscription: _this2.subscription,
18621
- selectedCurrency: customFields.selected_currency,
18622
18621
  customFields: customFields
18623
18622
  };
18624
18623
  return CardAPI.charge(chargeParams).then(function (response) {
@@ -18899,7 +18898,7 @@ var EMandateAPI = {
18899
18898
 
18900
18899
  var paymentMethod$2 = 'bank account';
18901
18900
 
18902
- function validate$3(bankAccount, isSetter) {
18901
+ function validate$2(bankAccount, isSetter) {
18903
18902
  return new Promise(function (resolve, reject) {
18904
18903
  var validation = BankAccount.validate(bankAccount);
18905
18904
 
@@ -18917,14 +18916,14 @@ var EMandate = {
18917
18916
  setBankAccount: function setBankAccount(params) {
18918
18917
  var _this = this;
18919
18918
 
18920
- return validate$3(params, true).then(function () {
18919
+ return validate$2(params, true).then(function () {
18921
18920
  _this.bankAccount = new BankAccount(params);
18922
18921
  });
18923
18922
  },
18924
18923
  chargeBankAccount: function chargeBankAccount() {
18925
18924
  var _this2 = this;
18926
18925
 
18927
- return validate$3(this.bankAccount).then(function () {
18926
+ return validate$2(this.bankAccount).then(function () {
18928
18927
  _this2.logAttempt(paymentMethod$2);
18929
18928
 
18930
18929
  var verifyParams = {
@@ -18943,7 +18942,7 @@ var EMandate = {
18943
18942
  registerBankAccount: function registerBankAccount(birthday) {
18944
18943
  var _this3 = this;
18945
18944
 
18946
- return validate$3(this.bankAccount).then(function () {
18945
+ return validate$2(this.bankAccount).then(function () {
18947
18946
  var registerParams = {
18948
18947
  bankId: _this3.bankAccount.bankId,
18949
18948
  transactionId: _this3.id,
@@ -18960,7 +18959,7 @@ var EMandate = {
18960
18959
  authenticateBankAccount: function authenticateBankAccount(token) {
18961
18960
  var _this4 = this;
18962
18961
 
18963
- return validate$3(this.bankAccount).then(function () {
18962
+ return validate$2(this.bankAccount).then(function () {
18964
18963
  var chargeParams = {
18965
18964
  bankId: _this4.bankAccount.bankId,
18966
18965
  transactionId: _this4.id,
@@ -19185,7 +19184,7 @@ var QrAPI = {
19185
19184
  }
19186
19185
  };
19187
19186
 
19188
- function validate$2(channel) {
19187
+ function validate$1(channel) {
19189
19188
  return new Promise(function (resolve, reject) {
19190
19189
  var allowedChannels = ['visa', 'MPASS_OLTI'];
19191
19190
 
@@ -19203,7 +19202,7 @@ var QRCharge = {
19203
19202
  var _this = this;
19204
19203
 
19205
19204
  var channel = _ref.channel;
19206
- return validate$2(channel).then(function () {
19205
+ return validate$1(channel).then(function () {
19207
19206
  if (_this.qr[channel]) {
19208
19207
  return _this.qr[channel];
19209
19208
  }
@@ -19225,7 +19224,7 @@ var QRCharge = {
19225
19224
  var _this2 = this;
19226
19225
 
19227
19226
  var channel = _ref2.channel;
19228
- return validate$2(channel).then(function () {
19227
+ return validate$1(channel).then(function () {
19229
19228
  if (!_this2.qr[channel]) {
19230
19229
  return Promise.reject(Error('Please generate qr code with Transaction.getQRCode()'));
19231
19230
  }
@@ -19346,7 +19345,7 @@ var MobileMoneyAPI = {
19346
19345
  }
19347
19346
  };
19348
19347
 
19349
- function validate$1(phoneNumber) {
19348
+ function validate(phoneNumber) {
19350
19349
  return new Promise(function (resolve, reject) {
19351
19350
  var validation = PhoneNumber.validate(phoneNumber);
19352
19351
 
@@ -19367,7 +19366,7 @@ var MobileMoneyCharge = {
19367
19366
  provider = _ref.provider,
19368
19367
  voucher = _ref.voucher,
19369
19368
  registrationToken = _ref.registrationToken;
19370
- return validate$1(phoneNumber).then(function () {
19369
+ return validate(phoneNumber).then(function () {
19371
19370
  _this.logAttempt('mobile money');
19372
19371
 
19373
19372
  var params = {
@@ -19398,7 +19397,7 @@ var MobileMoneyCharge = {
19398
19397
  var phoneNumber = payload.phoneNumber,
19399
19398
  provider = payload.provider,
19400
19399
  registrationToken = payload.registrationToken;
19401
- return validate$1(phoneNumber).then(function () {
19400
+ return validate(phoneNumber).then(function () {
19402
19401
  _this2.logMobileMoneyActions(payload);
19403
19402
 
19404
19403
  var params = {
@@ -19454,233 +19453,6 @@ var MobileMoneyCharge = {
19454
19453
  }
19455
19454
  };
19456
19455
 
19457
- var PhoneAPI = {
19458
- verify: function verify(phoneNumber, publicKey) {
19459
- var url = "".concat(configToUse.paystackApiUrl, "checkout/pay_with_phone/verify");
19460
- var language = getLanguage();
19461
-
19462
- var headers = _objectSpread2({
19463
- Authorization: "Bearer ".concat(publicKey)
19464
- }, language && {
19465
- 'Accept-Language': language
19466
- });
19467
-
19468
- return axiosInstance.post(url, {
19469
- phone: phoneNumber
19470
- }, {
19471
- headers: headers
19472
- }).then(function (response) {
19473
- return response.data;
19474
- });
19475
- },
19476
- deleteCard: function deleteCard(phoneNumber, publicKey, cardId) {
19477
- var url = "".concat(configToUse.paystackApiUrl, "checkout/pay_with_phone/remove_card");
19478
- var language = getLanguage();
19479
-
19480
- var headers = _objectSpread2({
19481
- Authorization: "Bearer ".concat(publicKey)
19482
- }, language && {
19483
- 'Accept-Language': language
19484
- });
19485
-
19486
- return axiosInstance.post(url, {
19487
- phone: phoneNumber,
19488
- id: cardId
19489
- }, {
19490
- headers: headers
19491
- }).then(function (response) {
19492
- return response.data;
19493
- });
19494
- },
19495
- authenticateOtp: function authenticateOtp(phoneNumber, publicKey, otp, transactionId) {
19496
- var url = "".concat(configToUse.paystackApiUrl, "checkout/pay_with_phone/validate_otp");
19497
- var language = getLanguage();
19498
-
19499
- var headers = _objectSpread2({
19500
- Authorization: "Bearer ".concat(publicKey)
19501
- }, language && {
19502
- 'Accept-Language': language
19503
- });
19504
-
19505
- return axiosInstance.post(url, {
19506
- phone: phoneNumber,
19507
- otp: otp,
19508
- transaction: transactionId
19509
- }, {
19510
- headers: headers
19511
- }).then(function (response) {
19512
- return response.data;
19513
- });
19514
- },
19515
- authenticatePin: function authenticatePin(phoneNumber, publicKey, pin, transactionId) {
19516
- var url = "".concat(configToUse.paystackApiUrl, "checkout/pay_with_phone/validate_pin");
19517
- var language = getLanguage();
19518
-
19519
- var headers = _objectSpread2({
19520
- Authorization: "Bearer ".concat(publicKey)
19521
- }, language && {
19522
- 'Accept-Language': language
19523
- });
19524
-
19525
- return axiosInstance.post(url, {
19526
- phone: phoneNumber,
19527
- pin: pin,
19528
- transaction: transactionId
19529
- }, {
19530
- headers: headers
19531
- }).then(function (response) {
19532
- return response.data;
19533
- });
19534
- },
19535
- setPin: function setPin(phoneNumber, publicKey, transactionToken, transactionId, pin) {
19536
- var language = getLanguage();
19537
- var url = "".concat(configToUse.paystackApiUrl, "checkout/pay_with_phone/set_pin");
19538
-
19539
- var headers = _objectSpread2({
19540
- Authorization: "Bearer ".concat(publicKey)
19541
- }, language && {
19542
- 'Accept-Language': language
19543
- });
19544
-
19545
- return axiosInstance.post(url, {
19546
- phone: phoneNumber,
19547
- token: transactionToken,
19548
- transaction: transactionId,
19549
- pin: pin
19550
- }, {
19551
- headers: headers
19552
- }).then(function (response) {
19553
- return response.data;
19554
- });
19555
- },
19556
- charge: function charge(authId, publicKey, token, transactionId, cvv, phoneNumber) {
19557
- var url = "".concat(configToUse.paystackApiUrl, "checkout/pay_with_phone/charge");
19558
- var language = getLanguage();
19559
-
19560
- var headers = _objectSpread2({
19561
- Authorization: "Bearer ".concat(publicKey)
19562
- }, language && {
19563
- 'Accept-Language': language
19564
- });
19565
-
19566
- return axiosInstance.post(url, {
19567
- id: authId,
19568
- token: token,
19569
- cvv: cvv,
19570
- transaction: transactionId,
19571
- phone: phoneNumber
19572
- }, {
19573
- headers: headers
19574
- }).then(function (response) {
19575
- return response.data;
19576
- });
19577
- },
19578
- enrollPhoneNumber: function enrollPhoneNumber(phoneNumber, publicKey, transactionId) {
19579
- var url = "".concat(configToUse.paystackApiUrl, "checkout/pay_with_phone/enroll");
19580
- var language = getLanguage();
19581
-
19582
- var headers = _objectSpread2({
19583
- Authorization: "Bearer ".concat(publicKey)
19584
- }, language && {
19585
- 'Accept-Language': language
19586
- });
19587
-
19588
- return axiosInstance.post(url, {
19589
- phone: phoneNumber,
19590
- transaction: transactionId
19591
- }, {
19592
- headers: headers
19593
- }).then(function (response) {
19594
- return response.data;
19595
- });
19596
- }
19597
- };
19598
-
19599
- /*
19600
- TODO:
19601
- Implement analytics for Pay with Phone. Since unique actions are takens here e.g
19602
- user verifies pay with phone account, user charged saved card, etc, these should
19603
- all be reflected as custom analytics actions
19604
- */
19605
-
19606
- function validate(phoneNumber) {
19607
- return new Promise(function (resolve, reject) {
19608
- var validation = PhoneNumber.validate(phoneNumber);
19609
-
19610
- if (!validation.isValid) {
19611
- var errorMessage = phoneNumber ? validation.errors[0] : 'Please set a valid customer with Transaction.setCustomer()';
19612
- reject(Error(errorMessage));
19613
- }
19614
-
19615
- resolve(validation);
19616
- });
19617
- }
19618
-
19619
- var PhoneNumberCharge = {
19620
- setCustomer: function setCustomer(_ref) {
19621
- var _this = this;
19622
-
19623
- var phoneNumber = _ref.phoneNumber;
19624
- return validate(phoneNumber).then(function () {
19625
- _this.customer = phoneNumber;
19626
- });
19627
- },
19628
- verifyCustomer: function verifyCustomer() {
19629
- var _this2 = this;
19630
-
19631
- return validate(this.customer).then(function () {
19632
- return PhoneAPI.verify(_this2.customer, _this2.merchant.key);
19633
- });
19634
- },
19635
- deleteSavedCard: function deleteSavedCard(cardId) {
19636
- var _this3 = this;
19637
-
19638
- return validate(this.customer).then(function () {
19639
- return PhoneAPI.deleteCard(_this3.customer, _this3.merchant.key, cardId);
19640
- });
19641
- },
19642
- authenticateCustomerOtp: function authenticateCustomerOtp(otp) {
19643
- var _this4 = this;
19644
-
19645
- return validate(this.customer).then(function () {
19646
- return PhoneAPI.authenticateOtp(_this4.customer, _this4.merchant.key, otp, _this4.id);
19647
- });
19648
- },
19649
- authenticateCustomerPin: function authenticateCustomerPin(pin) {
19650
- var _this5 = this;
19651
-
19652
- return validate(this.customer).then(function () {
19653
- return PhoneAPI.authenticatePin(_this5.customer, _this5.merchant.key, pin, _this5.id);
19654
- });
19655
- },
19656
- setCustomerPin: function setCustomerPin(_ref2) {
19657
- var _this6 = this;
19658
-
19659
- var pin = _ref2.pin,
19660
- token = _ref2.token;
19661
- return validate(this.customer).then(function () {
19662
- return PhoneAPI.setPin(_this6.customer, _this6.merchant.key, token, _this6.id, pin);
19663
- });
19664
- },
19665
- chargeSavedCard: function chargeSavedCard(_ref3) {
19666
- var _this7 = this;
19667
-
19668
- var cardId = _ref3.cardId,
19669
- token = _ref3.token,
19670
- cvv = _ref3.cvv;
19671
- return validate(this.customer).then(function () {
19672
- return PhoneAPI.charge(cardId, _this7.merchant.key, token, _this7.id, cvv, _this7.customer);
19673
- });
19674
- },
19675
- enrollPhoneNumber: function enrollPhoneNumber(number) {
19676
- var _this8 = this;
19677
-
19678
- return validate(this.customer).then(function () {
19679
- return PhoneAPI.enrollPhoneNumber(number, _this8.merchant.key, _this8.id);
19680
- });
19681
- }
19682
- };
19683
-
19684
19456
  var DirectDebitAPI = {
19685
19457
  loginToDirectDebitAccount: function loginToDirectDebitAccount(_ref) {
19686
19458
  var email = _ref.email,
@@ -19871,7 +19643,6 @@ var ChargeFunctions = {
19871
19643
  ussd: USSDCharge,
19872
19644
  qr: QRCharge,
19873
19645
  mobile_money: MobileMoneyCharge,
19874
- phone: PhoneNumberCharge,
19875
19646
  direct_debit: DirectDebitCharge,
19876
19647
  bank_transfer: PayWithTransferCharge,
19877
19648
  eft: EFT,
@@ -20534,9 +20305,10 @@ var Transaction = {
20534
20305
  }
20535
20306
  };
20536
20307
 
20308
+ var resolvedCardBins = {};
20537
20309
  var ToolkitAPI = {
20538
20310
  fetchBanks: function fetchBanks(params) {
20539
- var url = "".concat(configToUse.paystackApiUrl, "bank");
20311
+ var url = new URL('/bank', configToUse.paystackApiUrl).toString();
20540
20312
  var language = getLanguage();
20541
20313
 
20542
20314
  var headers = _objectSpread2({}, language && {
@@ -20552,7 +20324,7 @@ var ToolkitAPI = {
20552
20324
  });
20553
20325
  },
20554
20326
  fetchResolutions: function fetchResolutions() {
20555
- var url = "".concat(configToUse.paystackApiUrl, "checkout/resolutions");
20327
+ var url = new URL('/checkout/resolutions', configToUse.paystackApiUrl).toString();
20556
20328
  var language = getLanguage();
20557
20329
 
20558
20330
  var headers = _objectSpread2({}, language && {
@@ -20566,7 +20338,7 @@ var ToolkitAPI = {
20566
20338
  });
20567
20339
  },
20568
20340
  fetchCelebrations: function fetchCelebrations() {
20569
- var url = "".concat(configToUse.paystackApiUrl, "checkout/celebrations");
20341
+ var url = new URL('/checkout/celebrations', configToUse.paystackApiUrl).toString();
20570
20342
  var language = getLanguage();
20571
20343
 
20572
20344
  var headers = _objectSpread2({}, language && {
@@ -20580,7 +20352,7 @@ var ToolkitAPI = {
20580
20352
  });
20581
20353
  },
20582
20354
  fetchStates: function fetchStates(params) {
20583
- var url = "".concat(configToUse.paystackApiUrl, "address_verification/states");
20355
+ var url = new URL('/address_verification/states', configToUse.paystackApiUrl).toString();
20584
20356
  var language = getLanguage();
20585
20357
 
20586
20358
  var headers = _objectSpread2({}, language && {
@@ -20596,17 +20368,23 @@ var ToolkitAPI = {
20596
20368
  });
20597
20369
  },
20598
20370
  resolveCardBin: function resolveCardBin(bin) {
20371
+ var url = new URL("/decision/bin/".concat(bin), configToUse.paystackApiUrl).toString();
20599
20372
  var language = getLanguage();
20600
20373
 
20601
20374
  var headers = _objectSpread2({}, language && {
20602
20375
  'Accept-Language': language
20603
20376
  });
20604
20377
 
20605
- var url = "".concat(configToUse.paystackApiUrl, "decision/bin/").concat(bin);
20378
+ if (resolvedCardBins[bin]) {
20379
+ return Promise.resolve(resolvedCardBins[bin]);
20380
+ }
20381
+
20606
20382
  return axiosInstance.get(url, {
20607
20383
  headers: headers
20608
- }).then(function (response) {
20609
- return response.data;
20384
+ }).then(function (_ref) {
20385
+ var data = _ref.data;
20386
+ resolvedCardBins[bin] = data;
20387
+ return data;
20610
20388
  });
20611
20389
  }
20612
20390
  };
@@ -20668,6 +20446,11 @@ var Toolkit = /*#__PURE__*/function () {
20668
20446
 
20669
20447
  return data;
20670
20448
  }
20449
+ }, {
20450
+ key: "resolveCardBin",
20451
+ value: function resolveCardBin(bin) {
20452
+ return ToolkitAPI.resolveCardBin(bin);
20453
+ }
20671
20454
  }]);
20672
20455
 
20673
20456
  return Toolkit;