@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/dist/checkout.js
CHANGED
|
@@ -19765,721 +19765,538 @@ var Paystack = (function (exports) {
|
|
|
19765
19765
|
return PhoneNumber;
|
|
19766
19766
|
}();
|
|
19767
19767
|
|
|
19768
|
-
var
|
|
19768
|
+
var MobileMoneyAPI = {
|
|
19769
|
+
charge: function charge(_ref) {
|
|
19770
|
+
var transaction = _ref.transaction,
|
|
19771
|
+
phone = _ref.phone,
|
|
19772
|
+
device = _ref.device,
|
|
19773
|
+
channelName = _ref.channel_name,
|
|
19774
|
+
provider = _ref.provider,
|
|
19775
|
+
voucher = _ref.voucher,
|
|
19776
|
+
registrationToken = _ref.registrationToken;
|
|
19777
|
+
var params = {
|
|
19778
|
+
transaction: transaction,
|
|
19779
|
+
phone: phone,
|
|
19780
|
+
device: device,
|
|
19781
|
+
channel_name: channelName,
|
|
19782
|
+
provider: provider,
|
|
19783
|
+
voucher: voucher,
|
|
19784
|
+
registration_token: registrationToken
|
|
19785
|
+
};
|
|
19786
|
+
var language = getLanguage();
|
|
19769
19787
|
|
|
19770
|
-
|
|
19771
|
-
|
|
19772
|
-
|
|
19773
|
-
ua = ua.headers['user-agent'];
|
|
19774
|
-
}
|
|
19775
|
-
if (typeof ua != 'string') return false;
|
|
19788
|
+
var headers = _objectSpread2({}, language && {
|
|
19789
|
+
'Accept-Language': language
|
|
19790
|
+
});
|
|
19776
19791
|
|
|
19777
|
-
|
|
19778
|
-
|
|
19792
|
+
return axiosInstance.post("".concat(configToUse.paystackApiUrl, "charge/mobile_money"), params, {
|
|
19793
|
+
headers: headers
|
|
19794
|
+
}).then(function (response) {
|
|
19795
|
+
return ChargeResponses.parse(response.data);
|
|
19796
|
+
}).catch(function (_ref2) {
|
|
19797
|
+
var response = _ref2.response;
|
|
19798
|
+
return ChargeResponses.parse(response.data);
|
|
19799
|
+
});
|
|
19800
|
+
},
|
|
19801
|
+
submitCode: function submitCode(_ref3) {
|
|
19802
|
+
var transaction = _ref3.transaction,
|
|
19803
|
+
code = _ref3.code;
|
|
19804
|
+
var language = getLanguage();
|
|
19779
19805
|
|
|
19780
|
-
|
|
19781
|
-
|
|
19782
|
-
|
|
19783
|
-
attempts = _ref.attempts,
|
|
19784
|
-
authentication = _ref.authentication,
|
|
19785
|
-
errors = _ref.errors,
|
|
19786
|
-
history = _ref.history;
|
|
19806
|
+
var headers = _objectSpread2({}, language && {
|
|
19807
|
+
'Accept-Language': language
|
|
19808
|
+
});
|
|
19787
19809
|
|
|
19788
|
-
|
|
19789
|
-
|
|
19790
|
-
|
|
19791
|
-
|
|
19792
|
-
|
|
19793
|
-
|
|
19794
|
-
|
|
19795
|
-
|
|
19796
|
-
|
|
19797
|
-
|
|
19798
|
-
};
|
|
19799
|
-
},
|
|
19800
|
-
getTimeSpent: function getTimeSpent(startTime) {
|
|
19801
|
-
var currentTimeInSeconds = Math.round(Date.now() / 1000);
|
|
19802
|
-
return currentTimeInSeconds - startTime;
|
|
19810
|
+
var urlEncodedData = formUrlencoded({
|
|
19811
|
+
transaction: transaction,
|
|
19812
|
+
otp: code
|
|
19813
|
+
});
|
|
19814
|
+
var url = new URL('charge/momo_payin_finalize', configToUse.paymentBaseUrl).toString();
|
|
19815
|
+
return axiosInstance.post(url, urlEncodedData, {
|
|
19816
|
+
headers: headers
|
|
19817
|
+
}).then(function (response) {
|
|
19818
|
+
return ChargeResponses.parse(response.data);
|
|
19819
|
+
});
|
|
19803
19820
|
}
|
|
19804
19821
|
};
|
|
19805
19822
|
|
|
19806
|
-
|
|
19807
|
-
|
|
19808
|
-
|
|
19809
|
-
var apply = functionApply;
|
|
19810
|
-
var uncurryThis = functionUncurryThis;
|
|
19811
|
-
var fails = fails$t;
|
|
19823
|
+
function validate$1(phoneNumber) {
|
|
19824
|
+
return new Promise(function (resolve, reject) {
|
|
19825
|
+
var validation = PhoneNumber.validate(phoneNumber);
|
|
19812
19826
|
|
|
19813
|
-
|
|
19814
|
-
|
|
19815
|
-
|
|
19816
|
-
|
|
19817
|
-
var charCodeAt = uncurryThis(''.charCodeAt);
|
|
19818
|
-
var replace = uncurryThis(''.replace);
|
|
19819
|
-
var numberToString = uncurryThis(1.0.toString);
|
|
19827
|
+
if (!validation.isValid) {
|
|
19828
|
+
var errorMessage = phoneNumber ? validation.errors[0] : 'Please start a mobile money transaction with Transaction.chargeMobileMoney()';
|
|
19829
|
+
reject(Error(errorMessage));
|
|
19830
|
+
}
|
|
19820
19831
|
|
|
19821
|
-
|
|
19822
|
-
|
|
19823
|
-
|
|
19832
|
+
resolve(validation);
|
|
19833
|
+
});
|
|
19834
|
+
}
|
|
19824
19835
|
|
|
19825
|
-
var
|
|
19826
|
-
|
|
19827
|
-
|
|
19828
|
-
if ((exec(low, match) && !exec(hi, next)) || (exec(hi, match) && !exec(low, prev))) {
|
|
19829
|
-
return '\\u' + numberToString(charCodeAt(match, 0), 16);
|
|
19830
|
-
} return match;
|
|
19831
|
-
};
|
|
19836
|
+
var MobileMoneyCharge = {
|
|
19837
|
+
mobileMoneyChargeAPI: function mobileMoneyChargeAPI(params) {
|
|
19838
|
+
var _this = this;
|
|
19832
19839
|
|
|
19833
|
-
|
|
19834
|
-
|
|
19835
|
-
|
|
19836
|
-
});
|
|
19840
|
+
return MobileMoneyAPI.charge(params).then(function (response) {
|
|
19841
|
+
if (response.status === 'success') {
|
|
19842
|
+
_this.mobileMoney = response;
|
|
19837
19843
|
|
|
19838
|
-
|
|
19839
|
-
|
|
19840
|
-
|
|
19841
|
-
|
|
19842
|
-
$({ target: 'JSON', stat: true, forced: FORCED }, {
|
|
19843
|
-
// eslint-disable-next-line no-unused-vars -- required for `.length`
|
|
19844
|
-
stringify: function stringify(it, replacer, space) {
|
|
19845
|
-
for (var i = 0, l = arguments.length, args = Array$1(l); i < l; i++) args[i] = arguments[i];
|
|
19846
|
-
var result = apply($stringify, null, args);
|
|
19847
|
-
return typeof result == 'string' ? replace(result, tester, fix) : result;
|
|
19848
|
-
}
|
|
19849
|
-
});
|
|
19850
|
-
}
|
|
19844
|
+
if (response.data && response.data.display && response.data.display.otpSentCount === 1) {
|
|
19845
|
+
_this.logTokenRequest('mobile money');
|
|
19846
|
+
}
|
|
19847
|
+
}
|
|
19851
19848
|
|
|
19852
|
-
|
|
19853
|
-
|
|
19854
|
-
|
|
19855
|
-
|
|
19856
|
-
var
|
|
19849
|
+
return response;
|
|
19850
|
+
});
|
|
19851
|
+
},
|
|
19852
|
+
chargeMobileMoney: function chargeMobileMoney(_ref) {
|
|
19853
|
+
var _this2 = this;
|
|
19857
19854
|
|
|
19858
|
-
var
|
|
19859
|
-
|
|
19860
|
-
|
|
19861
|
-
|
|
19855
|
+
var phoneNumber = _ref.phoneNumber,
|
|
19856
|
+
provider = _ref.provider,
|
|
19857
|
+
voucher = _ref.voucher,
|
|
19858
|
+
registrationToken = _ref.registrationToken;
|
|
19859
|
+
return validate$1(phoneNumber).then(function () {
|
|
19860
|
+
_this2.logAttempt('mobile money');
|
|
19861
|
+
|
|
19862
|
+
var params = {
|
|
19863
|
+
provider: provider,
|
|
19864
|
+
voucher: voucher,
|
|
19865
|
+
registrationToken: registrationToken,
|
|
19866
|
+
transaction: _this2.id,
|
|
19867
|
+
phone: phoneNumber,
|
|
19868
|
+
device: _this2.deviceFingerprint,
|
|
19869
|
+
channel_name: "MOBILE_MONEY_".concat(_this2.id)
|
|
19870
|
+
};
|
|
19871
|
+
return _this2.mobileMoneyChargeAPI(params);
|
|
19862
19872
|
});
|
|
19873
|
+
},
|
|
19874
|
+
chargeMpesaOffline: function chargeMpesaOffline(_ref2) {
|
|
19875
|
+
var provider = _ref2.provider,
|
|
19876
|
+
voucher = _ref2.voucher,
|
|
19877
|
+
registrationToken = _ref2.registrationToken;
|
|
19878
|
+
this.logAttempt('mobile money');
|
|
19879
|
+
var params = {
|
|
19880
|
+
provider: provider,
|
|
19881
|
+
voucher: voucher,
|
|
19882
|
+
registrationToken: registrationToken,
|
|
19883
|
+
transaction: this.id,
|
|
19884
|
+
device: this.deviceFingerprint,
|
|
19885
|
+
channel_name: "MOBILE_MONEY_".concat(this.id)
|
|
19886
|
+
};
|
|
19887
|
+
return this.mobileMoneyChargeAPI(params);
|
|
19888
|
+
},
|
|
19889
|
+
authenticateMobileMoney: function authenticateMobileMoney(payload) {
|
|
19890
|
+
var _this3 = this;
|
|
19863
19891
|
|
|
19864
|
-
|
|
19865
|
-
|
|
19866
|
-
|
|
19867
|
-
|
|
19892
|
+
var phoneNumber = payload.phoneNumber,
|
|
19893
|
+
provider = payload.provider,
|
|
19894
|
+
registrationToken = payload.registrationToken;
|
|
19895
|
+
return validate$1(phoneNumber).then(function () {
|
|
19896
|
+
_this3.logMobileMoneyActions(payload);
|
|
19897
|
+
|
|
19898
|
+
var params = {
|
|
19899
|
+
provider: provider,
|
|
19900
|
+
registrationToken: registrationToken,
|
|
19901
|
+
transaction: _this3.id,
|
|
19902
|
+
phone: phoneNumber,
|
|
19903
|
+
device: _this3.deviceFingerprint,
|
|
19904
|
+
channel_name: "MOBILE_MONEY_".concat(_this3.id)
|
|
19905
|
+
};
|
|
19906
|
+
return MobileMoneyAPI.charge(params).then(function (response) {
|
|
19907
|
+
if (response.status === 'success') {
|
|
19908
|
+
_this3.mobileMoney = response;
|
|
19909
|
+
|
|
19910
|
+
if (response.data && response.data.display && response.data.display.otpSentCount === 1) {
|
|
19911
|
+
_this3.logTokenRequest('mobile money');
|
|
19912
|
+
}
|
|
19913
|
+
} else if (response.errors && response.errors.data && response.errors.data.status === 'awaiting_registration_token') {
|
|
19914
|
+
_this3.logTokenAuthenticationFailure(response.message);
|
|
19915
|
+
} else {
|
|
19916
|
+
_this3.logError(response.message);
|
|
19917
|
+
}
|
|
19918
|
+
|
|
19919
|
+
return response;
|
|
19920
|
+
});
|
|
19921
|
+
});
|
|
19922
|
+
},
|
|
19923
|
+
submitMobileMoneyCode: function submitMobileMoneyCode(payload) {
|
|
19924
|
+
var _this4 = this;
|
|
19925
|
+
|
|
19926
|
+
return MobileMoneyAPI.submitCode({
|
|
19927
|
+
code: payload.code,
|
|
19928
|
+
transaction: this.id
|
|
19868
19929
|
}).then(function (response) {
|
|
19869
|
-
|
|
19930
|
+
_this4.logAPIResponse(response, 'mobile_money');
|
|
19931
|
+
|
|
19932
|
+
return response;
|
|
19870
19933
|
});
|
|
19871
19934
|
},
|
|
19872
|
-
|
|
19873
|
-
|
|
19935
|
+
listenForMobileMoneyCharge: function listenForMobileMoneyCharge(callback) {
|
|
19936
|
+
if (this.mobileMoney.status !== 'success') {
|
|
19937
|
+
return Promise.reject(Error('Please start a mobile money charge with Transaction.chargeMobileMoney()'));
|
|
19938
|
+
}
|
|
19939
|
+
|
|
19940
|
+
var _this$mobileMoney$dat = this.mobileMoney.data,
|
|
19941
|
+
channel = _this$mobileMoney$dat.channel,
|
|
19942
|
+
channelName = _this$mobileMoney$dat.channel_name;
|
|
19943
|
+
var listenerOptions = {
|
|
19944
|
+
channel: channel || channelName,
|
|
19945
|
+
paymentMethod: 'mobile_money'
|
|
19946
|
+
};
|
|
19947
|
+
return this.listenForCharge(listenerOptions, callback);
|
|
19948
|
+
}
|
|
19949
|
+
};
|
|
19950
|
+
|
|
19951
|
+
var DirectDebitAPI = {
|
|
19952
|
+
loginToDirectDebitAccount: function loginToDirectDebitAccount(_ref) {
|
|
19953
|
+
var email = _ref.email,
|
|
19954
|
+
password = _ref.password;
|
|
19955
|
+
var params = {
|
|
19956
|
+
email: email,
|
|
19957
|
+
password: password
|
|
19958
|
+
};
|
|
19874
19959
|
var language = getLanguage();
|
|
19875
19960
|
|
|
19876
19961
|
var headers = _objectSpread2({}, language && {
|
|
19877
19962
|
'Accept-Language': language
|
|
19878
19963
|
});
|
|
19879
19964
|
|
|
19880
|
-
return axiosInstance.
|
|
19965
|
+
return axiosInstance.post("".concat(configToUse.paystackApiUrl, "login"), params, {
|
|
19881
19966
|
headers: headers
|
|
19882
19967
|
}).then(function (response) {
|
|
19883
|
-
return response.data
|
|
19968
|
+
return ChargeResponses.parse(response.data);
|
|
19884
19969
|
});
|
|
19885
19970
|
},
|
|
19886
|
-
|
|
19887
|
-
var
|
|
19971
|
+
charge: function charge(_ref2) {
|
|
19972
|
+
var accountCode = _ref2.account_code,
|
|
19973
|
+
transaction = _ref2.transaction,
|
|
19974
|
+
token = _ref2.token;
|
|
19888
19975
|
var language = getLanguage();
|
|
19889
19976
|
|
|
19890
19977
|
var headers = _objectSpread2({
|
|
19891
|
-
Authorization: "Bearer ".concat(
|
|
19978
|
+
Authorization: "Bearer ".concat(token),
|
|
19979
|
+
'jwt-auth': true
|
|
19892
19980
|
}, language && {
|
|
19893
19981
|
'Accept-Language': language
|
|
19894
19982
|
});
|
|
19895
19983
|
|
|
19896
|
-
|
|
19984
|
+
var params = {
|
|
19985
|
+
account_code: accountCode,
|
|
19986
|
+
transaction: transaction
|
|
19987
|
+
};
|
|
19988
|
+
return axiosInstance.post("".concat(configToUse.paystackApiUrl, "directdebit/initiate"), params, {
|
|
19897
19989
|
headers: headers
|
|
19898
19990
|
}).then(function (response) {
|
|
19899
|
-
return response.data;
|
|
19991
|
+
return ChargeResponses.parse(response.data);
|
|
19900
19992
|
});
|
|
19901
19993
|
},
|
|
19902
|
-
|
|
19903
|
-
var
|
|
19904
|
-
|
|
19994
|
+
authenticate: function authenticate(_ref3) {
|
|
19995
|
+
var otp = _ref3.otp,
|
|
19996
|
+
transaction = _ref3.transaction,
|
|
19997
|
+
token = _ref3.token;
|
|
19905
19998
|
var language = getLanguage();
|
|
19906
19999
|
|
|
19907
20000
|
var headers = _objectSpread2({
|
|
19908
|
-
Authorization: "Bearer ".concat(
|
|
20001
|
+
Authorization: "Bearer ".concat(token),
|
|
20002
|
+
'jwt-auth': true
|
|
19909
20003
|
}, language && {
|
|
19910
20004
|
'Accept-Language': language
|
|
19911
20005
|
});
|
|
19912
20006
|
|
|
19913
|
-
|
|
19914
|
-
|
|
19915
|
-
|
|
20007
|
+
var params = {
|
|
20008
|
+
otp: otp,
|
|
20009
|
+
transaction: transaction
|
|
20010
|
+
};
|
|
20011
|
+
return axiosInstance.post("".concat(configToUse.paystackApiUrl, "directdebit/validate"), params, {
|
|
19916
20012
|
headers: headers
|
|
19917
20013
|
}).then(function (response) {
|
|
19918
|
-
return response.data;
|
|
19919
|
-
});
|
|
19920
|
-
}
|
|
19921
|
-
};
|
|
19922
|
-
|
|
19923
|
-
var AnalyticsAPI = {
|
|
19924
|
-
saveLog: function saveLog(transactionId, merchantKey, log) {
|
|
19925
|
-
var url = new URL("transaction/update_log/".concat(transactionId), configToUse.paystackApiUrl).toString();
|
|
19926
|
-
return AnalyticsAPIUtils.saveLog(url, {
|
|
19927
|
-
merchantKey: merchantKey,
|
|
19928
|
-
log: log
|
|
20014
|
+
return ChargeResponses.parse(response.data);
|
|
19929
20015
|
});
|
|
19930
20016
|
},
|
|
19931
|
-
|
|
19932
|
-
|
|
19933
|
-
|
|
19934
|
-
|
|
19935
|
-
|
|
19936
|
-
|
|
19937
|
-
|
|
20017
|
+
getProvisionedAccounts: function getProvisionedAccounts(token) {
|
|
20018
|
+
var language = getLanguage();
|
|
20019
|
+
|
|
20020
|
+
var headers = _objectSpread2({
|
|
20021
|
+
Authorization: "Bearer ".concat(token),
|
|
20022
|
+
'jwt-auth': true
|
|
20023
|
+
}, language && {
|
|
20024
|
+
'Accept-Language': language
|
|
19938
20025
|
});
|
|
19939
|
-
|
|
19940
|
-
|
|
19941
|
-
|
|
19942
|
-
|
|
19943
|
-
|
|
19944
|
-
referrer: referrer
|
|
20026
|
+
|
|
20027
|
+
return axiosInstance.get("".concat(configToUse.paystackApiUrl, "directdebit/account"), {
|
|
20028
|
+
headers: headers
|
|
20029
|
+
}).then(function (response) {
|
|
20030
|
+
return response.data;
|
|
19945
20031
|
});
|
|
19946
20032
|
}
|
|
19947
20033
|
};
|
|
19948
20034
|
|
|
19949
|
-
var
|
|
19950
|
-
|
|
19951
|
-
|
|
19952
|
-
},
|
|
19953
|
-
getTimeSpent: function getTimeSpent() {
|
|
19954
|
-
this.log.time_spent = AnalyticsUtils.getTimeSpent(this.log.start_time);
|
|
19955
|
-
return this.log.time_spent;
|
|
19956
|
-
},
|
|
19957
|
-
logPageOpen: function logPageOpen() {
|
|
19958
|
-
this.log.history.push({
|
|
19959
|
-
type: 'open',
|
|
19960
|
-
message: 'Opened checkout',
|
|
19961
|
-
time: this.getTimeSpent()
|
|
19962
|
-
});
|
|
19963
|
-
return this.saveLog();
|
|
19964
|
-
},
|
|
19965
|
-
logChannelSwitch: function logChannelSwitch(value) {
|
|
19966
|
-
this.log.history.push({
|
|
19967
|
-
type: 'action',
|
|
19968
|
-
message: "Set payment method to: ".concat(value),
|
|
19969
|
-
time: this.getTimeSpent()
|
|
19970
|
-
});
|
|
19971
|
-
return this.saveLog();
|
|
19972
|
-
},
|
|
19973
|
-
logValidationErrors: function logValidationErrors(inputs) {
|
|
20035
|
+
var paymentMethod$1 = 'direct debit';
|
|
20036
|
+
var DirectDebitCharge = {
|
|
20037
|
+
loginToDirectDebitAccount: function loginToDirectDebitAccount(_ref) {
|
|
19974
20038
|
var _this = this;
|
|
19975
20039
|
|
|
19976
|
-
|
|
19977
|
-
|
|
19978
|
-
|
|
19979
|
-
|
|
19980
|
-
|
|
19981
|
-
|
|
19982
|
-
});
|
|
19983
|
-
return this.saveLog();
|
|
19984
|
-
},
|
|
19985
|
-
logInput: function logInput(value) {
|
|
19986
|
-
var isUpdate = this.log.history.find(function (item) {
|
|
19987
|
-
return item.message === "Filled this field: ".concat(value);
|
|
19988
|
-
});
|
|
19989
|
-
this.log.history.push({
|
|
19990
|
-
type: 'input',
|
|
19991
|
-
message: "".concat(isUpdate ? 'Changed' : 'Filled', " this field: ").concat(value),
|
|
19992
|
-
time: this.getTimeSpent()
|
|
19993
|
-
});
|
|
19994
|
-
return this.saveLog();
|
|
19995
|
-
},
|
|
19996
|
-
logBankSelect: function logBankSelect(value) {
|
|
19997
|
-
this.log.history.push({
|
|
19998
|
-
type: 'action',
|
|
19999
|
-
message: "Selected bank: ".concat(value),
|
|
20000
|
-
time: this.getTimeSpent()
|
|
20001
|
-
});
|
|
20002
|
-
return this.saveLog();
|
|
20003
|
-
},
|
|
20004
|
-
logSavedCardSelect: function logSavedCardSelect() {
|
|
20005
|
-
this.log.history.push({
|
|
20006
|
-
type: 'action',
|
|
20007
|
-
message: 'Selected saved card',
|
|
20008
|
-
time: this.getTimeSpent()
|
|
20009
|
-
});
|
|
20010
|
-
return this.saveLog();
|
|
20011
|
-
},
|
|
20012
|
-
logAuthWindowOpen: function logAuthWindowOpen() {
|
|
20013
|
-
this.log.history.push({
|
|
20014
|
-
type: 'action',
|
|
20015
|
-
message: 'Third-party authentication window opened',
|
|
20016
|
-
time: this.getTimeSpent()
|
|
20017
|
-
});
|
|
20018
|
-
return this.saveLog();
|
|
20019
|
-
},
|
|
20020
|
-
logAuthWindowClose: function logAuthWindowClose() {
|
|
20021
|
-
this.log.history.push({
|
|
20022
|
-
type: 'action',
|
|
20023
|
-
message: 'Third-party authentication window closed',
|
|
20024
|
-
time: this.getTimeSpent()
|
|
20025
|
-
});
|
|
20026
|
-
return this.saveLog();
|
|
20027
|
-
},
|
|
20028
|
-
logAPIResponse: function logAPIResponse(response, channel) {
|
|
20029
|
-
switch (response.status) {
|
|
20030
|
-
case 'success':
|
|
20031
|
-
return this.logSuccess(channel);
|
|
20040
|
+
var email = _ref.email,
|
|
20041
|
+
password = _ref.password;
|
|
20042
|
+
var params = {
|
|
20043
|
+
email: email,
|
|
20044
|
+
password: password
|
|
20045
|
+
};
|
|
20032
20046
|
|
|
20033
|
-
|
|
20034
|
-
|
|
20047
|
+
if (!isValidEmail(email)) {
|
|
20048
|
+
return Promise.reject(Error('Invalid email'));
|
|
20049
|
+
}
|
|
20035
20050
|
|
|
20036
|
-
|
|
20037
|
-
|
|
20051
|
+
return DirectDebitAPI.loginToDirectDebitAccount(params).then(function (response) {
|
|
20052
|
+
if (response.status === 'success') {
|
|
20053
|
+
var _response$data = response.data,
|
|
20054
|
+
token = _response$data.token,
|
|
20055
|
+
permissions = _response$data.user.permissions;
|
|
20038
20056
|
|
|
20039
|
-
|
|
20040
|
-
|
|
20057
|
+
if (!permissions || permissions.length < 1) {
|
|
20058
|
+
throw Error('You do not have the privileges to perform this action');
|
|
20059
|
+
}
|
|
20041
20060
|
|
|
20042
|
-
|
|
20043
|
-
|
|
20044
|
-
|
|
20045
|
-
|
|
20046
|
-
|
|
20047
|
-
|
|
20048
|
-
registrationToken = _ref.registrationToken;
|
|
20061
|
+
if (permissions.find(function (permission) {
|
|
20062
|
+
return permission === 'directdebit-*';
|
|
20063
|
+
})) {
|
|
20064
|
+
_this.directDebit.token = token;
|
|
20065
|
+
return response;
|
|
20066
|
+
}
|
|
20049
20067
|
|
|
20050
|
-
|
|
20051
|
-
|
|
20052
|
-
|
|
20053
|
-
|
|
20054
|
-
} else {
|
|
20055
|
-
this.logAttempt('mobile money');
|
|
20056
|
-
}
|
|
20057
|
-
},
|
|
20058
|
-
logAPIResponseMessage: function logAPIResponseMessage(message) {
|
|
20059
|
-
this.log.history.push({
|
|
20060
|
-
type: 'action',
|
|
20061
|
-
message: message,
|
|
20062
|
-
time: this.getTimeSpent()
|
|
20068
|
+
throw Error('You do not have the privileges to perform this action');
|
|
20069
|
+
}
|
|
20070
|
+
|
|
20071
|
+
return response;
|
|
20063
20072
|
});
|
|
20064
|
-
return this.saveLog();
|
|
20065
20073
|
},
|
|
20066
|
-
|
|
20067
|
-
var
|
|
20074
|
+
chargeDirectDebit: function chargeDirectDebit(accountCode) {
|
|
20075
|
+
var _this2 = this;
|
|
20068
20076
|
|
|
20069
|
-
if (
|
|
20070
|
-
|
|
20077
|
+
if (!this.directDebit.token) {
|
|
20078
|
+
return Promise.reject(Error('Please login with Transaction.loginToDirectDebitAccount() to start a Direct debit charge'));
|
|
20071
20079
|
}
|
|
20072
20080
|
|
|
20073
|
-
this.
|
|
20074
|
-
|
|
20075
|
-
|
|
20076
|
-
|
|
20077
|
-
|
|
20081
|
+
this.logAttempt(paymentMethod$1);
|
|
20082
|
+
var params = {
|
|
20083
|
+
account_code: accountCode,
|
|
20084
|
+
transaction: this.id,
|
|
20085
|
+
token: this.directDebit.token
|
|
20086
|
+
};
|
|
20087
|
+
return DirectDebitAPI.charge(params).then(function (response) {
|
|
20088
|
+
_this2.logAPIResponse(response, paymentMethod$1);
|
|
20089
|
+
|
|
20090
|
+
if (response.status) {
|
|
20091
|
+
_this2.directDebit.chargeResponse = response;
|
|
20092
|
+
}
|
|
20093
|
+
|
|
20094
|
+
return response;
|
|
20078
20095
|
});
|
|
20079
|
-
return this.saveLog();
|
|
20080
20096
|
},
|
|
20081
|
-
|
|
20082
|
-
var
|
|
20083
|
-
|
|
20084
|
-
this.
|
|
20085
|
-
|
|
20086
|
-
|
|
20087
|
-
|
|
20088
|
-
|
|
20097
|
+
getProvisionedAccounts: function getProvisionedAccounts() {
|
|
20098
|
+
var _this3 = this;
|
|
20099
|
+
|
|
20100
|
+
return DirectDebitAPI.getProvisionedAccounts(this.directDebit.token).then(function (response) {
|
|
20101
|
+
_this3.logAPIResponse(response, paymentMethod$1);
|
|
20102
|
+
|
|
20103
|
+
var status = response.status,
|
|
20104
|
+
data = response.data;
|
|
20105
|
+
|
|
20106
|
+
if (status) {
|
|
20107
|
+
if (data && data.length < 1) {
|
|
20108
|
+
return Promise.reject(Error('You have not provisioned any bank account for Direct Debit yet'));
|
|
20109
|
+
}
|
|
20110
|
+
|
|
20111
|
+
_this3.directDebit.accounts = response.data;
|
|
20112
|
+
}
|
|
20113
|
+
|
|
20114
|
+
return response;
|
|
20089
20115
|
});
|
|
20090
|
-
return this.saveLog();
|
|
20091
20116
|
},
|
|
20092
|
-
|
|
20093
|
-
var
|
|
20094
|
-
this.log.history.push({
|
|
20095
|
-
type: 'action',
|
|
20096
|
-
message: message,
|
|
20097
|
-
channel: channel,
|
|
20098
|
-
time: this.getTimeSpent()
|
|
20099
|
-
});
|
|
20100
|
-
return this.saveLog();
|
|
20101
|
-
},
|
|
20102
|
-
logTokenAuthenticationFailure: function logTokenAuthenticationFailure(error) {
|
|
20103
|
-
var message = error ? "Error: ".concat(error) : 'Error';
|
|
20104
|
-
this.log.errors += 1;
|
|
20105
|
-
this.log.history.push({
|
|
20106
|
-
type: 'error',
|
|
20107
|
-
message: message,
|
|
20108
|
-
authentication: 'failed',
|
|
20109
|
-
time: this.getTimeSpent()
|
|
20110
|
-
});
|
|
20111
|
-
return this.saveLog();
|
|
20112
|
-
},
|
|
20113
|
-
logError: function logError(error) {
|
|
20114
|
-
var message = 'Error';
|
|
20117
|
+
authenticateAccount: function authenticateAccount(otp) {
|
|
20118
|
+
var _this4 = this;
|
|
20115
20119
|
|
|
20116
|
-
|
|
20117
|
-
|
|
20118
|
-
|
|
20120
|
+
var params = {
|
|
20121
|
+
otp: otp,
|
|
20122
|
+
transaction: this.id,
|
|
20123
|
+
token: this.directDebit.token
|
|
20124
|
+
};
|
|
20125
|
+
return DirectDebitAPI.authenticate(params).then(function (response) {
|
|
20126
|
+
_this4.logAPIResponse(response, paymentMethod$1);
|
|
20119
20127
|
|
|
20120
|
-
|
|
20121
|
-
this.log.history.push({
|
|
20122
|
-
type: 'error',
|
|
20123
|
-
message: message,
|
|
20124
|
-
time: this.getTimeSpent()
|
|
20125
|
-
});
|
|
20126
|
-
return this.saveLog();
|
|
20127
|
-
},
|
|
20128
|
-
logAuth: function logAuth(value) {
|
|
20129
|
-
this.log.authentication = value;
|
|
20130
|
-
this.log.history.push({
|
|
20131
|
-
type: 'auth',
|
|
20132
|
-
message: "Authentication Required: ".concat(value),
|
|
20133
|
-
time: this.getTimeSpent()
|
|
20128
|
+
return response;
|
|
20134
20129
|
});
|
|
20135
|
-
|
|
20136
|
-
|
|
20137
|
-
logSuccess: function logSuccess(channel) {
|
|
20138
|
-
var message = 'Successfully paid';
|
|
20130
|
+
}
|
|
20131
|
+
};
|
|
20139
20132
|
|
|
20140
|
-
|
|
20141
|
-
|
|
20142
|
-
|
|
20133
|
+
var ChargeFunctions = {
|
|
20134
|
+
get: function get(channel) {
|
|
20135
|
+
var chargeFunctions = {
|
|
20136
|
+
card: CardCharge,
|
|
20137
|
+
bank: BankAccountCharge,
|
|
20138
|
+
ussd: USSDCharge,
|
|
20139
|
+
qr: QRCharge,
|
|
20140
|
+
mobile_money: MobileMoneyCharge,
|
|
20141
|
+
direct_debit: DirectDebitCharge,
|
|
20142
|
+
bank_transfer: PayWithTransferCharge,
|
|
20143
|
+
eft: EFT,
|
|
20144
|
+
payattitude: PayattitudeCharge,
|
|
20145
|
+
apple_pay: ApplePayCharge,
|
|
20146
|
+
paypal: PayPalCharge
|
|
20147
|
+
};
|
|
20148
|
+
return chargeFunctions[channel];
|
|
20149
|
+
}
|
|
20150
|
+
};
|
|
20143
20151
|
|
|
20144
|
-
|
|
20145
|
-
this.log.history.push({
|
|
20146
|
-
type: 'success',
|
|
20147
|
-
message: message,
|
|
20148
|
-
time: this.getTimeSpent()
|
|
20149
|
-
});
|
|
20150
|
-
return this.saveLog();
|
|
20151
|
-
},
|
|
20152
|
-
logPending: function logPending(channel) {
|
|
20153
|
-
var message = 'Payment in progress';
|
|
20152
|
+
var isMobile_1 = isMobile;
|
|
20154
20153
|
|
|
20155
|
-
|
|
20156
|
-
|
|
20157
|
-
|
|
20154
|
+
function isMobile (ua) {
|
|
20155
|
+
if (!ua && typeof navigator != 'undefined') ua = navigator.userAgent;
|
|
20156
|
+
if (ua && ua.headers && typeof ua.headers['user-agent'] == 'string') {
|
|
20157
|
+
ua = ua.headers['user-agent'];
|
|
20158
|
+
}
|
|
20159
|
+
if (typeof ua != 'string') return false;
|
|
20158
20160
|
|
|
20159
|
-
|
|
20160
|
-
|
|
20161
|
-
|
|
20162
|
-
|
|
20163
|
-
|
|
20164
|
-
|
|
20165
|
-
|
|
20166
|
-
|
|
20167
|
-
|
|
20168
|
-
|
|
20169
|
-
|
|
20170
|
-
|
|
20171
|
-
|
|
20172
|
-
|
|
20173
|
-
|
|
20174
|
-
|
|
20175
|
-
|
|
20176
|
-
|
|
20177
|
-
|
|
20178
|
-
|
|
20179
|
-
|
|
20180
|
-
|
|
20181
|
-
message: "".concat(prefix, " transaction currency to ").concat(currency),
|
|
20182
|
-
time: this.getTimeSpent()
|
|
20183
|
-
});
|
|
20184
|
-
return this.saveLog();
|
|
20185
|
-
},
|
|
20186
|
-
saveLog: function saveLog() {
|
|
20187
|
-
return AnalyticsAPI.saveLog(this.id, this.merchant.key, this.log);
|
|
20188
|
-
},
|
|
20189
|
-
saveIpAddress: function saveIpAddress() {
|
|
20190
|
-
return AnalyticsAPI.saveIp(this.id, this.merchant.key);
|
|
20161
|
+
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));
|
|
20162
|
+
}
|
|
20163
|
+
|
|
20164
|
+
var AnalyticsUtils = {
|
|
20165
|
+
initializeLog: function initializeLog(log) {
|
|
20166
|
+
var _ref = log || {},
|
|
20167
|
+
attempts = _ref.attempts,
|
|
20168
|
+
authentication = _ref.authentication,
|
|
20169
|
+
errors = _ref.errors,
|
|
20170
|
+
history = _ref.history;
|
|
20171
|
+
|
|
20172
|
+
return {
|
|
20173
|
+
start_time: Math.round(Date.now() / 1000),
|
|
20174
|
+
time_spent: 0,
|
|
20175
|
+
attempts: attempts || 0,
|
|
20176
|
+
authentication: authentication,
|
|
20177
|
+
errors: errors || 0,
|
|
20178
|
+
success: false,
|
|
20179
|
+
mobile: isMobile_1(),
|
|
20180
|
+
input: [],
|
|
20181
|
+
history: history || []
|
|
20182
|
+
};
|
|
20191
20183
|
},
|
|
20192
|
-
|
|
20193
|
-
|
|
20184
|
+
getTimeSpent: function getTimeSpent(startTime) {
|
|
20185
|
+
var currentTimeInSeconds = Math.round(Date.now() / 1000);
|
|
20186
|
+
return currentTimeInSeconds - startTime;
|
|
20194
20187
|
}
|
|
20195
20188
|
};
|
|
20196
20189
|
|
|
20197
|
-
var
|
|
20198
|
-
|
|
20199
|
-
|
|
20200
|
-
|
|
20201
|
-
|
|
20202
|
-
|
|
20203
|
-
|
|
20204
|
-
|
|
20205
|
-
|
|
20206
|
-
|
|
20207
|
-
|
|
20208
|
-
|
|
20209
|
-
|
|
20210
|
-
|
|
20211
|
-
|
|
20212
|
-
|
|
20213
|
-
|
|
20214
|
-
|
|
20190
|
+
var $ = _export;
|
|
20191
|
+
var global$1 = global$R;
|
|
20192
|
+
var getBuiltIn = getBuiltIn$a;
|
|
20193
|
+
var apply = functionApply;
|
|
20194
|
+
var uncurryThis = functionUncurryThis;
|
|
20195
|
+
var fails = fails$t;
|
|
20196
|
+
|
|
20197
|
+
var Array$1 = global$1.Array;
|
|
20198
|
+
var $stringify = getBuiltIn('JSON', 'stringify');
|
|
20199
|
+
var exec = uncurryThis(/./.exec);
|
|
20200
|
+
var charAt = uncurryThis(''.charAt);
|
|
20201
|
+
var charCodeAt = uncurryThis(''.charCodeAt);
|
|
20202
|
+
var replace = uncurryThis(''.replace);
|
|
20203
|
+
var numberToString = uncurryThis(1.0.toString);
|
|
20204
|
+
|
|
20205
|
+
var tester = /[\uD800-\uDFFF]/g;
|
|
20206
|
+
var low = /^[\uD800-\uDBFF]$/;
|
|
20207
|
+
var hi = /^[\uDC00-\uDFFF]$/;
|
|
20208
|
+
|
|
20209
|
+
var fix = function (match, offset, string) {
|
|
20210
|
+
var prev = charAt(string, offset - 1);
|
|
20211
|
+
var next = charAt(string, offset + 1);
|
|
20212
|
+
if ((exec(low, match) && !exec(hi, next)) || (exec(hi, match) && !exec(low, prev))) {
|
|
20213
|
+
return '\\u' + numberToString(charCodeAt(match, 0), 16);
|
|
20214
|
+
} return match;
|
|
20215
|
+
};
|
|
20216
|
+
|
|
20217
|
+
var FORCED = fails(function () {
|
|
20218
|
+
return $stringify('\uDF06\uD834') !== '"\\udf06\\ud834"'
|
|
20219
|
+
|| $stringify('\uDEAD') !== '"\\udead"';
|
|
20220
|
+
});
|
|
20221
|
+
|
|
20222
|
+
if ($stringify) {
|
|
20223
|
+
// `JSON.stringify` method
|
|
20224
|
+
// https://tc39.es/ecma262/#sec-json.stringify
|
|
20225
|
+
// https://github.com/tc39/proposal-well-formed-stringify
|
|
20226
|
+
$({ target: 'JSON', stat: true, forced: FORCED }, {
|
|
20227
|
+
// eslint-disable-next-line no-unused-vars -- required for `.length`
|
|
20228
|
+
stringify: function stringify(it, replacer, space) {
|
|
20229
|
+
for (var i = 0, l = arguments.length, args = Array$1(l); i < l; i++) args[i] = arguments[i];
|
|
20230
|
+
var result = apply($stringify, null, args);
|
|
20231
|
+
return typeof result == 'string' ? replace(result, tester, fix) : result;
|
|
20232
|
+
}
|
|
20233
|
+
});
|
|
20234
|
+
}
|
|
20235
|
+
|
|
20236
|
+
var AnalyticsAPIUtils = {
|
|
20237
|
+
saveLog: function saveLog(url, _ref) {
|
|
20238
|
+
var merchantKey = _ref.merchantKey,
|
|
20239
|
+
log = _ref.log;
|
|
20215
20240
|
var language = getLanguage();
|
|
20216
20241
|
|
|
20217
|
-
var headers = _objectSpread2({
|
|
20242
|
+
var headers = _objectSpread2({
|
|
20243
|
+
Authorization: "Bearer ".concat(merchantKey)
|
|
20244
|
+
}, language && {
|
|
20218
20245
|
'Accept-Language': language
|
|
20219
20246
|
});
|
|
20220
20247
|
|
|
20221
|
-
return axiosInstance.post(
|
|
20248
|
+
return axiosInstance.post(url, {
|
|
20249
|
+
payload: JSON.stringify(log)
|
|
20250
|
+
}, {
|
|
20222
20251
|
headers: headers
|
|
20223
20252
|
}).then(function (response) {
|
|
20224
|
-
return
|
|
20225
|
-
}).catch(function (_ref2) {
|
|
20226
|
-
var response = _ref2.response;
|
|
20227
|
-
return ChargeResponses.parse(response.data);
|
|
20253
|
+
return response.data;
|
|
20228
20254
|
});
|
|
20229
20255
|
},
|
|
20230
|
-
|
|
20231
|
-
var
|
|
20232
|
-
code = _ref3.code;
|
|
20256
|
+
getIp: function getIp() {
|
|
20257
|
+
var url = 'https://api.paystack.co/decision/ip';
|
|
20233
20258
|
var language = getLanguage();
|
|
20234
20259
|
|
|
20235
20260
|
var headers = _objectSpread2({}, language && {
|
|
20236
20261
|
'Accept-Language': language
|
|
20237
20262
|
});
|
|
20238
20263
|
|
|
20239
|
-
|
|
20240
|
-
transaction: transaction,
|
|
20241
|
-
otp: code
|
|
20242
|
-
});
|
|
20243
|
-
var url = new URL('charge/momo_payin_finalize', configToUse.paymentBaseUrl).toString();
|
|
20244
|
-
return axiosInstance.post(url, urlEncodedData, {
|
|
20264
|
+
return axiosInstance.get(url, {
|
|
20245
20265
|
headers: headers
|
|
20246
20266
|
}).then(function (response) {
|
|
20247
|
-
return
|
|
20267
|
+
return response.data.data.ip_address;
|
|
20248
20268
|
});
|
|
20249
|
-
}
|
|
20250
|
-
|
|
20251
|
-
|
|
20252
|
-
|
|
20253
|
-
return new Promise(function (resolve, reject) {
|
|
20254
|
-
var validation = PhoneNumber.validate(phoneNumber);
|
|
20255
|
-
|
|
20256
|
-
if (!validation.isValid) {
|
|
20257
|
-
var errorMessage = phoneNumber ? validation.errors[0] : 'Please start a mobile money transaction with Transaction.chargeMobileMoney()';
|
|
20258
|
-
reject(Error(errorMessage));
|
|
20259
|
-
}
|
|
20260
|
-
|
|
20261
|
-
resolve(validation);
|
|
20262
|
-
});
|
|
20263
|
-
}
|
|
20264
|
-
|
|
20265
|
-
var mobileMoney = {};
|
|
20266
|
-
|
|
20267
|
-
function mobileMoneyChargeAPI(params) {
|
|
20268
|
-
return MobileMoneyAPI.charge(params).then( /*#__PURE__*/function () {
|
|
20269
|
-
var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(response) {
|
|
20270
|
-
return regeneratorRuntime.wrap(function _callee$(_context) {
|
|
20271
|
-
while (1) {
|
|
20272
|
-
switch (_context.prev = _context.next) {
|
|
20273
|
-
case 0:
|
|
20274
|
-
if (!(response.status === 'success')) {
|
|
20275
|
-
_context.next = 5;
|
|
20276
|
-
break;
|
|
20277
|
-
}
|
|
20278
|
-
|
|
20279
|
-
mobileMoney = response;
|
|
20280
|
-
|
|
20281
|
-
if (!(response.data && response.data.display && response.data.display.otpSentCount === 1)) {
|
|
20282
|
-
_context.next = 5;
|
|
20283
|
-
break;
|
|
20284
|
-
}
|
|
20285
|
-
|
|
20286
|
-
_context.next = 5;
|
|
20287
|
-
return AnalyticsFunctions$1.logTokenRequest('mobile money');
|
|
20288
|
-
|
|
20289
|
-
case 5:
|
|
20290
|
-
return _context.abrupt("return", response);
|
|
20291
|
-
|
|
20292
|
-
case 6:
|
|
20293
|
-
case "end":
|
|
20294
|
-
return _context.stop();
|
|
20295
|
-
}
|
|
20296
|
-
}
|
|
20297
|
-
}, _callee);
|
|
20298
|
-
}));
|
|
20299
|
-
|
|
20300
|
-
return function (_x) {
|
|
20301
|
-
return _ref.apply(this, arguments);
|
|
20302
|
-
};
|
|
20303
|
-
}());
|
|
20304
|
-
}
|
|
20305
|
-
|
|
20306
|
-
var MobileMoneyCharge = {
|
|
20307
|
-
chargeMobileMoney: function chargeMobileMoney(_ref2) {
|
|
20308
|
-
var _this = this;
|
|
20309
|
-
|
|
20310
|
-
var phoneNumber = _ref2.phoneNumber,
|
|
20311
|
-
provider = _ref2.provider,
|
|
20312
|
-
voucher = _ref2.voucher,
|
|
20313
|
-
registrationToken = _ref2.registrationToken;
|
|
20314
|
-
return validate$1(phoneNumber).then(function () {
|
|
20315
|
-
_this.logAttempt('mobile money');
|
|
20316
|
-
|
|
20317
|
-
var params = {
|
|
20318
|
-
provider: provider,
|
|
20319
|
-
voucher: voucher,
|
|
20320
|
-
registrationToken: registrationToken,
|
|
20321
|
-
transaction: _this.id,
|
|
20322
|
-
phone: phoneNumber,
|
|
20323
|
-
device: _this.deviceFingerprint,
|
|
20324
|
-
channel_name: "MOBILE_MONEY_".concat(_this.id)
|
|
20325
|
-
};
|
|
20326
|
-
return mobileMoneyChargeAPI(params);
|
|
20327
|
-
});
|
|
20328
|
-
},
|
|
20329
|
-
chargeMpesaOffline: function chargeMpesaOffline(_ref3) {
|
|
20330
|
-
var provider = _ref3.provider,
|
|
20331
|
-
voucher = _ref3.voucher,
|
|
20332
|
-
registrationToken = _ref3.registrationToken;
|
|
20333
|
-
this.logAttempt('mobile money');
|
|
20334
|
-
var params = {
|
|
20335
|
-
provider: provider,
|
|
20336
|
-
voucher: voucher,
|
|
20337
|
-
registrationToken: registrationToken,
|
|
20338
|
-
transaction: this.id,
|
|
20339
|
-
device: this.deviceFingerprint,
|
|
20340
|
-
channel_name: "MOBILE_MONEY_".concat(this.id)
|
|
20341
|
-
};
|
|
20342
|
-
return mobileMoneyChargeAPI(params);
|
|
20343
|
-
},
|
|
20344
|
-
authenticateMobileMoney: function authenticateMobileMoney(payload) {
|
|
20345
|
-
var _this2 = this;
|
|
20346
|
-
|
|
20347
|
-
var phoneNumber = payload.phoneNumber,
|
|
20348
|
-
provider = payload.provider,
|
|
20349
|
-
registrationToken = payload.registrationToken;
|
|
20350
|
-
return validate$1(phoneNumber).then(function () {
|
|
20351
|
-
_this2.logMobileMoneyActions(payload);
|
|
20352
|
-
|
|
20353
|
-
var params = {
|
|
20354
|
-
provider: provider,
|
|
20355
|
-
registrationToken: registrationToken,
|
|
20356
|
-
transaction: _this2.id,
|
|
20357
|
-
phone: phoneNumber,
|
|
20358
|
-
device: _this2.deviceFingerprint,
|
|
20359
|
-
channel_name: "MOBILE_MONEY_".concat(_this2.id)
|
|
20360
|
-
};
|
|
20361
|
-
return MobileMoneyAPI.charge(params).then(function (response) {
|
|
20362
|
-
if (response.status === 'success') {
|
|
20363
|
-
mobileMoney = response;
|
|
20364
|
-
|
|
20365
|
-
if (response.data && response.data.display && response.data.display.otpSentCount === 1) {
|
|
20366
|
-
_this2.logTokenRequest('mobile money');
|
|
20367
|
-
}
|
|
20368
|
-
} else if (response.errors && response.errors.data && response.errors.data.status === 'awaiting_registration_token') {
|
|
20369
|
-
_this2.logTokenAuthenticationFailure(response.message);
|
|
20370
|
-
} else {
|
|
20371
|
-
_this2.logError(response.message);
|
|
20372
|
-
}
|
|
20373
|
-
|
|
20374
|
-
return response;
|
|
20375
|
-
});
|
|
20376
|
-
});
|
|
20377
|
-
},
|
|
20378
|
-
submitMobileMoneyCode: function submitMobileMoneyCode(payload) {
|
|
20379
|
-
var _this3 = this;
|
|
20380
|
-
|
|
20381
|
-
return MobileMoneyAPI.submitCode({
|
|
20382
|
-
code: payload.code,
|
|
20383
|
-
transaction: this.id
|
|
20384
|
-
}).then(function (response) {
|
|
20385
|
-
_this3.logAPIResponse(response, 'mobile_money');
|
|
20386
|
-
|
|
20387
|
-
return response;
|
|
20388
|
-
});
|
|
20389
|
-
},
|
|
20390
|
-
listenForMobileMoneyCharge: function listenForMobileMoneyCharge(callback) {
|
|
20391
|
-
if (mobileMoney.status !== 'success') {
|
|
20392
|
-
return Promise.reject(Error('Please start a mobile money charge with Transaction.chargeMobileMoney()'));
|
|
20393
|
-
}
|
|
20394
|
-
|
|
20395
|
-
var _mobileMoney$data = mobileMoney.data,
|
|
20396
|
-
channel = _mobileMoney$data.channel,
|
|
20397
|
-
channelName = _mobileMoney$data.channel_name;
|
|
20398
|
-
var listenerOptions = {
|
|
20399
|
-
channel: channel || channelName,
|
|
20400
|
-
paymentMethod: 'mobile_money'
|
|
20401
|
-
};
|
|
20402
|
-
return this.listenForCharge(listenerOptions, callback);
|
|
20403
|
-
}
|
|
20404
|
-
};
|
|
20405
|
-
|
|
20406
|
-
var DirectDebitAPI = {
|
|
20407
|
-
loginToDirectDebitAccount: function loginToDirectDebitAccount(_ref) {
|
|
20408
|
-
var email = _ref.email,
|
|
20409
|
-
password = _ref.password;
|
|
20410
|
-
var params = {
|
|
20411
|
-
email: email,
|
|
20412
|
-
password: password
|
|
20413
|
-
};
|
|
20414
|
-
var language = getLanguage();
|
|
20415
|
-
|
|
20416
|
-
var headers = _objectSpread2({}, language && {
|
|
20417
|
-
'Accept-Language': language
|
|
20418
|
-
});
|
|
20419
|
-
|
|
20420
|
-
return axiosInstance.post("".concat(configToUse.paystackApiUrl, "login"), params, {
|
|
20421
|
-
headers: headers
|
|
20422
|
-
}).then(function (response) {
|
|
20423
|
-
return ChargeResponses.parse(response.data);
|
|
20424
|
-
});
|
|
20425
|
-
},
|
|
20426
|
-
charge: function charge(_ref2) {
|
|
20427
|
-
var accountCode = _ref2.account_code,
|
|
20428
|
-
transaction = _ref2.transaction,
|
|
20429
|
-
token = _ref2.token;
|
|
20430
|
-
var language = getLanguage();
|
|
20431
|
-
|
|
20432
|
-
var headers = _objectSpread2({
|
|
20433
|
-
Authorization: "Bearer ".concat(token),
|
|
20434
|
-
'jwt-auth': true
|
|
20435
|
-
}, language && {
|
|
20436
|
-
'Accept-Language': language
|
|
20437
|
-
});
|
|
20438
|
-
|
|
20439
|
-
var params = {
|
|
20440
|
-
account_code: accountCode,
|
|
20441
|
-
transaction: transaction
|
|
20442
|
-
};
|
|
20443
|
-
return axiosInstance.post("".concat(configToUse.paystackApiUrl, "directdebit/initiate"), params, {
|
|
20444
|
-
headers: headers
|
|
20445
|
-
}).then(function (response) {
|
|
20446
|
-
return ChargeResponses.parse(response.data);
|
|
20447
|
-
});
|
|
20448
|
-
},
|
|
20449
|
-
authenticate: function authenticate(_ref3) {
|
|
20450
|
-
var otp = _ref3.otp,
|
|
20451
|
-
transaction = _ref3.transaction,
|
|
20452
|
-
token = _ref3.token;
|
|
20453
|
-
var language = getLanguage();
|
|
20269
|
+
},
|
|
20270
|
+
saveIp: function saveIp(url, _ref2) {
|
|
20271
|
+
var merchantKey = _ref2.merchantKey;
|
|
20272
|
+
var language = getLanguage();
|
|
20454
20273
|
|
|
20455
20274
|
var headers = _objectSpread2({
|
|
20456
|
-
Authorization: "Bearer ".concat(
|
|
20457
|
-
'jwt-auth': true
|
|
20275
|
+
Authorization: "Bearer ".concat(merchantKey)
|
|
20458
20276
|
}, language && {
|
|
20459
20277
|
'Accept-Language': language
|
|
20460
20278
|
});
|
|
20461
20279
|
|
|
20462
|
-
|
|
20463
|
-
otp: otp,
|
|
20464
|
-
transaction: transaction
|
|
20465
|
-
};
|
|
20466
|
-
return axiosInstance.post("".concat(configToUse.paystackApiUrl, "directdebit/validate"), params, {
|
|
20280
|
+
return axiosInstance.post(url, null, {
|
|
20467
20281
|
headers: headers
|
|
20468
20282
|
}).then(function (response) {
|
|
20469
|
-
return
|
|
20283
|
+
return response.data;
|
|
20470
20284
|
});
|
|
20471
20285
|
},
|
|
20472
|
-
|
|
20286
|
+
saveReferrer: function saveReferrer(url, _ref3) {
|
|
20287
|
+
var merchantKey = _ref3.merchantKey,
|
|
20288
|
+
referrer = _ref3.referrer;
|
|
20473
20289
|
var language = getLanguage();
|
|
20474
20290
|
|
|
20475
20291
|
var headers = _objectSpread2({
|
|
20476
|
-
Authorization: "Bearer ".concat(
|
|
20477
|
-
'jwt-auth': true
|
|
20292
|
+
Authorization: "Bearer ".concat(merchantKey)
|
|
20478
20293
|
}, language && {
|
|
20479
20294
|
'Accept-Language': language
|
|
20480
20295
|
});
|
|
20481
20296
|
|
|
20482
|
-
return axiosInstance.
|
|
20297
|
+
return axiosInstance.post(url, {
|
|
20298
|
+
referrer: referrer
|
|
20299
|
+
}, {
|
|
20483
20300
|
headers: headers
|
|
20484
20301
|
}).then(function (response) {
|
|
20485
20302
|
return response.data;
|
|
@@ -20487,120 +20304,277 @@ var Paystack = (function (exports) {
|
|
|
20487
20304
|
}
|
|
20488
20305
|
};
|
|
20489
20306
|
|
|
20490
|
-
var
|
|
20491
|
-
|
|
20492
|
-
|
|
20493
|
-
|
|
20494
|
-
|
|
20495
|
-
|
|
20496
|
-
password = _ref.password;
|
|
20497
|
-
var params = {
|
|
20498
|
-
email: email,
|
|
20499
|
-
password: password
|
|
20500
|
-
};
|
|
20501
|
-
|
|
20502
|
-
if (!isValidEmail(email)) {
|
|
20503
|
-
return Promise.reject(Error('Invalid email'));
|
|
20504
|
-
}
|
|
20505
|
-
|
|
20506
|
-
return DirectDebitAPI.loginToDirectDebitAccount(params).then(function (response) {
|
|
20507
|
-
if (response.status === 'success') {
|
|
20508
|
-
var _response$data = response.data,
|
|
20509
|
-
token = _response$data.token,
|
|
20510
|
-
permissions = _response$data.user.permissions;
|
|
20511
|
-
|
|
20512
|
-
if (!permissions || permissions.length < 1) {
|
|
20513
|
-
throw Error('You do not have the privileges to perform this action');
|
|
20514
|
-
}
|
|
20515
|
-
|
|
20516
|
-
if (permissions.find(function (permission) {
|
|
20517
|
-
return permission === 'directdebit-*';
|
|
20518
|
-
})) {
|
|
20519
|
-
_this.directDebit.token = token;
|
|
20520
|
-
return response;
|
|
20521
|
-
}
|
|
20522
|
-
|
|
20523
|
-
throw Error('You do not have the privileges to perform this action');
|
|
20524
|
-
}
|
|
20525
|
-
|
|
20526
|
-
return response;
|
|
20307
|
+
var AnalyticsAPI = {
|
|
20308
|
+
saveLog: function saveLog(transactionId, merchantKey, log) {
|
|
20309
|
+
var url = new URL("transaction/update_log/".concat(transactionId), configToUse.paystackApiUrl).toString();
|
|
20310
|
+
return AnalyticsAPIUtils.saveLog(url, {
|
|
20311
|
+
merchantKey: merchantKey,
|
|
20312
|
+
log: log
|
|
20527
20313
|
});
|
|
20528
20314
|
},
|
|
20529
|
-
|
|
20530
|
-
|
|
20531
|
-
|
|
20532
|
-
|
|
20533
|
-
|
|
20534
|
-
|
|
20535
|
-
|
|
20536
|
-
this.logAttempt(paymentMethod$1);
|
|
20537
|
-
var params = {
|
|
20538
|
-
account_code: accountCode,
|
|
20539
|
-
transaction: this.id,
|
|
20540
|
-
token: this.directDebit.token
|
|
20541
|
-
};
|
|
20542
|
-
return DirectDebitAPI.charge(params).then(function (response) {
|
|
20543
|
-
_this2.logAPIResponse(response, paymentMethod$1);
|
|
20544
|
-
|
|
20545
|
-
if (response.status) {
|
|
20546
|
-
_this2.directDebit.chargeResponse = response;
|
|
20547
|
-
}
|
|
20548
|
-
|
|
20549
|
-
return response;
|
|
20315
|
+
getIp: function getIp() {
|
|
20316
|
+
return AnalyticsAPIUtils.getIp();
|
|
20317
|
+
},
|
|
20318
|
+
saveIp: function saveIp(transactionId, merchantKey) {
|
|
20319
|
+
var url = new URL("transaction/set_ip/".concat(transactionId), configToUse.paystackApiUrl).toString();
|
|
20320
|
+
return AnalyticsAPIUtils.saveIp(url, {
|
|
20321
|
+
merchantKey: merchantKey
|
|
20550
20322
|
});
|
|
20551
20323
|
},
|
|
20552
|
-
|
|
20553
|
-
var
|
|
20324
|
+
saveReferrer: function saveReferrer(transactionId, merchantKey, referrer) {
|
|
20325
|
+
var url = new URL("transaction/set_referrer/".concat(transactionId), configToUse.paystackApiUrl).toString();
|
|
20326
|
+
return AnalyticsAPIUtils.saveReferrer(url, {
|
|
20327
|
+
merchantKey: merchantKey,
|
|
20328
|
+
referrer: referrer
|
|
20329
|
+
});
|
|
20330
|
+
}
|
|
20331
|
+
};
|
|
20554
20332
|
|
|
20555
|
-
|
|
20556
|
-
|
|
20333
|
+
var AnalyticsFunctions$1 = {
|
|
20334
|
+
initializeLog: function initializeLog(log) {
|
|
20335
|
+
this.log = AnalyticsUtils.initializeLog(log);
|
|
20336
|
+
},
|
|
20337
|
+
getTimeSpent: function getTimeSpent() {
|
|
20338
|
+
this.log.time_spent = AnalyticsUtils.getTimeSpent(this.log.start_time);
|
|
20339
|
+
return this.log.time_spent;
|
|
20340
|
+
},
|
|
20341
|
+
logPageOpen: function logPageOpen() {
|
|
20342
|
+
this.log.history.push({
|
|
20343
|
+
type: 'open',
|
|
20344
|
+
message: 'Opened checkout',
|
|
20345
|
+
time: this.getTimeSpent()
|
|
20346
|
+
});
|
|
20347
|
+
return this.saveLog();
|
|
20348
|
+
},
|
|
20349
|
+
logChannelSwitch: function logChannelSwitch(value) {
|
|
20350
|
+
this.log.history.push({
|
|
20351
|
+
type: 'action',
|
|
20352
|
+
message: "Set payment method to: ".concat(value),
|
|
20353
|
+
time: this.getTimeSpent()
|
|
20354
|
+
});
|
|
20355
|
+
return this.saveLog();
|
|
20356
|
+
},
|
|
20357
|
+
logValidationErrors: function logValidationErrors(inputs) {
|
|
20358
|
+
var _this = this;
|
|
20557
20359
|
|
|
20558
|
-
|
|
20559
|
-
|
|
20360
|
+
inputs.forEach(function (input) {
|
|
20361
|
+
_this.log.history.push({
|
|
20362
|
+
type: 'error',
|
|
20363
|
+
message: "Invalid ".concat(input),
|
|
20364
|
+
time: _this.getTimeSpent()
|
|
20365
|
+
});
|
|
20366
|
+
});
|
|
20367
|
+
return this.saveLog();
|
|
20368
|
+
},
|
|
20369
|
+
logInput: function logInput(value) {
|
|
20370
|
+
var isUpdate = this.log.history.find(function (item) {
|
|
20371
|
+
return item.message === "Filled this field: ".concat(value);
|
|
20372
|
+
});
|
|
20373
|
+
this.log.history.push({
|
|
20374
|
+
type: 'input',
|
|
20375
|
+
message: "".concat(isUpdate ? 'Changed' : 'Filled', " this field: ").concat(value),
|
|
20376
|
+
time: this.getTimeSpent()
|
|
20377
|
+
});
|
|
20378
|
+
return this.saveLog();
|
|
20379
|
+
},
|
|
20380
|
+
logBankSelect: function logBankSelect(value) {
|
|
20381
|
+
this.log.history.push({
|
|
20382
|
+
type: 'action',
|
|
20383
|
+
message: "Selected bank: ".concat(value),
|
|
20384
|
+
time: this.getTimeSpent()
|
|
20385
|
+
});
|
|
20386
|
+
return this.saveLog();
|
|
20387
|
+
},
|
|
20388
|
+
logSavedCardSelect: function logSavedCardSelect() {
|
|
20389
|
+
this.log.history.push({
|
|
20390
|
+
type: 'action',
|
|
20391
|
+
message: 'Selected saved card',
|
|
20392
|
+
time: this.getTimeSpent()
|
|
20393
|
+
});
|
|
20394
|
+
return this.saveLog();
|
|
20395
|
+
},
|
|
20396
|
+
logAuthWindowOpen: function logAuthWindowOpen() {
|
|
20397
|
+
this.log.history.push({
|
|
20398
|
+
type: 'action',
|
|
20399
|
+
message: 'Third-party authentication window opened',
|
|
20400
|
+
time: this.getTimeSpent()
|
|
20401
|
+
});
|
|
20402
|
+
return this.saveLog();
|
|
20403
|
+
},
|
|
20404
|
+
logAuthWindowClose: function logAuthWindowClose() {
|
|
20405
|
+
this.log.history.push({
|
|
20406
|
+
type: 'action',
|
|
20407
|
+
message: 'Third-party authentication window closed',
|
|
20408
|
+
time: this.getTimeSpent()
|
|
20409
|
+
});
|
|
20410
|
+
return this.saveLog();
|
|
20411
|
+
},
|
|
20412
|
+
logAPIResponse: function logAPIResponse(response, channel) {
|
|
20413
|
+
switch (response.status) {
|
|
20414
|
+
case 'success':
|
|
20415
|
+
return this.logSuccess(channel);
|
|
20560
20416
|
|
|
20561
|
-
|
|
20562
|
-
|
|
20563
|
-
return Promise.reject(Error('You have not provisioned any bank account for Direct Debit yet'));
|
|
20564
|
-
}
|
|
20417
|
+
case 'pending':
|
|
20418
|
+
return this.logPending(channel);
|
|
20565
20419
|
|
|
20566
|
-
|
|
20567
|
-
|
|
20420
|
+
case 'failed':
|
|
20421
|
+
return this.logError(response.message);
|
|
20568
20422
|
|
|
20569
|
-
|
|
20423
|
+
case 'auth':
|
|
20424
|
+
return this.logAuth(response.data.auth);
|
|
20425
|
+
|
|
20426
|
+
default:
|
|
20427
|
+
return false;
|
|
20428
|
+
}
|
|
20429
|
+
},
|
|
20430
|
+
logMobileMoneyActions: function logMobileMoneyActions(_ref) {
|
|
20431
|
+
var numberOfTokenRequests = _ref.numberOfTokenRequests,
|
|
20432
|
+
registrationToken = _ref.registrationToken;
|
|
20433
|
+
|
|
20434
|
+
if (numberOfTokenRequests) {
|
|
20435
|
+
this.logTokenRequest('mobile money', numberOfTokenRequests);
|
|
20436
|
+
} else if (registrationToken) {
|
|
20437
|
+
this.logTokenSubmitted('mobile money');
|
|
20438
|
+
} else {
|
|
20439
|
+
this.logAttempt('mobile money');
|
|
20440
|
+
}
|
|
20441
|
+
},
|
|
20442
|
+
logAPIResponseMessage: function logAPIResponseMessage(message) {
|
|
20443
|
+
this.log.history.push({
|
|
20444
|
+
type: 'action',
|
|
20445
|
+
message: message,
|
|
20446
|
+
time: this.getTimeSpent()
|
|
20570
20447
|
});
|
|
20448
|
+
return this.saveLog();
|
|
20571
20449
|
},
|
|
20572
|
-
|
|
20573
|
-
var
|
|
20450
|
+
logAttempt: function logAttempt(channel) {
|
|
20451
|
+
var message = 'Attempted to pay';
|
|
20574
20452
|
|
|
20575
|
-
|
|
20576
|
-
|
|
20577
|
-
|
|
20578
|
-
token: this.directDebit.token
|
|
20579
|
-
};
|
|
20580
|
-
return DirectDebitAPI.authenticate(params).then(function (response) {
|
|
20581
|
-
_this4.logAPIResponse(response, paymentMethod$1);
|
|
20453
|
+
if (channel) {
|
|
20454
|
+
message += " with ".concat(channel);
|
|
20455
|
+
}
|
|
20582
20456
|
|
|
20583
|
-
|
|
20457
|
+
this.log.attempts += 1;
|
|
20458
|
+
this.log.history.push({
|
|
20459
|
+
type: 'action',
|
|
20460
|
+
message: message,
|
|
20461
|
+
time: this.getTimeSpent()
|
|
20584
20462
|
});
|
|
20585
|
-
|
|
20586
|
-
|
|
20463
|
+
return this.saveLog();
|
|
20464
|
+
},
|
|
20465
|
+
logTokenRequest: function logTokenRequest(channel) {
|
|
20466
|
+
var numberOfTokenRequests = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
20467
|
+
var message = numberOfTokenRequests === 0 ? 'Waiting for customer to submit OTP' : 'Customer requested to resend OTP';
|
|
20468
|
+
this.log.history.push({
|
|
20469
|
+
type: 'action',
|
|
20470
|
+
message: message,
|
|
20471
|
+
channel: channel,
|
|
20472
|
+
time: this.getTimeSpent()
|
|
20473
|
+
});
|
|
20474
|
+
return this.saveLog();
|
|
20475
|
+
},
|
|
20476
|
+
logTokenSubmitted: function logTokenSubmitted(channel) {
|
|
20477
|
+
var message = 'Customer submitted OTP';
|
|
20478
|
+
this.log.history.push({
|
|
20479
|
+
type: 'action',
|
|
20480
|
+
message: message,
|
|
20481
|
+
channel: channel,
|
|
20482
|
+
time: this.getTimeSpent()
|
|
20483
|
+
});
|
|
20484
|
+
return this.saveLog();
|
|
20485
|
+
},
|
|
20486
|
+
logTokenAuthenticationFailure: function logTokenAuthenticationFailure(error) {
|
|
20487
|
+
var message = error ? "Error: ".concat(error) : 'Error';
|
|
20488
|
+
this.log.errors += 1;
|
|
20489
|
+
this.log.history.push({
|
|
20490
|
+
type: 'error',
|
|
20491
|
+
message: message,
|
|
20492
|
+
authentication: 'failed',
|
|
20493
|
+
time: this.getTimeSpent()
|
|
20494
|
+
});
|
|
20495
|
+
return this.saveLog();
|
|
20496
|
+
},
|
|
20497
|
+
logError: function logError(error) {
|
|
20498
|
+
var message = 'Error';
|
|
20587
20499
|
|
|
20588
|
-
|
|
20589
|
-
|
|
20590
|
-
|
|
20591
|
-
|
|
20592
|
-
|
|
20593
|
-
|
|
20594
|
-
|
|
20595
|
-
|
|
20596
|
-
|
|
20597
|
-
|
|
20598
|
-
|
|
20599
|
-
|
|
20600
|
-
|
|
20601
|
-
|
|
20602
|
-
|
|
20603
|
-
|
|
20500
|
+
if (error) {
|
|
20501
|
+
message += ": ".concat(error);
|
|
20502
|
+
}
|
|
20503
|
+
|
|
20504
|
+
this.log.errors += 1;
|
|
20505
|
+
this.log.history.push({
|
|
20506
|
+
type: 'error',
|
|
20507
|
+
message: message,
|
|
20508
|
+
time: this.getTimeSpent()
|
|
20509
|
+
});
|
|
20510
|
+
return this.saveLog();
|
|
20511
|
+
},
|
|
20512
|
+
logAuth: function logAuth(value) {
|
|
20513
|
+
this.log.authentication = value;
|
|
20514
|
+
this.log.history.push({
|
|
20515
|
+
type: 'auth',
|
|
20516
|
+
message: "Authentication Required: ".concat(value),
|
|
20517
|
+
time: this.getTimeSpent()
|
|
20518
|
+
});
|
|
20519
|
+
return this.saveLog();
|
|
20520
|
+
},
|
|
20521
|
+
logSuccess: function logSuccess(channel) {
|
|
20522
|
+
var message = 'Successfully paid';
|
|
20523
|
+
|
|
20524
|
+
if (channel) {
|
|
20525
|
+
message += " with ".concat(channel);
|
|
20526
|
+
}
|
|
20527
|
+
|
|
20528
|
+
this.log.success = true;
|
|
20529
|
+
this.log.history.push({
|
|
20530
|
+
type: 'success',
|
|
20531
|
+
message: message,
|
|
20532
|
+
time: this.getTimeSpent()
|
|
20533
|
+
});
|
|
20534
|
+
return this.saveLog();
|
|
20535
|
+
},
|
|
20536
|
+
logPending: function logPending(channel) {
|
|
20537
|
+
var message = 'Payment in progress';
|
|
20538
|
+
|
|
20539
|
+
if (channel) {
|
|
20540
|
+
message += " with ".concat(channel);
|
|
20541
|
+
}
|
|
20542
|
+
|
|
20543
|
+
this.log.history.push({
|
|
20544
|
+
type: 'pending',
|
|
20545
|
+
message: message,
|
|
20546
|
+
time: this.getTimeSpent()
|
|
20547
|
+
});
|
|
20548
|
+
return this.saveLog();
|
|
20549
|
+
},
|
|
20550
|
+
logPageClose: function logPageClose() {
|
|
20551
|
+
this.log.history.push({
|
|
20552
|
+
type: 'close',
|
|
20553
|
+
message: 'Closed checkout',
|
|
20554
|
+
time: this.getTimeSpent()
|
|
20555
|
+
});
|
|
20556
|
+
return this.saveLog();
|
|
20557
|
+
},
|
|
20558
|
+
logTransactionCurrencySwitch: function logTransactionCurrencySwitch(_ref2) {
|
|
20559
|
+
var currency = _ref2.currency,
|
|
20560
|
+
_ref2$isUserAction = _ref2.isUserAction,
|
|
20561
|
+
isUserAction = _ref2$isUserAction === void 0 ? true : _ref2$isUserAction;
|
|
20562
|
+
var prefix = isUserAction ? 'User switched' : 'Switched';
|
|
20563
|
+
this.log.history.push({
|
|
20564
|
+
type: 'action',
|
|
20565
|
+
message: "".concat(prefix, " transaction currency to ").concat(currency),
|
|
20566
|
+
time: this.getTimeSpent()
|
|
20567
|
+
});
|
|
20568
|
+
return this.saveLog();
|
|
20569
|
+
},
|
|
20570
|
+
saveLog: function saveLog() {
|
|
20571
|
+
return AnalyticsAPI.saveLog(this.id, this.merchant.key, this.log);
|
|
20572
|
+
},
|
|
20573
|
+
saveIpAddress: function saveIpAddress() {
|
|
20574
|
+
return AnalyticsAPI.saveIp(this.id, this.merchant.key);
|
|
20575
|
+
},
|
|
20576
|
+
saveReferrer: function saveReferrer(referrer) {
|
|
20577
|
+
return AnalyticsAPI.saveReferrer(this.id, this.merchant.key, referrer);
|
|
20604
20578
|
}
|
|
20605
20579
|
};
|
|
20606
20580
|
|
|
@@ -20636,6 +20610,7 @@ var Paystack = (function (exports) {
|
|
|
20636
20610
|
this.rememberMeEnabled = data.is_remember_me_enabled;
|
|
20637
20611
|
this.card = {};
|
|
20638
20612
|
this.bankAccount = {};
|
|
20613
|
+
this.mobileMoney = {};
|
|
20639
20614
|
this.ussd = {};
|
|
20640
20615
|
this.bankTransfer = {};
|
|
20641
20616
|
this.qr = {};
|