Spade
Mini Shell
| Directory:~$ /proc/self/root/home/lmsyaran/public_html/plugins/hikashoppayment/mangopay/js/ |
| [Home] [System Details] [Kill Me] |
var
mangoPay={cardRegistration:{baseURL:"https://api.sandbox.mangopay.com",clientId:"",init:function(a){this._cardRegisterData=a},registerCard:function(a,b,c){if(!mangoPay.browser.corsSupport()){c({"ResultCode":"009999","ResultMessage":"Browser
does not support making cross-origin Ajax calls"});return}var
d=mangoPay.cardRegistration._validateCardData(a);if(d!==true){c(d);return};mangoPay.cardRegistration._tokenizeCard(a,mangoPay.cardRegistration._finishRegistration,b,c)},_validateCardData:function(a){var
b=mangoPay._validation._cardNumberValidator._validate(a.cardNumber);if(b!==true)return
b;var
c=mangoPay._validation._expirationDateValidator._validate(a.cardExpirationDate,new
Date());if(c!==true)return c;var
d=mangoPay._validation._cvvValidator._validate(a.cardCvx,a.cardType);if(d!==true)return
d;return
true},_tokenizeCard:function(c,d,e,f){mangoPay._networking._ajax({type:"post",url:this._cardRegisterData.cardRegistrationURL,crossDomain:true,data:{data:this._cardRegisterData.preregistrationData,accessKeyRef:this._cardRegisterData.accessKey,cardNumber:c.cardNumber,cardExpirationDate:c.cardExpirationDate,cardCvx:c.cardCvx},success:function(a){var
b="";if(a===null){f({"ResultCode":"001599","ResultMessage":"Token
processing
error"});return}b={Id:mangoPay.cardRegistration._cardRegisterData.Id,RegistrationData:a};d(b,e,f)},error:function(a){f({"ResultCode":"001599","ResultMessage":"Token
processing
error"});return}})},_finishRegistration:function(d,e,f){mangoPay._networking._ajax({type:"post",crossDomain:true,url:mangoPay.cardRegistration.baseURL+'/v2/'+mangoPay.cardRegistration.clientId+'/CardRegistrations/'+d.Id,data:d,success:function(a){try{a=JSON.parse(a)}catch(err){f({"ResultCode":"101699","ResultMessage":"CardRegistration
should return a valid JSON
response"});return}if(a.ResultCode==="000000"){e(a)}else{f(a)}},error:function(a){var
b="CardRegistration error";if(a.response){try{var
c=JSON.parse(a.response);if(c.Message){b=c.Message}}catch(err){}}f({"ResultCode":"101699","ResultMessage":b})}})}},_validation:{_cvvValidator:{_validate:function(a,b){a=a?a.trim():"";b=b?b.trim():"";if(mangoPay._validation._helpers._validateNumericOnly(a)===true){if(b==="AMEX"&&(a.length===3||a.length===4)){return
true}if(b==="CB_VISA_MASTERCARD"&&a.length===3){return
true}}return{"ResultCode":"105204","ResultMessage":"CVV_FORMAT_ERROR"}}},_expirationDateValidator:{_validate:function(a,b){a=a?a.trim():"";if(a.length===4){var
c=parseInt(a.substr(2,2))+2000;var
d=parseInt(a.substr(0,2));if(d>0&&d<=12){var
e=b.getFullYear();if(e<c)return true;if(e===c){var
f=b.getMonth()+1;if(f<=d)return
true}return{"ResultCode":"105203","ResultMessage":"PAST_EXPIRY_DATE_ERROR"}}}return{"ResultCode":"105203","ResultMessage":"EXPIRY_DATE_FORMAT_ERROR"}}},_cardNumberValidator:{_validate:function(a){a=a?a.trim():"";if(mangoPay._validation._helpers._validateNumericOnly(a)===false){return{"ResultCode":"105202","ResultMessage":"CARD_NUMBER_FORMAT_ERROR"}}if(this._validateCheckDigit(a)===false){return{"ResultCode":"105202","ResultMessage":"CARD_NUMBER_FORMAT_ERROR"}}return
true},_validateCheckDigit:function(a){var b=0;var c=0;var d=false;var
e=a.replace(/\D/g,"");for(var n=e.length-1;n>=0;n--){var
f=e.charAt(n),c=parseInt(f,10);if(d){if((c*=2)>9)c-=9}b+=c;d=!d}return(b%10)===0},},_helpers:{_validateNumericOnly:function(a){var
b=/^[0-9]+$/;if(a.match(b)){return true}return
false}}},_networking:{_ajax:function(a){var b=new XMLHttpRequest();var
c="";for(key in
a.data){c+=(c.length>0?'&':'')+key+"="+encodeURIComponent(a.data[key])}var
d=a.url;if(a.type==="get"){d=a.url+(a.url.indexOf("?")>-1?'&':'?')+c}if(a.crossDomain&&!("withCredentials"in
b)&&window.XDomainRequest){xdr=new
XDomainRequest();xdr.onerror=function(){a.error(xdr)};xdr.onload=function(){a.success(xdr.responseText)};xdr.open(a.type,d);xdr.send(a.type==="post"?c:null);return}b.onreadystatechange=function(){if(b.readyState==4){if(/^2[0-9][0-9]$/.test(b.status)){a.success(b.responseText)}else{a.error(b,b.status,b.statusText)}}};b.open(a.type,d,true);if(a.type==="post"){b.setRequestHeader("Content-type","application/x-www-form-urlencoded")}b.send(a.type==="post"?c:null)},},browser:{corsSupport:function(){if("withCredentials"in
new XMLHttpRequest()){return true}if(window.XDomainRequest){return
true}return
false}}};if(!String.prototype.trim){String.prototype.trim=function(){return
this.replace(/^\s+|\s+$/g,'')}}