Wallet/src/js/services/payproService.js
2016-10-26 16:09:21 -04:00

51 lines
1.2 KiB
JavaScript

'use strict';
angular.module('copayApp.services').factory('payproService',
function($window, profileService, platformInfo, popupService, gettextCatalog, ongoingProcess, $log) {
var ret = {};
ret.getPayProDetails = function(uri, cb, disableLoader) {
if (!cb) cb = function() {};
var wallet = profileService.getWallets({
onlyComplete: true
})[0];
if (!wallet) return cb();
if (platformInfo.isChromeApp) {
popupService.showAlert(gettextCatalog.getString('Payment Protocol not supported on Chrome App'));
return cb(true);
}
$log.debug('Fetch PayPro Request...', uri);
if(!disableLoader) {
ongoingProcess.set('fetchingPayPro', true);
}
wallet.fetchPayPro({
payProUrl: uri,
}, function(err, paypro) {
if(!disableLoader) {
ongoingProcess.set('fetchingPayPro', false);
}
if (err) {
return cb(true);
}
if (!paypro.verified) {
$log.warn('Failed to verify payment protocol signatures');
popupService.showAlert(gettextCatalog.getString('Payment Protocol Invalid'));
return cb(true);
}
cb(null, paypro);
});
};
return ret;
});