@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/lib/checkout.js CHANGED
@@ -18573,7 +18573,7 @@ var CardAPI = {
18573
18573
 
18574
18574
  var paymentMethod$3 = 'card';
18575
18575
 
18576
- function validate$4(card, isSetter) {
18576
+ function validate$3(card, isSetter) {
18577
18577
  return new Promise(function (resolve, reject) {
18578
18578
  var validation = Card.validate(card);
18579
18579
 
@@ -18594,7 +18594,7 @@ var CardCharge = {
18594
18594
  setCard: function setCard(params) {
18595
18595
  var _this = this;
18596
18596
 
18597
- return validate$4(params, true).then(function () {
18597
+ return validate$3(params, true).then(function () {
18598
18598
  _this.card = new Card(params);
18599
18599
  });
18600
18600
  },
@@ -18610,7 +18610,7 @@ var CardCharge = {
18610
18610
  return this.chargeCardWithPin(customFields);
18611
18611
  }
18612
18612
 
18613
- return validate$4(this.card).then(function () {
18613
+ return validate$3(this.card).then(function () {
18614
18614
  _this2.logAttempt(paymentMethod$3);
18615
18615
 
18616
18616
  var chargeParams = {
@@ -18622,7 +18622,6 @@ var CardCharge = {
18622
18622
  rememberCard: _this2.remember_card,
18623
18623
  transactionType: _this2.transactionType,
18624
18624
  subscription: _this2.subscription,
18625
- selectedCurrency: customFields.selected_currency,
18626
18625
  customFields: customFields
18627
18626
  };
18628
18627
  return CardAPI.charge(chargeParams).then(function (response) {
@@ -18903,7 +18902,7 @@ var EMandateAPI = {
18903
18902
 
18904
18903
  var paymentMethod$2 = 'bank account';
18905
18904
 
18906
- function validate$3(bankAccount, isSetter) {
18905
+ function validate$2(bankAccount, isSetter) {
18907
18906
  return new Promise(function (resolve, reject) {
18908
18907
  var validation = BankAccount.validate(bankAccount);
18909
18908
 
@@ -18921,14 +18920,14 @@ var EMandate = {
18921
18920
  setBankAccount: function setBankAccount(params) {
18922
18921
  var _this = this;
18923
18922
 
18924
- return validate$3(params, true).then(function () {
18923
+ return validate$2(params, true).then(function () {
18925
18924
  _this.bankAccount = new BankAccount(params);
18926
18925
  });
18927
18926
  },
18928
18927
  chargeBankAccount: function chargeBankAccount() {
18929
18928
  var _this2 = this;
18930
18929
 
18931
- return validate$3(this.bankAccount).then(function () {
18930
+ return validate$2(this.bankAccount).then(function () {
18932
18931
  _this2.logAttempt(paymentMethod$2);
18933
18932
 
18934
18933
  var verifyParams = {
@@ -18947,7 +18946,7 @@ var EMandate = {
18947
18946
  registerBankAccount: function registerBankAccount(birthday) {
18948
18947
  var _this3 = this;
18949
18948
 
18950
- return validate$3(this.bankAccount).then(function () {
18949
+ return validate$2(this.bankAccount).then(function () {
18951
18950
  var registerParams = {
18952
18951
  bankId: _this3.bankAccount.bankId,
18953
18952
  transactionId: _this3.id,
@@ -18964,7 +18963,7 @@ var EMandate = {
18964
18963
  authenticateBankAccount: function authenticateBankAccount(token) {
18965
18964
  var _this4 = this;
18966
18965
 
18967
- return validate$3(this.bankAccount).then(function () {
18966
+ return validate$2(this.bankAccount).then(function () {
18968
18967
  var chargeParams = {
18969
18968
  bankId: _this4.bankAccount.bankId,
18970
18969
  transactionId: _this4.id,
@@ -19189,7 +19188,7 @@ var QrAPI = {
19189
19188
  }
19190
19189
  };
19191
19190
 
19192
- function validate$2(channel) {
19191
+ function validate$1(channel) {
19193
19192
  return new Promise(function (resolve, reject) {
19194
19193
  var allowedChannels = ['visa', 'MPASS_OLTI'];
19195
19194
 
@@ -19207,7 +19206,7 @@ var QRCharge = {
19207
19206
  var _this = this;
19208
19207
 
19209
19208
  var channel = _ref.channel;
19210
- return validate$2(channel).then(function () {
19209
+ return validate$1(channel).then(function () {
19211
19210
  if (_this.qr[channel]) {
19212
19211
  return _this.qr[channel];
19213
19212
  }
@@ -19229,7 +19228,7 @@ var QRCharge = {
19229
19228
  var _this2 = this;
19230
19229
 
19231
19230
  var channel = _ref2.channel;
19232
- return validate$2(channel).then(function () {
19231
+ return validate$1(channel).then(function () {
19233
19232
  if (!_this2.qr[channel]) {
19234
19233
  return Promise.reject(Error('Please generate qr code with Transaction.getQRCode()'));
19235
19234
  }
@@ -19350,7 +19349,7 @@ var MobileMoneyAPI = {
19350
19349
  }
19351
19350
  };
19352
19351
 
19353
- function validate$1(phoneNumber) {
19352
+ function validate(phoneNumber) {
19354
19353
  return new Promise(function (resolve, reject) {
19355
19354
  var validation = PhoneNumber.validate(phoneNumber);
19356
19355
 
@@ -19371,7 +19370,7 @@ var MobileMoneyCharge = {
19371
19370
  provider = _ref.provider,
19372
19371
  voucher = _ref.voucher,
19373
19372
  registrationToken = _ref.registrationToken;
19374
- return validate$1(phoneNumber).then(function () {
19373
+ return validate(phoneNumber).then(function () {
19375
19374
  _this.logAttempt('mobile money');
19376
19375
 
19377
19376
  var params = {
@@ -19402,7 +19401,7 @@ var MobileMoneyCharge = {
19402
19401
  var phoneNumber = payload.phoneNumber,
19403
19402
  provider = payload.provider,
19404
19403
  registrationToken = payload.registrationToken;
19405
- return validate$1(phoneNumber).then(function () {
19404
+ return validate(phoneNumber).then(function () {
19406
19405
  _this2.logMobileMoneyActions(payload);
19407
19406
 
19408
19407
  var params = {
@@ -19458,233 +19457,6 @@ var MobileMoneyCharge = {
19458
19457
  }
19459
19458
  };
19460
19459
 
19461
- var PhoneAPI = {
19462
- verify: function verify(phoneNumber, publicKey) {
19463
- var url = "".concat(configToUse.paystackApiUrl, "checkout/pay_with_phone/verify");
19464
- var language = getLanguage();
19465
-
19466
- var headers = _objectSpread2({
19467
- Authorization: "Bearer ".concat(publicKey)
19468
- }, language && {
19469
- 'Accept-Language': language
19470
- });
19471
-
19472
- return axiosInstance.post(url, {
19473
- phone: phoneNumber
19474
- }, {
19475
- headers: headers
19476
- }).then(function (response) {
19477
- return response.data;
19478
- });
19479
- },
19480
- deleteCard: function deleteCard(phoneNumber, publicKey, cardId) {
19481
- var url = "".concat(configToUse.paystackApiUrl, "checkout/pay_with_phone/remove_card");
19482
- var language = getLanguage();
19483
-
19484
- var headers = _objectSpread2({
19485
- Authorization: "Bearer ".concat(publicKey)
19486
- }, language && {
19487
- 'Accept-Language': language
19488
- });
19489
-
19490
- return axiosInstance.post(url, {
19491
- phone: phoneNumber,
19492
- id: cardId
19493
- }, {
19494
- headers: headers
19495
- }).then(function (response) {
19496
- return response.data;
19497
- });
19498
- },
19499
- authenticateOtp: function authenticateOtp(phoneNumber, publicKey, otp, transactionId) {
19500
- var url = "".concat(configToUse.paystackApiUrl, "checkout/pay_with_phone/validate_otp");
19501
- var language = getLanguage();
19502
-
19503
- var headers = _objectSpread2({
19504
- Authorization: "Bearer ".concat(publicKey)
19505
- }, language && {
19506
- 'Accept-Language': language
19507
- });
19508
-
19509
- return axiosInstance.post(url, {
19510
- phone: phoneNumber,
19511
- otp: otp,
19512
- transaction: transactionId
19513
- }, {
19514
- headers: headers
19515
- }).then(function (response) {
19516
- return response.data;
19517
- });
19518
- },
19519
- authenticatePin: function authenticatePin(phoneNumber, publicKey, pin, transactionId) {
19520
- var url = "".concat(configToUse.paystackApiUrl, "checkout/pay_with_phone/validate_pin");
19521
- var language = getLanguage();
19522
-
19523
- var headers = _objectSpread2({
19524
- Authorization: "Bearer ".concat(publicKey)
19525
- }, language && {
19526
- 'Accept-Language': language
19527
- });
19528
-
19529
- return axiosInstance.post(url, {
19530
- phone: phoneNumber,
19531
- pin: pin,
19532
- transaction: transactionId
19533
- }, {
19534
- headers: headers
19535
- }).then(function (response) {
19536
- return response.data;
19537
- });
19538
- },
19539
- setPin: function setPin(phoneNumber, publicKey, transactionToken, transactionId, pin) {
19540
- var language = getLanguage();
19541
- var url = "".concat(configToUse.paystackApiUrl, "checkout/pay_with_phone/set_pin");
19542
-
19543
- var headers = _objectSpread2({
19544
- Authorization: "Bearer ".concat(publicKey)
19545
- }, language && {
19546
- 'Accept-Language': language
19547
- });
19548
-
19549
- return axiosInstance.post(url, {
19550
- phone: phoneNumber,
19551
- token: transactionToken,
19552
- transaction: transactionId,
19553
- pin: pin
19554
- }, {
19555
- headers: headers
19556
- }).then(function (response) {
19557
- return response.data;
19558
- });
19559
- },
19560
- charge: function charge(authId, publicKey, token, transactionId, cvv, phoneNumber) {
19561
- var url = "".concat(configToUse.paystackApiUrl, "checkout/pay_with_phone/charge");
19562
- var language = getLanguage();
19563
-
19564
- var headers = _objectSpread2({
19565
- Authorization: "Bearer ".concat(publicKey)
19566
- }, language && {
19567
- 'Accept-Language': language
19568
- });
19569
-
19570
- return axiosInstance.post(url, {
19571
- id: authId,
19572
- token: token,
19573
- cvv: cvv,
19574
- transaction: transactionId,
19575
- phone: phoneNumber
19576
- }, {
19577
- headers: headers
19578
- }).then(function (response) {
19579
- return response.data;
19580
- });
19581
- },
19582
- enrollPhoneNumber: function enrollPhoneNumber(phoneNumber, publicKey, transactionId) {
19583
- var url = "".concat(configToUse.paystackApiUrl, "checkout/pay_with_phone/enroll");
19584
- var language = getLanguage();
19585
-
19586
- var headers = _objectSpread2({
19587
- Authorization: "Bearer ".concat(publicKey)
19588
- }, language && {
19589
- 'Accept-Language': language
19590
- });
19591
-
19592
- return axiosInstance.post(url, {
19593
- phone: phoneNumber,
19594
- transaction: transactionId
19595
- }, {
19596
- headers: headers
19597
- }).then(function (response) {
19598
- return response.data;
19599
- });
19600
- }
19601
- };
19602
-
19603
- /*
19604
- TODO:
19605
- Implement analytics for Pay with Phone. Since unique actions are takens here e.g
19606
- user verifies pay with phone account, user charged saved card, etc, these should
19607
- all be reflected as custom analytics actions
19608
- */
19609
-
19610
- function validate(phoneNumber) {
19611
- return new Promise(function (resolve, reject) {
19612
- var validation = PhoneNumber.validate(phoneNumber);
19613
-
19614
- if (!validation.isValid) {
19615
- var errorMessage = phoneNumber ? validation.errors[0] : 'Please set a valid customer with Transaction.setCustomer()';
19616
- reject(Error(errorMessage));
19617
- }
19618
-
19619
- resolve(validation);
19620
- });
19621
- }
19622
-
19623
- var PhoneNumberCharge = {
19624
- setCustomer: function setCustomer(_ref) {
19625
- var _this = this;
19626
-
19627
- var phoneNumber = _ref.phoneNumber;
19628
- return validate(phoneNumber).then(function () {
19629
- _this.customer = phoneNumber;
19630
- });
19631
- },
19632
- verifyCustomer: function verifyCustomer() {
19633
- var _this2 = this;
19634
-
19635
- return validate(this.customer).then(function () {
19636
- return PhoneAPI.verify(_this2.customer, _this2.merchant.key);
19637
- });
19638
- },
19639
- deleteSavedCard: function deleteSavedCard(cardId) {
19640
- var _this3 = this;
19641
-
19642
- return validate(this.customer).then(function () {
19643
- return PhoneAPI.deleteCard(_this3.customer, _this3.merchant.key, cardId);
19644
- });
19645
- },
19646
- authenticateCustomerOtp: function authenticateCustomerOtp(otp) {
19647
- var _this4 = this;
19648
-
19649
- return validate(this.customer).then(function () {
19650
- return PhoneAPI.authenticateOtp(_this4.customer, _this4.merchant.key, otp, _this4.id);
19651
- });
19652
- },
19653
- authenticateCustomerPin: function authenticateCustomerPin(pin) {
19654
- var _this5 = this;
19655
-
19656
- return validate(this.customer).then(function () {
19657
- return PhoneAPI.authenticatePin(_this5.customer, _this5.merchant.key, pin, _this5.id);
19658
- });
19659
- },
19660
- setCustomerPin: function setCustomerPin(_ref2) {
19661
- var _this6 = this;
19662
-
19663
- var pin = _ref2.pin,
19664
- token = _ref2.token;
19665
- return validate(this.customer).then(function () {
19666
- return PhoneAPI.setPin(_this6.customer, _this6.merchant.key, token, _this6.id, pin);
19667
- });
19668
- },
19669
- chargeSavedCard: function chargeSavedCard(_ref3) {
19670
- var _this7 = this;
19671
-
19672
- var cardId = _ref3.cardId,
19673
- token = _ref3.token,
19674
- cvv = _ref3.cvv;
19675
- return validate(this.customer).then(function () {
19676
- return PhoneAPI.charge(cardId, _this7.merchant.key, token, _this7.id, cvv, _this7.customer);
19677
- });
19678
- },
19679
- enrollPhoneNumber: function enrollPhoneNumber(number) {
19680
- var _this8 = this;
19681
-
19682
- return validate(this.customer).then(function () {
19683
- return PhoneAPI.enrollPhoneNumber(number, _this8.merchant.key, _this8.id);
19684
- });
19685
- }
19686
- };
19687
-
19688
19460
  var DirectDebitAPI = {
19689
19461
  loginToDirectDebitAccount: function loginToDirectDebitAccount(_ref) {
19690
19462
  var email = _ref.email,
@@ -19875,7 +19647,6 @@ var ChargeFunctions = {
19875
19647
  ussd: USSDCharge,
19876
19648
  qr: QRCharge,
19877
19649
  mobile_money: MobileMoneyCharge,
19878
- phone: PhoneNumberCharge,
19879
19650
  direct_debit: DirectDebitCharge,
19880
19651
  bank_transfer: PayWithTransferCharge,
19881
19652
  eft: EFT,
@@ -20538,9 +20309,10 @@ var Transaction = {
20538
20309
  }
20539
20310
  };
20540
20311
 
20312
+ var resolvedCardBins = {};
20541
20313
  var ToolkitAPI = {
20542
20314
  fetchBanks: function fetchBanks(params) {
20543
- var url = "".concat(configToUse.paystackApiUrl, "bank");
20315
+ var url = new URL('/bank', configToUse.paystackApiUrl).toString();
20544
20316
  var language = getLanguage();
20545
20317
 
20546
20318
  var headers = _objectSpread2({}, language && {
@@ -20556,7 +20328,7 @@ var ToolkitAPI = {
20556
20328
  });
20557
20329
  },
20558
20330
  fetchResolutions: function fetchResolutions() {
20559
- var url = "".concat(configToUse.paystackApiUrl, "checkout/resolutions");
20331
+ var url = new URL('/checkout/resolutions', configToUse.paystackApiUrl).toString();
20560
20332
  var language = getLanguage();
20561
20333
 
20562
20334
  var headers = _objectSpread2({}, language && {
@@ -20570,7 +20342,7 @@ var ToolkitAPI = {
20570
20342
  });
20571
20343
  },
20572
20344
  fetchCelebrations: function fetchCelebrations() {
20573
- var url = "".concat(configToUse.paystackApiUrl, "checkout/celebrations");
20345
+ var url = new URL('/checkout/celebrations', configToUse.paystackApiUrl).toString();
20574
20346
  var language = getLanguage();
20575
20347
 
20576
20348
  var headers = _objectSpread2({}, language && {
@@ -20584,7 +20356,7 @@ var ToolkitAPI = {
20584
20356
  });
20585
20357
  },
20586
20358
  fetchStates: function fetchStates(params) {
20587
- var url = "".concat(configToUse.paystackApiUrl, "address_verification/states");
20359
+ var url = new URL('/address_verification/states', configToUse.paystackApiUrl).toString();
20588
20360
  var language = getLanguage();
20589
20361
 
20590
20362
  var headers = _objectSpread2({}, language && {
@@ -20600,17 +20372,23 @@ var ToolkitAPI = {
20600
20372
  });
20601
20373
  },
20602
20374
  resolveCardBin: function resolveCardBin(bin) {
20375
+ var url = new URL("/decision/bin/".concat(bin), configToUse.paystackApiUrl).toString();
20603
20376
  var language = getLanguage();
20604
20377
 
20605
20378
  var headers = _objectSpread2({}, language && {
20606
20379
  'Accept-Language': language
20607
20380
  });
20608
20381
 
20609
- var url = "".concat(configToUse.paystackApiUrl, "decision/bin/").concat(bin);
20382
+ if (resolvedCardBins[bin]) {
20383
+ return Promise.resolve(resolvedCardBins[bin]);
20384
+ }
20385
+
20610
20386
  return axiosInstance.get(url, {
20611
20387
  headers: headers
20612
- }).then(function (response) {
20613
- return response.data;
20388
+ }).then(function (_ref) {
20389
+ var data = _ref.data;
20390
+ resolvedCardBins[bin] = data;
20391
+ return data;
20614
20392
  });
20615
20393
  }
20616
20394
  };
@@ -20672,6 +20450,11 @@ var Toolkit = /*#__PURE__*/function () {
20672
20450
 
20673
20451
  return data;
20674
20452
  }
20453
+ }, {
20454
+ key: "resolveCardBin",
20455
+ value: function resolveCardBin(bin) {
20456
+ return ToolkitAPI.resolveCardBin(bin);
20457
+ }
20675
20458
  }]);
20676
20459
 
20677
20460
  return Toolkit;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paystack/checkout-js",
3
- "version": "1.18.0-dev.9",
3
+ "version": "1.18.1",
4
4
  "description": "Client-side JS library for billing on Paystack",
5
5
  "main": "lib/checkout.js",
6
6
  "module": "es/checkout.js",