@paystack/checkout-js 1.52.0-beta.10 → 1.52.0-beta.11

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/dist/checkout.js CHANGED
@@ -12246,7 +12246,7 @@ var Paystack = (function (exports) {
12246
12246
  }
12247
12247
  };
12248
12248
 
12249
- var paymentMethod$7 = 'payattitude';
12249
+ var paymentMethod$8 = 'payattitude';
12250
12250
  var PayattitudeCharge = {
12251
12251
  chargePayattitude: function chargePayattitude(_ref) {
12252
12252
  var _this = this;
@@ -12256,14 +12256,14 @@ var Paystack = (function (exports) {
12256
12256
  phoneNumber: phoneNumber
12257
12257
  };
12258
12258
  return PayattitudeAPI.charge(params).then(function (response) {
12259
- _this.logAPIResponse(response, paymentMethod$7);
12259
+ _this.logAPIResponse(response, paymentMethod$8);
12260
12260
  return response;
12261
12261
  });
12262
12262
  },
12263
12263
  listenForPayattitudeCharge: function listenForPayattitudeCharge(callback) {
12264
12264
  var pusherChannel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
12265
12265
  var listenerOptions = {
12266
- paymentMethod: paymentMethod$7,
12266
+ paymentMethod: paymentMethod$8,
12267
12267
  channel: pusherChannel
12268
12268
  };
12269
12269
  return this.listenForCharge(listenerOptions, callback);
@@ -12340,14 +12340,14 @@ var Paystack = (function (exports) {
12340
12340
  }
12341
12341
  };
12342
12342
 
12343
- var paymentMethod$6 = 'apple pay';
12343
+ var paymentMethod$7 = 'apple pay';
12344
12344
  var ApplePayCharge = {
12345
12345
  validateApplePaySession: function validateApplePaySession(_ref) {
12346
12346
  var _this = this;
12347
12347
  var sessionUrl = _ref.sessionUrl,
12348
12348
  displayName = _ref.displayName,
12349
12349
  domainName = _ref.domainName;
12350
- this.logAttempt(paymentMethod$6);
12350
+ this.logAttempt(paymentMethod$7);
12351
12351
  return ApplePayAPI.validateApplePaySession({
12352
12352
  sessionUrl: sessionUrl,
12353
12353
  displayName: displayName,
@@ -12366,7 +12366,7 @@ var Paystack = (function (exports) {
12366
12366
  device: this.deviceFingerprint,
12367
12367
  paymentObject: paymentObject
12368
12368
  }).then(function (response) {
12369
- _this2.logAPIResponse(response, paymentMethod$6);
12369
+ _this2.logAPIResponse(response, paymentMethod$7);
12370
12370
  return response;
12371
12371
  });
12372
12372
  }
@@ -12416,11 +12416,11 @@ var Paystack = (function (exports) {
12416
12416
  }
12417
12417
  };
12418
12418
 
12419
- var paymentMethod$5 = 'paypal';
12419
+ var paymentMethod$6 = 'paypal';
12420
12420
  var PayPalCharge = {
12421
12421
  createPayPalOrder: function createPayPalOrder() {
12422
12422
  var _this = this;
12423
- this.logAttempt(paymentMethod$5);
12423
+ this.logAttempt(paymentMethod$6);
12424
12424
  return PayPalAPI.createOrder({
12425
12425
  publicKey: this.merchant.key,
12426
12426
  transactionId: this.id
@@ -12435,7 +12435,7 @@ var Paystack = (function (exports) {
12435
12435
  publicKey: this.merchant.key,
12436
12436
  transactionId: this.id
12437
12437
  }).then(function (response) {
12438
- _this2.logAPIResponse(response, paymentMethod$5);
12438
+ _this2.logAPIResponse(response, paymentMethod$6);
12439
12439
  return response;
12440
12440
  });
12441
12441
  },
@@ -19486,7 +19486,7 @@ var Paystack = (function (exports) {
19486
19486
  }
19487
19487
  };
19488
19488
 
19489
- var paymentMethod$4 = 'card';
19489
+ var paymentMethod$5 = 'card';
19490
19490
  var savedCardMethods = {
19491
19491
  payment: 'saved card',
19492
19492
  authentication: 'otp'
@@ -19522,7 +19522,7 @@ var Paystack = (function (exports) {
19522
19522
  return this.chargeCardWithPin(customFields);
19523
19523
  }
19524
19524
  return validate$4(this.card).then(function () {
19525
- _this2.logAttempt(paymentMethod$4);
19525
+ _this2.logAttempt(paymentMethod$5);
19526
19526
  var chargeParams = {
19527
19527
  clientdata: _this2.card.tokenize(),
19528
19528
  last4: _this2.card.getLast4(),
@@ -19536,7 +19536,7 @@ var Paystack = (function (exports) {
19536
19536
  customFields: customFields
19537
19537
  };
19538
19538
  return CardAPI$1.charge(chargeParams).then(function (response) {
19539
- _this2.logAPIResponse(response, paymentMethod$4);
19539
+ _this2.logAPIResponse(response, paymentMethod$5);
19540
19540
  return response;
19541
19541
  });
19542
19542
  });
@@ -19548,7 +19548,7 @@ var Paystack = (function (exports) {
19548
19548
  chargeCardWithPin: function chargeCardWithPin() {
19549
19549
  var _this3 = this;
19550
19550
  var customFields = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
19551
- this.logAttempt(paymentMethod$4);
19551
+ this.logAttempt(paymentMethod$5);
19552
19552
  var chargeParams = {
19553
19553
  pin: encrypt(this.card.pin),
19554
19554
  trans: this.id,
@@ -19559,7 +19559,7 @@ var Paystack = (function (exports) {
19559
19559
  customFields: customFields
19560
19560
  };
19561
19561
  return CardAPI$1.charge(chargeParams).then(function (response) {
19562
- _this3.logAPIResponse(response, paymentMethod$4);
19562
+ _this3.logAPIResponse(response, paymentMethod$5);
19563
19563
  return response;
19564
19564
  });
19565
19565
  },
@@ -19569,7 +19569,7 @@ var Paystack = (function (exports) {
19569
19569
  authorizationCode = _ref.authorizationCode,
19570
19570
  cardLast4 = _ref.cardLast4,
19571
19571
  pin = _ref.pin;
19572
- this.logAttempt(paymentMethod$4);
19572
+ this.logAttempt(paymentMethod$5);
19573
19573
  var encryptedPin = encrypt(pin);
19574
19574
  var chargeParams = {
19575
19575
  authorizationCode: authorizationCode,
@@ -19582,7 +19582,7 @@ var Paystack = (function (exports) {
19582
19582
  subscription: this.subscription
19583
19583
  };
19584
19584
  return CardAPI$1.chargeRememberedCard(chargeParams).then(function (response) {
19585
- _this4.logAPIResponse(response, paymentMethod$4);
19585
+ _this4.logAPIResponse(response, paymentMethod$5);
19586
19586
  return response;
19587
19587
  });
19588
19588
  },
@@ -19597,7 +19597,7 @@ var Paystack = (function (exports) {
19597
19597
  device: this.deviceFingerprint
19598
19598
  });
19599
19599
  return CardAPI$1.resumeCardCharge(params).then(function (response) {
19600
- _this5.logAPIResponse(response, paymentMethod$4);
19600
+ _this5.logAPIResponse(response, paymentMethod$5);
19601
19601
  return response;
19602
19602
  });
19603
19603
  },
@@ -19608,14 +19608,14 @@ var Paystack = (function (exports) {
19608
19608
  publicKey: this.merchant.key
19609
19609
  };
19610
19610
  return CardAPI$1.forgetRememberedCard(params).then(function (response) {
19611
- _this6.logAPIResponse(response, paymentMethod$4);
19611
+ _this6.logAPIResponse(response, paymentMethod$5);
19612
19612
  return response;
19613
19613
  });
19614
19614
  },
19615
19615
  authenticateCard: function authenticateCard(token) {
19616
19616
  var _this7 = this;
19617
19617
  return CardAPI$1.authenticate(this.id, token).then(function (response) {
19618
- _this7.logAPIResponse(response, paymentMethod$4);
19618
+ _this7.logAPIResponse(response, paymentMethod$5);
19619
19619
  return response;
19620
19620
  });
19621
19621
  },
@@ -19635,14 +19635,14 @@ var Paystack = (function (exports) {
19635
19635
  selectedCurrency: selectedCurrency
19636
19636
  };
19637
19637
  return CardAPI$1.verifyAddress(payload).then(function (response) {
19638
- _this8.logAPIResponse(response, paymentMethod$4);
19638
+ _this8.logAPIResponse(response, paymentMethod$5);
19639
19639
  return response;
19640
19640
  });
19641
19641
  },
19642
19642
  listenFor3DSCharge: function listenFor3DSCharge(callback) {
19643
19643
  var listenerOptions = {
19644
19644
  channel: "3DS_".concat(this.id),
19645
- paymentMethod: paymentMethod$4
19645
+ paymentMethod: paymentMethod$5
19646
19646
  };
19647
19647
  return this.listenForCharge(listenerOptions, callback);
19648
19648
  },
@@ -19930,7 +19930,7 @@ var Paystack = (function (exports) {
19930
19930
  }
19931
19931
  };
19932
19932
 
19933
- var paymentMethod$3 = 'bank account';
19933
+ var paymentMethod$4 = 'bank account';
19934
19934
  function validate$3(bankAccount, isSetter) {
19935
19935
  return new Promise(function (resolve, reject) {
19936
19936
  var validation = BankAccount.validate(bankAccount);
@@ -19952,7 +19952,7 @@ var Paystack = (function (exports) {
19952
19952
  chargeBankAccount: function chargeBankAccount() {
19953
19953
  var _this2 = this;
19954
19954
  return validate$3(this.bankAccount).then(function () {
19955
- _this2.logAttempt(paymentMethod$3);
19955
+ _this2.logAttempt(paymentMethod$4);
19956
19956
  var verifyParams = {
19957
19957
  bankId: _this2.bankAccount.bankId,
19958
19958
  transactionId: _this2.id,
@@ -19960,7 +19960,7 @@ var Paystack = (function (exports) {
19960
19960
  device: _this2.deviceFingerprint
19961
19961
  };
19962
19962
  return EMandateAPI.verify(verifyParams).then(function (response) {
19963
- _this2.logAPIResponse(response, paymentMethod$3);
19963
+ _this2.logAPIResponse(response, paymentMethod$4);
19964
19964
  return response;
19965
19965
  });
19966
19966
  });
@@ -19975,7 +19975,7 @@ var Paystack = (function (exports) {
19975
19975
  birthday: birthday
19976
19976
  };
19977
19977
  return EMandateAPI.register(registerParams).then(function (response) {
19978
- _this3.logAPIResponse(response, paymentMethod$3);
19978
+ _this3.logAPIResponse(response, paymentMethod$4);
19979
19979
  return response;
19980
19980
  });
19981
19981
  });
@@ -19990,7 +19990,7 @@ var Paystack = (function (exports) {
19990
19990
  device: _this4.deviceFingerprint
19991
19991
  };
19992
19992
  return EMandateAPI.authenticate(chargeParams).then(function (response) {
19993
- _this4.logAPIResponse(response, paymentMethod$3);
19993
+ _this4.logAPIResponse(response, paymentMethod$4);
19994
19994
  return response;
19995
19995
  });
19996
19996
  });
@@ -20049,7 +20049,7 @@ var Paystack = (function (exports) {
20049
20049
  }
20050
20050
  };
20051
20051
 
20052
- var paymentMethod$2 = 'bank';
20052
+ var paymentMethod$3 = 'bank';
20053
20053
  var DigitalBankMandate = {
20054
20054
  chargeDigitalBankMandate: function chargeDigitalBankMandate(_ref) {
20055
20055
  var _this = this;
@@ -20065,14 +20065,14 @@ var Paystack = (function (exports) {
20065
20065
  walletId: walletId
20066
20066
  };
20067
20067
  return DigitalBankMandateAPI.charge(params).then(function (response) {
20068
- _this.logAPIResponse(response, paymentMethod$2);
20068
+ _this.logAPIResponse(response, paymentMethod$3);
20069
20069
  return response;
20070
20070
  });
20071
20071
  },
20072
20072
  listenForDigitalBankMandateCharge: function listenForDigitalBankMandateCharge(callback) {
20073
20073
  var pusherChannel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
20074
20074
  var listenerOptions = {
20075
- paymentMethod: paymentMethod$2,
20075
+ paymentMethod: paymentMethod$3,
20076
20076
  channel: pusherChannel
20077
20077
  };
20078
20078
  return this.listenForCharge(listenerOptions, callback);
@@ -20544,7 +20544,7 @@ var Paystack = (function (exports) {
20544
20544
  }
20545
20545
  };
20546
20546
 
20547
- var paymentMethod$1 = 'direct debit';
20547
+ var paymentMethod$2 = 'direct debit';
20548
20548
  var DirectDebitCharge = {
20549
20549
  loginToDirectDebitAccount: function loginToDirectDebitAccount(_ref) {
20550
20550
  var _this = this;
@@ -20581,14 +20581,14 @@ var Paystack = (function (exports) {
20581
20581
  if (!this.directDebit.token) {
20582
20582
  return Promise.reject(Error('Please login with Transaction.loginToDirectDebitAccount() to start a Direct debit charge'));
20583
20583
  }
20584
- this.logAttempt(paymentMethod$1);
20584
+ this.logAttempt(paymentMethod$2);
20585
20585
  var params = {
20586
20586
  account_code: accountCode,
20587
20587
  transaction: this.id,
20588
20588
  token: this.directDebit.token
20589
20589
  };
20590
20590
  return DirectDebitAPI.charge(params).then(function (response) {
20591
- _this2.logAPIResponse(response, paymentMethod$1);
20591
+ _this2.logAPIResponse(response, paymentMethod$2);
20592
20592
  if (response.status) {
20593
20593
  _this2.directDebit.chargeResponse = response;
20594
20594
  }
@@ -20598,7 +20598,7 @@ var Paystack = (function (exports) {
20598
20598
  getProvisionedAccounts: function getProvisionedAccounts() {
20599
20599
  var _this3 = this;
20600
20600
  return DirectDebitAPI.getProvisionedAccounts(this.directDebit.token).then(function (response) {
20601
- _this3.logAPIResponse(response, paymentMethod$1);
20601
+ _this3.logAPIResponse(response, paymentMethod$2);
20602
20602
  var status = response.status,
20603
20603
  data = response.data;
20604
20604
  if (status) {
@@ -20618,7 +20618,7 @@ var Paystack = (function (exports) {
20618
20618
  token: this.directDebit.token
20619
20619
  };
20620
20620
  return DirectDebitAPI.authenticate(params).then(function (response) {
20621
- _this4.logAPIResponse(response, paymentMethod$1);
20621
+ _this4.logAPIResponse(response, paymentMethod$2);
20622
20622
  return response;
20623
20623
  });
20624
20624
  }
@@ -20803,6 +20803,51 @@ var Paystack = (function (exports) {
20803
20803
  }
20804
20804
  };
20805
20805
 
20806
+ var InstalmentsAPI = {
20807
+ parseHostedSessionResponse: function parseHostedSessionResponse(apiResponse) {
20808
+ var _apiResponse$data;
20809
+ var hostedSessionData = (apiResponse === null || apiResponse === void 0 ? void 0 : (_apiResponse$data = apiResponse.data) === null || _apiResponse$data === void 0 ? void 0 : _apiResponse$data.data) || (apiResponse === null || apiResponse === void 0 ? void 0 : apiResponse.data) || apiResponse || {};
20810
+ var parsedResponse = ChargeResponses.parse(apiResponse);
20811
+ return _objectSpread2(_objectSpread2({}, parsedResponse), {}, {
20812
+ data: _objectSpread2(_objectSpread2({}, parsedResponse.data), hostedSessionData)
20813
+ });
20814
+ },
20815
+ createHostedSession: function createHostedSession(params, publicKey) {
20816
+ var language = getLanguage();
20817
+ var headers = _objectSpread2({
20818
+ Authorization: "Bearer ".concat(publicKey)
20819
+ }, language && {
20820
+ 'Accept-Language': language
20821
+ });
20822
+ var url = new URL('instalments/create', configToUse.paystackApiUrl).toString();
20823
+ return axiosInstance.post(url, params, {
20824
+ headers: headers
20825
+ }).then(function (response) {
20826
+ return InstalmentsAPI.parseHostedSessionResponse(response.data);
20827
+ });
20828
+ }
20829
+ };
20830
+
20831
+ var paymentMethod$1 = 'instalments';
20832
+ var InstalmentsCharge = {
20833
+ chargeInstalments: function chargeInstalments() {
20834
+ var _this = this;
20835
+ var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
20836
+ provider = _ref.provider;
20837
+ if (!provider) {
20838
+ return Promise.reject(new Error('Instalment provider is required'));
20839
+ }
20840
+ this.logAttempt(paymentMethod$1);
20841
+ return InstalmentsAPI.createHostedSession({
20842
+ transaction_id: this.id,
20843
+ provider: provider
20844
+ }, this.merchant.key).then(function (response) {
20845
+ _this.logAPIResponse(response, paymentMethod$1);
20846
+ return response;
20847
+ });
20848
+ }
20849
+ };
20850
+
20806
20851
  var ChargeFunctions = {
20807
20852
  get: function get(channel) {
20808
20853
  var chargeFunctions = {
@@ -20817,7 +20862,8 @@ var Paystack = (function (exports) {
20817
20862
  payattitude: PayattitudeCharge,
20818
20863
  apple_pay: ApplePayCharge,
20819
20864
  paypal: PayPalCharge,
20820
- capitec_pay: CapitecPayCharge
20865
+ capitec_pay: CapitecPayCharge,
20866
+ instalments: InstalmentsCharge
20821
20867
  };
20822
20868
  return chargeFunctions[channel];
20823
20869
  }
package/es/checkout.js CHANGED
@@ -12243,7 +12243,7 @@ var PayattitudeAPI = {
12243
12243
  }
12244
12244
  };
12245
12245
 
12246
- var paymentMethod$7 = 'payattitude';
12246
+ var paymentMethod$8 = 'payattitude';
12247
12247
  var PayattitudeCharge = {
12248
12248
  chargePayattitude: function chargePayattitude(_ref) {
12249
12249
  var _this = this;
@@ -12253,14 +12253,14 @@ var PayattitudeCharge = {
12253
12253
  phoneNumber: phoneNumber
12254
12254
  };
12255
12255
  return PayattitudeAPI.charge(params).then(function (response) {
12256
- _this.logAPIResponse(response, paymentMethod$7);
12256
+ _this.logAPIResponse(response, paymentMethod$8);
12257
12257
  return response;
12258
12258
  });
12259
12259
  },
12260
12260
  listenForPayattitudeCharge: function listenForPayattitudeCharge(callback) {
12261
12261
  var pusherChannel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
12262
12262
  var listenerOptions = {
12263
- paymentMethod: paymentMethod$7,
12263
+ paymentMethod: paymentMethod$8,
12264
12264
  channel: pusherChannel
12265
12265
  };
12266
12266
  return this.listenForCharge(listenerOptions, callback);
@@ -12337,14 +12337,14 @@ var ApplePayAPI = {
12337
12337
  }
12338
12338
  };
12339
12339
 
12340
- var paymentMethod$6 = 'apple pay';
12340
+ var paymentMethod$7 = 'apple pay';
12341
12341
  var ApplePayCharge = {
12342
12342
  validateApplePaySession: function validateApplePaySession(_ref) {
12343
12343
  var _this = this;
12344
12344
  var sessionUrl = _ref.sessionUrl,
12345
12345
  displayName = _ref.displayName,
12346
12346
  domainName = _ref.domainName;
12347
- this.logAttempt(paymentMethod$6);
12347
+ this.logAttempt(paymentMethod$7);
12348
12348
  return ApplePayAPI.validateApplePaySession({
12349
12349
  sessionUrl: sessionUrl,
12350
12350
  displayName: displayName,
@@ -12363,7 +12363,7 @@ var ApplePayCharge = {
12363
12363
  device: this.deviceFingerprint,
12364
12364
  paymentObject: paymentObject
12365
12365
  }).then(function (response) {
12366
- _this2.logAPIResponse(response, paymentMethod$6);
12366
+ _this2.logAPIResponse(response, paymentMethod$7);
12367
12367
  return response;
12368
12368
  });
12369
12369
  }
@@ -12413,11 +12413,11 @@ var PayPalAPI = {
12413
12413
  }
12414
12414
  };
12415
12415
 
12416
- var paymentMethod$5 = 'paypal';
12416
+ var paymentMethod$6 = 'paypal';
12417
12417
  var PayPalCharge = {
12418
12418
  createPayPalOrder: function createPayPalOrder() {
12419
12419
  var _this = this;
12420
- this.logAttempt(paymentMethod$5);
12420
+ this.logAttempt(paymentMethod$6);
12421
12421
  return PayPalAPI.createOrder({
12422
12422
  publicKey: this.merchant.key,
12423
12423
  transactionId: this.id
@@ -12432,7 +12432,7 @@ var PayPalCharge = {
12432
12432
  publicKey: this.merchant.key,
12433
12433
  transactionId: this.id
12434
12434
  }).then(function (response) {
12435
- _this2.logAPIResponse(response, paymentMethod$5);
12435
+ _this2.logAPIResponse(response, paymentMethod$6);
12436
12436
  return response;
12437
12437
  });
12438
12438
  },
@@ -19483,7 +19483,7 @@ var CardAPI$1 = {
19483
19483
  }
19484
19484
  };
19485
19485
 
19486
- var paymentMethod$4 = 'card';
19486
+ var paymentMethod$5 = 'card';
19487
19487
  var savedCardMethods = {
19488
19488
  payment: 'saved card',
19489
19489
  authentication: 'otp'
@@ -19519,7 +19519,7 @@ var CardCharge = {
19519
19519
  return this.chargeCardWithPin(customFields);
19520
19520
  }
19521
19521
  return validate$4(this.card).then(function () {
19522
- _this2.logAttempt(paymentMethod$4);
19522
+ _this2.logAttempt(paymentMethod$5);
19523
19523
  var chargeParams = {
19524
19524
  clientdata: _this2.card.tokenize(),
19525
19525
  last4: _this2.card.getLast4(),
@@ -19533,7 +19533,7 @@ var CardCharge = {
19533
19533
  customFields: customFields
19534
19534
  };
19535
19535
  return CardAPI$1.charge(chargeParams).then(function (response) {
19536
- _this2.logAPIResponse(response, paymentMethod$4);
19536
+ _this2.logAPIResponse(response, paymentMethod$5);
19537
19537
  return response;
19538
19538
  });
19539
19539
  });
@@ -19545,7 +19545,7 @@ var CardCharge = {
19545
19545
  chargeCardWithPin: function chargeCardWithPin() {
19546
19546
  var _this3 = this;
19547
19547
  var customFields = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
19548
- this.logAttempt(paymentMethod$4);
19548
+ this.logAttempt(paymentMethod$5);
19549
19549
  var chargeParams = {
19550
19550
  pin: encrypt(this.card.pin),
19551
19551
  trans: this.id,
@@ -19556,7 +19556,7 @@ var CardCharge = {
19556
19556
  customFields: customFields
19557
19557
  };
19558
19558
  return CardAPI$1.charge(chargeParams).then(function (response) {
19559
- _this3.logAPIResponse(response, paymentMethod$4);
19559
+ _this3.logAPIResponse(response, paymentMethod$5);
19560
19560
  return response;
19561
19561
  });
19562
19562
  },
@@ -19566,7 +19566,7 @@ var CardCharge = {
19566
19566
  authorizationCode = _ref.authorizationCode,
19567
19567
  cardLast4 = _ref.cardLast4,
19568
19568
  pin = _ref.pin;
19569
- this.logAttempt(paymentMethod$4);
19569
+ this.logAttempt(paymentMethod$5);
19570
19570
  var encryptedPin = encrypt(pin);
19571
19571
  var chargeParams = {
19572
19572
  authorizationCode: authorizationCode,
@@ -19579,7 +19579,7 @@ var CardCharge = {
19579
19579
  subscription: this.subscription
19580
19580
  };
19581
19581
  return CardAPI$1.chargeRememberedCard(chargeParams).then(function (response) {
19582
- _this4.logAPIResponse(response, paymentMethod$4);
19582
+ _this4.logAPIResponse(response, paymentMethod$5);
19583
19583
  return response;
19584
19584
  });
19585
19585
  },
@@ -19594,7 +19594,7 @@ var CardCharge = {
19594
19594
  device: this.deviceFingerprint
19595
19595
  });
19596
19596
  return CardAPI$1.resumeCardCharge(params).then(function (response) {
19597
- _this5.logAPIResponse(response, paymentMethod$4);
19597
+ _this5.logAPIResponse(response, paymentMethod$5);
19598
19598
  return response;
19599
19599
  });
19600
19600
  },
@@ -19605,14 +19605,14 @@ var CardCharge = {
19605
19605
  publicKey: this.merchant.key
19606
19606
  };
19607
19607
  return CardAPI$1.forgetRememberedCard(params).then(function (response) {
19608
- _this6.logAPIResponse(response, paymentMethod$4);
19608
+ _this6.logAPIResponse(response, paymentMethod$5);
19609
19609
  return response;
19610
19610
  });
19611
19611
  },
19612
19612
  authenticateCard: function authenticateCard(token) {
19613
19613
  var _this7 = this;
19614
19614
  return CardAPI$1.authenticate(this.id, token).then(function (response) {
19615
- _this7.logAPIResponse(response, paymentMethod$4);
19615
+ _this7.logAPIResponse(response, paymentMethod$5);
19616
19616
  return response;
19617
19617
  });
19618
19618
  },
@@ -19632,14 +19632,14 @@ var CardCharge = {
19632
19632
  selectedCurrency: selectedCurrency
19633
19633
  };
19634
19634
  return CardAPI$1.verifyAddress(payload).then(function (response) {
19635
- _this8.logAPIResponse(response, paymentMethod$4);
19635
+ _this8.logAPIResponse(response, paymentMethod$5);
19636
19636
  return response;
19637
19637
  });
19638
19638
  },
19639
19639
  listenFor3DSCharge: function listenFor3DSCharge(callback) {
19640
19640
  var listenerOptions = {
19641
19641
  channel: "3DS_".concat(this.id),
19642
- paymentMethod: paymentMethod$4
19642
+ paymentMethod: paymentMethod$5
19643
19643
  };
19644
19644
  return this.listenForCharge(listenerOptions, callback);
19645
19645
  },
@@ -19927,7 +19927,7 @@ var EMandateAPI = {
19927
19927
  }
19928
19928
  };
19929
19929
 
19930
- var paymentMethod$3 = 'bank account';
19930
+ var paymentMethod$4 = 'bank account';
19931
19931
  function validate$3(bankAccount, isSetter) {
19932
19932
  return new Promise(function (resolve, reject) {
19933
19933
  var validation = BankAccount.validate(bankAccount);
@@ -19949,7 +19949,7 @@ var EMandate = {
19949
19949
  chargeBankAccount: function chargeBankAccount() {
19950
19950
  var _this2 = this;
19951
19951
  return validate$3(this.bankAccount).then(function () {
19952
- _this2.logAttempt(paymentMethod$3);
19952
+ _this2.logAttempt(paymentMethod$4);
19953
19953
  var verifyParams = {
19954
19954
  bankId: _this2.bankAccount.bankId,
19955
19955
  transactionId: _this2.id,
@@ -19957,7 +19957,7 @@ var EMandate = {
19957
19957
  device: _this2.deviceFingerprint
19958
19958
  };
19959
19959
  return EMandateAPI.verify(verifyParams).then(function (response) {
19960
- _this2.logAPIResponse(response, paymentMethod$3);
19960
+ _this2.logAPIResponse(response, paymentMethod$4);
19961
19961
  return response;
19962
19962
  });
19963
19963
  });
@@ -19972,7 +19972,7 @@ var EMandate = {
19972
19972
  birthday: birthday
19973
19973
  };
19974
19974
  return EMandateAPI.register(registerParams).then(function (response) {
19975
- _this3.logAPIResponse(response, paymentMethod$3);
19975
+ _this3.logAPIResponse(response, paymentMethod$4);
19976
19976
  return response;
19977
19977
  });
19978
19978
  });
@@ -19987,7 +19987,7 @@ var EMandate = {
19987
19987
  device: _this4.deviceFingerprint
19988
19988
  };
19989
19989
  return EMandateAPI.authenticate(chargeParams).then(function (response) {
19990
- _this4.logAPIResponse(response, paymentMethod$3);
19990
+ _this4.logAPIResponse(response, paymentMethod$4);
19991
19991
  return response;
19992
19992
  });
19993
19993
  });
@@ -20046,7 +20046,7 @@ var DigitalBankMandateAPI = {
20046
20046
  }
20047
20047
  };
20048
20048
 
20049
- var paymentMethod$2 = 'bank';
20049
+ var paymentMethod$3 = 'bank';
20050
20050
  var DigitalBankMandate = {
20051
20051
  chargeDigitalBankMandate: function chargeDigitalBankMandate(_ref) {
20052
20052
  var _this = this;
@@ -20062,14 +20062,14 @@ var DigitalBankMandate = {
20062
20062
  walletId: walletId
20063
20063
  };
20064
20064
  return DigitalBankMandateAPI.charge(params).then(function (response) {
20065
- _this.logAPIResponse(response, paymentMethod$2);
20065
+ _this.logAPIResponse(response, paymentMethod$3);
20066
20066
  return response;
20067
20067
  });
20068
20068
  },
20069
20069
  listenForDigitalBankMandateCharge: function listenForDigitalBankMandateCharge(callback) {
20070
20070
  var pusherChannel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
20071
20071
  var listenerOptions = {
20072
- paymentMethod: paymentMethod$2,
20072
+ paymentMethod: paymentMethod$3,
20073
20073
  channel: pusherChannel
20074
20074
  };
20075
20075
  return this.listenForCharge(listenerOptions, callback);
@@ -20541,7 +20541,7 @@ var DirectDebitAPI = {
20541
20541
  }
20542
20542
  };
20543
20543
 
20544
- var paymentMethod$1 = 'direct debit';
20544
+ var paymentMethod$2 = 'direct debit';
20545
20545
  var DirectDebitCharge = {
20546
20546
  loginToDirectDebitAccount: function loginToDirectDebitAccount(_ref) {
20547
20547
  var _this = this;
@@ -20578,14 +20578,14 @@ var DirectDebitCharge = {
20578
20578
  if (!this.directDebit.token) {
20579
20579
  return Promise.reject(Error('Please login with Transaction.loginToDirectDebitAccount() to start a Direct debit charge'));
20580
20580
  }
20581
- this.logAttempt(paymentMethod$1);
20581
+ this.logAttempt(paymentMethod$2);
20582
20582
  var params = {
20583
20583
  account_code: accountCode,
20584
20584
  transaction: this.id,
20585
20585
  token: this.directDebit.token
20586
20586
  };
20587
20587
  return DirectDebitAPI.charge(params).then(function (response) {
20588
- _this2.logAPIResponse(response, paymentMethod$1);
20588
+ _this2.logAPIResponse(response, paymentMethod$2);
20589
20589
  if (response.status) {
20590
20590
  _this2.directDebit.chargeResponse = response;
20591
20591
  }
@@ -20595,7 +20595,7 @@ var DirectDebitCharge = {
20595
20595
  getProvisionedAccounts: function getProvisionedAccounts() {
20596
20596
  var _this3 = this;
20597
20597
  return DirectDebitAPI.getProvisionedAccounts(this.directDebit.token).then(function (response) {
20598
- _this3.logAPIResponse(response, paymentMethod$1);
20598
+ _this3.logAPIResponse(response, paymentMethod$2);
20599
20599
  var status = response.status,
20600
20600
  data = response.data;
20601
20601
  if (status) {
@@ -20615,7 +20615,7 @@ var DirectDebitCharge = {
20615
20615
  token: this.directDebit.token
20616
20616
  };
20617
20617
  return DirectDebitAPI.authenticate(params).then(function (response) {
20618
- _this4.logAPIResponse(response, paymentMethod$1);
20618
+ _this4.logAPIResponse(response, paymentMethod$2);
20619
20619
  return response;
20620
20620
  });
20621
20621
  }
@@ -20800,6 +20800,51 @@ var CapitecPayCharge = {
20800
20800
  }
20801
20801
  };
20802
20802
 
20803
+ var InstalmentsAPI = {
20804
+ parseHostedSessionResponse: function parseHostedSessionResponse(apiResponse) {
20805
+ var _apiResponse$data;
20806
+ var hostedSessionData = (apiResponse === null || apiResponse === void 0 ? void 0 : (_apiResponse$data = apiResponse.data) === null || _apiResponse$data === void 0 ? void 0 : _apiResponse$data.data) || (apiResponse === null || apiResponse === void 0 ? void 0 : apiResponse.data) || apiResponse || {};
20807
+ var parsedResponse = ChargeResponses.parse(apiResponse);
20808
+ return _objectSpread2(_objectSpread2({}, parsedResponse), {}, {
20809
+ data: _objectSpread2(_objectSpread2({}, parsedResponse.data), hostedSessionData)
20810
+ });
20811
+ },
20812
+ createHostedSession: function createHostedSession(params, publicKey) {
20813
+ var language = getLanguage();
20814
+ var headers = _objectSpread2({
20815
+ Authorization: "Bearer ".concat(publicKey)
20816
+ }, language && {
20817
+ 'Accept-Language': language
20818
+ });
20819
+ var url = new URL('instalments/create', configToUse.paystackApiUrl).toString();
20820
+ return axiosInstance.post(url, params, {
20821
+ headers: headers
20822
+ }).then(function (response) {
20823
+ return InstalmentsAPI.parseHostedSessionResponse(response.data);
20824
+ });
20825
+ }
20826
+ };
20827
+
20828
+ var paymentMethod$1 = 'instalments';
20829
+ var InstalmentsCharge = {
20830
+ chargeInstalments: function chargeInstalments() {
20831
+ var _this = this;
20832
+ var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
20833
+ provider = _ref.provider;
20834
+ if (!provider) {
20835
+ return Promise.reject(new Error('Instalment provider is required'));
20836
+ }
20837
+ this.logAttempt(paymentMethod$1);
20838
+ return InstalmentsAPI.createHostedSession({
20839
+ transaction_id: this.id,
20840
+ provider: provider
20841
+ }, this.merchant.key).then(function (response) {
20842
+ _this.logAPIResponse(response, paymentMethod$1);
20843
+ return response;
20844
+ });
20845
+ }
20846
+ };
20847
+
20803
20848
  var ChargeFunctions = {
20804
20849
  get: function get(channel) {
20805
20850
  var chargeFunctions = {
@@ -20814,7 +20859,8 @@ var ChargeFunctions = {
20814
20859
  payattitude: PayattitudeCharge,
20815
20860
  apple_pay: ApplePayCharge,
20816
20861
  paypal: PayPalCharge,
20817
- capitec_pay: CapitecPayCharge
20862
+ capitec_pay: CapitecPayCharge,
20863
+ instalments: InstalmentsCharge
20818
20864
  };
20819
20865
  return chargeFunctions[channel];
20820
20866
  }
package/lib/checkout.js CHANGED
@@ -12247,7 +12247,7 @@ var PayattitudeAPI = {
12247
12247
  }
12248
12248
  };
12249
12249
 
12250
- var paymentMethod$7 = 'payattitude';
12250
+ var paymentMethod$8 = 'payattitude';
12251
12251
  var PayattitudeCharge = {
12252
12252
  chargePayattitude: function chargePayattitude(_ref) {
12253
12253
  var _this = this;
@@ -12257,14 +12257,14 @@ var PayattitudeCharge = {
12257
12257
  phoneNumber: phoneNumber
12258
12258
  };
12259
12259
  return PayattitudeAPI.charge(params).then(function (response) {
12260
- _this.logAPIResponse(response, paymentMethod$7);
12260
+ _this.logAPIResponse(response, paymentMethod$8);
12261
12261
  return response;
12262
12262
  });
12263
12263
  },
12264
12264
  listenForPayattitudeCharge: function listenForPayattitudeCharge(callback) {
12265
12265
  var pusherChannel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
12266
12266
  var listenerOptions = {
12267
- paymentMethod: paymentMethod$7,
12267
+ paymentMethod: paymentMethod$8,
12268
12268
  channel: pusherChannel
12269
12269
  };
12270
12270
  return this.listenForCharge(listenerOptions, callback);
@@ -12341,14 +12341,14 @@ var ApplePayAPI = {
12341
12341
  }
12342
12342
  };
12343
12343
 
12344
- var paymentMethod$6 = 'apple pay';
12344
+ var paymentMethod$7 = 'apple pay';
12345
12345
  var ApplePayCharge = {
12346
12346
  validateApplePaySession: function validateApplePaySession(_ref) {
12347
12347
  var _this = this;
12348
12348
  var sessionUrl = _ref.sessionUrl,
12349
12349
  displayName = _ref.displayName,
12350
12350
  domainName = _ref.domainName;
12351
- this.logAttempt(paymentMethod$6);
12351
+ this.logAttempt(paymentMethod$7);
12352
12352
  return ApplePayAPI.validateApplePaySession({
12353
12353
  sessionUrl: sessionUrl,
12354
12354
  displayName: displayName,
@@ -12367,7 +12367,7 @@ var ApplePayCharge = {
12367
12367
  device: this.deviceFingerprint,
12368
12368
  paymentObject: paymentObject
12369
12369
  }).then(function (response) {
12370
- _this2.logAPIResponse(response, paymentMethod$6);
12370
+ _this2.logAPIResponse(response, paymentMethod$7);
12371
12371
  return response;
12372
12372
  });
12373
12373
  }
@@ -12417,11 +12417,11 @@ var PayPalAPI = {
12417
12417
  }
12418
12418
  };
12419
12419
 
12420
- var paymentMethod$5 = 'paypal';
12420
+ var paymentMethod$6 = 'paypal';
12421
12421
  var PayPalCharge = {
12422
12422
  createPayPalOrder: function createPayPalOrder() {
12423
12423
  var _this = this;
12424
- this.logAttempt(paymentMethod$5);
12424
+ this.logAttempt(paymentMethod$6);
12425
12425
  return PayPalAPI.createOrder({
12426
12426
  publicKey: this.merchant.key,
12427
12427
  transactionId: this.id
@@ -12436,7 +12436,7 @@ var PayPalCharge = {
12436
12436
  publicKey: this.merchant.key,
12437
12437
  transactionId: this.id
12438
12438
  }).then(function (response) {
12439
- _this2.logAPIResponse(response, paymentMethod$5);
12439
+ _this2.logAPIResponse(response, paymentMethod$6);
12440
12440
  return response;
12441
12441
  });
12442
12442
  },
@@ -19487,7 +19487,7 @@ var CardAPI$1 = {
19487
19487
  }
19488
19488
  };
19489
19489
 
19490
- var paymentMethod$4 = 'card';
19490
+ var paymentMethod$5 = 'card';
19491
19491
  var savedCardMethods = {
19492
19492
  payment: 'saved card',
19493
19493
  authentication: 'otp'
@@ -19523,7 +19523,7 @@ var CardCharge = {
19523
19523
  return this.chargeCardWithPin(customFields);
19524
19524
  }
19525
19525
  return validate$4(this.card).then(function () {
19526
- _this2.logAttempt(paymentMethod$4);
19526
+ _this2.logAttempt(paymentMethod$5);
19527
19527
  var chargeParams = {
19528
19528
  clientdata: _this2.card.tokenize(),
19529
19529
  last4: _this2.card.getLast4(),
@@ -19537,7 +19537,7 @@ var CardCharge = {
19537
19537
  customFields: customFields
19538
19538
  };
19539
19539
  return CardAPI$1.charge(chargeParams).then(function (response) {
19540
- _this2.logAPIResponse(response, paymentMethod$4);
19540
+ _this2.logAPIResponse(response, paymentMethod$5);
19541
19541
  return response;
19542
19542
  });
19543
19543
  });
@@ -19549,7 +19549,7 @@ var CardCharge = {
19549
19549
  chargeCardWithPin: function chargeCardWithPin() {
19550
19550
  var _this3 = this;
19551
19551
  var customFields = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
19552
- this.logAttempt(paymentMethod$4);
19552
+ this.logAttempt(paymentMethod$5);
19553
19553
  var chargeParams = {
19554
19554
  pin: encrypt(this.card.pin),
19555
19555
  trans: this.id,
@@ -19560,7 +19560,7 @@ var CardCharge = {
19560
19560
  customFields: customFields
19561
19561
  };
19562
19562
  return CardAPI$1.charge(chargeParams).then(function (response) {
19563
- _this3.logAPIResponse(response, paymentMethod$4);
19563
+ _this3.logAPIResponse(response, paymentMethod$5);
19564
19564
  return response;
19565
19565
  });
19566
19566
  },
@@ -19570,7 +19570,7 @@ var CardCharge = {
19570
19570
  authorizationCode = _ref.authorizationCode,
19571
19571
  cardLast4 = _ref.cardLast4,
19572
19572
  pin = _ref.pin;
19573
- this.logAttempt(paymentMethod$4);
19573
+ this.logAttempt(paymentMethod$5);
19574
19574
  var encryptedPin = encrypt(pin);
19575
19575
  var chargeParams = {
19576
19576
  authorizationCode: authorizationCode,
@@ -19583,7 +19583,7 @@ var CardCharge = {
19583
19583
  subscription: this.subscription
19584
19584
  };
19585
19585
  return CardAPI$1.chargeRememberedCard(chargeParams).then(function (response) {
19586
- _this4.logAPIResponse(response, paymentMethod$4);
19586
+ _this4.logAPIResponse(response, paymentMethod$5);
19587
19587
  return response;
19588
19588
  });
19589
19589
  },
@@ -19598,7 +19598,7 @@ var CardCharge = {
19598
19598
  device: this.deviceFingerprint
19599
19599
  });
19600
19600
  return CardAPI$1.resumeCardCharge(params).then(function (response) {
19601
- _this5.logAPIResponse(response, paymentMethod$4);
19601
+ _this5.logAPIResponse(response, paymentMethod$5);
19602
19602
  return response;
19603
19603
  });
19604
19604
  },
@@ -19609,14 +19609,14 @@ var CardCharge = {
19609
19609
  publicKey: this.merchant.key
19610
19610
  };
19611
19611
  return CardAPI$1.forgetRememberedCard(params).then(function (response) {
19612
- _this6.logAPIResponse(response, paymentMethod$4);
19612
+ _this6.logAPIResponse(response, paymentMethod$5);
19613
19613
  return response;
19614
19614
  });
19615
19615
  },
19616
19616
  authenticateCard: function authenticateCard(token) {
19617
19617
  var _this7 = this;
19618
19618
  return CardAPI$1.authenticate(this.id, token).then(function (response) {
19619
- _this7.logAPIResponse(response, paymentMethod$4);
19619
+ _this7.logAPIResponse(response, paymentMethod$5);
19620
19620
  return response;
19621
19621
  });
19622
19622
  },
@@ -19636,14 +19636,14 @@ var CardCharge = {
19636
19636
  selectedCurrency: selectedCurrency
19637
19637
  };
19638
19638
  return CardAPI$1.verifyAddress(payload).then(function (response) {
19639
- _this8.logAPIResponse(response, paymentMethod$4);
19639
+ _this8.logAPIResponse(response, paymentMethod$5);
19640
19640
  return response;
19641
19641
  });
19642
19642
  },
19643
19643
  listenFor3DSCharge: function listenFor3DSCharge(callback) {
19644
19644
  var listenerOptions = {
19645
19645
  channel: "3DS_".concat(this.id),
19646
- paymentMethod: paymentMethod$4
19646
+ paymentMethod: paymentMethod$5
19647
19647
  };
19648
19648
  return this.listenForCharge(listenerOptions, callback);
19649
19649
  },
@@ -19931,7 +19931,7 @@ var EMandateAPI = {
19931
19931
  }
19932
19932
  };
19933
19933
 
19934
- var paymentMethod$3 = 'bank account';
19934
+ var paymentMethod$4 = 'bank account';
19935
19935
  function validate$3(bankAccount, isSetter) {
19936
19936
  return new Promise(function (resolve, reject) {
19937
19937
  var validation = BankAccount.validate(bankAccount);
@@ -19953,7 +19953,7 @@ var EMandate = {
19953
19953
  chargeBankAccount: function chargeBankAccount() {
19954
19954
  var _this2 = this;
19955
19955
  return validate$3(this.bankAccount).then(function () {
19956
- _this2.logAttempt(paymentMethod$3);
19956
+ _this2.logAttempt(paymentMethod$4);
19957
19957
  var verifyParams = {
19958
19958
  bankId: _this2.bankAccount.bankId,
19959
19959
  transactionId: _this2.id,
@@ -19961,7 +19961,7 @@ var EMandate = {
19961
19961
  device: _this2.deviceFingerprint
19962
19962
  };
19963
19963
  return EMandateAPI.verify(verifyParams).then(function (response) {
19964
- _this2.logAPIResponse(response, paymentMethod$3);
19964
+ _this2.logAPIResponse(response, paymentMethod$4);
19965
19965
  return response;
19966
19966
  });
19967
19967
  });
@@ -19976,7 +19976,7 @@ var EMandate = {
19976
19976
  birthday: birthday
19977
19977
  };
19978
19978
  return EMandateAPI.register(registerParams).then(function (response) {
19979
- _this3.logAPIResponse(response, paymentMethod$3);
19979
+ _this3.logAPIResponse(response, paymentMethod$4);
19980
19980
  return response;
19981
19981
  });
19982
19982
  });
@@ -19991,7 +19991,7 @@ var EMandate = {
19991
19991
  device: _this4.deviceFingerprint
19992
19992
  };
19993
19993
  return EMandateAPI.authenticate(chargeParams).then(function (response) {
19994
- _this4.logAPIResponse(response, paymentMethod$3);
19994
+ _this4.logAPIResponse(response, paymentMethod$4);
19995
19995
  return response;
19996
19996
  });
19997
19997
  });
@@ -20050,7 +20050,7 @@ var DigitalBankMandateAPI = {
20050
20050
  }
20051
20051
  };
20052
20052
 
20053
- var paymentMethod$2 = 'bank';
20053
+ var paymentMethod$3 = 'bank';
20054
20054
  var DigitalBankMandate = {
20055
20055
  chargeDigitalBankMandate: function chargeDigitalBankMandate(_ref) {
20056
20056
  var _this = this;
@@ -20066,14 +20066,14 @@ var DigitalBankMandate = {
20066
20066
  walletId: walletId
20067
20067
  };
20068
20068
  return DigitalBankMandateAPI.charge(params).then(function (response) {
20069
- _this.logAPIResponse(response, paymentMethod$2);
20069
+ _this.logAPIResponse(response, paymentMethod$3);
20070
20070
  return response;
20071
20071
  });
20072
20072
  },
20073
20073
  listenForDigitalBankMandateCharge: function listenForDigitalBankMandateCharge(callback) {
20074
20074
  var pusherChannel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
20075
20075
  var listenerOptions = {
20076
- paymentMethod: paymentMethod$2,
20076
+ paymentMethod: paymentMethod$3,
20077
20077
  channel: pusherChannel
20078
20078
  };
20079
20079
  return this.listenForCharge(listenerOptions, callback);
@@ -20545,7 +20545,7 @@ var DirectDebitAPI = {
20545
20545
  }
20546
20546
  };
20547
20547
 
20548
- var paymentMethod$1 = 'direct debit';
20548
+ var paymentMethod$2 = 'direct debit';
20549
20549
  var DirectDebitCharge = {
20550
20550
  loginToDirectDebitAccount: function loginToDirectDebitAccount(_ref) {
20551
20551
  var _this = this;
@@ -20582,14 +20582,14 @@ var DirectDebitCharge = {
20582
20582
  if (!this.directDebit.token) {
20583
20583
  return Promise.reject(Error('Please login with Transaction.loginToDirectDebitAccount() to start a Direct debit charge'));
20584
20584
  }
20585
- this.logAttempt(paymentMethod$1);
20585
+ this.logAttempt(paymentMethod$2);
20586
20586
  var params = {
20587
20587
  account_code: accountCode,
20588
20588
  transaction: this.id,
20589
20589
  token: this.directDebit.token
20590
20590
  };
20591
20591
  return DirectDebitAPI.charge(params).then(function (response) {
20592
- _this2.logAPIResponse(response, paymentMethod$1);
20592
+ _this2.logAPIResponse(response, paymentMethod$2);
20593
20593
  if (response.status) {
20594
20594
  _this2.directDebit.chargeResponse = response;
20595
20595
  }
@@ -20599,7 +20599,7 @@ var DirectDebitCharge = {
20599
20599
  getProvisionedAccounts: function getProvisionedAccounts() {
20600
20600
  var _this3 = this;
20601
20601
  return DirectDebitAPI.getProvisionedAccounts(this.directDebit.token).then(function (response) {
20602
- _this3.logAPIResponse(response, paymentMethod$1);
20602
+ _this3.logAPIResponse(response, paymentMethod$2);
20603
20603
  var status = response.status,
20604
20604
  data = response.data;
20605
20605
  if (status) {
@@ -20619,7 +20619,7 @@ var DirectDebitCharge = {
20619
20619
  token: this.directDebit.token
20620
20620
  };
20621
20621
  return DirectDebitAPI.authenticate(params).then(function (response) {
20622
- _this4.logAPIResponse(response, paymentMethod$1);
20622
+ _this4.logAPIResponse(response, paymentMethod$2);
20623
20623
  return response;
20624
20624
  });
20625
20625
  }
@@ -20804,6 +20804,51 @@ var CapitecPayCharge = {
20804
20804
  }
20805
20805
  };
20806
20806
 
20807
+ var InstalmentsAPI = {
20808
+ parseHostedSessionResponse: function parseHostedSessionResponse(apiResponse) {
20809
+ var _apiResponse$data;
20810
+ var hostedSessionData = (apiResponse === null || apiResponse === void 0 ? void 0 : (_apiResponse$data = apiResponse.data) === null || _apiResponse$data === void 0 ? void 0 : _apiResponse$data.data) || (apiResponse === null || apiResponse === void 0 ? void 0 : apiResponse.data) || apiResponse || {};
20811
+ var parsedResponse = ChargeResponses.parse(apiResponse);
20812
+ return _objectSpread2(_objectSpread2({}, parsedResponse), {}, {
20813
+ data: _objectSpread2(_objectSpread2({}, parsedResponse.data), hostedSessionData)
20814
+ });
20815
+ },
20816
+ createHostedSession: function createHostedSession(params, publicKey) {
20817
+ var language = getLanguage();
20818
+ var headers = _objectSpread2({
20819
+ Authorization: "Bearer ".concat(publicKey)
20820
+ }, language && {
20821
+ 'Accept-Language': language
20822
+ });
20823
+ var url = new URL('instalments/create', configToUse.paystackApiUrl).toString();
20824
+ return axiosInstance.post(url, params, {
20825
+ headers: headers
20826
+ }).then(function (response) {
20827
+ return InstalmentsAPI.parseHostedSessionResponse(response.data);
20828
+ });
20829
+ }
20830
+ };
20831
+
20832
+ var paymentMethod$1 = 'instalments';
20833
+ var InstalmentsCharge = {
20834
+ chargeInstalments: function chargeInstalments() {
20835
+ var _this = this;
20836
+ var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
20837
+ provider = _ref.provider;
20838
+ if (!provider) {
20839
+ return Promise.reject(new Error('Instalment provider is required'));
20840
+ }
20841
+ this.logAttempt(paymentMethod$1);
20842
+ return InstalmentsAPI.createHostedSession({
20843
+ transaction_id: this.id,
20844
+ provider: provider
20845
+ }, this.merchant.key).then(function (response) {
20846
+ _this.logAPIResponse(response, paymentMethod$1);
20847
+ return response;
20848
+ });
20849
+ }
20850
+ };
20851
+
20807
20852
  var ChargeFunctions = {
20808
20853
  get: function get(channel) {
20809
20854
  var chargeFunctions = {
@@ -20818,7 +20863,8 @@ var ChargeFunctions = {
20818
20863
  payattitude: PayattitudeCharge,
20819
20864
  apple_pay: ApplePayCharge,
20820
20865
  paypal: PayPalCharge,
20821
- capitec_pay: CapitecPayCharge
20866
+ capitec_pay: CapitecPayCharge,
20867
+ instalments: InstalmentsCharge
20822
20868
  };
20823
20869
  return chargeFunctions[channel];
20824
20870
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paystack/checkout-js",
3
- "version": "1.52.0-beta.10",
3
+ "version": "1.52.0-beta.11",
4
4
  "description": "Client-side JS library for billing on Paystack",
5
5
  "main": "lib/checkout.js",
6
6
  "module": "es/checkout.js",