@paystack/checkout-js 1.26.0-dev.14 → 1.26.0-dev.15
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 +671 -696
- package/es/checkout.js +671 -696
- package/lib/checkout.js +671 -696
- package/package.json +1 -1
package/es/checkout.js
CHANGED
|
@@ -19762,721 +19762,538 @@ var PhoneNumber = /*#__PURE__*/function () {
|
|
|
19762
19762
|
return PhoneNumber;
|
|
19763
19763
|
}();
|
|
19764
19764
|
|
|
19765
|
-
var
|
|
19765
|
+
var MobileMoneyAPI = {
|
|
19766
|
+
charge: function charge(_ref) {
|
|
19767
|
+
var transaction = _ref.transaction,
|
|
19768
|
+
phone = _ref.phone,
|
|
19769
|
+
device = _ref.device,
|
|
19770
|
+
channelName = _ref.channel_name,
|
|
19771
|
+
provider = _ref.provider,
|
|
19772
|
+
voucher = _ref.voucher,
|
|
19773
|
+
registrationToken = _ref.registrationToken;
|
|
19774
|
+
var params = {
|
|
19775
|
+
transaction: transaction,
|
|
19776
|
+
phone: phone,
|
|
19777
|
+
device: device,
|
|
19778
|
+
channel_name: channelName,
|
|
19779
|
+
provider: provider,
|
|
19780
|
+
voucher: voucher,
|
|
19781
|
+
registration_token: registrationToken
|
|
19782
|
+
};
|
|
19783
|
+
var language = getLanguage();
|
|
19766
19784
|
|
|
19767
|
-
|
|
19768
|
-
|
|
19769
|
-
|
|
19770
|
-
ua = ua.headers['user-agent'];
|
|
19771
|
-
}
|
|
19772
|
-
if (typeof ua != 'string') return false;
|
|
19785
|
+
var headers = _objectSpread2({}, language && {
|
|
19786
|
+
'Accept-Language': language
|
|
19787
|
+
});
|
|
19773
19788
|
|
|
19774
|
-
|
|
19775
|
-
|
|
19789
|
+
return axiosInstance.post("".concat(configToUse.paystackApiUrl, "charge/mobile_money"), params, {
|
|
19790
|
+
headers: headers
|
|
19791
|
+
}).then(function (response) {
|
|
19792
|
+
return ChargeResponses.parse(response.data);
|
|
19793
|
+
}).catch(function (_ref2) {
|
|
19794
|
+
var response = _ref2.response;
|
|
19795
|
+
return ChargeResponses.parse(response.data);
|
|
19796
|
+
});
|
|
19797
|
+
},
|
|
19798
|
+
submitCode: function submitCode(_ref3) {
|
|
19799
|
+
var transaction = _ref3.transaction,
|
|
19800
|
+
code = _ref3.code;
|
|
19801
|
+
var language = getLanguage();
|
|
19776
19802
|
|
|
19777
|
-
var
|
|
19778
|
-
|
|
19779
|
-
|
|
19780
|
-
attempts = _ref.attempts,
|
|
19781
|
-
authentication = _ref.authentication,
|
|
19782
|
-
errors = _ref.errors,
|
|
19783
|
-
history = _ref.history;
|
|
19803
|
+
var headers = _objectSpread2({}, language && {
|
|
19804
|
+
'Accept-Language': language
|
|
19805
|
+
});
|
|
19784
19806
|
|
|
19785
|
-
|
|
19786
|
-
|
|
19787
|
-
|
|
19788
|
-
|
|
19789
|
-
|
|
19790
|
-
|
|
19791
|
-
|
|
19792
|
-
|
|
19793
|
-
|
|
19794
|
-
|
|
19795
|
-
};
|
|
19796
|
-
},
|
|
19797
|
-
getTimeSpent: function getTimeSpent(startTime) {
|
|
19798
|
-
var currentTimeInSeconds = Math.round(Date.now() / 1000);
|
|
19799
|
-
return currentTimeInSeconds - startTime;
|
|
19807
|
+
var urlEncodedData = formUrlencoded({
|
|
19808
|
+
transaction: transaction,
|
|
19809
|
+
otp: code
|
|
19810
|
+
});
|
|
19811
|
+
var url = new URL('charge/momo_payin_finalize', configToUse.paymentBaseUrl).toString();
|
|
19812
|
+
return axiosInstance.post(url, urlEncodedData, {
|
|
19813
|
+
headers: headers
|
|
19814
|
+
}).then(function (response) {
|
|
19815
|
+
return ChargeResponses.parse(response.data);
|
|
19816
|
+
});
|
|
19800
19817
|
}
|
|
19801
19818
|
};
|
|
19802
19819
|
|
|
19803
|
-
|
|
19804
|
-
|
|
19805
|
-
var
|
|
19806
|
-
var apply = functionApply;
|
|
19807
|
-
var uncurryThis = functionUncurryThis;
|
|
19808
|
-
var fails = fails$t;
|
|
19820
|
+
function validate$1(phoneNumber) {
|
|
19821
|
+
return new Promise(function (resolve, reject) {
|
|
19822
|
+
var validation = PhoneNumber.validate(phoneNumber);
|
|
19809
19823
|
|
|
19810
|
-
|
|
19811
|
-
var
|
|
19812
|
-
|
|
19813
|
-
|
|
19814
|
-
var charCodeAt = uncurryThis(''.charCodeAt);
|
|
19815
|
-
var replace = uncurryThis(''.replace);
|
|
19816
|
-
var numberToString = uncurryThis(1.0.toString);
|
|
19824
|
+
if (!validation.isValid) {
|
|
19825
|
+
var errorMessage = phoneNumber ? validation.errors[0] : 'Please start a mobile money transaction with Transaction.chargeMobileMoney()';
|
|
19826
|
+
reject(Error(errorMessage));
|
|
19827
|
+
}
|
|
19817
19828
|
|
|
19818
|
-
|
|
19819
|
-
|
|
19820
|
-
|
|
19829
|
+
resolve(validation);
|
|
19830
|
+
});
|
|
19831
|
+
}
|
|
19821
19832
|
|
|
19822
|
-
var
|
|
19823
|
-
|
|
19824
|
-
|
|
19825
|
-
if ((exec(low, match) && !exec(hi, next)) || (exec(hi, match) && !exec(low, prev))) {
|
|
19826
|
-
return '\\u' + numberToString(charCodeAt(match, 0), 16);
|
|
19827
|
-
} return match;
|
|
19828
|
-
};
|
|
19833
|
+
var MobileMoneyCharge = {
|
|
19834
|
+
mobileMoneyChargeAPI: function mobileMoneyChargeAPI(params) {
|
|
19835
|
+
var _this = this;
|
|
19829
19836
|
|
|
19830
|
-
|
|
19831
|
-
|
|
19832
|
-
|
|
19833
|
-
});
|
|
19837
|
+
return MobileMoneyAPI.charge(params).then(function (response) {
|
|
19838
|
+
if (response.status === 'success') {
|
|
19839
|
+
_this.mobileMoney = response;
|
|
19834
19840
|
|
|
19835
|
-
if (
|
|
19836
|
-
|
|
19837
|
-
|
|
19838
|
-
|
|
19839
|
-
$({ target: 'JSON', stat: true, forced: FORCED }, {
|
|
19840
|
-
// eslint-disable-next-line no-unused-vars -- required for `.length`
|
|
19841
|
-
stringify: function stringify(it, replacer, space) {
|
|
19842
|
-
for (var i = 0, l = arguments.length, args = Array$1(l); i < l; i++) args[i] = arguments[i];
|
|
19843
|
-
var result = apply($stringify, null, args);
|
|
19844
|
-
return typeof result == 'string' ? replace(result, tester, fix) : result;
|
|
19845
|
-
}
|
|
19846
|
-
});
|
|
19847
|
-
}
|
|
19841
|
+
if (response.data && response.data.display && response.data.display.otpSentCount === 1) {
|
|
19842
|
+
_this.logTokenRequest('mobile money');
|
|
19843
|
+
}
|
|
19844
|
+
}
|
|
19848
19845
|
|
|
19849
|
-
|
|
19850
|
-
|
|
19851
|
-
|
|
19852
|
-
|
|
19853
|
-
var
|
|
19846
|
+
return response;
|
|
19847
|
+
});
|
|
19848
|
+
},
|
|
19849
|
+
chargeMobileMoney: function chargeMobileMoney(_ref) {
|
|
19850
|
+
var _this2 = this;
|
|
19854
19851
|
|
|
19855
|
-
var
|
|
19856
|
-
|
|
19857
|
-
|
|
19858
|
-
|
|
19852
|
+
var phoneNumber = _ref.phoneNumber,
|
|
19853
|
+
provider = _ref.provider,
|
|
19854
|
+
voucher = _ref.voucher,
|
|
19855
|
+
registrationToken = _ref.registrationToken;
|
|
19856
|
+
return validate$1(phoneNumber).then(function () {
|
|
19857
|
+
_this2.logAttempt('mobile money');
|
|
19858
|
+
|
|
19859
|
+
var params = {
|
|
19860
|
+
provider: provider,
|
|
19861
|
+
voucher: voucher,
|
|
19862
|
+
registrationToken: registrationToken,
|
|
19863
|
+
transaction: _this2.id,
|
|
19864
|
+
phone: phoneNumber,
|
|
19865
|
+
device: _this2.deviceFingerprint,
|
|
19866
|
+
channel_name: "MOBILE_MONEY_".concat(_this2.id)
|
|
19867
|
+
};
|
|
19868
|
+
return _this2.mobileMoneyChargeAPI(params);
|
|
19859
19869
|
});
|
|
19870
|
+
},
|
|
19871
|
+
chargeMpesaOffline: function chargeMpesaOffline(_ref2) {
|
|
19872
|
+
var provider = _ref2.provider,
|
|
19873
|
+
voucher = _ref2.voucher,
|
|
19874
|
+
registrationToken = _ref2.registrationToken;
|
|
19875
|
+
this.logAttempt('mobile money');
|
|
19876
|
+
var params = {
|
|
19877
|
+
provider: provider,
|
|
19878
|
+
voucher: voucher,
|
|
19879
|
+
registrationToken: registrationToken,
|
|
19880
|
+
transaction: this.id,
|
|
19881
|
+
device: this.deviceFingerprint,
|
|
19882
|
+
channel_name: "MOBILE_MONEY_".concat(this.id)
|
|
19883
|
+
};
|
|
19884
|
+
return this.mobileMoneyChargeAPI(params);
|
|
19885
|
+
},
|
|
19886
|
+
authenticateMobileMoney: function authenticateMobileMoney(payload) {
|
|
19887
|
+
var _this3 = this;
|
|
19860
19888
|
|
|
19861
|
-
|
|
19862
|
-
|
|
19863
|
-
|
|
19864
|
-
|
|
19889
|
+
var phoneNumber = payload.phoneNumber,
|
|
19890
|
+
provider = payload.provider,
|
|
19891
|
+
registrationToken = payload.registrationToken;
|
|
19892
|
+
return validate$1(phoneNumber).then(function () {
|
|
19893
|
+
_this3.logMobileMoneyActions(payload);
|
|
19894
|
+
|
|
19895
|
+
var params = {
|
|
19896
|
+
provider: provider,
|
|
19897
|
+
registrationToken: registrationToken,
|
|
19898
|
+
transaction: _this3.id,
|
|
19899
|
+
phone: phoneNumber,
|
|
19900
|
+
device: _this3.deviceFingerprint,
|
|
19901
|
+
channel_name: "MOBILE_MONEY_".concat(_this3.id)
|
|
19902
|
+
};
|
|
19903
|
+
return MobileMoneyAPI.charge(params).then(function (response) {
|
|
19904
|
+
if (response.status === 'success') {
|
|
19905
|
+
_this3.mobileMoney = response;
|
|
19906
|
+
|
|
19907
|
+
if (response.data && response.data.display && response.data.display.otpSentCount === 1) {
|
|
19908
|
+
_this3.logTokenRequest('mobile money');
|
|
19909
|
+
}
|
|
19910
|
+
} else if (response.errors && response.errors.data && response.errors.data.status === 'awaiting_registration_token') {
|
|
19911
|
+
_this3.logTokenAuthenticationFailure(response.message);
|
|
19912
|
+
} else {
|
|
19913
|
+
_this3.logError(response.message);
|
|
19914
|
+
}
|
|
19915
|
+
|
|
19916
|
+
return response;
|
|
19917
|
+
});
|
|
19918
|
+
});
|
|
19919
|
+
},
|
|
19920
|
+
submitMobileMoneyCode: function submitMobileMoneyCode(payload) {
|
|
19921
|
+
var _this4 = this;
|
|
19922
|
+
|
|
19923
|
+
return MobileMoneyAPI.submitCode({
|
|
19924
|
+
code: payload.code,
|
|
19925
|
+
transaction: this.id
|
|
19865
19926
|
}).then(function (response) {
|
|
19866
|
-
|
|
19927
|
+
_this4.logAPIResponse(response, 'mobile_money');
|
|
19928
|
+
|
|
19929
|
+
return response;
|
|
19867
19930
|
});
|
|
19868
19931
|
},
|
|
19869
|
-
|
|
19870
|
-
|
|
19932
|
+
listenForMobileMoneyCharge: function listenForMobileMoneyCharge(callback) {
|
|
19933
|
+
if (this.mobileMoney.status !== 'success') {
|
|
19934
|
+
return Promise.reject(Error('Please start a mobile money charge with Transaction.chargeMobileMoney()'));
|
|
19935
|
+
}
|
|
19936
|
+
|
|
19937
|
+
var _this$mobileMoney$dat = this.mobileMoney.data,
|
|
19938
|
+
channel = _this$mobileMoney$dat.channel,
|
|
19939
|
+
channelName = _this$mobileMoney$dat.channel_name;
|
|
19940
|
+
var listenerOptions = {
|
|
19941
|
+
channel: channel || channelName,
|
|
19942
|
+
paymentMethod: 'mobile_money'
|
|
19943
|
+
};
|
|
19944
|
+
return this.listenForCharge(listenerOptions, callback);
|
|
19945
|
+
}
|
|
19946
|
+
};
|
|
19947
|
+
|
|
19948
|
+
var DirectDebitAPI = {
|
|
19949
|
+
loginToDirectDebitAccount: function loginToDirectDebitAccount(_ref) {
|
|
19950
|
+
var email = _ref.email,
|
|
19951
|
+
password = _ref.password;
|
|
19952
|
+
var params = {
|
|
19953
|
+
email: email,
|
|
19954
|
+
password: password
|
|
19955
|
+
};
|
|
19871
19956
|
var language = getLanguage();
|
|
19872
19957
|
|
|
19873
19958
|
var headers = _objectSpread2({}, language && {
|
|
19874
19959
|
'Accept-Language': language
|
|
19875
19960
|
});
|
|
19876
19961
|
|
|
19877
|
-
return axiosInstance.
|
|
19962
|
+
return axiosInstance.post("".concat(configToUse.paystackApiUrl, "login"), params, {
|
|
19878
19963
|
headers: headers
|
|
19879
19964
|
}).then(function (response) {
|
|
19880
|
-
return response.data
|
|
19965
|
+
return ChargeResponses.parse(response.data);
|
|
19881
19966
|
});
|
|
19882
19967
|
},
|
|
19883
|
-
|
|
19884
|
-
var
|
|
19968
|
+
charge: function charge(_ref2) {
|
|
19969
|
+
var accountCode = _ref2.account_code,
|
|
19970
|
+
transaction = _ref2.transaction,
|
|
19971
|
+
token = _ref2.token;
|
|
19885
19972
|
var language = getLanguage();
|
|
19886
19973
|
|
|
19887
19974
|
var headers = _objectSpread2({
|
|
19888
|
-
Authorization: "Bearer ".concat(
|
|
19975
|
+
Authorization: "Bearer ".concat(token),
|
|
19976
|
+
'jwt-auth': true
|
|
19889
19977
|
}, language && {
|
|
19890
19978
|
'Accept-Language': language
|
|
19891
19979
|
});
|
|
19892
19980
|
|
|
19893
|
-
|
|
19981
|
+
var params = {
|
|
19982
|
+
account_code: accountCode,
|
|
19983
|
+
transaction: transaction
|
|
19984
|
+
};
|
|
19985
|
+
return axiosInstance.post("".concat(configToUse.paystackApiUrl, "directdebit/initiate"), params, {
|
|
19894
19986
|
headers: headers
|
|
19895
19987
|
}).then(function (response) {
|
|
19896
|
-
return response.data;
|
|
19988
|
+
return ChargeResponses.parse(response.data);
|
|
19897
19989
|
});
|
|
19898
19990
|
},
|
|
19899
|
-
|
|
19900
|
-
var
|
|
19901
|
-
|
|
19991
|
+
authenticate: function authenticate(_ref3) {
|
|
19992
|
+
var otp = _ref3.otp,
|
|
19993
|
+
transaction = _ref3.transaction,
|
|
19994
|
+
token = _ref3.token;
|
|
19902
19995
|
var language = getLanguage();
|
|
19903
19996
|
|
|
19904
19997
|
var headers = _objectSpread2({
|
|
19905
|
-
Authorization: "Bearer ".concat(
|
|
19998
|
+
Authorization: "Bearer ".concat(token),
|
|
19999
|
+
'jwt-auth': true
|
|
19906
20000
|
}, language && {
|
|
19907
20001
|
'Accept-Language': language
|
|
19908
20002
|
});
|
|
19909
20003
|
|
|
19910
|
-
|
|
19911
|
-
|
|
19912
|
-
|
|
20004
|
+
var params = {
|
|
20005
|
+
otp: otp,
|
|
20006
|
+
transaction: transaction
|
|
20007
|
+
};
|
|
20008
|
+
return axiosInstance.post("".concat(configToUse.paystackApiUrl, "directdebit/validate"), params, {
|
|
19913
20009
|
headers: headers
|
|
19914
20010
|
}).then(function (response) {
|
|
19915
|
-
return response.data;
|
|
19916
|
-
});
|
|
19917
|
-
}
|
|
19918
|
-
};
|
|
19919
|
-
|
|
19920
|
-
var AnalyticsAPI = {
|
|
19921
|
-
saveLog: function saveLog(transactionId, merchantKey, log) {
|
|
19922
|
-
var url = new URL("transaction/update_log/".concat(transactionId), configToUse.paystackApiUrl).toString();
|
|
19923
|
-
return AnalyticsAPIUtils.saveLog(url, {
|
|
19924
|
-
merchantKey: merchantKey,
|
|
19925
|
-
log: log
|
|
20011
|
+
return ChargeResponses.parse(response.data);
|
|
19926
20012
|
});
|
|
19927
20013
|
},
|
|
19928
|
-
|
|
19929
|
-
|
|
19930
|
-
|
|
19931
|
-
|
|
19932
|
-
|
|
19933
|
-
|
|
19934
|
-
|
|
20014
|
+
getProvisionedAccounts: function getProvisionedAccounts(token) {
|
|
20015
|
+
var language = getLanguage();
|
|
20016
|
+
|
|
20017
|
+
var headers = _objectSpread2({
|
|
20018
|
+
Authorization: "Bearer ".concat(token),
|
|
20019
|
+
'jwt-auth': true
|
|
20020
|
+
}, language && {
|
|
20021
|
+
'Accept-Language': language
|
|
19935
20022
|
});
|
|
19936
|
-
|
|
19937
|
-
|
|
19938
|
-
|
|
19939
|
-
|
|
19940
|
-
|
|
19941
|
-
referrer: referrer
|
|
20023
|
+
|
|
20024
|
+
return axiosInstance.get("".concat(configToUse.paystackApiUrl, "directdebit/account"), {
|
|
20025
|
+
headers: headers
|
|
20026
|
+
}).then(function (response) {
|
|
20027
|
+
return response.data;
|
|
19942
20028
|
});
|
|
19943
20029
|
}
|
|
19944
20030
|
};
|
|
19945
20031
|
|
|
19946
|
-
var
|
|
19947
|
-
|
|
19948
|
-
|
|
19949
|
-
},
|
|
19950
|
-
getTimeSpent: function getTimeSpent() {
|
|
19951
|
-
this.log.time_spent = AnalyticsUtils.getTimeSpent(this.log.start_time);
|
|
19952
|
-
return this.log.time_spent;
|
|
19953
|
-
},
|
|
19954
|
-
logPageOpen: function logPageOpen() {
|
|
19955
|
-
this.log.history.push({
|
|
19956
|
-
type: 'open',
|
|
19957
|
-
message: 'Opened checkout',
|
|
19958
|
-
time: this.getTimeSpent()
|
|
19959
|
-
});
|
|
19960
|
-
return this.saveLog();
|
|
19961
|
-
},
|
|
19962
|
-
logChannelSwitch: function logChannelSwitch(value) {
|
|
19963
|
-
this.log.history.push({
|
|
19964
|
-
type: 'action',
|
|
19965
|
-
message: "Set payment method to: ".concat(value),
|
|
19966
|
-
time: this.getTimeSpent()
|
|
19967
|
-
});
|
|
19968
|
-
return this.saveLog();
|
|
19969
|
-
},
|
|
19970
|
-
logValidationErrors: function logValidationErrors(inputs) {
|
|
20032
|
+
var paymentMethod$1 = 'direct debit';
|
|
20033
|
+
var DirectDebitCharge = {
|
|
20034
|
+
loginToDirectDebitAccount: function loginToDirectDebitAccount(_ref) {
|
|
19971
20035
|
var _this = this;
|
|
19972
20036
|
|
|
19973
|
-
|
|
19974
|
-
|
|
19975
|
-
|
|
19976
|
-
|
|
19977
|
-
|
|
19978
|
-
|
|
19979
|
-
});
|
|
19980
|
-
return this.saveLog();
|
|
19981
|
-
},
|
|
19982
|
-
logInput: function logInput(value) {
|
|
19983
|
-
var isUpdate = this.log.history.find(function (item) {
|
|
19984
|
-
return item.message === "Filled this field: ".concat(value);
|
|
19985
|
-
});
|
|
19986
|
-
this.log.history.push({
|
|
19987
|
-
type: 'input',
|
|
19988
|
-
message: "".concat(isUpdate ? 'Changed' : 'Filled', " this field: ").concat(value),
|
|
19989
|
-
time: this.getTimeSpent()
|
|
19990
|
-
});
|
|
19991
|
-
return this.saveLog();
|
|
19992
|
-
},
|
|
19993
|
-
logBankSelect: function logBankSelect(value) {
|
|
19994
|
-
this.log.history.push({
|
|
19995
|
-
type: 'action',
|
|
19996
|
-
message: "Selected bank: ".concat(value),
|
|
19997
|
-
time: this.getTimeSpent()
|
|
19998
|
-
});
|
|
19999
|
-
return this.saveLog();
|
|
20000
|
-
},
|
|
20001
|
-
logSavedCardSelect: function logSavedCardSelect() {
|
|
20002
|
-
this.log.history.push({
|
|
20003
|
-
type: 'action',
|
|
20004
|
-
message: 'Selected saved card',
|
|
20005
|
-
time: this.getTimeSpent()
|
|
20006
|
-
});
|
|
20007
|
-
return this.saveLog();
|
|
20008
|
-
},
|
|
20009
|
-
logAuthWindowOpen: function logAuthWindowOpen() {
|
|
20010
|
-
this.log.history.push({
|
|
20011
|
-
type: 'action',
|
|
20012
|
-
message: 'Third-party authentication window opened',
|
|
20013
|
-
time: this.getTimeSpent()
|
|
20014
|
-
});
|
|
20015
|
-
return this.saveLog();
|
|
20016
|
-
},
|
|
20017
|
-
logAuthWindowClose: function logAuthWindowClose() {
|
|
20018
|
-
this.log.history.push({
|
|
20019
|
-
type: 'action',
|
|
20020
|
-
message: 'Third-party authentication window closed',
|
|
20021
|
-
time: this.getTimeSpent()
|
|
20022
|
-
});
|
|
20023
|
-
return this.saveLog();
|
|
20024
|
-
},
|
|
20025
|
-
logAPIResponse: function logAPIResponse(response, channel) {
|
|
20026
|
-
switch (response.status) {
|
|
20027
|
-
case 'success':
|
|
20028
|
-
return this.logSuccess(channel);
|
|
20037
|
+
var email = _ref.email,
|
|
20038
|
+
password = _ref.password;
|
|
20039
|
+
var params = {
|
|
20040
|
+
email: email,
|
|
20041
|
+
password: password
|
|
20042
|
+
};
|
|
20029
20043
|
|
|
20030
|
-
|
|
20031
|
-
|
|
20044
|
+
if (!isValidEmail(email)) {
|
|
20045
|
+
return Promise.reject(Error('Invalid email'));
|
|
20046
|
+
}
|
|
20032
20047
|
|
|
20033
|
-
|
|
20034
|
-
|
|
20048
|
+
return DirectDebitAPI.loginToDirectDebitAccount(params).then(function (response) {
|
|
20049
|
+
if (response.status === 'success') {
|
|
20050
|
+
var _response$data = response.data,
|
|
20051
|
+
token = _response$data.token,
|
|
20052
|
+
permissions = _response$data.user.permissions;
|
|
20035
20053
|
|
|
20036
|
-
|
|
20037
|
-
|
|
20054
|
+
if (!permissions || permissions.length < 1) {
|
|
20055
|
+
throw Error('You do not have the privileges to perform this action');
|
|
20056
|
+
}
|
|
20038
20057
|
|
|
20039
|
-
|
|
20040
|
-
|
|
20041
|
-
|
|
20042
|
-
|
|
20043
|
-
|
|
20044
|
-
|
|
20045
|
-
registrationToken = _ref.registrationToken;
|
|
20058
|
+
if (permissions.find(function (permission) {
|
|
20059
|
+
return permission === 'directdebit-*';
|
|
20060
|
+
})) {
|
|
20061
|
+
_this.directDebit.token = token;
|
|
20062
|
+
return response;
|
|
20063
|
+
}
|
|
20046
20064
|
|
|
20047
|
-
|
|
20048
|
-
|
|
20049
|
-
|
|
20050
|
-
|
|
20051
|
-
} else {
|
|
20052
|
-
this.logAttempt('mobile money');
|
|
20053
|
-
}
|
|
20054
|
-
},
|
|
20055
|
-
logAPIResponseMessage: function logAPIResponseMessage(message) {
|
|
20056
|
-
this.log.history.push({
|
|
20057
|
-
type: 'action',
|
|
20058
|
-
message: message,
|
|
20059
|
-
time: this.getTimeSpent()
|
|
20065
|
+
throw Error('You do not have the privileges to perform this action');
|
|
20066
|
+
}
|
|
20067
|
+
|
|
20068
|
+
return response;
|
|
20060
20069
|
});
|
|
20061
|
-
return this.saveLog();
|
|
20062
20070
|
},
|
|
20063
|
-
|
|
20064
|
-
var
|
|
20071
|
+
chargeDirectDebit: function chargeDirectDebit(accountCode) {
|
|
20072
|
+
var _this2 = this;
|
|
20065
20073
|
|
|
20066
|
-
if (
|
|
20067
|
-
|
|
20074
|
+
if (!this.directDebit.token) {
|
|
20075
|
+
return Promise.reject(Error('Please login with Transaction.loginToDirectDebitAccount() to start a Direct debit charge'));
|
|
20068
20076
|
}
|
|
20069
20077
|
|
|
20070
|
-
this.
|
|
20071
|
-
|
|
20072
|
-
|
|
20073
|
-
|
|
20074
|
-
|
|
20078
|
+
this.logAttempt(paymentMethod$1);
|
|
20079
|
+
var params = {
|
|
20080
|
+
account_code: accountCode,
|
|
20081
|
+
transaction: this.id,
|
|
20082
|
+
token: this.directDebit.token
|
|
20083
|
+
};
|
|
20084
|
+
return DirectDebitAPI.charge(params).then(function (response) {
|
|
20085
|
+
_this2.logAPIResponse(response, paymentMethod$1);
|
|
20086
|
+
|
|
20087
|
+
if (response.status) {
|
|
20088
|
+
_this2.directDebit.chargeResponse = response;
|
|
20089
|
+
}
|
|
20090
|
+
|
|
20091
|
+
return response;
|
|
20075
20092
|
});
|
|
20076
|
-
return this.saveLog();
|
|
20077
20093
|
},
|
|
20078
|
-
|
|
20079
|
-
var
|
|
20080
|
-
|
|
20081
|
-
this.
|
|
20082
|
-
|
|
20083
|
-
|
|
20084
|
-
|
|
20085
|
-
|
|
20094
|
+
getProvisionedAccounts: function getProvisionedAccounts() {
|
|
20095
|
+
var _this3 = this;
|
|
20096
|
+
|
|
20097
|
+
return DirectDebitAPI.getProvisionedAccounts(this.directDebit.token).then(function (response) {
|
|
20098
|
+
_this3.logAPIResponse(response, paymentMethod$1);
|
|
20099
|
+
|
|
20100
|
+
var status = response.status,
|
|
20101
|
+
data = response.data;
|
|
20102
|
+
|
|
20103
|
+
if (status) {
|
|
20104
|
+
if (data && data.length < 1) {
|
|
20105
|
+
return Promise.reject(Error('You have not provisioned any bank account for Direct Debit yet'));
|
|
20106
|
+
}
|
|
20107
|
+
|
|
20108
|
+
_this3.directDebit.accounts = response.data;
|
|
20109
|
+
}
|
|
20110
|
+
|
|
20111
|
+
return response;
|
|
20086
20112
|
});
|
|
20087
|
-
return this.saveLog();
|
|
20088
20113
|
},
|
|
20089
|
-
|
|
20090
|
-
var
|
|
20091
|
-
this.log.history.push({
|
|
20092
|
-
type: 'action',
|
|
20093
|
-
message: message,
|
|
20094
|
-
channel: channel,
|
|
20095
|
-
time: this.getTimeSpent()
|
|
20096
|
-
});
|
|
20097
|
-
return this.saveLog();
|
|
20098
|
-
},
|
|
20099
|
-
logTokenAuthenticationFailure: function logTokenAuthenticationFailure(error) {
|
|
20100
|
-
var message = error ? "Error: ".concat(error) : 'Error';
|
|
20101
|
-
this.log.errors += 1;
|
|
20102
|
-
this.log.history.push({
|
|
20103
|
-
type: 'error',
|
|
20104
|
-
message: message,
|
|
20105
|
-
authentication: 'failed',
|
|
20106
|
-
time: this.getTimeSpent()
|
|
20107
|
-
});
|
|
20108
|
-
return this.saveLog();
|
|
20109
|
-
},
|
|
20110
|
-
logError: function logError(error) {
|
|
20111
|
-
var message = 'Error';
|
|
20114
|
+
authenticateAccount: function authenticateAccount(otp) {
|
|
20115
|
+
var _this4 = this;
|
|
20112
20116
|
|
|
20113
|
-
|
|
20114
|
-
|
|
20115
|
-
|
|
20117
|
+
var params = {
|
|
20118
|
+
otp: otp,
|
|
20119
|
+
transaction: this.id,
|
|
20120
|
+
token: this.directDebit.token
|
|
20121
|
+
};
|
|
20122
|
+
return DirectDebitAPI.authenticate(params).then(function (response) {
|
|
20123
|
+
_this4.logAPIResponse(response, paymentMethod$1);
|
|
20116
20124
|
|
|
20117
|
-
|
|
20118
|
-
this.log.history.push({
|
|
20119
|
-
type: 'error',
|
|
20120
|
-
message: message,
|
|
20121
|
-
time: this.getTimeSpent()
|
|
20122
|
-
});
|
|
20123
|
-
return this.saveLog();
|
|
20124
|
-
},
|
|
20125
|
-
logAuth: function logAuth(value) {
|
|
20126
|
-
this.log.authentication = value;
|
|
20127
|
-
this.log.history.push({
|
|
20128
|
-
type: 'auth',
|
|
20129
|
-
message: "Authentication Required: ".concat(value),
|
|
20130
|
-
time: this.getTimeSpent()
|
|
20125
|
+
return response;
|
|
20131
20126
|
});
|
|
20132
|
-
|
|
20133
|
-
|
|
20134
|
-
logSuccess: function logSuccess(channel) {
|
|
20135
|
-
var message = 'Successfully paid';
|
|
20127
|
+
}
|
|
20128
|
+
};
|
|
20136
20129
|
|
|
20137
|
-
|
|
20138
|
-
|
|
20139
|
-
|
|
20130
|
+
var ChargeFunctions = {
|
|
20131
|
+
get: function get(channel) {
|
|
20132
|
+
var chargeFunctions = {
|
|
20133
|
+
card: CardCharge,
|
|
20134
|
+
bank: BankAccountCharge,
|
|
20135
|
+
ussd: USSDCharge,
|
|
20136
|
+
qr: QRCharge,
|
|
20137
|
+
mobile_money: MobileMoneyCharge,
|
|
20138
|
+
direct_debit: DirectDebitCharge,
|
|
20139
|
+
bank_transfer: PayWithTransferCharge,
|
|
20140
|
+
eft: EFT,
|
|
20141
|
+
payattitude: PayattitudeCharge,
|
|
20142
|
+
apple_pay: ApplePayCharge,
|
|
20143
|
+
paypal: PayPalCharge
|
|
20144
|
+
};
|
|
20145
|
+
return chargeFunctions[channel];
|
|
20146
|
+
}
|
|
20147
|
+
};
|
|
20140
20148
|
|
|
20141
|
-
|
|
20142
|
-
this.log.history.push({
|
|
20143
|
-
type: 'success',
|
|
20144
|
-
message: message,
|
|
20145
|
-
time: this.getTimeSpent()
|
|
20146
|
-
});
|
|
20147
|
-
return this.saveLog();
|
|
20148
|
-
},
|
|
20149
|
-
logPending: function logPending(channel) {
|
|
20150
|
-
var message = 'Payment in progress';
|
|
20149
|
+
var isMobile_1 = isMobile;
|
|
20151
20150
|
|
|
20152
|
-
|
|
20153
|
-
|
|
20154
|
-
|
|
20151
|
+
function isMobile (ua) {
|
|
20152
|
+
if (!ua && typeof navigator != 'undefined') ua = navigator.userAgent;
|
|
20153
|
+
if (ua && ua.headers && typeof ua.headers['user-agent'] == 'string') {
|
|
20154
|
+
ua = ua.headers['user-agent'];
|
|
20155
|
+
}
|
|
20156
|
+
if (typeof ua != 'string') return false;
|
|
20155
20157
|
|
|
20156
|
-
|
|
20157
|
-
|
|
20158
|
-
|
|
20159
|
-
|
|
20160
|
-
|
|
20161
|
-
|
|
20162
|
-
|
|
20163
|
-
|
|
20164
|
-
|
|
20165
|
-
|
|
20166
|
-
|
|
20167
|
-
|
|
20168
|
-
|
|
20169
|
-
|
|
20170
|
-
|
|
20171
|
-
|
|
20172
|
-
|
|
20173
|
-
|
|
20174
|
-
|
|
20175
|
-
|
|
20176
|
-
|
|
20177
|
-
|
|
20178
|
-
message: "".concat(prefix, " transaction currency to ").concat(currency),
|
|
20179
|
-
time: this.getTimeSpent()
|
|
20180
|
-
});
|
|
20181
|
-
return this.saveLog();
|
|
20182
|
-
},
|
|
20183
|
-
saveLog: function saveLog() {
|
|
20184
|
-
return AnalyticsAPI.saveLog(this.id, this.merchant.key, this.log);
|
|
20185
|
-
},
|
|
20186
|
-
saveIpAddress: function saveIpAddress() {
|
|
20187
|
-
return AnalyticsAPI.saveIp(this.id, this.merchant.key);
|
|
20158
|
+
return /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(ua) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(ua.substr(0,4));
|
|
20159
|
+
}
|
|
20160
|
+
|
|
20161
|
+
var AnalyticsUtils = {
|
|
20162
|
+
initializeLog: function initializeLog(log) {
|
|
20163
|
+
var _ref = log || {},
|
|
20164
|
+
attempts = _ref.attempts,
|
|
20165
|
+
authentication = _ref.authentication,
|
|
20166
|
+
errors = _ref.errors,
|
|
20167
|
+
history = _ref.history;
|
|
20168
|
+
|
|
20169
|
+
return {
|
|
20170
|
+
start_time: Math.round(Date.now() / 1000),
|
|
20171
|
+
time_spent: 0,
|
|
20172
|
+
attempts: attempts || 0,
|
|
20173
|
+
authentication: authentication,
|
|
20174
|
+
errors: errors || 0,
|
|
20175
|
+
success: false,
|
|
20176
|
+
mobile: isMobile_1(),
|
|
20177
|
+
input: [],
|
|
20178
|
+
history: history || []
|
|
20179
|
+
};
|
|
20188
20180
|
},
|
|
20189
|
-
|
|
20190
|
-
|
|
20181
|
+
getTimeSpent: function getTimeSpent(startTime) {
|
|
20182
|
+
var currentTimeInSeconds = Math.round(Date.now() / 1000);
|
|
20183
|
+
return currentTimeInSeconds - startTime;
|
|
20191
20184
|
}
|
|
20192
20185
|
};
|
|
20193
20186
|
|
|
20194
|
-
var
|
|
20195
|
-
|
|
20196
|
-
|
|
20197
|
-
|
|
20198
|
-
|
|
20199
|
-
|
|
20200
|
-
|
|
20201
|
-
|
|
20202
|
-
|
|
20203
|
-
|
|
20204
|
-
|
|
20205
|
-
|
|
20206
|
-
|
|
20207
|
-
|
|
20208
|
-
|
|
20209
|
-
|
|
20210
|
-
|
|
20211
|
-
|
|
20187
|
+
var $ = _export;
|
|
20188
|
+
var global$1 = global$R;
|
|
20189
|
+
var getBuiltIn = getBuiltIn$a;
|
|
20190
|
+
var apply = functionApply;
|
|
20191
|
+
var uncurryThis = functionUncurryThis;
|
|
20192
|
+
var fails = fails$t;
|
|
20193
|
+
|
|
20194
|
+
var Array$1 = global$1.Array;
|
|
20195
|
+
var $stringify = getBuiltIn('JSON', 'stringify');
|
|
20196
|
+
var exec = uncurryThis(/./.exec);
|
|
20197
|
+
var charAt = uncurryThis(''.charAt);
|
|
20198
|
+
var charCodeAt = uncurryThis(''.charCodeAt);
|
|
20199
|
+
var replace = uncurryThis(''.replace);
|
|
20200
|
+
var numberToString = uncurryThis(1.0.toString);
|
|
20201
|
+
|
|
20202
|
+
var tester = /[\uD800-\uDFFF]/g;
|
|
20203
|
+
var low = /^[\uD800-\uDBFF]$/;
|
|
20204
|
+
var hi = /^[\uDC00-\uDFFF]$/;
|
|
20205
|
+
|
|
20206
|
+
var fix = function (match, offset, string) {
|
|
20207
|
+
var prev = charAt(string, offset - 1);
|
|
20208
|
+
var next = charAt(string, offset + 1);
|
|
20209
|
+
if ((exec(low, match) && !exec(hi, next)) || (exec(hi, match) && !exec(low, prev))) {
|
|
20210
|
+
return '\\u' + numberToString(charCodeAt(match, 0), 16);
|
|
20211
|
+
} return match;
|
|
20212
|
+
};
|
|
20213
|
+
|
|
20214
|
+
var FORCED = fails(function () {
|
|
20215
|
+
return $stringify('\uDF06\uD834') !== '"\\udf06\\ud834"'
|
|
20216
|
+
|| $stringify('\uDEAD') !== '"\\udead"';
|
|
20217
|
+
});
|
|
20218
|
+
|
|
20219
|
+
if ($stringify) {
|
|
20220
|
+
// `JSON.stringify` method
|
|
20221
|
+
// https://tc39.es/ecma262/#sec-json.stringify
|
|
20222
|
+
// https://github.com/tc39/proposal-well-formed-stringify
|
|
20223
|
+
$({ target: 'JSON', stat: true, forced: FORCED }, {
|
|
20224
|
+
// eslint-disable-next-line no-unused-vars -- required for `.length`
|
|
20225
|
+
stringify: function stringify(it, replacer, space) {
|
|
20226
|
+
for (var i = 0, l = arguments.length, args = Array$1(l); i < l; i++) args[i] = arguments[i];
|
|
20227
|
+
var result = apply($stringify, null, args);
|
|
20228
|
+
return typeof result == 'string' ? replace(result, tester, fix) : result;
|
|
20229
|
+
}
|
|
20230
|
+
});
|
|
20231
|
+
}
|
|
20232
|
+
|
|
20233
|
+
var AnalyticsAPIUtils = {
|
|
20234
|
+
saveLog: function saveLog(url, _ref) {
|
|
20235
|
+
var merchantKey = _ref.merchantKey,
|
|
20236
|
+
log = _ref.log;
|
|
20212
20237
|
var language = getLanguage();
|
|
20213
20238
|
|
|
20214
|
-
var headers = _objectSpread2({
|
|
20239
|
+
var headers = _objectSpread2({
|
|
20240
|
+
Authorization: "Bearer ".concat(merchantKey)
|
|
20241
|
+
}, language && {
|
|
20215
20242
|
'Accept-Language': language
|
|
20216
20243
|
});
|
|
20217
20244
|
|
|
20218
|
-
return axiosInstance.post(
|
|
20245
|
+
return axiosInstance.post(url, {
|
|
20246
|
+
payload: JSON.stringify(log)
|
|
20247
|
+
}, {
|
|
20219
20248
|
headers: headers
|
|
20220
20249
|
}).then(function (response) {
|
|
20221
|
-
return
|
|
20222
|
-
}).catch(function (_ref2) {
|
|
20223
|
-
var response = _ref2.response;
|
|
20224
|
-
return ChargeResponses.parse(response.data);
|
|
20250
|
+
return response.data;
|
|
20225
20251
|
});
|
|
20226
20252
|
},
|
|
20227
|
-
|
|
20228
|
-
var
|
|
20229
|
-
code = _ref3.code;
|
|
20253
|
+
getIp: function getIp() {
|
|
20254
|
+
var url = 'https://api.paystack.co/decision/ip';
|
|
20230
20255
|
var language = getLanguage();
|
|
20231
20256
|
|
|
20232
20257
|
var headers = _objectSpread2({}, language && {
|
|
20233
20258
|
'Accept-Language': language
|
|
20234
20259
|
});
|
|
20235
20260
|
|
|
20236
|
-
|
|
20237
|
-
transaction: transaction,
|
|
20238
|
-
otp: code
|
|
20239
|
-
});
|
|
20240
|
-
var url = new URL('charge/momo_payin_finalize', configToUse.paymentBaseUrl).toString();
|
|
20241
|
-
return axiosInstance.post(url, urlEncodedData, {
|
|
20261
|
+
return axiosInstance.get(url, {
|
|
20242
20262
|
headers: headers
|
|
20243
20263
|
}).then(function (response) {
|
|
20244
|
-
return
|
|
20264
|
+
return response.data.data.ip_address;
|
|
20245
20265
|
});
|
|
20246
|
-
}
|
|
20247
|
-
|
|
20248
|
-
|
|
20249
|
-
|
|
20250
|
-
return new Promise(function (resolve, reject) {
|
|
20251
|
-
var validation = PhoneNumber.validate(phoneNumber);
|
|
20252
|
-
|
|
20253
|
-
if (!validation.isValid) {
|
|
20254
|
-
var errorMessage = phoneNumber ? validation.errors[0] : 'Please start a mobile money transaction with Transaction.chargeMobileMoney()';
|
|
20255
|
-
reject(Error(errorMessage));
|
|
20256
|
-
}
|
|
20257
|
-
|
|
20258
|
-
resolve(validation);
|
|
20259
|
-
});
|
|
20260
|
-
}
|
|
20261
|
-
|
|
20262
|
-
var mobileMoney = {};
|
|
20263
|
-
|
|
20264
|
-
function mobileMoneyChargeAPI(params) {
|
|
20265
|
-
return MobileMoneyAPI.charge(params).then( /*#__PURE__*/function () {
|
|
20266
|
-
var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(response) {
|
|
20267
|
-
return regeneratorRuntime.wrap(function _callee$(_context) {
|
|
20268
|
-
while (1) {
|
|
20269
|
-
switch (_context.prev = _context.next) {
|
|
20270
|
-
case 0:
|
|
20271
|
-
if (!(response.status === 'success')) {
|
|
20272
|
-
_context.next = 5;
|
|
20273
|
-
break;
|
|
20274
|
-
}
|
|
20275
|
-
|
|
20276
|
-
mobileMoney = response;
|
|
20277
|
-
|
|
20278
|
-
if (!(response.data && response.data.display && response.data.display.otpSentCount === 1)) {
|
|
20279
|
-
_context.next = 5;
|
|
20280
|
-
break;
|
|
20281
|
-
}
|
|
20282
|
-
|
|
20283
|
-
_context.next = 5;
|
|
20284
|
-
return AnalyticsFunctions$1.logTokenRequest('mobile money');
|
|
20285
|
-
|
|
20286
|
-
case 5:
|
|
20287
|
-
return _context.abrupt("return", response);
|
|
20288
|
-
|
|
20289
|
-
case 6:
|
|
20290
|
-
case "end":
|
|
20291
|
-
return _context.stop();
|
|
20292
|
-
}
|
|
20293
|
-
}
|
|
20294
|
-
}, _callee);
|
|
20295
|
-
}));
|
|
20296
|
-
|
|
20297
|
-
return function (_x) {
|
|
20298
|
-
return _ref.apply(this, arguments);
|
|
20299
|
-
};
|
|
20300
|
-
}());
|
|
20301
|
-
}
|
|
20302
|
-
|
|
20303
|
-
var MobileMoneyCharge = {
|
|
20304
|
-
chargeMobileMoney: function chargeMobileMoney(_ref2) {
|
|
20305
|
-
var _this = this;
|
|
20306
|
-
|
|
20307
|
-
var phoneNumber = _ref2.phoneNumber,
|
|
20308
|
-
provider = _ref2.provider,
|
|
20309
|
-
voucher = _ref2.voucher,
|
|
20310
|
-
registrationToken = _ref2.registrationToken;
|
|
20311
|
-
return validate$1(phoneNumber).then(function () {
|
|
20312
|
-
_this.logAttempt('mobile money');
|
|
20313
|
-
|
|
20314
|
-
var params = {
|
|
20315
|
-
provider: provider,
|
|
20316
|
-
voucher: voucher,
|
|
20317
|
-
registrationToken: registrationToken,
|
|
20318
|
-
transaction: _this.id,
|
|
20319
|
-
phone: phoneNumber,
|
|
20320
|
-
device: _this.deviceFingerprint,
|
|
20321
|
-
channel_name: "MOBILE_MONEY_".concat(_this.id)
|
|
20322
|
-
};
|
|
20323
|
-
return mobileMoneyChargeAPI(params);
|
|
20324
|
-
});
|
|
20325
|
-
},
|
|
20326
|
-
chargeMpesaOffline: function chargeMpesaOffline(_ref3) {
|
|
20327
|
-
var provider = _ref3.provider,
|
|
20328
|
-
voucher = _ref3.voucher,
|
|
20329
|
-
registrationToken = _ref3.registrationToken;
|
|
20330
|
-
this.logAttempt('mobile money');
|
|
20331
|
-
var params = {
|
|
20332
|
-
provider: provider,
|
|
20333
|
-
voucher: voucher,
|
|
20334
|
-
registrationToken: registrationToken,
|
|
20335
|
-
transaction: this.id,
|
|
20336
|
-
device: this.deviceFingerprint,
|
|
20337
|
-
channel_name: "MOBILE_MONEY_".concat(this.id)
|
|
20338
|
-
};
|
|
20339
|
-
return mobileMoneyChargeAPI(params);
|
|
20340
|
-
},
|
|
20341
|
-
authenticateMobileMoney: function authenticateMobileMoney(payload) {
|
|
20342
|
-
var _this2 = this;
|
|
20343
|
-
|
|
20344
|
-
var phoneNumber = payload.phoneNumber,
|
|
20345
|
-
provider = payload.provider,
|
|
20346
|
-
registrationToken = payload.registrationToken;
|
|
20347
|
-
return validate$1(phoneNumber).then(function () {
|
|
20348
|
-
_this2.logMobileMoneyActions(payload);
|
|
20349
|
-
|
|
20350
|
-
var params = {
|
|
20351
|
-
provider: provider,
|
|
20352
|
-
registrationToken: registrationToken,
|
|
20353
|
-
transaction: _this2.id,
|
|
20354
|
-
phone: phoneNumber,
|
|
20355
|
-
device: _this2.deviceFingerprint,
|
|
20356
|
-
channel_name: "MOBILE_MONEY_".concat(_this2.id)
|
|
20357
|
-
};
|
|
20358
|
-
return MobileMoneyAPI.charge(params).then(function (response) {
|
|
20359
|
-
if (response.status === 'success') {
|
|
20360
|
-
mobileMoney = response;
|
|
20361
|
-
|
|
20362
|
-
if (response.data && response.data.display && response.data.display.otpSentCount === 1) {
|
|
20363
|
-
_this2.logTokenRequest('mobile money');
|
|
20364
|
-
}
|
|
20365
|
-
} else if (response.errors && response.errors.data && response.errors.data.status === 'awaiting_registration_token') {
|
|
20366
|
-
_this2.logTokenAuthenticationFailure(response.message);
|
|
20367
|
-
} else {
|
|
20368
|
-
_this2.logError(response.message);
|
|
20369
|
-
}
|
|
20370
|
-
|
|
20371
|
-
return response;
|
|
20372
|
-
});
|
|
20373
|
-
});
|
|
20374
|
-
},
|
|
20375
|
-
submitMobileMoneyCode: function submitMobileMoneyCode(payload) {
|
|
20376
|
-
var _this3 = this;
|
|
20377
|
-
|
|
20378
|
-
return MobileMoneyAPI.submitCode({
|
|
20379
|
-
code: payload.code,
|
|
20380
|
-
transaction: this.id
|
|
20381
|
-
}).then(function (response) {
|
|
20382
|
-
_this3.logAPIResponse(response, 'mobile_money');
|
|
20383
|
-
|
|
20384
|
-
return response;
|
|
20385
|
-
});
|
|
20386
|
-
},
|
|
20387
|
-
listenForMobileMoneyCharge: function listenForMobileMoneyCharge(callback) {
|
|
20388
|
-
if (mobileMoney.status !== 'success') {
|
|
20389
|
-
return Promise.reject(Error('Please start a mobile money charge with Transaction.chargeMobileMoney()'));
|
|
20390
|
-
}
|
|
20391
|
-
|
|
20392
|
-
var _mobileMoney$data = mobileMoney.data,
|
|
20393
|
-
channel = _mobileMoney$data.channel,
|
|
20394
|
-
channelName = _mobileMoney$data.channel_name;
|
|
20395
|
-
var listenerOptions = {
|
|
20396
|
-
channel: channel || channelName,
|
|
20397
|
-
paymentMethod: 'mobile_money'
|
|
20398
|
-
};
|
|
20399
|
-
return this.listenForCharge(listenerOptions, callback);
|
|
20400
|
-
}
|
|
20401
|
-
};
|
|
20402
|
-
|
|
20403
|
-
var DirectDebitAPI = {
|
|
20404
|
-
loginToDirectDebitAccount: function loginToDirectDebitAccount(_ref) {
|
|
20405
|
-
var email = _ref.email,
|
|
20406
|
-
password = _ref.password;
|
|
20407
|
-
var params = {
|
|
20408
|
-
email: email,
|
|
20409
|
-
password: password
|
|
20410
|
-
};
|
|
20411
|
-
var language = getLanguage();
|
|
20412
|
-
|
|
20413
|
-
var headers = _objectSpread2({}, language && {
|
|
20414
|
-
'Accept-Language': language
|
|
20415
|
-
});
|
|
20416
|
-
|
|
20417
|
-
return axiosInstance.post("".concat(configToUse.paystackApiUrl, "login"), params, {
|
|
20418
|
-
headers: headers
|
|
20419
|
-
}).then(function (response) {
|
|
20420
|
-
return ChargeResponses.parse(response.data);
|
|
20421
|
-
});
|
|
20422
|
-
},
|
|
20423
|
-
charge: function charge(_ref2) {
|
|
20424
|
-
var accountCode = _ref2.account_code,
|
|
20425
|
-
transaction = _ref2.transaction,
|
|
20426
|
-
token = _ref2.token;
|
|
20427
|
-
var language = getLanguage();
|
|
20428
|
-
|
|
20429
|
-
var headers = _objectSpread2({
|
|
20430
|
-
Authorization: "Bearer ".concat(token),
|
|
20431
|
-
'jwt-auth': true
|
|
20432
|
-
}, language && {
|
|
20433
|
-
'Accept-Language': language
|
|
20434
|
-
});
|
|
20435
|
-
|
|
20436
|
-
var params = {
|
|
20437
|
-
account_code: accountCode,
|
|
20438
|
-
transaction: transaction
|
|
20439
|
-
};
|
|
20440
|
-
return axiosInstance.post("".concat(configToUse.paystackApiUrl, "directdebit/initiate"), params, {
|
|
20441
|
-
headers: headers
|
|
20442
|
-
}).then(function (response) {
|
|
20443
|
-
return ChargeResponses.parse(response.data);
|
|
20444
|
-
});
|
|
20445
|
-
},
|
|
20446
|
-
authenticate: function authenticate(_ref3) {
|
|
20447
|
-
var otp = _ref3.otp,
|
|
20448
|
-
transaction = _ref3.transaction,
|
|
20449
|
-
token = _ref3.token;
|
|
20450
|
-
var language = getLanguage();
|
|
20266
|
+
},
|
|
20267
|
+
saveIp: function saveIp(url, _ref2) {
|
|
20268
|
+
var merchantKey = _ref2.merchantKey;
|
|
20269
|
+
var language = getLanguage();
|
|
20451
20270
|
|
|
20452
20271
|
var headers = _objectSpread2({
|
|
20453
|
-
Authorization: "Bearer ".concat(
|
|
20454
|
-
'jwt-auth': true
|
|
20272
|
+
Authorization: "Bearer ".concat(merchantKey)
|
|
20455
20273
|
}, language && {
|
|
20456
20274
|
'Accept-Language': language
|
|
20457
20275
|
});
|
|
20458
20276
|
|
|
20459
|
-
|
|
20460
|
-
otp: otp,
|
|
20461
|
-
transaction: transaction
|
|
20462
|
-
};
|
|
20463
|
-
return axiosInstance.post("".concat(configToUse.paystackApiUrl, "directdebit/validate"), params, {
|
|
20277
|
+
return axiosInstance.post(url, null, {
|
|
20464
20278
|
headers: headers
|
|
20465
20279
|
}).then(function (response) {
|
|
20466
|
-
return
|
|
20280
|
+
return response.data;
|
|
20467
20281
|
});
|
|
20468
20282
|
},
|
|
20469
|
-
|
|
20283
|
+
saveReferrer: function saveReferrer(url, _ref3) {
|
|
20284
|
+
var merchantKey = _ref3.merchantKey,
|
|
20285
|
+
referrer = _ref3.referrer;
|
|
20470
20286
|
var language = getLanguage();
|
|
20471
20287
|
|
|
20472
20288
|
var headers = _objectSpread2({
|
|
20473
|
-
Authorization: "Bearer ".concat(
|
|
20474
|
-
'jwt-auth': true
|
|
20289
|
+
Authorization: "Bearer ".concat(merchantKey)
|
|
20475
20290
|
}, language && {
|
|
20476
20291
|
'Accept-Language': language
|
|
20477
20292
|
});
|
|
20478
20293
|
|
|
20479
|
-
return axiosInstance.
|
|
20294
|
+
return axiosInstance.post(url, {
|
|
20295
|
+
referrer: referrer
|
|
20296
|
+
}, {
|
|
20480
20297
|
headers: headers
|
|
20481
20298
|
}).then(function (response) {
|
|
20482
20299
|
return response.data;
|
|
@@ -20484,120 +20301,277 @@ var DirectDebitAPI = {
|
|
|
20484
20301
|
}
|
|
20485
20302
|
};
|
|
20486
20303
|
|
|
20487
|
-
var
|
|
20488
|
-
|
|
20489
|
-
|
|
20490
|
-
|
|
20491
|
-
|
|
20492
|
-
|
|
20493
|
-
password = _ref.password;
|
|
20494
|
-
var params = {
|
|
20495
|
-
email: email,
|
|
20496
|
-
password: password
|
|
20497
|
-
};
|
|
20498
|
-
|
|
20499
|
-
if (!isValidEmail(email)) {
|
|
20500
|
-
return Promise.reject(Error('Invalid email'));
|
|
20501
|
-
}
|
|
20502
|
-
|
|
20503
|
-
return DirectDebitAPI.loginToDirectDebitAccount(params).then(function (response) {
|
|
20504
|
-
if (response.status === 'success') {
|
|
20505
|
-
var _response$data = response.data,
|
|
20506
|
-
token = _response$data.token,
|
|
20507
|
-
permissions = _response$data.user.permissions;
|
|
20508
|
-
|
|
20509
|
-
if (!permissions || permissions.length < 1) {
|
|
20510
|
-
throw Error('You do not have the privileges to perform this action');
|
|
20511
|
-
}
|
|
20512
|
-
|
|
20513
|
-
if (permissions.find(function (permission) {
|
|
20514
|
-
return permission === 'directdebit-*';
|
|
20515
|
-
})) {
|
|
20516
|
-
_this.directDebit.token = token;
|
|
20517
|
-
return response;
|
|
20518
|
-
}
|
|
20519
|
-
|
|
20520
|
-
throw Error('You do not have the privileges to perform this action');
|
|
20521
|
-
}
|
|
20522
|
-
|
|
20523
|
-
return response;
|
|
20304
|
+
var AnalyticsAPI = {
|
|
20305
|
+
saveLog: function saveLog(transactionId, merchantKey, log) {
|
|
20306
|
+
var url = new URL("transaction/update_log/".concat(transactionId), configToUse.paystackApiUrl).toString();
|
|
20307
|
+
return AnalyticsAPIUtils.saveLog(url, {
|
|
20308
|
+
merchantKey: merchantKey,
|
|
20309
|
+
log: log
|
|
20524
20310
|
});
|
|
20525
20311
|
},
|
|
20526
|
-
|
|
20527
|
-
|
|
20528
|
-
|
|
20529
|
-
|
|
20530
|
-
|
|
20531
|
-
|
|
20532
|
-
|
|
20533
|
-
this.logAttempt(paymentMethod$1);
|
|
20534
|
-
var params = {
|
|
20535
|
-
account_code: accountCode,
|
|
20536
|
-
transaction: this.id,
|
|
20537
|
-
token: this.directDebit.token
|
|
20538
|
-
};
|
|
20539
|
-
return DirectDebitAPI.charge(params).then(function (response) {
|
|
20540
|
-
_this2.logAPIResponse(response, paymentMethod$1);
|
|
20541
|
-
|
|
20542
|
-
if (response.status) {
|
|
20543
|
-
_this2.directDebit.chargeResponse = response;
|
|
20544
|
-
}
|
|
20545
|
-
|
|
20546
|
-
return response;
|
|
20312
|
+
getIp: function getIp() {
|
|
20313
|
+
return AnalyticsAPIUtils.getIp();
|
|
20314
|
+
},
|
|
20315
|
+
saveIp: function saveIp(transactionId, merchantKey) {
|
|
20316
|
+
var url = new URL("transaction/set_ip/".concat(transactionId), configToUse.paystackApiUrl).toString();
|
|
20317
|
+
return AnalyticsAPIUtils.saveIp(url, {
|
|
20318
|
+
merchantKey: merchantKey
|
|
20547
20319
|
});
|
|
20548
20320
|
},
|
|
20549
|
-
|
|
20550
|
-
var
|
|
20321
|
+
saveReferrer: function saveReferrer(transactionId, merchantKey, referrer) {
|
|
20322
|
+
var url = new URL("transaction/set_referrer/".concat(transactionId), configToUse.paystackApiUrl).toString();
|
|
20323
|
+
return AnalyticsAPIUtils.saveReferrer(url, {
|
|
20324
|
+
merchantKey: merchantKey,
|
|
20325
|
+
referrer: referrer
|
|
20326
|
+
});
|
|
20327
|
+
}
|
|
20328
|
+
};
|
|
20551
20329
|
|
|
20552
|
-
|
|
20553
|
-
|
|
20330
|
+
var AnalyticsFunctions$1 = {
|
|
20331
|
+
initializeLog: function initializeLog(log) {
|
|
20332
|
+
this.log = AnalyticsUtils.initializeLog(log);
|
|
20333
|
+
},
|
|
20334
|
+
getTimeSpent: function getTimeSpent() {
|
|
20335
|
+
this.log.time_spent = AnalyticsUtils.getTimeSpent(this.log.start_time);
|
|
20336
|
+
return this.log.time_spent;
|
|
20337
|
+
},
|
|
20338
|
+
logPageOpen: function logPageOpen() {
|
|
20339
|
+
this.log.history.push({
|
|
20340
|
+
type: 'open',
|
|
20341
|
+
message: 'Opened checkout',
|
|
20342
|
+
time: this.getTimeSpent()
|
|
20343
|
+
});
|
|
20344
|
+
return this.saveLog();
|
|
20345
|
+
},
|
|
20346
|
+
logChannelSwitch: function logChannelSwitch(value) {
|
|
20347
|
+
this.log.history.push({
|
|
20348
|
+
type: 'action',
|
|
20349
|
+
message: "Set payment method to: ".concat(value),
|
|
20350
|
+
time: this.getTimeSpent()
|
|
20351
|
+
});
|
|
20352
|
+
return this.saveLog();
|
|
20353
|
+
},
|
|
20354
|
+
logValidationErrors: function logValidationErrors(inputs) {
|
|
20355
|
+
var _this = this;
|
|
20554
20356
|
|
|
20555
|
-
|
|
20556
|
-
|
|
20357
|
+
inputs.forEach(function (input) {
|
|
20358
|
+
_this.log.history.push({
|
|
20359
|
+
type: 'error',
|
|
20360
|
+
message: "Invalid ".concat(input),
|
|
20361
|
+
time: _this.getTimeSpent()
|
|
20362
|
+
});
|
|
20363
|
+
});
|
|
20364
|
+
return this.saveLog();
|
|
20365
|
+
},
|
|
20366
|
+
logInput: function logInput(value) {
|
|
20367
|
+
var isUpdate = this.log.history.find(function (item) {
|
|
20368
|
+
return item.message === "Filled this field: ".concat(value);
|
|
20369
|
+
});
|
|
20370
|
+
this.log.history.push({
|
|
20371
|
+
type: 'input',
|
|
20372
|
+
message: "".concat(isUpdate ? 'Changed' : 'Filled', " this field: ").concat(value),
|
|
20373
|
+
time: this.getTimeSpent()
|
|
20374
|
+
});
|
|
20375
|
+
return this.saveLog();
|
|
20376
|
+
},
|
|
20377
|
+
logBankSelect: function logBankSelect(value) {
|
|
20378
|
+
this.log.history.push({
|
|
20379
|
+
type: 'action',
|
|
20380
|
+
message: "Selected bank: ".concat(value),
|
|
20381
|
+
time: this.getTimeSpent()
|
|
20382
|
+
});
|
|
20383
|
+
return this.saveLog();
|
|
20384
|
+
},
|
|
20385
|
+
logSavedCardSelect: function logSavedCardSelect() {
|
|
20386
|
+
this.log.history.push({
|
|
20387
|
+
type: 'action',
|
|
20388
|
+
message: 'Selected saved card',
|
|
20389
|
+
time: this.getTimeSpent()
|
|
20390
|
+
});
|
|
20391
|
+
return this.saveLog();
|
|
20392
|
+
},
|
|
20393
|
+
logAuthWindowOpen: function logAuthWindowOpen() {
|
|
20394
|
+
this.log.history.push({
|
|
20395
|
+
type: 'action',
|
|
20396
|
+
message: 'Third-party authentication window opened',
|
|
20397
|
+
time: this.getTimeSpent()
|
|
20398
|
+
});
|
|
20399
|
+
return this.saveLog();
|
|
20400
|
+
},
|
|
20401
|
+
logAuthWindowClose: function logAuthWindowClose() {
|
|
20402
|
+
this.log.history.push({
|
|
20403
|
+
type: 'action',
|
|
20404
|
+
message: 'Third-party authentication window closed',
|
|
20405
|
+
time: this.getTimeSpent()
|
|
20406
|
+
});
|
|
20407
|
+
return this.saveLog();
|
|
20408
|
+
},
|
|
20409
|
+
logAPIResponse: function logAPIResponse(response, channel) {
|
|
20410
|
+
switch (response.status) {
|
|
20411
|
+
case 'success':
|
|
20412
|
+
return this.logSuccess(channel);
|
|
20557
20413
|
|
|
20558
|
-
|
|
20559
|
-
|
|
20560
|
-
return Promise.reject(Error('You have not provisioned any bank account for Direct Debit yet'));
|
|
20561
|
-
}
|
|
20414
|
+
case 'pending':
|
|
20415
|
+
return this.logPending(channel);
|
|
20562
20416
|
|
|
20563
|
-
|
|
20564
|
-
|
|
20417
|
+
case 'failed':
|
|
20418
|
+
return this.logError(response.message);
|
|
20565
20419
|
|
|
20566
|
-
|
|
20420
|
+
case 'auth':
|
|
20421
|
+
return this.logAuth(response.data.auth);
|
|
20422
|
+
|
|
20423
|
+
default:
|
|
20424
|
+
return false;
|
|
20425
|
+
}
|
|
20426
|
+
},
|
|
20427
|
+
logMobileMoneyActions: function logMobileMoneyActions(_ref) {
|
|
20428
|
+
var numberOfTokenRequests = _ref.numberOfTokenRequests,
|
|
20429
|
+
registrationToken = _ref.registrationToken;
|
|
20430
|
+
|
|
20431
|
+
if (numberOfTokenRequests) {
|
|
20432
|
+
this.logTokenRequest('mobile money', numberOfTokenRequests);
|
|
20433
|
+
} else if (registrationToken) {
|
|
20434
|
+
this.logTokenSubmitted('mobile money');
|
|
20435
|
+
} else {
|
|
20436
|
+
this.logAttempt('mobile money');
|
|
20437
|
+
}
|
|
20438
|
+
},
|
|
20439
|
+
logAPIResponseMessage: function logAPIResponseMessage(message) {
|
|
20440
|
+
this.log.history.push({
|
|
20441
|
+
type: 'action',
|
|
20442
|
+
message: message,
|
|
20443
|
+
time: this.getTimeSpent()
|
|
20567
20444
|
});
|
|
20445
|
+
return this.saveLog();
|
|
20568
20446
|
},
|
|
20569
|
-
|
|
20570
|
-
var
|
|
20447
|
+
logAttempt: function logAttempt(channel) {
|
|
20448
|
+
var message = 'Attempted to pay';
|
|
20571
20449
|
|
|
20572
|
-
|
|
20573
|
-
|
|
20574
|
-
|
|
20575
|
-
token: this.directDebit.token
|
|
20576
|
-
};
|
|
20577
|
-
return DirectDebitAPI.authenticate(params).then(function (response) {
|
|
20578
|
-
_this4.logAPIResponse(response, paymentMethod$1);
|
|
20450
|
+
if (channel) {
|
|
20451
|
+
message += " with ".concat(channel);
|
|
20452
|
+
}
|
|
20579
20453
|
|
|
20580
|
-
|
|
20454
|
+
this.log.attempts += 1;
|
|
20455
|
+
this.log.history.push({
|
|
20456
|
+
type: 'action',
|
|
20457
|
+
message: message,
|
|
20458
|
+
time: this.getTimeSpent()
|
|
20581
20459
|
});
|
|
20582
|
-
|
|
20583
|
-
}
|
|
20460
|
+
return this.saveLog();
|
|
20461
|
+
},
|
|
20462
|
+
logTokenRequest: function logTokenRequest(channel) {
|
|
20463
|
+
var numberOfTokenRequests = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
20464
|
+
var message = numberOfTokenRequests === 0 ? 'Waiting for customer to submit OTP' : 'Customer requested to resend OTP';
|
|
20465
|
+
this.log.history.push({
|
|
20466
|
+
type: 'action',
|
|
20467
|
+
message: message,
|
|
20468
|
+
channel: channel,
|
|
20469
|
+
time: this.getTimeSpent()
|
|
20470
|
+
});
|
|
20471
|
+
return this.saveLog();
|
|
20472
|
+
},
|
|
20473
|
+
logTokenSubmitted: function logTokenSubmitted(channel) {
|
|
20474
|
+
var message = 'Customer submitted OTP';
|
|
20475
|
+
this.log.history.push({
|
|
20476
|
+
type: 'action',
|
|
20477
|
+
message: message,
|
|
20478
|
+
channel: channel,
|
|
20479
|
+
time: this.getTimeSpent()
|
|
20480
|
+
});
|
|
20481
|
+
return this.saveLog();
|
|
20482
|
+
},
|
|
20483
|
+
logTokenAuthenticationFailure: function logTokenAuthenticationFailure(error) {
|
|
20484
|
+
var message = error ? "Error: ".concat(error) : 'Error';
|
|
20485
|
+
this.log.errors += 1;
|
|
20486
|
+
this.log.history.push({
|
|
20487
|
+
type: 'error',
|
|
20488
|
+
message: message,
|
|
20489
|
+
authentication: 'failed',
|
|
20490
|
+
time: this.getTimeSpent()
|
|
20491
|
+
});
|
|
20492
|
+
return this.saveLog();
|
|
20493
|
+
},
|
|
20494
|
+
logError: function logError(error) {
|
|
20495
|
+
var message = 'Error';
|
|
20584
20496
|
|
|
20585
|
-
|
|
20586
|
-
|
|
20587
|
-
|
|
20588
|
-
|
|
20589
|
-
|
|
20590
|
-
|
|
20591
|
-
|
|
20592
|
-
|
|
20593
|
-
|
|
20594
|
-
|
|
20595
|
-
|
|
20596
|
-
|
|
20597
|
-
|
|
20598
|
-
|
|
20599
|
-
|
|
20600
|
-
|
|
20497
|
+
if (error) {
|
|
20498
|
+
message += ": ".concat(error);
|
|
20499
|
+
}
|
|
20500
|
+
|
|
20501
|
+
this.log.errors += 1;
|
|
20502
|
+
this.log.history.push({
|
|
20503
|
+
type: 'error',
|
|
20504
|
+
message: message,
|
|
20505
|
+
time: this.getTimeSpent()
|
|
20506
|
+
});
|
|
20507
|
+
return this.saveLog();
|
|
20508
|
+
},
|
|
20509
|
+
logAuth: function logAuth(value) {
|
|
20510
|
+
this.log.authentication = value;
|
|
20511
|
+
this.log.history.push({
|
|
20512
|
+
type: 'auth',
|
|
20513
|
+
message: "Authentication Required: ".concat(value),
|
|
20514
|
+
time: this.getTimeSpent()
|
|
20515
|
+
});
|
|
20516
|
+
return this.saveLog();
|
|
20517
|
+
},
|
|
20518
|
+
logSuccess: function logSuccess(channel) {
|
|
20519
|
+
var message = 'Successfully paid';
|
|
20520
|
+
|
|
20521
|
+
if (channel) {
|
|
20522
|
+
message += " with ".concat(channel);
|
|
20523
|
+
}
|
|
20524
|
+
|
|
20525
|
+
this.log.success = true;
|
|
20526
|
+
this.log.history.push({
|
|
20527
|
+
type: 'success',
|
|
20528
|
+
message: message,
|
|
20529
|
+
time: this.getTimeSpent()
|
|
20530
|
+
});
|
|
20531
|
+
return this.saveLog();
|
|
20532
|
+
},
|
|
20533
|
+
logPending: function logPending(channel) {
|
|
20534
|
+
var message = 'Payment in progress';
|
|
20535
|
+
|
|
20536
|
+
if (channel) {
|
|
20537
|
+
message += " with ".concat(channel);
|
|
20538
|
+
}
|
|
20539
|
+
|
|
20540
|
+
this.log.history.push({
|
|
20541
|
+
type: 'pending',
|
|
20542
|
+
message: message,
|
|
20543
|
+
time: this.getTimeSpent()
|
|
20544
|
+
});
|
|
20545
|
+
return this.saveLog();
|
|
20546
|
+
},
|
|
20547
|
+
logPageClose: function logPageClose() {
|
|
20548
|
+
this.log.history.push({
|
|
20549
|
+
type: 'close',
|
|
20550
|
+
message: 'Closed checkout',
|
|
20551
|
+
time: this.getTimeSpent()
|
|
20552
|
+
});
|
|
20553
|
+
return this.saveLog();
|
|
20554
|
+
},
|
|
20555
|
+
logTransactionCurrencySwitch: function logTransactionCurrencySwitch(_ref2) {
|
|
20556
|
+
var currency = _ref2.currency,
|
|
20557
|
+
_ref2$isUserAction = _ref2.isUserAction,
|
|
20558
|
+
isUserAction = _ref2$isUserAction === void 0 ? true : _ref2$isUserAction;
|
|
20559
|
+
var prefix = isUserAction ? 'User switched' : 'Switched';
|
|
20560
|
+
this.log.history.push({
|
|
20561
|
+
type: 'action',
|
|
20562
|
+
message: "".concat(prefix, " transaction currency to ").concat(currency),
|
|
20563
|
+
time: this.getTimeSpent()
|
|
20564
|
+
});
|
|
20565
|
+
return this.saveLog();
|
|
20566
|
+
},
|
|
20567
|
+
saveLog: function saveLog() {
|
|
20568
|
+
return AnalyticsAPI.saveLog(this.id, this.merchant.key, this.log);
|
|
20569
|
+
},
|
|
20570
|
+
saveIpAddress: function saveIpAddress() {
|
|
20571
|
+
return AnalyticsAPI.saveIp(this.id, this.merchant.key);
|
|
20572
|
+
},
|
|
20573
|
+
saveReferrer: function saveReferrer(referrer) {
|
|
20574
|
+
return AnalyticsAPI.saveReferrer(this.id, this.merchant.key, referrer);
|
|
20601
20575
|
}
|
|
20602
20576
|
};
|
|
20603
20577
|
|
|
@@ -20633,6 +20607,7 @@ var TransactionInstance = /*#__PURE__*/function () {
|
|
|
20633
20607
|
this.rememberMeEnabled = data.is_remember_me_enabled;
|
|
20634
20608
|
this.card = {};
|
|
20635
20609
|
this.bankAccount = {};
|
|
20610
|
+
this.mobileMoney = {};
|
|
20636
20611
|
this.ussd = {};
|
|
20637
20612
|
this.bankTransfer = {};
|
|
20638
20613
|
this.qr = {};
|