@paystack/checkout-js 1.55.0 → 1.56.0
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 +1 -1
- package/es/checkout.js +1 -1
- package/lib/checkout.js +1 -1
- package/package.json +1 -1
package/dist/checkout.js
CHANGED
|
@@ -27,4 +27,4 @@
|
|
|
27
27
|
* @since jsrsasign 2.1
|
|
28
28
|
* @license <a href="https://kjur.github.io/jsrsasign/license/">MIT License</a>
|
|
29
29
|
*/
|
|
30
|
-
var pt={};void 0!==pt.asn1&&pt.asn1||(pt.asn1={}),pt.asn1.ASN1Util=new function(){this.integerToByteHex=function(t){var e=t.toString(16);return e.length%2==1&&(e="0"+e),e},this.bigIntToMinTwosComplementsHex=function(t){var e=t.toString(16);if("-"!=e.substr(0,1))e.length%2==1?e="0"+e:e.match(/^[0-7]/)||(e="00"+e);else{var r=e.substr(1).length;r%2==1?r+=1:e.match(/^[0-7]/)||(r+=2);for(var n="",i=0;i<r;i++)n+="f";e=new B(n,16).xor(t).add(B.ONE).toString(16).replace(/^-/,"")}return e},this.getPEMStringFromHex=function(t,e){return hextopem(t,e)},this.newObject=function(t){var e=pt.asn1,r=e.DERBoolean,n=e.DERInteger,i=e.DERBitString,o=e.DEROctetString,a=e.DERNull,s=e.DERObjectIdentifier,u=e.DEREnumerated,c=e.DERUTF8String,h=e.DERNumericString,l=e.DERPrintableString,f=e.DERTeletexString,p=e.DERIA5String,d=e.DERUTCTime,g=e.DERGeneralizedTime,m=e.DERSequence,v=e.DERSet,y=e.DERTaggedObject,b=e.ASN1Util.newObject,w=Object.keys(t);if(1!=w.length)throw"key of param shall be only one.";var S=w[0];if(-1==":bool:int:bitstr:octstr:null:oid:enum:utf8str:numstr:prnstr:telstr:ia5str:utctime:gentime:seq:set:tag:".indexOf(":"+S+":"))throw"undefined key: "+S;if("bool"==S)return new r(t[S]);if("int"==S)return new n(t[S]);if("bitstr"==S)return new i(t[S]);if("octstr"==S)return new o(t[S]);if("null"==S)return new a(t[S]);if("oid"==S)return new s(t[S]);if("enum"==S)return new u(t[S]);if("utf8str"==S)return new c(t[S]);if("numstr"==S)return new h(t[S]);if("prnstr"==S)return new l(t[S]);if("telstr"==S)return new f(t[S]);if("ia5str"==S)return new p(t[S]);if("utctime"==S)return new d(t[S]);if("gentime"==S)return new g(t[S]);if("seq"==S){for(var T=t[S],A=[],E=0;E<T.length;E++){var k=b(T[E]);A.push(k)}return new m({array:A})}if("set"==S){for(T=t[S],A=[],E=0;E<T.length;E++)k=b(T[E]),A.push(k);return new v({array:A})}if("tag"==S){var x=t[S];if("[object Array]"===Object.prototype.toString.call(x)&&3==x.length){var O=b(x[2]);return new y({tag:x[0],explicit:x[1],obj:O})}var R={};if(void 0!==x.explicit&&(R.explicit=x.explicit),void 0!==x.tag&&(R.tag=x.tag),void 0===x.obj)throw"obj shall be specified for 'tag'.";return R.obj=b(x.obj),new y(R)}},this.jsonToASN1HEX=function(t){return this.newObject(t).getEncodedHex()}},pt.asn1.ASN1Util.oidHexToInt=function(t){for(var e="",r=parseInt(t.substr(0,2),16),n=(e=Math.floor(r/40)+"."+r%40,""),i=2;i<t.length;i+=2){var o=("00000000"+parseInt(t.substr(i,2),16).toString(2)).slice(-8);n+=o.substr(1,7),"0"==o.substr(0,1)&&(e=e+"."+new B(n,2).toString(10),n="")}return e},pt.asn1.ASN1Util.oidIntToHex=function(t){var e=function(t){var e=t.toString(16);return 1==e.length&&(e="0"+e),e},r=function(t){var r="",n=new B(t,10).toString(2),i=7-n.length%7;7==i&&(i=0);for(var o="",a=0;a<i;a++)o+="0";for(n=o+n,a=0;a<n.length-1;a+=7){var s=n.substr(a,7);a!=n.length-7&&(s="1"+s),r+=e(parseInt(s,2))}return r};if(!t.match(/^[0-9.]+$/))throw"malformed oid string: "+t;var n="",i=t.split("."),o=40*parseInt(i[0])+parseInt(i[1]);n+=e(o),i.splice(0,2);for(var a=0;a<i.length;a++)n+=r(i[a]);return n},pt.asn1.ASN1Object=function(){var t="";this.getLengthHexFromValue=function(){if(void 0===this.hV||null==this.hV)throw"this.hV is null or undefined.";if(this.hV.length%2==1)throw"value hex must be even length: n="+t.length+",v="+this.hV;var e=this.hV.length/2,r=e.toString(16);if(r.length%2==1&&(r="0"+r),e<128)return r;var n=r.length/2;if(n>15)throw"ASN.1 length too long to represent by 8x: n = "+e.toString(16);return(128+n).toString(16)+r},this.getEncodedHex=function(){return(null==this.hTLV||this.isModified)&&(this.hV=this.getFreshValueHex(),this.hL=this.getLengthHexFromValue(),this.hTLV=this.hT+this.hL+this.hV,this.isModified=!1),this.hTLV},this.getValueHex=function(){return this.getEncodedHex(),this.hV},this.getFreshValueHex=function(){return""}},pt.asn1.DERAbstractString=function(t){pt.asn1.DERAbstractString.superclass.constructor.call(this),this.getString=function(){return this.s},this.setString=function(t){this.hTLV=null,this.isModified=!0,this.s=t,this.hV=stohex(this.s)},this.setStringHex=function(t){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&("string"==typeof t?this.setString(t):void 0!==t.str?this.setString(t.str):void 0!==t.hex&&this.setStringHex(t.hex))},ft.lang.extend(pt.asn1.DERAbstractString,pt.asn1.ASN1Object),pt.asn1.DERAbstractTime=function(t){pt.asn1.DERAbstractTime.superclass.constructor.call(this),this.localDateToUTC=function(t){return utc=t.getTime()+6e4*t.getTimezoneOffset(),new Date(utc)},this.formatDate=function(t,e,r){var n=this.zeroPadding,i=this.localDateToUTC(t),o=String(i.getFullYear());"utc"==e&&(o=o.substr(2,2));var a=o+n(String(i.getMonth()+1),2)+n(String(i.getDate()),2)+n(String(i.getHours()),2)+n(String(i.getMinutes()),2)+n(String(i.getSeconds()),2);if(!0===r){var s=i.getMilliseconds();if(0!=s){var u=n(String(s),3);a=a+"."+(u=u.replace(/[0]+$/,""))}}return a+"Z"},this.zeroPadding=function(t,e){return t.length>=e?t:new Array(e-t.length+1).join("0")+t},this.getString=function(){return this.s},this.setString=function(t){this.hTLV=null,this.isModified=!0,this.s=t,this.hV=stohex(t)},this.setByDateValue=function(t,e,r,n,i,o){var a=new Date(Date.UTC(t,e-1,r,n,i,o,0));this.setByDate(a)},this.getFreshValueHex=function(){return this.hV}},ft.lang.extend(pt.asn1.DERAbstractTime,pt.asn1.ASN1Object),pt.asn1.DERAbstractStructured=function(t){pt.asn1.DERAbstractString.superclass.constructor.call(this),this.setByASN1ObjectArray=function(t){this.hTLV=null,this.isModified=!0,this.asn1Array=t},this.appendASN1Object=function(t){this.hTLV=null,this.isModified=!0,this.asn1Array.push(t)},this.asn1Array=new Array,void 0!==t&&void 0!==t.array&&(this.asn1Array=t.array)},ft.lang.extend(pt.asn1.DERAbstractStructured,pt.asn1.ASN1Object),pt.asn1.DERBoolean=function(){pt.asn1.DERBoolean.superclass.constructor.call(this),this.hT="01",this.hTLV="0101ff"},ft.lang.extend(pt.asn1.DERBoolean,pt.asn1.ASN1Object),pt.asn1.DERInteger=function(t){pt.asn1.DERInteger.superclass.constructor.call(this),this.hT="02",this.setByBigInteger=function(t){this.hTLV=null,this.isModified=!0,this.hV=pt.asn1.ASN1Util.bigIntToMinTwosComplementsHex(t)},this.setByInteger=function(t){var e=new B(String(t),10);this.setByBigInteger(e)},this.setValueHex=function(t){this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&(void 0!==t.bigint?this.setByBigInteger(t.bigint):void 0!==t.int?this.setByInteger(t.int):"number"==typeof t?this.setByInteger(t):void 0!==t.hex&&this.setValueHex(t.hex))},ft.lang.extend(pt.asn1.DERInteger,pt.asn1.ASN1Object),pt.asn1.DERBitString=function(t){if(void 0!==t&&void 0!==t.obj){var e=pt.asn1.ASN1Util.newObject(t.obj);t.hex="00"+e.getEncodedHex()}pt.asn1.DERBitString.superclass.constructor.call(this),this.hT="03",this.setHexValueIncludingUnusedBits=function(t){this.hTLV=null,this.isModified=!0,this.hV=t},this.setUnusedBitsAndHexValue=function(t,e){if(t<0||7<t)throw"unused bits shall be from 0 to 7: u = "+t;var r="0"+t;this.hTLV=null,this.isModified=!0,this.hV=r+e},this.setByBinaryString=function(t){var e=8-(t=t.replace(/0+$/,"")).length%8;8==e&&(e=0);for(var r=0;r<=e;r++)t+="0";var n="";for(r=0;r<t.length-1;r+=8){var i=t.substr(r,8),o=parseInt(i,2).toString(16);1==o.length&&(o="0"+o),n+=o}this.hTLV=null,this.isModified=!0,this.hV="0"+e+n},this.setByBooleanArray=function(t){for(var e="",r=0;r<t.length;r++)1==t[r]?e+="1":e+="0";this.setByBinaryString(e)},this.newFalseArray=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=!1;return e},this.getFreshValueHex=function(){return this.hV},void 0!==t&&("string"==typeof t&&t.toLowerCase().match(/^[0-9a-f]+$/)?this.setHexValueIncludingUnusedBits(t):void 0!==t.hex?this.setHexValueIncludingUnusedBits(t.hex):void 0!==t.bin?this.setByBinaryString(t.bin):void 0!==t.array&&this.setByBooleanArray(t.array))},ft.lang.extend(pt.asn1.DERBitString,pt.asn1.ASN1Object),pt.asn1.DEROctetString=function(t){if(void 0!==t&&void 0!==t.obj){var e=pt.asn1.ASN1Util.newObject(t.obj);t.hex=e.getEncodedHex()}pt.asn1.DEROctetString.superclass.constructor.call(this,t),this.hT="04"},ft.lang.extend(pt.asn1.DEROctetString,pt.asn1.DERAbstractString),pt.asn1.DERNull=function(){pt.asn1.DERNull.superclass.constructor.call(this),this.hT="05",this.hTLV="0500"},ft.lang.extend(pt.asn1.DERNull,pt.asn1.ASN1Object),pt.asn1.DERObjectIdentifier=function(t){var e=function(t){var e=t.toString(16);return 1==e.length&&(e="0"+e),e},r=function(t){var r="",n=new B(t,10).toString(2),i=7-n.length%7;7==i&&(i=0);for(var o="",a=0;a<i;a++)o+="0";for(n=o+n,a=0;a<n.length-1;a+=7){var s=n.substr(a,7);a!=n.length-7&&(s="1"+s),r+=e(parseInt(s,2))}return r};pt.asn1.DERObjectIdentifier.superclass.constructor.call(this),this.hT="06",this.setValueHex=function(t){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=t},this.setValueOidString=function(t){if(!t.match(/^[0-9.]+$/))throw"malformed oid string: "+t;var n="",i=t.split("."),o=40*parseInt(i[0])+parseInt(i[1]);n+=e(o),i.splice(0,2);for(var a=0;a<i.length;a++)n+=r(i[a]);this.hTLV=null,this.isModified=!0,this.s=null,this.hV=n},this.setValueName=function(t){var e=pt.asn1.x509.OID.name2oid(t);if(""===e)throw"DERObjectIdentifier oidName undefined: "+t;this.setValueOidString(e)},this.getFreshValueHex=function(){return this.hV},void 0!==t&&("string"==typeof t?t.match(/^[0-2].[0-9.]+$/)?this.setValueOidString(t):this.setValueName(t):void 0!==t.oid?this.setValueOidString(t.oid):void 0!==t.hex?this.setValueHex(t.hex):void 0!==t.name&&this.setValueName(t.name))},ft.lang.extend(pt.asn1.DERObjectIdentifier,pt.asn1.ASN1Object),pt.asn1.DEREnumerated=function(t){pt.asn1.DEREnumerated.superclass.constructor.call(this),this.hT="0a",this.setByBigInteger=function(t){this.hTLV=null,this.isModified=!0,this.hV=pt.asn1.ASN1Util.bigIntToMinTwosComplementsHex(t)},this.setByInteger=function(t){var e=new B(String(t),10);this.setByBigInteger(e)},this.setValueHex=function(t){this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&(void 0!==t.int?this.setByInteger(t.int):"number"==typeof t?this.setByInteger(t):void 0!==t.hex&&this.setValueHex(t.hex))},ft.lang.extend(pt.asn1.DEREnumerated,pt.asn1.ASN1Object),pt.asn1.DERUTF8String=function(t){pt.asn1.DERUTF8String.superclass.constructor.call(this,t),this.hT="0c"},ft.lang.extend(pt.asn1.DERUTF8String,pt.asn1.DERAbstractString),pt.asn1.DERNumericString=function(t){pt.asn1.DERNumericString.superclass.constructor.call(this,t),this.hT="12"},ft.lang.extend(pt.asn1.DERNumericString,pt.asn1.DERAbstractString),pt.asn1.DERPrintableString=function(t){pt.asn1.DERPrintableString.superclass.constructor.call(this,t),this.hT="13"},ft.lang.extend(pt.asn1.DERPrintableString,pt.asn1.DERAbstractString),pt.asn1.DERTeletexString=function(t){pt.asn1.DERTeletexString.superclass.constructor.call(this,t),this.hT="14"},ft.lang.extend(pt.asn1.DERTeletexString,pt.asn1.DERAbstractString),pt.asn1.DERIA5String=function(t){pt.asn1.DERIA5String.superclass.constructor.call(this,t),this.hT="16"},ft.lang.extend(pt.asn1.DERIA5String,pt.asn1.DERAbstractString),pt.asn1.DERUTCTime=function(t){pt.asn1.DERUTCTime.superclass.constructor.call(this,t),this.hT="17",this.setByDate=function(t){this.hTLV=null,this.isModified=!0,this.date=t,this.s=this.formatDate(this.date,"utc"),this.hV=stohex(this.s)},this.getFreshValueHex=function(){return void 0===this.date&&void 0===this.s&&(this.date=new Date,this.s=this.formatDate(this.date,"utc"),this.hV=stohex(this.s)),this.hV},void 0!==t&&(void 0!==t.str?this.setString(t.str):"string"==typeof t&&t.match(/^[0-9]{12}Z$/)?this.setString(t):void 0!==t.hex?this.setStringHex(t.hex):void 0!==t.date&&this.setByDate(t.date))},ft.lang.extend(pt.asn1.DERUTCTime,pt.asn1.DERAbstractTime),pt.asn1.DERGeneralizedTime=function(t){pt.asn1.DERGeneralizedTime.superclass.constructor.call(this,t),this.hT="18",this.withMillis=!1,this.setByDate=function(t){this.hTLV=null,this.isModified=!0,this.date=t,this.s=this.formatDate(this.date,"gen",this.withMillis),this.hV=stohex(this.s)},this.getFreshValueHex=function(){return void 0===this.date&&void 0===this.s&&(this.date=new Date,this.s=this.formatDate(this.date,"gen",this.withMillis),this.hV=stohex(this.s)),this.hV},void 0!==t&&(void 0!==t.str?this.setString(t.str):"string"==typeof t&&t.match(/^[0-9]{14}Z$/)?this.setString(t):void 0!==t.hex?this.setStringHex(t.hex):void 0!==t.date&&this.setByDate(t.date),!0===t.millis&&(this.withMillis=!0))},ft.lang.extend(pt.asn1.DERGeneralizedTime,pt.asn1.DERAbstractTime),pt.asn1.DERSequence=function(t){pt.asn1.DERSequence.superclass.constructor.call(this,t),this.hT="30",this.getFreshValueHex=function(){for(var t="",e=0;e<this.asn1Array.length;e++)t+=this.asn1Array[e].getEncodedHex();return this.hV=t,this.hV}},ft.lang.extend(pt.asn1.DERSequence,pt.asn1.DERAbstractStructured),pt.asn1.DERSet=function(t){pt.asn1.DERSet.superclass.constructor.call(this,t),this.hT="31",this.sortFlag=!0,this.getFreshValueHex=function(){for(var t=new Array,e=0;e<this.asn1Array.length;e++){var r=this.asn1Array[e];t.push(r.getEncodedHex())}return 1==this.sortFlag&&t.sort(),this.hV=t.join(""),this.hV},void 0!==t&&void 0!==t.sortflag&&0==t.sortflag&&(this.sortFlag=!1)},ft.lang.extend(pt.asn1.DERSet,pt.asn1.DERAbstractStructured),pt.asn1.DERTaggedObject=function(t){pt.asn1.DERTaggedObject.superclass.constructor.call(this),this.hT="a0",this.hV="",this.isExplicit=!0,this.asn1Object=null,this.setASN1Object=function(t,e,r){this.hT=e,this.isExplicit=t,this.asn1Object=r,this.isExplicit?(this.hV=this.asn1Object.getEncodedHex(),this.hTLV=null,this.isModified=!0):(this.hV=null,this.hTLV=r.getEncodedHex(),this.hTLV=this.hTLV.replace(/^../,e),this.isModified=!1)},this.getFreshValueHex=function(){return this.hV},void 0!==t&&(void 0!==t.tag&&(this.hT=t.tag),void 0!==t.explicit&&(this.isExplicit=t.explicit),void 0!==t.obj&&(this.asn1Object=t.obj,this.setASN1Object(this.isExplicit,this.hT,this.asn1Object)))},ft.lang.extend(pt.asn1.DERTaggedObject,pt.asn1.ASN1Object);var dt=function(t){function e(r){var n=t.call(this)||this;return r&&("string"==typeof r?n.parseKey(r):(e.hasPrivateKeyProperty(r)||e.hasPublicKeyProperty(r))&&n.parsePropertiesFrom(r)),n}return g(e,t),e.prototype.parseKey=function(t){try{var e=0,r=0,n=/^\s*(?:[0-9A-Fa-f][0-9A-Fa-f]\s*)+$/.test(t)?v.decode(t):y.unarmor(t),i=O.decode(n);if(3===i.sub.length&&(i=i.sub[2].sub[0]),9===i.sub.length){e=i.sub[1].getHexStringValue(),this.n=j(e,16),r=i.sub[2].getHexStringValue(),this.e=parseInt(r,16);var o=i.sub[3].getHexStringValue();this.d=j(o,16);var a=i.sub[4].getHexStringValue();this.p=j(a,16);var s=i.sub[5].getHexStringValue();this.q=j(s,16);var u=i.sub[6].getHexStringValue();this.dmp1=j(u,16);var c=i.sub[7].getHexStringValue();this.dmq1=j(c,16);var h=i.sub[8].getHexStringValue();this.coeff=j(h,16)}else{if(2!==i.sub.length)return!1;var l=i.sub[1].sub[0];e=l.sub[0].getHexStringValue(),this.n=j(e,16),r=l.sub[1].getHexStringValue(),this.e=parseInt(r,16)}return!0}catch(t){return!1}},e.prototype.getPrivateBaseKey=function(){var t={array:[new pt.asn1.DERInteger({int:0}),new pt.asn1.DERInteger({bigint:this.n}),new pt.asn1.DERInteger({int:this.e}),new pt.asn1.DERInteger({bigint:this.d}),new pt.asn1.DERInteger({bigint:this.p}),new pt.asn1.DERInteger({bigint:this.q}),new pt.asn1.DERInteger({bigint:this.dmp1}),new pt.asn1.DERInteger({bigint:this.dmq1}),new pt.asn1.DERInteger({bigint:this.coeff})]};return new pt.asn1.DERSequence(t).getEncodedHex()},e.prototype.getPrivateBaseKeyB64=function(){return l(this.getPrivateBaseKey())},e.prototype.getPublicBaseKey=function(){var t=new pt.asn1.DERSequence({array:[new pt.asn1.DERObjectIdentifier({oid:"1.2.840.113549.1.1.1"}),new pt.asn1.DERNull]}),e=new pt.asn1.DERSequence({array:[new pt.asn1.DERInteger({bigint:this.n}),new pt.asn1.DERInteger({int:this.e})]}),r=new pt.asn1.DERBitString({hex:"00"+e.getEncodedHex()});return new pt.asn1.DERSequence({array:[t,r]}).getEncodedHex()},e.prototype.getPublicBaseKeyB64=function(){return l(this.getPublicBaseKey())},e.wordwrap=function(t,e){if(!t)return t;var r="(.{1,"+(e=e||64)+"})( +|$\n?)|(.{1,"+e+"})";return t.match(RegExp(r,"g")).join("\n")},e.prototype.getPrivateKey=function(){var t="-----BEGIN RSA PRIVATE KEY-----\n";return t+=e.wordwrap(this.getPrivateBaseKeyB64())+"\n",t+="-----END RSA PRIVATE KEY-----"},e.prototype.getPublicKey=function(){var t="-----BEGIN PUBLIC KEY-----\n";return t+=e.wordwrap(this.getPublicBaseKeyB64())+"\n",t+="-----END PUBLIC KEY-----"},e.hasPublicKeyProperty=function(t){return(t=t||{}).hasOwnProperty("n")&&t.hasOwnProperty("e")},e.hasPrivateKeyProperty=function(t){return(t=t||{}).hasOwnProperty("n")&&t.hasOwnProperty("e")&&t.hasOwnProperty("d")&&t.hasOwnProperty("p")&&t.hasOwnProperty("q")&&t.hasOwnProperty("dmp1")&&t.hasOwnProperty("dmq1")&&t.hasOwnProperty("coeff")},e.prototype.parsePropertiesFrom=function(t){this.n=t.n,this.e=t.e,t.hasOwnProperty("d")&&(this.d=t.d,this.p=t.p,this.q=t.q,this.dmp1=t.dmp1,this.dmq1=t.dmq1,this.coeff=t.coeff)},e}(st),gt=function(){function t(t){t=t||{},this.default_key_size=parseInt(t.default_key_size,10)||1024,this.default_public_exponent=t.default_public_exponent||"010001",this.log=t.log||!1,this.key=null}return t.prototype.setKey=function(t){this.log&&this.key&&console.warn("A key was already set, overriding existing."),this.key=new dt(t)},t.prototype.setPrivateKey=function(t){this.setKey(t)},t.prototype.setPublicKey=function(t){this.setKey(t)},t.prototype.decrypt=function(t){try{return this.getKey().decrypt(f(t))}catch(t){return!1}},t.prototype.encrypt=function(t){try{return l(this.getKey().encrypt(t))}catch(t){return!1}},t.prototype.sign=function(t,e,r){try{return l(this.getKey().sign(t,e,r))}catch(t){return!1}},t.prototype.verify=function(t,e,r){try{return this.getKey().verify(t,f(e),r)}catch(t){return!1}},t.prototype.getKey=function(t){if(!this.key){if(this.key=new dt,t&&"[object Function]"==={}.toString.call(t))return void this.key.generateAsync(this.default_key_size,this.default_public_exponent,t);this.key.generate(this.default_key_size,this.default_public_exponent)}return this.key},t.prototype.getPrivateKey=function(){return this.getKey().getPrivateKey()},t.prototype.getPrivateKeyB64=function(){return this.getKey().getPrivateBaseKeyB64()},t.prototype.getPublicKey=function(){return this.getKey().getPublicKey()},t.prototype.getPublicKeyB64=function(){return this.getKey().getPublicBaseKeyB64()},t.version="3.0.0-rc.1",t}();window.JSEncrypt=gt,t.JSEncrypt=gt,t.default=gt,Object.defineProperty(t,"__esModule",{value:!0})}(e)}(0,_E.exports);var jE=O,UE=H,ME=Ns,FE=ot,VE=UE(L.f),qE=UE([].push),zE=function(t){return function(e){for(var r,n=FE(e),i=ME(n),o=i.length,a=0,s=[];o>a;)r=i[a++],jE&&!VE(n,r)||qE(s,t?[r,n[r]]:n[r]);return s}},HE={entries:zE(!0),values:zE(!1)}.values;li({target:"Object",stat:!0},{values:function(t){return HE(t)}});var KE=li,GE=Ts.find,WE=$d,XE="find",YE=!0;XE in[]&&Array(1)[XE]((function(){YE=!1})),KE({target:"Array",proto:!0,forced:YE},{find:function(t){return GE(this,t,arguments.length>1?arguments[1]:void 0)}}),WE(XE);var ZE=function(t){for(var e,r=0,n=!1,i=t.length-1;i>=0;)e=parseInt(t.charAt(i),10),n&&(e*=2)>9&&(e=e%10+1),n=!n,r+=e,i--;return r%10==0};var JE=function(t){return t?JSON.parse(JSON.stringify(t)):null};var $E=function(t){return"string"==typeof t||t instanceof String};var QE=function(t,e){return Array.isArray(e)?function(t,e,r){var n=String(e).length,i=t.substr(0,n),o=parseInt(i,10);return e=parseInt(String(e).substr(0,i.length),10),r=parseInt(String(r).substr(0,i.length),10),o>=e&&o<=r}(t,e[0],e[1]):function(t,e){return(e=String(e)).substring(0,t.length)===t.substring(0,e.length)}(t,e)},tk=JE,ek=QE;var rk,nk=function(t,e,r){var n,i,o,a;for(n=0;n<e.patterns.length;n++)if(i=e.patterns[n],ek(t,i)){a=tk(e),o=Array.isArray(i)?String(i[0]).length:String(i).length,t.length>=o&&(a.matchStrength=o),r.push(a);break}},ik={visa:{niceType:"Visa",type:"visa",patterns:[4],gaps:[4,8,12],lengths:[16,18,19],code:{name:"CVV",size:3}},mastercard:{niceType:"Mastercard",type:"mastercard",patterns:[[51,55],[2221,2229],[223,229],[23,26],[270,271],2720],gaps:[4,8,12],lengths:[16],code:{name:"CVC",size:3}},"american-express":{niceType:"American Express",type:"american-express",patterns:[34,37],gaps:[4,10],lengths:[15],code:{name:"CID",size:4}},"diners-club":{niceType:"Diners Club",type:"diners-club",patterns:[[300,305],36,38,39],gaps:[4,10],lengths:[14,16,19],code:{name:"CVV",size:3}},discover:{niceType:"Discover",type:"discover",patterns:[6011,[644,649],65],gaps:[4,8,12],lengths:[16,19],code:{name:"CID",size:3}},jcb:{niceType:"JCB",type:"jcb",patterns:[2131,1800,[3528,3589]],gaps:[4,8,12],lengths:[16,17,18,19],code:{name:"CVV",size:3}},unionpay:{niceType:"UnionPay",type:"unionpay",patterns:[620,[624,626],[62100,62182],[62184,62187],[62185,62197],[62200,62205],[622010,622999],622018,[622019,622999],[62207,62209],[622126,622925],[623,626],6270,6272,6276,[627700,627779],[627781,627799],[6282,6289],6291,6292],gaps:[4,8,12],lengths:[14,15,16,17,18,19],code:{name:"CVN",size:3}},maestro:{niceType:"Maestro",type:"maestro",patterns:[493698,[5e5,506698],[506779,508999],[56,59],63,67,6],gaps:[4,8,12],lengths:[12,13,14,15,16,17,18,19],code:{name:"CVC",size:3}},elo:{niceType:"Elo",type:"elo",patterns:[401178,401179,438935,457631,457632,431274,451416,457393,504175,[506699,506778],[509e3,509999],627780,636297,636368,[650031,650033],[650035,650051],[650405,650439],[650485,650538],[650541,650598],[650700,650718],[650720,650727],[650901,650978],[651652,651679],[655e3,655019],[655021,655058]],gaps:[4,8,12],lengths:[16],code:{name:"CVE",size:3}},mir:{niceType:"Mir",type:"mir",patterns:[[2200,2204]],gaps:[4,8,12],lengths:[16,17,18,19],code:{name:"CVP2",size:3}},hiper:{niceType:"Hiper",type:"hiper",patterns:[637095,637568,637599,637609,637612],gaps:[4,8,12],lengths:[16],code:{name:"CVC",size:3}},hipercard:{niceType:"Hipercard",type:"hipercard",patterns:[606282],gaps:[4,8,12],lengths:[16],code:{name:"CVC",size:3}}},ok=JE,ak=function(t){if(function(t){var e=t.filter((function(t){return t.matchStrength})).length;return e>0&&e===t.length}(t))return t.reduce((function(t,e){return t?t.matchStrength<e.matchStrength?e:t:e}))},sk=$E,uk=nk,ck={},hk={VISA:"visa",MASTERCARD:"mastercard",AMERICAN_EXPRESS:"american-express",DINERS_CLUB:"diners-club",DISCOVER:"discover",JCB:"jcb",UNIONPAY:"unionpay",MAESTRO:"maestro",ELO:"elo",MIR:"mir",HIPER:"hiper",HIPERCARD:"hipercard"},lk=[hk.VISA,hk.MASTERCARD,hk.AMERICAN_EXPRESS,hk.DINERS_CLUB,hk.DISCOVER,hk.JCB,hk.UNIONPAY,hk.MAESTRO,hk.ELO,hk.MIR,hk.HIPER,hk.HIPERCARD];function fk(t){return ck[t]||ik[t]}function pk(t,e){var r=rk.indexOf(t);if(!e&&-1===r)throw new Error('"'+t+'" is not a supported card type.');return r}function dk(t){var e,r=[];return sk(t)?0===t.length?rk.map((function(t){return ok(fk(t))})):(rk.forEach((function(e){var n=fk(e);uk(t,n,r)})),(e=ak(r))?[e]:r):[]}rk=ok(lk),dk.getTypeInfo=function(t){return ok(fk(t))},dk.removeCard=function(t){var e=pk(t);rk.splice(e,1)},dk.addCard=function(t){var e=pk(t.type,!0);ck[t.type]=t,-1===e&&rk.push(t.type)},dk.updateCard=function(t,e){var r,n=ck[t]||ik[t];if(!n)throw new Error('"'+t+'" is not a recognized type. Use `addCard` instead.');if(e.type&&n.type!==e.type)throw new Error("Cannot overwrite type parameter.");r=ok(n),Object.keys(r).forEach((function(t){e[t]&&(r[t]=e[t])})),ck[r.type]=r},dk.changeOrder=function(t,e){var r=pk(t);rk.splice(r,1),rk.splice(e,0,t)},dk.resetModifications=function(){rk=ok(lk),ck={}},dk.types=hk;var gk=dk,mk=ZE,vk=gk;function yk(t,e,r){return{card:t,isPotentiallyValid:e,isValid:r}}var bk=function(t,e){var r,n,i,o,a;if(e=e||{},"number"==typeof t&&(t=String(t)),"string"!=typeof t)return yk(null,!1,!1);if(t=t.replace(/\-|\s/g,""),!/^\d*$/.test(t))return yk(null,!1,!1);if(0===(r=vk(t)).length)return yk(null,!1,!1);if(1!==r.length)return yk(null,!0,!1);if(n=r[0],e.maxLength&&t.length>e.maxLength)return yk(n,!1,!1);for(i=n.type===vk.types.UNIONPAY&&!0!==e.luhnValidateUnionPay||mk(t),a=Math.max.apply(null,n.lengths),e.maxLength&&(a=Math.min(e.maxLength,a)),o=0;o<n.lengths.length;o++)if(n.lengths[o]===t.length)return yk(n,t.length<a||i,i);return yk(n,t.length<a,!1)};function wk(t,e,r){return{isValid:t,isPotentiallyValid:e,isCurrentYear:r||!1}}var Sk=function(t,e){var r,n,i,o,a;return e=e||19,"string"!=typeof t?wk(!1,!1):""===t.replace(/\s/g,"")?wk(!1,!0):/^\d*$/.test(t)?(n=t.length)<2?wk(!1,!0):(r=(new Date).getFullYear(),3===n?wk(!1,t.slice(0,2)===String(r).slice(0,2)):n>4?wk(!1,!1):(t=parseInt(t,10),i=Number(String(r).substr(2,2)),2===n?(a=i===t,o=t>=i&&t<=i+e):4===n&&(a=r===t,o=t>=r&&t<=r+e),wk(o,o,a))):wk(!1,!1)},Tk=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)},Ak=Sk,Ek=Tk;function kk(t,e,r){return{isValid:t,isPotentiallyValid:e,isValidForThisYear:r||!1}}var xk=function(t){var e,r,n=(new Date).getMonth()+1;return"string"!=typeof t?kk(!1,!1):""===t.replace(/\s/g,"")||"0"===t?kk(!1,!0):/^\d*$/.test(t)?(e=parseInt(t,10),isNaN(t)?kk(!1,!1):kk(r=e>0&&e<13,r,r&&e>=n)):kk(!1,!1)},Ok=function(t){var e,r,n,i,o;return/^\d{4}-\d{1,2}$/.test(t)?t=t.split("-").reverse():/\//.test(t)?t=t.split(/\s*\/\s*/g):/\s/.test(t)&&(t=t.split(/ +/g)),Ek(t)?{month:t[0]||"",year:t.slice(1).join()}:(n=t,r=0===(o=Number(n[0]))?2:o>1||1===o&&Number(n[1])>2?1:1===o?(i=n.substr(1),Ak(i).isPotentiallyValid?1:2):5===n.length?1:n.length>5?2:1,{month:e=t.substr(0,r),year:t.substr(e.length)})},Rk=xk,Ck=Sk;function Pk(t,e,r,n){return{isValid:t,isPotentiallyValid:e,month:r,year:n}}var Bk=3;function Lk(t,e){return{isValid:t,isPotentiallyValid:e}}function Ik(t,e){return{isValid:t,isPotentiallyValid:e}}var Dk={number:bk,expirationDate:function(t,e){var r,n,i,o;if("string"==typeof t)t=t.replace(/^(\d\d) (\d\d(\d\d)?)$/,"$1/$2"),r=Ok(t);else{if(null===t||"object"!=typeof t)return Pk(!1,!1,null,null);r={month:String(t.month),year:String(t.year)}}if(n=Rk(r.month),i=Ck(r.year,e),n.isValid){if(i.isCurrentYear)return Pk(o=n.isValidForThisYear,o,r.month,r.year);if(i.isValid)return Pk(!0,!0,r.month,r.year)}return n.isPotentiallyValid&&i.isPotentiallyValid?Pk(!1,!0,null,null):Pk(!1,!1,null,null)},expirationMonth:xk,expirationYear:Sk,cvv:function(t,e){return e=(e=e||Bk)instanceof Array?e:[e],"string"!=typeof t?Lk(!1,!1):/^\d*$/.test(t)?function(t,e){for(var r=0;r<t.length;r++)if(e===t[r])return!0;return!1}(e,t.length)?Lk(!0,!0):t.length<Math.min.apply(null,e)?Lk(!1,!0):t.length>function(t){for(var e=Bk,r=0;r<t.length;r++)e=t[r]>e?t[r]:e;return e}(e)?Lk(!1,!1):Lk(!0,!0):Lk(!1,!1)},postalCode:function(t,e){var r;return r=(e=e||{}).minLength||3,"string"!=typeof t?Ik(!1,!1):t.length<r?Ik(!1,!0):Ik(!0,!0)},creditCardType:gk},_k=[{type:"bank_auth",name:"Bank authorization",number:"4084080000000409",cvv:"000",month:"01",year:"30"},{type:"success",name:"Success",number:"4084084084084081",cvv:"408",month:"12",year:"30"},{type:"declined",name:"Declined",number:"4084080000005408",cvv:"001",month:"12",year:"30"},{type:"pin",name:"Pin only validation",number:"507850785078507812",cvv:"884",month:"01",year:"30"},{type:"pin+otp",name:"Pin and OTP validation",number:"5060666666666666666",cvv:"123",month:"01",year:"30"},{type:"pin+phone+otp",name:"Pin, phone and OTP validation",number:"507850785078507812",cvv:"884",month:"01",year:"30"},{type:"default",name:"No validation",number:"4084084084084081",cvv:"408",month:"01",year:"30"}];Dk.creditCardType.addCard({niceType:"Verve",type:"verve",patterns:[[506e3,507999],[65e4,650009]],gaps:[4,8,12,16],lengths:[16,18,19],code:{name:"CVV",size:3}}),Dk.creditCardType.addCard({niceType:"Afrigo",type:"afrigo",patterns:[[56445600,56445699],[56400001,56409999]],gaps:[4,8,12],lengths:[18],code:{name:"CVV",size:3}}),Dk.creditCardType.changeOrder("verve",0),Dk.creditCardType.changeOrder("afrigo",1);var Nk={getEncryptedPin:function(t){return t?NE(t):void 0},getLast4:function(t){return t.substring(t.length-4)},tokenize:function(t){var e=t.number,r=t.cvv,n=t.month,i=t.year;return NE("".concat(e,"*").concat(r,"*").concat(n,"*").concat(i))},getType:function(t){var e=Dk.number(t);return e&&e.card?{type:e.card.type,maxLength:Math.max.apply(Math,v(e.card.lengths)),minLength:Math.min.apply(Math,v(e.card.lengths))}:{type:null,maxLength:0}},validate:function(t){var e=t.number,r=t.cvv,n=t.month,i=t.year,o=this.getType(e).type,a={number:this.isNumberValid(e),expiry:this.isExpiryValid({month:n,year:i}),cvv:this.isCvvValid(r,o)};return{isValid:Object.values(a).every((function(t){return!0===t})),result:a}},validateNumber:function(t){return Dk.number(t)},isNumberValid:function(t){return Nk.validateNumber(t).isValid},validateCVV:function(t,e){var r="american-express"===e?4:3;return Dk.cvv(t,r)},isCvvValid:function(t,e){return Nk.validateCVV(t,e).isValid},validateExpiry:function(t){if(null!==t&&"object"===b(t)){var e=t.month,r=t.year;return Dk.expirationMonth(e)&&Dk.expirationYear(r)}return Dk.expirationDate(t)},isExpiryValid:function(t){return Nk.validateExpiry(t).isValid},findTestCard:function(t){var e=t||"default";return _k.find((function(t){return t.type===e}))}},jk=function(){function t(e){var r=e.number,n=e.cvv,i=e.month,a=e.year,s=e.pin,u=e.name;o(this,t),this.number=r,this.cvv=n,this.month=i,this.year=a,this.pin=s,this.name=u}return s(t,[{key:"getEncryptedPin",value:function(){return Nk.getEncryptedPin(this.pin)}},{key:"getLast4",value:function(){return Nk.getLast4(this.number)}},{key:"tokenize",value:function(){return Nk.tokenize({number:this.number,cvv:this.cvv,month:this.month,year:this.year})}}],[{key:"getType",value:function(t){return Nk.getType(t)}},{key:"validate",value:function(t){var e=t.number,r=t.cvv,n=t.month,i=t.year;return Nk.validate({number:e,cvv:r,month:n,year:i})}},{key:"validateNumber",value:function(t){return Nk.validateNumber(t)}},{key:"isNumberValid",value:function(t){return Nk.isNumberValid(t)}},{key:"validateCVV",value:function(t,e){return Nk.validateCVV(t,e)}},{key:"isCvvValid",value:function(t,e){return Nk.isCvvValid(t,e)}},{key:"validateExpiry",value:function(t){return Nk.validateExpiry(t)}},{key:"isExpiryValid",value:function(t){return Nk.isExpiryValid(t)}},{key:"generateTestCard",value:function(e){return new t(Nk.findTestCard(e))}}]),t}(),Uk=function(t){var e=t.clientdata,r=t.last4,n=t.pin,i=t.trans,o=t.device,a=t.rememberCard,s=t.cardHolderName,u=t.transactionType,c=t.subscription,h=t.customFields,l="".concat(Gd.paymentBaseUrl,"charge/"),f=$A(),d=p({"Content-Type":"application/x-www-form-urlencoded"},f&&{"Accept-Language":f}),g=p(p(p(p({clientdata:e,last4:r,trans:i,device:o,offset:(new Date).getTimezoneOffset(),remember_card:a},s&&{card_holder_name:s}),u&&{transaction_type:u}),c&&{subscription:c}),h&&h);n&&(g.handle=n);var m=cE(g);return JA.post(l,m,{headers:d}).then((function(t){return sg.parse(t.data)}))},Mk=function(t){var e=t.device,r=t.accessCode,n=t.pin,i=t.customFields,o="".concat(Gd.paymentBaseUrl,"charge/resume/").concat(r),a=$A(),s=p({"Content-Type":"application/x-www-form-urlencoded"},a&&{"Accept-Language":a}),u=p(p({device:e},n&&{handle:n}),i&&i),c=cE(u);return JA.post(o,c,{headers:s}).then((function(t){return sg.parse(t.data)}))},Fk=function(t){var e=t.last4,r=t.trans,n=t.device,i=t.authorizationCode,o=t.cvv,a=t.pin,s=t.transactionType,u=t.subscription,c="".concat(Gd.paymentBaseUrl,"charge/"),h=$A(),l=p({"Content-Type":"application/x-www-form-urlencoded"},h&&{"Accept-Language":h}),f=p(p({last4:e,trans:r,device:n,cvv:o,handle:a,authorization_code:i},s&&{transaction_type:s}),u&&{subscription:u}),d=cE(f);return JA.post(c,d,{headers:l}).then((function(t){return sg.parse(t.data)}))},Vk=function(t,e){var r="".concat(Gd.paymentBaseUrl,"charge/validate"),n={trans:t,token:e},i=$A(),o=p({},i&&{"Accept-Language":i}),a=cE(n);return JA.post(r,a,{headers:o}).then((function(t){return sg.parse(t.data)}))},qk=function(t){var e=t.address,r=t.city,n=t.state,i=t.zipCode,o=t.transactionId,a=t.selectedCurrency,s="".concat(Gd.paymentBaseUrl,"charge/avs"),u=$A(),c=p({"Content-Type":"application/x-www-form-urlencoded"},u&&{"Accept-Language":u}),h=cE({city:r,state:n,address:e,zip_code:i,trans:o,selected_currency:a});return JA.post(s,h,{headers:c}).then((function(t){return sg.parse(t.data)}))},zk=function(t){var e=t.authorizationId,r=t.publicKey,n=$A(),i=p({Authorization:"Bearer ".concat(r)},n&&{"Accept-Language":n}),o={authorization_id:e},a="".concat(Gd.paystackApiUrl,"rememberme/forget_card");return JA.post(a,o,{headers:i}).then((function(t){return sg.parse(t.data)}))},Hk=function(t){return i(regeneratorRuntime.mark((function e(){var r,n,i,o,a,s,u,c,h;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.transaction,n=t.phone,i=t.channels,o=t.email,a=new URL("/saved_cards/authorize",Gd.paystackApiUrl).toString(),s=$A(),u=p({},s&&{"Accept-Language":s}),c=p(p(p(p({},n&&{phone:n}),i&&{channels:i}),o&&{email:o}),{},{transaction:r}),e.next=7,JA.post(a,c,{headers:u});case 7:return h=e.sent,e.abrupt("return",h.data);case 9:case"end":return e.stop()}}),e)})))()},Kk=function(t){return i(regeneratorRuntime.mark((function e(){var r,n,i,o,a,s,u,c;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.code,n=t.transaction,i=t.token,o=new URL("/saved_cards/authorize/verify",Gd.paystackApiUrl).toString(),a=$A(),s=p({Authorization:"Bearer ".concat(i)},a&&{"Accept-Language":a}),u={code:r,transaction:n},e.next=7,JA.post(o,u,{headers:s});case 7:return c=e.sent,e.abrupt("return",c.data);case 9:case"end":return e.stop()}}),e)})))()},Gk=function(t){return i(regeneratorRuntime.mark((function e(){var r,n,i,o,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.token,n=new URL("/saved_cards/cards",Gd.paystackApiUrl).toString(),i=$A(),o=p({Authorization:"Bearer ".concat(r),"jwt-auth":!0},i&&{"Accept-Language":i}),e.next=6,JA.get(n,{headers:o});case 6:return a=e.sent,e.abrupt("return",a.data);case 8:case"end":return e.stop()}}),e)})))()},Wk=function(t){return i(regeneratorRuntime.mark((function e(){var r,n,i,o,a,s;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.cardCode,n=t.token,i=new URL("/saved_cards/cards/".concat(r),Gd.paystackApiUrl).toString(),o=$A(),a=p({Authorization:"Bearer ".concat(n),"jwt-auth":!0},o&&{"Accept-Language":o}),e.next=6,JA.delete(i,{headers:a});case 6:return s=e.sent,e.abrupt("return",s.data);case 8:case"end":return e.stop()}}),e)})))()},Xk=function(t){return i(regeneratorRuntime.mark((function e(){var r,n,i,o,a,s,u,c,h,l;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.token,n=t.device,i=t.cardCode,o=t.transaction,a=t.selectedCurrency,s=new URL("/saved_cards/cards/".concat(i,"/charge"),Gd.paystackApiUrl).toString(),u=$A(),c=p({Authorization:"Bearer ".concat(r),"jwt-auth":!0},u&&{"Accept-Language":u}),h={device:n,transaction:o,selected_currency:a},e.next=7,JA.post(s,h,{headers:c});case 7:return l=e.sent,e.abrupt("return",sg.parse(l.data));case 9:case"end":return e.stop()}}),e)})))()},Yk=function(t){return i(regeneratorRuntime.mark((function e(){var r,n,i,o,a,s,u,c,h,l;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.transaction,n=t.address,i=t.merchantKey,o=t.gateway,a=void 0===o?"REACH":o,s=new URL("/transaction/tax_quote",Gd.paystackApiUrl).toString(),u=$A(),c=p({Authorization:"Bearer ".concat(i)},u&&{"Accept-Language":u}),h={transaction_id:r,address_street:n.street,address_city:n.city,address_region:n.state,address_postcode:n.postCode,address_country:n.country,gateway:a},e.next=7,JA.get(s,{params:h,headers:c});case 7:return l=e.sent,e.abrupt("return",l.data);case 9:case"end":return e.stop()}}),e)})))()},Zk="card",Jk="saved card",$k="otp";function Qk(t,e){return new Promise((function(r,n){var i=jk.validate(t);if(!i.isValid){var o=e||t.number,a=Object.keys(i.result).filter((function(t){return!1===i.result[t]})),s="Invalid card details: ".concat(a.join(", "));n(Error(o?s:"Please set a valid card with Transaction.setCard()"))}r()}))}var tx={setCard:function(t){var e=this;return Qk(t,!0).then((function(){e.card=new jk(t)}))},rememberCard:function(){this.remember_card=!0},chargeCard:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return!this.card.number&&this.card.pin?this.chargeCardWithPin(e):Qk(this.card).then((function(){t.logAttempt(Zk);var r={clientdata:t.card.tokenize(),last4:t.card.getLast4(),pin:t.card.getEncryptedPin(),trans:t.id,device:t.deviceFingerprint,rememberCard:t.remember_card,cardHolderName:t.card.name,transactionType:t.transactionType,subscription:t.subscription,customFields:e};return Uk(r).then((function(e){return t.logAPIResponse(e,Zk),e}))}))},chargeCardWithPin:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logAttempt(Zk);var r={pin:NE(this.card.pin),trans:this.id,device:this.deviceFingerprint,rememberCard:this.remember_card,transactionType:this.transactionType,subscription:this.subscription,customFields:e};return Uk(r).then((function(e){return t.logAPIResponse(e,Zk),e}))},chargeRememberedCard:function(t){var e=this,r=t.cvv,n=t.authorizationCode,i=t.cardLast4,o=t.pin;this.logAttempt(Zk);var a=NE(o),s={authorizationCode:n,cvv:r,last4:i,trans:this.id,device:this.deviceFingerprint,pin:a,transactionType:this.transactionType,subscription:this.subscription};return Fk(s).then((function(t){return e.logAPIResponse(t,Zk),t}))},resumeCardCharge:function(t){var e=this,r=t.accessCode,n=t.pin,i=t.customFields,o=p(p({},n&&{pin:NE(n)}),{},{accessCode:r,device:this.deviceFingerprint},i&&{customFields:i});return Mk(o).then((function(t){return e.logAPIResponse(t,Zk),t}))},forgetRememberedCard:function(t){var e=this,r={authorizationId:t,publicKey:this.merchant.key};return zk(r).then((function(t){return e.logAPIResponse(t,Zk),t}))},authenticateCard:function(t){var e=this;return Vk(this.id,t).then((function(t){return e.logAPIResponse(t,Zk),t}))},verifyAddress:function(t){var e=this,r=t.address,n=t.city,i=t.state,o=t.zipCode,a=t.selectedCurrency,s={city:n,state:i,address:r,zipCode:o,transactionId:this.id,selectedCurrency:a};return qk(s).then((function(t){return e.logAPIResponse(t,Zk),t}))},listenFor3DSCharge:function(t){var e={channel:"3DS_".concat(this.id),paymentMethod:Zk};return this.listenForCharge(e,t)},sendSavedCardsOTP:function(){var t=arguments,e=this;return i(regeneratorRuntime.mark((function r(){var n,i,o,a,s;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return i=(n=t.length>0&&void 0!==t[0]?t[0]:{}).phone,o=n.channels,a=n.email,r.prev=1,e.logAuth($k),r.next=5,Hk({phone:i,transaction:e.id,channels:o,email:a});case 5:return s=r.sent,e.savedCardsTempAuthToken=s.data.token,r.abrupt("return",s);case 10:throw r.prev=10,r.t0=r.catch(1),e.savedCardsTempAuthToken=null,r.t0;case 14:case"end":return r.stop()}}),r,null,[[1,10]])})))()},verifySavedCardsOtp:function(t){var e=this;return i(regeneratorRuntime.mark((function r(){var n,i,o;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return n=t.code,i={code:n,transaction:e.id,token:e.savedCardsTempAuthToken},r.prev=2,r.next=5,Kk(i);case 5:return o=r.sent,e.savedCardsToken=o.data.token,r.abrupt("return",o);case 10:throw r.prev=10,r.t0=r.catch(2),e.savedCardsToken=null,r.t0;case 14:case"end":return r.stop()}}),r,null,[[2,10]])})))()},getSavedCards:function(){return Gk({token:this.savedCardsToken})},deleteSavedCard:function(t){return Wk({cardCode:t,token:this.savedCardsToken})},chargeSavedCard:function(t){var e=t.cardCode,r=t.selectedCurrency,n=void 0===r?this.currency:r;return this.logAttempt(Jk),Xk({cardCode:e,transaction:this.id,token:this.savedCardsToken,device:this.deviceFingerprint,selectedCurrency:n})},getReachTaxQuote:function(t){var e=t.street,r=t.city,n=t.state,i=t.postCode,o=t.country;return Yk({transaction:this.id,address:{street:e,city:r,state:n,postCode:i,country:o},merchantKey:this.merchant.key})}},ex=function(){function t(e){var r=e.bankId,n=e.accountType,i=e.accountNumber;o(this,t),this.bankId=r,this.accountType=n,this.accountNumber=i}var e;return s(t,null,[{key:"validate",value:function(e){var r=e.bankId,n=e.accountType,i=e.accountNumber,o=[];return r&&"number"==typeof r||o.push("Invalid bankId. Please check for supported banks with BankAccount.supportedBanks()"),t.types.indexOf(n)>-1?"nuban"!==n||t.isValidNubanAccount(i)||o.push("Invalid account number. Nuban accounts must be 10 digit numbers"):o.push("Invalid bank type. Please check BankAccount.types for the list of valid bank types"),{isValid:0===o.length,errors:o}}},{key:"isValidNubanAccount",value:function(t){return!!t&&(("number"==typeof t||/^\d+$/.test(t))&&10===t.length)}},{key:"supportedBanks",value:function(){var t="".concat(Gd.paymentBaseUrl,"bank?pay_with_bank=true"),e=$A(),r=p({},e&&{"Accept-Language":e});return JA.post(t,{headers:r}).then((function(t){return t.data}))}},{key:"resolve",value:(e=i(regeneratorRuntime.mark((function t(e){var r,n,i,o,a,s,u,c;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=e.transaction,n=e.bankCode,i=e.accountNumber,o=new URL("saved_cards/transaction/".concat(r,"/bank-resolve"),Gd.paystackApiUrl),a=$A(),s=p({},a&&{"Accept-Language":a}),u={bank_code:n,account_number:i},t.next=7,JA.post(o,u,{headers:s});case 7:return c=t.sent,t.abrupt("return",c.data);case 9:case"end":return t.stop()}}),t)}))),function(t){return e.apply(this,arguments)})}]),t}();ex.types=["nuban"];var rx=function(t){var e=t.bankId,r=t.transactionId,n=t.accountNumber,i=t.device,o="".concat(Gd.paymentBaseUrl,"bank/charge_account/").concat(e,"/").concat(r),a=$A(),s=p({"Content-Type":"application/x-www-form-urlencoded"},a&&{"Accept-Language":a}),u=cE({account_number:n,device:i});return JA.post(o,u,{headers:s}).then((function(t){return sg.parse(t.data)}))},nx=function(t){var e=t.bankId,r=t.transactionId,n=t.accountNumber,i=t.birthday,o="".concat(Gd.paymentBaseUrl,"bank/charge_account/").concat(e,"/").concat(r),a=$A(),s=p({"Content-Type":"application/x-www-form-urlencoded"},a&&{"Accept-Language":a}),u=cE({account_number:n,birthday:i});return JA.post(o,u,{headers:s}).then((function(t){return sg.parse(t.data)}))},ix=function(t){var e=t.bankId,r=t.transactionId,n=t.token,i=t.device,o="".concat(Gd.paymentBaseUrl,"bank/validate_token/").concat(e,"/").concat(r),a=$A(),s=p({"Content-Type":"application/x-www-form-urlencoded"},a&&{"Accept-Language":a}),u=cE({device:i,token:n});return JA.post(o,u,{headers:s}).then((function(t){return sg.parse(t.data)}))},ox="bank account";function ax(t,e){return new Promise((function(r,n){var i=ex.validate(t);if(!i.isValid){var o=e||t.accountNumber?i.errors[0]:"Please set a valid bank account with Transaction.setBank()";n(Error(o))}r()}))}var sx={getIbankUrl:function(t){var e=this,r=t.bankId;return new Promise((function(t,n){r||n(Error("Please send bankId"));var i="".concat(Gd.paymentBaseUrl,"bank/ibank/").concat(r,"/").concat(e.id);t(sg.success({url:i}))}))},listenForIbankCharge:function(t){var e={channel:"IBANK_".concat(this.id),paymentMethod:"ibank"};return this.listenForCharge(e,t)}},ux=function(t){var e=t.bankId,r=t.transactionId,n=t.phoneNumber,i=t.payId,o=t.walletId,a="".concat(Gd.paymentBaseUrl,"bank/digitalbankmandate/").concat(e,"/").concat(r),s=$A(),u=p({"Content-Type":"application/x-www-form-urlencoded"},s&&{"Accept-Language":s}),c=cE(o?{wallet_id:o}:{phone_number:n,token:i});return JA.post(a,c,{headers:u}).then((function(t){return sg.parse(t.data)}))},cx="bank",hx={chargeDigitalBankMandate:function(t){var e=this,r=t.phoneNumber,n=t.payId,i=t.bankId,o=t.walletId,a={transactionId:this.id,phoneNumber:r,payId:n,bankId:i,walletId:o};return ux(a).then((function(t){return e.logAPIResponse(t,cx),t}))},listenForDigitalBankMandateCharge:function(t){var e={paymentMethod:cx,channel:arguments.length>1&&void 0!==arguments[1]?arguments[1]:""};return this.listenForCharge(e,t)}},lx=p(p(p({},{setBankAccount:function(t){var e=this;return ax(t,!0).then((function(){e.bankAccount=new ex(t)}))},chargeBankAccount:function(){var t=this;return ax(this.bankAccount).then((function(){t.logAttempt(ox);var e={bankId:t.bankAccount.bankId,transactionId:t.id,accountNumber:t.bankAccount.accountNumber,device:t.deviceFingerprint};return rx(e).then((function(e){return t.logAPIResponse(e,ox),e}))}))},registerBankAccount:function(t){var e=this;return ax(this.bankAccount).then((function(){var r={bankId:e.bankAccount.bankId,transactionId:e.id,accountNumber:e.bankAccount.accountNumber,birthday:t};return nx(r).then((function(t){return e.logAPIResponse(t,ox),t}))}))},authenticateBankAccount:function(t){var e=this;return ax(this.bankAccount).then((function(){var r={bankId:e.bankAccount.bankId,transactionId:e.id,token:t,device:e.deviceFingerprint};return ix(r).then((function(t){return e.logAPIResponse(t,ox),t}))}))}}),sx),hx),fx=function(t,e){var r=$A(),n=p({Authorization:"Bearer ".concat(e)},r&&{"Accept-Language":r});return JA.post("".concat(Gd.paystackApiUrl,"checkout/ussd/reference"),t,{headers:n}).then((function(t){return sg.parse(t.data)}))},px=function(t,e){var r=$A(),n=p({Authorization:"Bearer ".concat(e)},r&&{"Accept-Language":r});return JA.post("".concat(Gd.paystackApiUrl,"checkout/pay_with_transfer_ussd"),t,{headers:n}).then((function(t){return sg.parse(t.data)}))},dx={getUSSDShortcode:function(t){var e=this,r=t.channel,n={transaction:this.id,channel:r};return fx(n,this.merchant.key).then((function(t){return"success"===t.status&&(e.ussd[r]=t),t}))},getPWTUSSDShortcode:function(t){var e=this,r=t.bankSlug,n=t.fulfilLateNotification,i=void 0!==n&&n,o={transaction_id:this.id,fulfil_late_notification:i,bank_slug:r};return px(o,this.merchant.key).then((function(t){return"success"===t.status&&(e.ussd[r]=t),t}))},listenForPWTUSSDCharge:function(t,e){var r=t.bankSlug;if(!this.ussd[r])return Promise.reject(Error("Please generate a ussd shortcode with Transaction.getPWTUSSDShortcode()"));var n={channel:this.ussd[r].data.pusher_channel,paymentMethod:"ussd"};return this.listenForCharge(n,e)},listenForUSSDCharge:function(t,e){var r=t.channel;if(!this.ussd[r])return Promise.reject(Error("Please generate a ussd shortcode with Transaction.getUSSDShortcode()"));var n={channel:this.ussd[r].data.channel,paymentMethod:r};return this.listenForCharge(n,e)}},gx=function(t,e){var r={source:"checkout",reference:t.transaction,channel:t.channel},n=$A(),i=p({Authorization:"Bearer ".concat(e)},n&&{"Accept-Language":n});return JA.post("".concat(Gd.paystackApiUrl,"offline/qr/generate"),r,{headers:i}).then((function(t){return sg.parse(t.data)}))};function mx(t){return new Promise((function(e,r){var n=["visa","MPASS_OLTI"];if(n.indexOf(t)<=-1){var i="Invalid channel. Available channels: ".concat(n.join(", "));r(Error(i))}else e()}))}var vx={getQRCode:function(t){var e=this,r=t.channel;return mx(r).then((function(){if(e.qr[r])return e.qr[r];var t={transaction:e.id,channel:r};return gx(t,e.merchant.key).then((function(t){return"success"===t.status&&(e.qr[r]=t),t}))}))},listenForQRCharge:function(t,e){var r=this,n=t.channel;return mx(n).then((function(){if(!r.qr[n])return Promise.reject(Error("Please generate qr code with Transaction.getQRCode()"));var t={channel:r.qr[n].data.channel,paymentMethod:n};return r.listenForCharge(t,e)}))}},yx=function(){function t(){o(this,t)}return s(t,null,[{key:"hasCountryCode",value:function(t){return t&&"+"===t[0]}},{key:"hasOnlyDigits",value:function(t){var e;return t&&(e=t.substring(1),/^\d+$/.test(e))}},{key:"isE164Number",value:function(t){return t&&t.length<17}},{key:"validate",value:function(e){var r=[];return t.hasCountryCode(e)||r.push("Number should include country code prefix"),t.hasOnlyDigits(e)||r.push("Number should contain only digits"),t.isE164Number(e)||r.push("Number should not be longer than 16 digits"),{isValid:0===r.length,errors:r}}}]),t}(),bx=function(t){var e={transaction:t.transaction,phone:t.phone,account:t.account,device:t.device,channel_name:t.channel_name,provider:t.provider,voucher:t.voucher,registration_token:t.registrationToken,otp_channels:t.otpChannels},r=$A(),n=p({},r&&{"Accept-Language":r});return JA.post("".concat(Gd.paystackApiUrl,"charge/mobile_money"),e,{headers:n}).then((function(t){return sg.parse(t.data)})).catch((function(t){var e=t.response;return sg.parse(e.data)}))},wx=function(t){var e=t.transaction,r=t.code,n=$A(),i=p({},n&&{"Accept-Language":n}),o=cE({transaction:e,otp:r}),a=new URL("charge/momo_payin_finalize",Gd.paymentBaseUrl).toString();return JA.post(a,o,{headers:i}).then((function(t){return sg.parse(t.data)}))};function Sx(t){return new Promise((function(e,r){var n=yx.validate(t);if(!n.isValid){var i=t?n.errors[0]:"Please start a mobile money transaction with Transaction.chargeMobileMoney()";r(Error(i))}e(n)}))}function Tx(t){var e=t.phoneNumber,r=t.provider,n=t.voucher,i=t.registrationToken,o=t.accountNumber,a=t.id,s=t.deviceFingerprint,u=t.otpChannels;return p(p(p(p({provider:r,registrationToken:i,transaction:a,voucher:n},e&&{phone:e}),o&&{account:o}),u&&{otpChannels:u}),{},{device:s,channel_name:"MOBILE_MONEY_".concat(a)})}var Ax={mobileMoneyChargeAPI:function(t){var e=this;return bx(t).then((function(t){return"success"===t.status&&(e.mobileMoney=t,t.data&&t.data.display&&1===t.data.display.otpSentCount&&e.logTokenRequest("mobile money")),t}))},chargeMobileMoney:function(t){var e=this,r=t.phoneNumber,n=t.accountNumber,i=t.provider,o=t.voucher,a=t.registrationToken;this.logAttempt("mobile money");var s=Tx(p({provider:i,voucher:o,registrationToken:a,id:this.id,deviceFingerprint:this.deviceFingerprint},r?{phoneNumber:r}:{accountNumber:n}));return r?Sx(r).then((function(){return e.mobileMoneyChargeAPI(s)})):this.mobileMoneyChargeAPI(s)},authenticateMobileMoney:function(t){var e=this,r=t.phoneNumber,n=t.provider,i=t.registrationToken,o=t.otpChannels;return Sx(r).then((function(){e.logMobileMoneyActions(t);var a=Tx({provider:n,registrationToken:i,phoneNumber:r,otpChannels:o,id:e.id,deviceFingerprint:e.deviceFingerprint});return bx(a).then((function(t){return"success"===t.status?(e.mobileMoney=t,t.data&&t.data.display&&1===t.data.display.otpSentCount&&e.logTokenRequest("mobile money")):t.errors&&t.errors.data&&"awaiting_registration_token"===t.errors.data.status?e.logTokenAuthenticationFailure(t.message):e.logError(t.message),t}))}))},submitMobileMoneyCode:function(t){var e=this;return wx({code:t.code,transaction:this.id}).then((function(t){return e.logAPIResponse(t,"mobile_money"),t}))},listenForMobileMoneyCharge:function(t){if("success"!==this.mobileMoney.status)return Promise.reject(Error("Please start a mobile money charge with Transaction.chargeMobileMoney()"));var e=this.mobileMoney.data,r=e.channel,n=e.channel_name,i={channel:r||n,paymentMethod:"mobile_money"};return this.listenForCharge(i,t)}},Ex=function(t){var e={email:t.email,password:t.password},r=$A(),n=p({},r&&{"Accept-Language":r});return JA.post("".concat(Gd.paystackApiUrl,"login"),e,{headers:n}).then((function(t){return sg.parse(t.data)}))},kx=function(t){var e=t.account_code,r=t.transaction,n=t.token,i=$A(),o=p({Authorization:"Bearer ".concat(n),"jwt-auth":!0},i&&{"Accept-Language":i}),a={account_code:e,transaction:r};return JA.post("".concat(Gd.paystackApiUrl,"directdebit/initiate"),a,{headers:o}).then((function(t){return sg.parse(t.data)}))},xx=function(t){var e=t.otp,r=t.transaction,n=t.token,i=$A(),o=p({Authorization:"Bearer ".concat(n),"jwt-auth":!0},i&&{"Accept-Language":i}),a={otp:e,transaction:r};return JA.post("".concat(Gd.paystackApiUrl,"directdebit/validate"),a,{headers:o}).then((function(t){return sg.parse(t.data)}))},Ox=function(t){var e=$A(),r=p({Authorization:"Bearer ".concat(t),"jwt-auth":!0},e&&{"Accept-Language":e});return JA.get("".concat(Gd.paystackApiUrl,"directdebit/account"),{headers:r}).then((function(t){return t.data}))},Rx="direct debit",Cx={loginToDirectDebitAccount:function(t){var e=this,r=t.email,n={email:r,password:t.password};return Jc(r)?Ex(n).then((function(t){if("success"===t.status){var r=t.data,n=r.token,i=r.user.permissions;if(!i||i.length<1)throw Error("You do not have the privileges to perform this action");if(i.find((function(t){return"directdebit-*"===t})))return e.directDebit.token=n,t;throw Error("You do not have the privileges to perform this action")}return t})):Promise.reject(Error("Invalid email"))},chargeDirectDebit:function(t){var e=this;if(!this.directDebit.token)return Promise.reject(Error("Please login with Transaction.loginToDirectDebitAccount() to start a Direct debit charge"));this.logAttempt(Rx);var r={account_code:t,transaction:this.id,token:this.directDebit.token};return kx(r).then((function(t){return e.logAPIResponse(t,Rx),t.status&&(e.directDebit.chargeResponse=t),t}))},getProvisionedAccounts:function(){var t=this;return Ox(this.directDebit.token).then((function(e){t.logAPIResponse(e,Rx);var r=e.status,n=e.data;if(r){if(n&&n.length<1)return Promise.reject(Error("You have not provisioned any bank account for Direct Debit yet"));t.directDebit.accounts=e.data}return e}))},authenticateAccount:function(t){var e=this,r={otp:t,transaction:this.id,token:this.directDebit.token};return xx(r).then((function(t){return e.logAPIResponse(t,Rx),t}))}},Px=Qr.PROPER,Bx=x,Lx=ec,Ix=hc.trim;li({target:"String",proto:!0,forced:function(t){return Bx((function(){return!!Lx[t]()||"
"!=="
"[t]()||Px&&Lx[t].name!==t}))}("trim")},{trim:function(){return Ix(this)}});var Dx="capitec_pay",_x="CELLPHONE",Nx="IDNUMBER",jx="ACCOUNTNUMBER",Ux={combineIdentifierKeyAndIdentifierValue:function(t){var e=t.identifierKey,r=t.identifierValue;return"".concat(e,"*").concat(r)},encryptIdentifierKeyAndIdentifierValue:function(t){var e=t.identifierKey,r=t.identifierValue;return NE(Ux.combineIdentifierKeyAndIdentifierValue({identifierKey:e,identifierValue:r}))},validateAccountNumber:function(t){return/^\d{10}$/.test(t)},validateIDNumber:function(t){return/^\d{13}$/.test(t)},validateCellphoneNumber:function(t){return/^0\d{9}$/.test(t)},validateIdentifierKeyAndIdentifierValue:function(t){var e=t.identifierKey,r=t.identifierValue;switch(e){case _x:return Ux.validateCellphoneNumber(r);case Nx:return Ux.validateIDNumber(r);case jx:return Ux.validateAccountNumber(r);default:return!1}}},Mx=function(t){var e=t.clientData,r=t.transactionId,n=t.deviceFingerprint,i=t.publicKey,o=new URL("capitec-pay/authenticate",Gd.paystackApiUrl).toString(),a=$A(),s=p({Authorization:"Bearer ".concat(i),"Content-Type":"application/x-www-form-urlencoded"},a&&{"Accept-Language":a}),u=cE({clientdata:e,trans:r,device:n});return JA.post(o,u,{headers:s}).then((function(t){return t.data}))},Fx=function(t){var e=t.transactionReference,r=t.publicKey,n=new URL("capitec-pay/requery/".concat(e),Gd.paystackApiUrl).toString(),i=$A(),o=p({Authorization:"Bearer ".concat(r)},i&&{"Accept-Language":i});return JA.get(n,{headers:o}).then((function(t){return sg.parse(t.data)}))},Vx="capitec_pay",qx={validateIdentifier:function(t){var e=t.identifierKey,r=t.identifierValue,n=(void 0===r?"":r).trim();return Ux.validateIdentifierKeyAndIdentifierValue({identifierKey:e,identifierValue:n})},authenticateCapitecPay:function(t){var e=this,r=t.identifierKey,n=t.identifierValue,i=(void 0===n?"":n).trim();if(!Ux.validateIdentifierKeyAndIdentifierValue({identifierKey:r,identifierValue:i}))return Promise.reject(new Error("Invalid identifier key and value"));var o=Ux.encryptIdentifierKeyAndIdentifierValue({identifierKey:r,identifierValue:i});return this.logAttempt(Vx),Mx({clientData:o,deviceFingerprint:this.deviceFingerprint,transactionId:this.id,publicKey:this.merchant.key}).then((function(t){return e.logAPIResponse(t,Vx),t}))},requeryCapitecPay:function(){var t=this;return Fx({transactionReference:this.reference,publicKey:this.merchant.key}).then((function(e){return t.logAPIResponse(e,Vx),e}))},listenForCapitecPayCharge:function(t){var e={paymentMethod:Vx,channel:"CAPITECPAY_".concat(this.id)};return this.listenForCharge(e,t)}},zx=function(t){var e=t.accessCode,r=t.returnUrl,n=$A(),i=p({},n&&{"Accept-Language":n}),o=new URL("checkout/card/charge/union_pay",Gd.paystackApiUrl).toString(),a={access_code:e,return_url:r};return JA.post(o,a,{headers:i}).then((function(t){return sg.parse(t.data)}))},Hx="union_pay",Kx={chargeChinaUnionPay:function(t){var e=this,r=t.returnUrl;return this.logAttempt(Hx),zx({accessCode:this.accessCode,returnUrl:r}).then((function(t){return e.logAPIResponse(t,Hx),t}))}},Gx=function(t){return{card:tx,bank:lx,ussd:dx,qr:vx,mobile_money:Ax,direct_debit:Cx,bank_transfer:sE,eft:pE,payattitude:fE,apple_pay:vE,google_pay:wE,paypal:xE,capitec_pay:qx,union_pay:Kx}[t]},Wx=function(t){t||"undefined"==typeof navigator||(t=navigator.userAgent);t&&t.headers&&"string"==typeof t.headers["user-agent"]&&(t=t.headers["user-agent"]);return"string"==typeof t&&(/(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(t)||/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(t.substr(0,4)))};var Xx=function(t){var e=t||{},r=e.attempts,n=e.authentication,i=e.errors,o=e.history;return{start_time:Math.round(Date.now()/1e3),time_spent:0,attempts:r||0,authentication:n,errors:i||0,success:!1,mobile:Wx(),input:[],history:o||[]}},Yx=function(t){return Math.round(Date.now()/1e3)-t},Zx=li,Jx=lt,$x=uo,Qx=H,tO=x,eO=E.Array,rO=Jx("JSON","stringify"),nO=Qx(/./.exec),iO=Qx("".charAt),oO=Qx("".charCodeAt),aO=Qx("".replace),sO=Qx(1..toString),uO=/[\uD800-\uDFFF]/g,cO=/^[\uD800-\uDBFF]$/,hO=/^[\uDC00-\uDFFF]$/,lO=function(t,e,r){var n=iO(r,e-1),i=iO(r,e+1);return nO(cO,t)&&!nO(hO,i)||nO(hO,t)&&!nO(cO,n)?"\\u"+sO(oO(t,0),16):t},fO=tO((function(){return'"\\udf06\\ud834"'!==rO("\udf06\ud834")||'"\\udead"'!==rO("\udead")}));rO&&Zx({target:"JSON",stat:!0,forced:fO},{stringify:function(t,e,r){for(var n=0,i=arguments.length,o=eO(i);n<i;n++)o[n]=arguments[n];var a=$x(rO,null,o);return"string"==typeof a?aO(a,uO,lO):a}});var pO=function(t,e){var r=e.merchantKey,n=e.log,i=$A(),o=p({Authorization:"Bearer ".concat(r)},i&&{"Accept-Language":i});return JA.post(t,{payload:JSON.stringify(n)},{headers:o}).then((function(t){return t.data}))},dO=function(t,e){var r=e.merchantKey,n=$A(),i=p({Authorization:"Bearer ".concat(r)},n&&{"Accept-Language":n});return JA.post(t,null,{headers:i}).then((function(t){return t.data}))},gO=function(t,e){var r=e.merchantKey,n=e.referrer,i=$A(),o=p({Authorization:"Bearer ".concat(r)},i&&{"Accept-Language":i});return JA.post(t,{referrer:n},{headers:o}).then((function(t){return t.data}))},mO=function(t,e,r){var n=new URL("transaction/update_log/".concat(t),Gd.paystackApiUrl).toString();return pO(n,{merchantKey:e,log:r})},vO=function(t,e){var r=new URL("transaction/set_ip/".concat(t),Gd.paystackApiUrl).toString();return dO(r,{merchantKey:e})},yO=function(t,e,r){var n=new URL("transaction/set_referrer/".concat(t),Gd.paystackApiUrl).toString();return gO(n,{merchantKey:e,referrer:r})},bO=p(p({},{logCapitecPayConfirmation:function(t){return this.logHistoryEntry({type:"action",message:"Customer submitted account details with identifier: ".concat(t),channel:Dx,time:this.getTimeSpent()})},logCapitecPayAccountIdentifierSwitch:function(t){return this.logHistoryEntry({type:"action",message:"Switched account identifier to: ".concat(t),channel:Dx,time:this.getTimeSpent()})},logCapitecPayConfirmedPaymentApproval:function(){return this.logHistoryEntry({type:"action",message:"Selected confirm payment approval",channel:Dx,time:this.getTimeSpent()})},logCapitecPayRetryConfirmation:function(){return this.logHistoryEntry({type:"action",message:"Selected retry payment confirmation",channel:Dx,time:this.getTimeSpent()})}}),{},{initializeLog:function(t){this.log=Xx(t)},getTimeSpent:function(){return this.log.time_spent=Yx(this.log.start_time),this.log.time_spent},logHistoryEntry:function(t){return this.log.history.push(t),this.saveLog()},logPageOpen:function(){return this.log.history.push({type:"open",message:"Opened checkout",time:this.getTimeSpent()}),this.saveLog()},logChannelSwitch:function(t){return this.log.history.push({type:"action",message:"Set payment method to: ".concat(t),time:this.getTimeSpent()}),this.saveLog()},logValidationErrors:function(t){var e=this;return t.forEach((function(t){e.log.history.push({type:"error",message:"Invalid ".concat(t),time:e.getTimeSpent()})})),this.saveLog()},logInput:function(t){var e=this.log.history.find((function(e){return e.message==="Filled this field: ".concat(t)}));return this.log.history.push({type:"input",message:"".concat(e?"Changed":"Filled"," this field: ").concat(t),time:this.getTimeSpent()}),this.saveLog()},logBankSelect:function(t){return this.log.history.push({type:"action",message:"Selected bank: ".concat(t),time:this.getTimeSpent()}),this.saveLog()},logSavedCardSelect:function(){return this.log.history.push({type:"action",message:"Selected saved card",time:this.getTimeSpent()}),this.saveLog()},logAuthWindowOpen:function(){return this.log.history.push({type:"action",message:"Third-party authentication window opened",time:this.getTimeSpent()}),this.saveLog()},logAuthWindowClose:function(){return this.log.history.push({type:"action",message:"Third-party authentication window closed",time:this.getTimeSpent()}),this.saveLog()},logAPIResponse:function(t,e){switch(t.status){case"success":return this.logSuccess(e);case"pending":return this.logPending(e);case"failed":return this.logError(t.message);case"auth":return this.logAuth(t.data.auth);default:return!1}},logMobileMoneyActions:function(t){var e=t.numberOfTokenRequests,r=t.registrationToken;e?this.logTokenRequest("mobile money",e):r?this.logTokenSubmitted("mobile money"):this.logAttempt("mobile money")},logAPIResponseMessage:function(t){return this.log.history.push({type:"action",message:t,time:this.getTimeSpent()}),this.saveLog()},logAttempt:function(t){var e="Attempted to pay";return t&&(e+=" with ".concat(t)),this.log.attempts+=1,this.log.history.push({type:"action",message:e,time:this.getTimeSpent()}),this.saveLog()},logTokenRequest:function(t){var e=0===(arguments.length>1&&void 0!==arguments[1]?arguments[1]:0)?"Waiting for customer to submit OTP":"Customer requested to resend OTP";return this.log.history.push({type:"action",message:e,channel:t,time:this.getTimeSpent()}),this.saveLog()},logTokenSubmitted:function(t){return this.log.history.push({type:"action",message:"Customer submitted OTP",channel:t,time:this.getTimeSpent()}),this.saveLog()},logTokenAuthenticationFailure:function(t){var e=t?"Error: ".concat(t):"Error";return this.log.errors+=1,this.log.history.push({type:"error",message:e,authentication:"failed",time:this.getTimeSpent()}),this.saveLog()},logError:function(t){var e="Error";return t&&(e+=": ".concat(t)),this.log.errors+=1,this.log.history.push({type:"error",message:e,time:this.getTimeSpent()}),this.saveLog()},logAuth:function(t){return this.log.authentication=t,this.log.history.push({type:"auth",message:"Authentication Required: ".concat(t),time:this.getTimeSpent()}),this.saveLog()},logSuccess:function(t){var e="Successfully paid";return t&&(e+=" with ".concat(t)),this.log.success=!0,this.log.history.push({type:"success",message:e,time:this.getTimeSpent()}),this.saveLog()},logPending:function(t){var e="Payment in progress";return t&&(e+=" with ".concat(t)),this.log.history.push({type:"pending",message:e,time:this.getTimeSpent()}),this.saveLog()},logPageClose:function(){return this.log.history.push({type:"close",message:"Closed checkout",time:this.getTimeSpent()}),this.saveLog()},logTransactionCurrencySwitch:function(t){var e=t.currency,r=t.isUserAction,n=void 0===r||r?"User switched":"Switched";return this.log.history.push({type:"action",message:"".concat(n," transaction currency to ").concat(e),time:this.getTimeSpent()}),this.saveLog()},saveLog:function(){return mO(this.id,this.merchant.key,this.log)},saveIpAddress:function(){return vO(this.id,this.merchant.key)},saveReferrer:function(t){return yO(this.id,this.merchant.key,t)}}),wO=function(t){return i(regeneratorRuntime.mark((function e(){var r,n,i,o,a,s,u,c,h;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.transaction,n=t.phone,i=t.channels,o=t.email,a=new URL("/saved_cards/authorize",Gd.paystackApiUrl).toString(),s=$A(),u=p({},s&&{"Accept-Language":s}),c=p(p(p(p({},n&&{phone:n}),i&&{channels:i}),o&&{email:o}),{},{transaction:r,is_six_digit_otp:!0}),e.next=7,JA.post(a,c,{headers:u});case 7:return h=e.sent,e.abrupt("return",h.data);case 9:case"end":return e.stop()}}),e)})))()},SO=function(t){return i(regeneratorRuntime.mark((function e(){var r,n,i,o,a,s,u,c;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.code,n=t.transaction,i=t.token,o=new URL("/saved_cards/authorize/verify",Gd.paystackApiUrl).toString(),a=$A(),s=p({Authorization:"Bearer ".concat(i)},a&&{"Accept-Language":a}),u={code:r,transaction:n},e.next=7,JA.post(o,u,{headers:s});case 7:return c=e.sent,e.abrupt("return",c.data);case 9:case"end":return e.stop()}}),e)})))()},TO=function(t){return i(regeneratorRuntime.mark((function e(){var r,n,i,o,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.token,n=new URL("/saved_cards/link/payment-instruments",Gd.paystackApiUrl).toString(),i=$A(),o=p({Authorization:"Bearer ".concat(r),"jwt-auth":!0},i&&{"Accept-Language":i}),e.next=6,JA.get(n,{headers:o});case 6:return a=e.sent,e.abrupt("return",a.data);case 8:case"end":return e.stop()}}),e)})))()},AO=function(t){return i(regeneratorRuntime.mark((function e(){var r,n,i,o,a,s,u,c,h,l;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.token,n=t.device,i=t.instrumentCode,o=t.transaction,a=t.selectedCurrency,s=new URL("/saved_cards/link/".concat(i,"/charge"),Gd.paystackApiUrl).toString(),u=$A(),c=p({Authorization:"Bearer ".concat(r),"jwt-auth":!0},u&&{"Accept-Language":u}),h={device:n,transaction:o,selected_currency:a},e.next=7,JA.post(s,h,{headers:c});case 7:return l=e.sent,e.abrupt("return",sg.parse(l.data));case 9:case"end":return e.stop()}}),e)})))()},EO=function(t){return i(regeneratorRuntime.mark((function e(){var r,n,i,o,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=new URL("/saved_cards/direct-debit/pay-with-transfer",Gd.paystackApiUrl).toString(),n=$A(),i=p({Authorization:"Bearer ".concat(t.token)},n&&{"Accept-Language":n}),o={device:t.device,transaction_id:t.transactionId,account_number:t.accountNumber,account_name:t.accountName,bank_code:t.bankCode,currency:t.currency,country_code:t.countryCode,fulfil_late_notification:t.fulfilLateNotification},e.next=6,JA.post(r,o,{headers:i});case 6:return a=e.sent,e.abrupt("return",sg.parse(a.data));case 8:case"end":return e.stop()}}),e)})))()},kO=function(t){return i(regeneratorRuntime.mark((function e(){var r,n,i,o,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=new URL("/saved_cards/user/profile/verify",Gd.paystackApiUrl).toString(),n=$A(),i=p({},n&&{"Accept-Language":n}),o={transaction_id:t.transactionId,email:t.email,account_number:t.accountNumber,bank_code:t.bankCode},e.next=6,JA.post(r,o,{headers:i});case 6:return a=e.sent,e.abrupt("return",a.data);case 8:case"end":return e.stop()}}),e)})))()},xO=function(t){return i(regeneratorRuntime.mark((function e(){var r,n,i,o,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=new URL("/saved_cards/customer-validation/validate",Gd.paystackApiUrl).toString(),n=$A(),i=p({},n&&{"Accept-Language":n}),o=p(p({bank_code:t.bankCode,account_number:t.accountNumber,email:t.email},t.phoneNumber&&{phone_number:t.phoneNumber}),{},{transaction_id:t.transactionId}),e.next=6,JA.post(r,o,{headers:i});case 6:return a=e.sent,e.abrupt("return",a.data);case 8:case"end":return e.stop()}}),e)})))()},OO={authentication:"vault otp",paymentInstrument:{bank:"linked account",card:"saved card"}},RO={sendLinkOtp:function(t){var e=t.phone,r=t.channels,n=t.email;return this.logAuth(OO.authentication),wO({phone:e,transaction:this.id,channels:r,email:n})},verifyLinkOtp:function(t){var e=t.code,r=t.token;return SO({code:e,transaction:this.id,token:r})},getLinkPaymentInstruments:function(t){var e=t.token;return TO({token:e})},chargeLinkPaymentInstrument:function(t){var e=this,r=t.instrumentCode,n=t.selectedCurrency,i=void 0===n?this.currency:n,o=t.token,a=t.instrumentType,s=OO.paymentInstrument[a]||"vault",u={instrumentCode:r,transaction:this.id,token:o,device:this.deviceFingerprint,selectedCurrency:i};return this.logAttempt(s),AO(u).then((function(t){return e.logAPIResponse(t,s),t}))},generateLinkManagedAccount:function(t){return EO(p(p({},t),{},{device:this.deviceFingerprint,transactionId:this.id}))},listenForLinkBankPayWithTransferCharge:function(t,e){var r={channel:t,paymentMethod:"bank_transfer"};return this.listenForCharge(r,e)},verifyLinkProfile:function(t){return kO(p(p({},t),{},{transactionId:this.id}))},validateLinkCustomerBankAccount:function(t){return xO(p(p({},t),{},{transactionId:this.id}))}},CO=function(){function t(e){var r=this;o(this,t),this.email=e.email,this.merchant={id:e.merchant_id,logo:e.merchant_logo,name:e.merchant_name,key:e.merchant_key,channelSettings:e.merchant_channel_settings||{}},this.status=e.transaction_status||e.status,this.channelSettings=e.channel_settings||{},this.accessCode=e.access_code,this.amount=e.amount,this.domain=e.domain,this.isTest="test"===e.domain,this.currency=e.currency,this.id=e.id,this.channels=e.channels,this.label=e.label,this.metadata=e.metadata||{},this.cancel_action=e.cancel_action||null,this.channelFeesConfig=e.channel_fees_and_amount||{},this.channel_options=e.channel_options||null,this.hash=e.hash||null,this.authorizations=e.authorizations,this.remember_card=!1,this.rememberMeEnabled=e.is_remember_me_enabled,this.card={},this.bankAccount={},this.mobileMoney={},this.ussd={},this.bankTransfer={},this.qr={},this.directDebit={},this.deviceFingerprint=e.deviceFingerprint||null,this.customer=e.customer,this.custom_filters=e.custom_filters||null,this.isCharging=!1,this.isListening=!1,this.transactionType=e.transaction_type||null,this.subscription=e.subscription||null,this.planDetails=e.plan_details||null,this.exchangeRate=e.exchange_rate||null,this.preChargeCheckEnabled=e.pre_charge_check_enabled||!1,this.savedCardsConfig=e.saved_cards||{},this.supportedBanks=e.supported_banks||[],this.isWhiteLabeled=e.whitelabel||null,this.savedCardsTempAuthToken=null,this.savedCardsToken=null,this.reference=e.reference,this.linkConfig=e.link_config||{},this.log=null,Object.assign(this,bO),this.initializeLog(e.log),this.saveIpAddress(),this.channels.forEach((function(t){var e=Gx(t);Object.assign(r,e)})),this.linkConfig.enabled&&Object.assign(this,RO)}return s(t,[{key:"setMetadata",value:function(t,e){this.metadata[t]=e}},{key:"setDevice",value:function(t){this.deviceFingerprint?kd("Device ID has already been set by Checkout JS so there's no need to set this again"):this.deviceFingerprint=t}},{key:"listenForCharge",value:function(t,e){return ug(t,this,e)}},{key:"requery",value:function(){return nE(this.id)}},{key:"markAsAbandoned",value:function(){return iE({publicKey:this.merchant.key,transactionId:this.id})}},{key:"verifyStatus",value:function(){return oE({reference:this.reference,publicKey:this.merchant.key}).then((function(t){return t&&t.data}))}}]),t}(),PO={validate:function(t){var e=function(t){var e=[];return t&&"object"===b(t)?(Object.keys(th).forEach((function(r){var n=th[r],i=t[r];!n.required||i||t[n.fallback]?i&&!n.isValid(i)&&e.push({field:r,message:"Invalid field: ".concat(r)}):e.push({field:r,message:"Required field: ".concat(r)})})),e):(e.push({message:"Please supply a valid object"}),e)}(t);if(e.length){var r=m(e,1)[0].message;throw new es(e,r)}},request:function(t){return i(regeneratorRuntime.mark((function e(){var r,n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Od();case 2:return r=e.sent,e.next=5,QA(p(p({},t),{device:r}));case 5:return n=e.sent,e.abrupt("return",n&&Object.seal(new CO(p(p({},n.data),{deviceFingerprint:r}))));case 7:case"end":return e.stop()}}),e)})))()},createInstance:function(t){return i(regeneratorRuntime.mark((function e(){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Od();case 2:if(r=e.sent,null!=t&&t.access_code){e.next=5;break}throw new Error("This function should be used with transaction data from the API");case 5:return e.abrupt("return",Object.seal(new CO(p(p({},t),{},{deviceFingerprint:r}))));case 6:case"end":return e.stop()}}),e)})))()},requestWithAccessCode:function(t){return i(regeneratorRuntime.mark((function e(){var r,n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Od();case 2:return r=e.sent,e.next=5,tE(t);case 5:return n=e.sent,e.abrupt("return",n&&Object.seal(new CO(p(p({},n.data),{deviceFingerprint:r}))));case 7:case"end":return e.stop()}}),e)})))()},getByAccessCode:function(t,e){return i(regeneratorRuntime.mark((function r(){var n,i;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,Od();case 2:return n=r.sent,r.next=5,eE(t,e);case 5:return i=r.sent,r.abrupt("return",i&&Object.seal(new CO(p(p({},i.data),{deviceFingerprint:n}))));case 7:case"end":return r.stop()}}),r)})))()},initialize:function(t){return Object.seal(new CO(t))},verify:function(t){return i(regeneratorRuntime.mark((function e(){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,rE(t);case 2:return r=e.sent,e.abrupt("return",r&&r.data);case 4:case"end":return e.stop()}}),e)})))()}},BO={},LO=function(t){var e=new URL("/bank",Gd.paystackApiUrl).toString(),r=$A(),n={params:t,headers:p({},r&&{"Accept-Language":r})};return JA.get(e,n).then((function(t){return t.data}))},IO=function(){var t=new URL("/checkout/resolutions",Gd.paystackApiUrl).toString(),e=$A(),r=p({},e&&{"Accept-Language":e});return JA.get(t,{headers:r}).then((function(t){return t.data}))},DO=function(){var t=new URL("/checkout/celebrations",Gd.paystackApiUrl).toString(),e=$A(),r=p({},e&&{"Accept-Language":e});return JA.get(t,{headers:r}).then((function(t){return t.data}))},_O=function(t){var e=new URL("/address_verification/states",Gd.paystackApiUrl).toString(),r=$A(),n={params:t,headers:p({},r&&{"Accept-Language":r})};return JA.get(e,n).then((function(t){return t.data}))},NO=function(t){var e=new URL("/decision/bin/".concat(t),Gd.paystackApiUrl).toString(),r=$A(),n=p({},r&&{"Accept-Language":r});return BO[t]?Promise.resolve(BO[t]):JA.get(e,{headers:n}).then((function(e){var r=e.data;return BO[t]=r,r}))},jO=function(t){var e=t.bin,r=t.transactionId,n=t.merchantKey,i=new URL("/transaction/pre_charge_check/".concat(e),Gd.paystackApiUrl).toString(),o=$A(),a=p({Authorization:"Bearer ".concat(n)},o&&{"Accept-Language":o});return JA.post(i,{transaction_id:r},{headers:a}).then((function(t){return t.data}))},UO=function(t){var e=t.scope,r=t.merchantKey,n=new URL("/address/country",Gd.paystackApiUrl).toString(),i=$A(),o=p({Authorization:"Bearer ".concat(r)},i&&{"Accept-Language":i}),a=e?{scope:e}:void 0;return JA.get(n,{params:a,headers:o}).then((function(t){return t.data}))},MO=function(t){var e=t.country,r=t.merchantKey,n=new URL("/address/country/".concat(e,"/state"),Gd.paystackApiUrl).toString(),i=$A(),o=p({Authorization:"Bearer ".concat(r)},i&&{"Accept-Language":i});return JA.get(n,{headers:o}).then((function(t){return t.data}))},FO=function(){function t(){o(this,t)}return s(t,null,[{key:"contents",value:function(){return[{key:"banks",usage:"Returns a list of banks that can be used to complete checkout"},{key:"resolutions",usage:"Returns a list of known errors, mapped to their suggested resolutions"},{key:"celebrations",usage:"Returns a list of upcoming celebrations"},{key:"states",usage:"Returns a list of states for a particular country"},{key:"countries",usage:"Returns a list of countries that can be scoped to specific use cases"},{key:"reachStates",usage:"Returns a list of states for reach address verification for a particular country"}]}},{key:"fetch",value:function(t,e){var r;if(this.contents().map((function(t){return t.key})).indexOf(t)<=-1)throw new Error("Please provide a valid config key. Use Toolkit.contents() to see available options.");switch(t){case"banks":r=LO(e||{pay_with_bank:"1"});break;case"resolutions":r=IO();break;case"celebrations":r=DO();break;case"states":r=_O(e);break;case"countries":r=UO(e);break;case"reachStates":r=MO(e)}return r}},{key:"resolveCardBin",value:function(t){return NO(t)}},{key:"preChargeCheck",value:function(t){return jO(t)}}]),t}(),VO=function(){function t(e){var r=e.number,n=e.cvv,i=e.month,a=e.year,s=e.pin;o(this,t),this.number=r,this.cvv=n,this.month=i,this.year=a,this.pin=s}return s(t,[{key:"getEncryptedPin",value:function(){return Nk.getEncryptedPin(this.pin)}},{key:"getLast4",value:function(){return Nk.getLast4(this.number)}},{key:"tokenize",value:function(){return Nk.tokenize({number:this.number,cvv:this.cvv,month:this.month,year:this.year})}}],[{key:"getType",value:function(t){return Nk.getType(t)}},{key:"validate",value:function(t){var e=t.number,r=t.cvv,n=t.month,i=t.year;return Nk.validate({number:e,cvv:r,month:n,year:i})}},{key:"validateNumber",value:function(t){return Nk.validateNumber(t)}},{key:"isNumberValid",value:function(t){return Nk.isNumberValid(t)}},{key:"validateCVV",value:function(t,e){return Nk.validateCVV(t,e)}},{key:"isCvvValid",value:function(t,e){return Nk.isCvvValid(t,e)}},{key:"validateExpiry",value:function(t){return Nk.validateExpiry(t)}},{key:"isExpiryValid",value:function(t){return Nk.isExpiryValid(t)}},{key:"generateTestCard",value:function(e){return new t(Nk.findTestCard(e))}}]),t}(),qO=function(t){var e=t.clientdata,r=t.last4,n=t.preauthorizationId,i=t.publicKey,o=new URL("preauthorization/create",Gd.paystackApiUrl).toString(),a=$A(),s=p({Authorization:"Bearer ".concat(i)},a&&{"Accept-Language":a});return JA.post(o,{clientdata:e,last4:r,preauthorization:n},{headers:s}).then((function(t){return sg.parse(t.data)}))},zO="card";function HO(t,e){return new Promise((function(r,n){var i=VO.validate(t);if(!i.isValid){var o=e||t.number,a=Object.keys(i.result).filter((function(t){return!1===i.result[t]})),s="Invalid card details: ".concat(a.join(", "));n(Error(o?s:"Please set a valid card with setCard()"))}r()}))}var KO={setCard:function(t){var e=this;return HO(t,!0).then((function(){e.card=new VO(t)}))},reserveFunds:function(t){var e=this,r=t.preauthorizationId,n=t.publicKey,i=t.customFields,o=void 0===i?{}:i;return HO(this.card).then((function(){e.logAttempt(zO);var t={clientdata:e.card.tokenize(),last4:e.card.getLast4(),device:e.deviceFingerprint,preauthorizationId:r,publicKey:n,customFields:o};return qO(t).then((function(t){return e.logAPIResponse(t,zO),t}))}))},listenFor3DSCharge:function(t){var e={channel:"3DS_".concat(this.id),paymentMethod:zO};return this.listenForCharge(e,t)}},GO=function(t){var e=$A(),r=p({},e&&{"Accept-Language":e}),n=new URL("preauthorization/verify_access_code/".concat(t),Gd.paystackApiUrl).toString();return JA.get(n,{headers:r}).then((function(t){return t.data}))},WO=function(t){var e=t.reference,r=t.publicKey,n=$A(),i=p({Authorization:"Bearer ".concat(r)},n&&{"Accept-Language":n}),o=new URL("preauthorization/verify/".concat(e),Gd.paystackApiUrl).toString();return JA.get(o,{headers:i}).then((function(t){return sg.parse(t.data)}))},XO=function(t,e){var r=$A(),n=p({Authorization:"Bearer ".concat(e)},r&&{"Accept-Language":r}),i=new URL("preauthorization/get_by_access_code/".concat(t),Gd.paystackApiUrl).toString();return JA.get(i,{headers:n}).then((function(t){return t.data}))},YO=function(t,e,r){var n=new URL("preauthorization/update_log/".concat(t),Gd.paystackApiUrl).toString();return pO(n,{merchantKey:e,log:r})},ZO=function(t,e){var r=new URL("preauthorization/set_ip/".concat(t),Gd.paystackApiUrl).toString();return dO(r,{merchantKey:e})},JO=function(t,e,r){var n=new URL("preauthorization/set_referrer/".concat(t),Gd.paystackApiUrl).toString();return gO(n,{merchantKey:e,referrer:r})},$O={initializeLog:function(t){this.log=Xx(t)},getTimeSpent:function(){return this.log.time_spent=Yx(this.log.start_time),this.log.time_spent},logPageOpen:function(){return this.log.history.push({type:"open",message:"Opened checkout",time:this.getTimeSpent()}),this.saveLog()},logChannelSwitch:function(t){return this.log.history.push({type:"action",message:"Set charge method to: ".concat(t),time:this.getTimeSpent()}),this.saveLog()},logValidationErrors:function(t){var e=this;return t.forEach((function(t){e.log.history.push({type:"error",message:"Invalid ".concat(t),time:e.getTimeSpent()})})),this.saveLog()},logInput:function(t){var e=this.log.history.find((function(e){return e.message==="Filled this field: ".concat(t)}));return this.log.history.push({type:"input",message:"".concat(e?"Changed":"Filled"," this field: ").concat(t),time:this.getTimeSpent()}),this.saveLog()},logAuthWindowOpen:function(){return this.log.history.push({type:"action",message:"Third-party authentication window opened",time:this.getTimeSpent()}),this.saveLog()},logAuthWindowClose:function(){return this.log.history.push({type:"action",message:"Third-party authentication window closed",time:this.getTimeSpent()}),this.saveLog()},logAPIResponse:function(t,e){switch(t.status){case"authorized":return this.logAuthorized(e);case"failed":return this.logError(t.message);case"auth":return this.logAuth(t.data.auth);default:return!1}},logAPIResponseMessage:function(t){return this.log.history.push({type:"action",message:t,time:this.getTimeSpent()}),this.saveLog()},logAttempt:function(t){var e="Attempted to charge";return t&&(e+=" with ".concat(t)),this.log.attempts+=1,this.log.history.push({type:"action",message:e,time:this.getTimeSpent()}),this.saveLog()},logAuth:function(t){return this.log.authentication=t,this.log.history.push({type:"auth",message:"Authentication Required: ".concat(t),time:this.getTimeSpent()}),this.saveLog()},logAuthorized:function(t){var e="Successfully preauthorized funds";return t&&(e+=" with ".concat(t)),this.log.success=!0,this.log.history.push({type:"authorized",message:e,time:this.getTimeSpent()}),this.saveLog()},logPageClose:function(){return this.log.history.push({type:"close",message:"Closed checkout",time:this.getTimeSpent()}),this.saveLog()},logError:function(t){var e="Error";return t&&(e+=": ".concat(t)),this.log.errors+=1,this.log.history.push({type:"error",message:e,time:this.getTimeSpent()}),this.saveLog()},saveLog:function(){return YO(this.reference,this.merchant.key,this.log)},saveIpAddress:function(){return ZO(this.reference,this.merchant.key)},saveReferrer:function(t){return JO(this.reference,this.merchant.key,t)}},QO=function(){function t(e){var r;o(this,t),this.id=e.id,this.email=null===(r=e.customer)||void 0===r?void 0:r.email,this.status=e.status,this.reference=e.reference,this.amount=e.amount,this.currency=e.currency,this.metadata=e.metadata||{},this.cancel_action=e.cancel_action||null,this.customer=e.customer,this.channels=e.channels||["card"],this.isListening=!1,this.isTest="test"===e.domain,this.deviceFingerprint=e.deviceFingerprint||null,this.accessCode=e.accessCode||null,this.merchant={id:e.merchant_id,logo:e.merchant_logo,name:e.merchant_name,key:e.merchant_key},this.card={},this.log=null,Object.assign(this,$O),this.initializeLog(e.log),this.saveIpAddress(),Object.assign(this,KO)}return s(t,[{key:"setMetadata",value:function(t,e){this.metadata[t]=e}},{key:"requery",value:function(){var t=this;return WO({reference:this.reference,publicKey:this.merchant.key}).then((function(e){return t.logAPIResponse(e,"card"),e}))}},{key:"listenForCharge",value:function(t,e){return ug(t,this,e)}}]),t}(),tR={initialize:function(t){return Object.seal(new QO(t))},requestWithAccessCode:function(t){return i(regeneratorRuntime.mark((function e(){var r,n,i,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Promise.all([GO(t),Od()]);case 2:return r=e.sent,n=m(r,2),i=n[0],o=n[1],e.abrupt("return",i&&Object.seal(new QO(p(p({},i.data),{},{deviceFingerprint:o,accessCode:t}))));case 7:case"end":return e.stop()}}),e)})))()},getByAccessCode:function(t,e){return i(regeneratorRuntime.mark((function r(){var n,i,o,a;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,Promise.all([XO(t,e),Od()]);case 2:return n=r.sent,i=m(n,2),o=i[0],a=i[1],r.abrupt("return",o&&Object.seal(new QO(p(p({},o.data),{},{deviceFingerprint:a,accessCode:t}))));case 7:case"end":return r.stop()}}),r)})))()}};return t.BankAccount=ex,t.Card=jk,t.Preauthorization=tR,t.Toolkit=FO,t.Transaction=PO,Object.defineProperty(t,"__esModule",{value:!0}),t}({});
|
|
30
|
+
var pt={};void 0!==pt.asn1&&pt.asn1||(pt.asn1={}),pt.asn1.ASN1Util=new function(){this.integerToByteHex=function(t){var e=t.toString(16);return e.length%2==1&&(e="0"+e),e},this.bigIntToMinTwosComplementsHex=function(t){var e=t.toString(16);if("-"!=e.substr(0,1))e.length%2==1?e="0"+e:e.match(/^[0-7]/)||(e="00"+e);else{var r=e.substr(1).length;r%2==1?r+=1:e.match(/^[0-7]/)||(r+=2);for(var n="",i=0;i<r;i++)n+="f";e=new B(n,16).xor(t).add(B.ONE).toString(16).replace(/^-/,"")}return e},this.getPEMStringFromHex=function(t,e){return hextopem(t,e)},this.newObject=function(t){var e=pt.asn1,r=e.DERBoolean,n=e.DERInteger,i=e.DERBitString,o=e.DEROctetString,a=e.DERNull,s=e.DERObjectIdentifier,u=e.DEREnumerated,c=e.DERUTF8String,h=e.DERNumericString,l=e.DERPrintableString,f=e.DERTeletexString,p=e.DERIA5String,d=e.DERUTCTime,g=e.DERGeneralizedTime,m=e.DERSequence,v=e.DERSet,y=e.DERTaggedObject,b=e.ASN1Util.newObject,w=Object.keys(t);if(1!=w.length)throw"key of param shall be only one.";var S=w[0];if(-1==":bool:int:bitstr:octstr:null:oid:enum:utf8str:numstr:prnstr:telstr:ia5str:utctime:gentime:seq:set:tag:".indexOf(":"+S+":"))throw"undefined key: "+S;if("bool"==S)return new r(t[S]);if("int"==S)return new n(t[S]);if("bitstr"==S)return new i(t[S]);if("octstr"==S)return new o(t[S]);if("null"==S)return new a(t[S]);if("oid"==S)return new s(t[S]);if("enum"==S)return new u(t[S]);if("utf8str"==S)return new c(t[S]);if("numstr"==S)return new h(t[S]);if("prnstr"==S)return new l(t[S]);if("telstr"==S)return new f(t[S]);if("ia5str"==S)return new p(t[S]);if("utctime"==S)return new d(t[S]);if("gentime"==S)return new g(t[S]);if("seq"==S){for(var T=t[S],A=[],E=0;E<T.length;E++){var k=b(T[E]);A.push(k)}return new m({array:A})}if("set"==S){for(T=t[S],A=[],E=0;E<T.length;E++)k=b(T[E]),A.push(k);return new v({array:A})}if("tag"==S){var x=t[S];if("[object Array]"===Object.prototype.toString.call(x)&&3==x.length){var O=b(x[2]);return new y({tag:x[0],explicit:x[1],obj:O})}var R={};if(void 0!==x.explicit&&(R.explicit=x.explicit),void 0!==x.tag&&(R.tag=x.tag),void 0===x.obj)throw"obj shall be specified for 'tag'.";return R.obj=b(x.obj),new y(R)}},this.jsonToASN1HEX=function(t){return this.newObject(t).getEncodedHex()}},pt.asn1.ASN1Util.oidHexToInt=function(t){for(var e="",r=parseInt(t.substr(0,2),16),n=(e=Math.floor(r/40)+"."+r%40,""),i=2;i<t.length;i+=2){var o=("00000000"+parseInt(t.substr(i,2),16).toString(2)).slice(-8);n+=o.substr(1,7),"0"==o.substr(0,1)&&(e=e+"."+new B(n,2).toString(10),n="")}return e},pt.asn1.ASN1Util.oidIntToHex=function(t){var e=function(t){var e=t.toString(16);return 1==e.length&&(e="0"+e),e},r=function(t){var r="",n=new B(t,10).toString(2),i=7-n.length%7;7==i&&(i=0);for(var o="",a=0;a<i;a++)o+="0";for(n=o+n,a=0;a<n.length-1;a+=7){var s=n.substr(a,7);a!=n.length-7&&(s="1"+s),r+=e(parseInt(s,2))}return r};if(!t.match(/^[0-9.]+$/))throw"malformed oid string: "+t;var n="",i=t.split("."),o=40*parseInt(i[0])+parseInt(i[1]);n+=e(o),i.splice(0,2);for(var a=0;a<i.length;a++)n+=r(i[a]);return n},pt.asn1.ASN1Object=function(){var t="";this.getLengthHexFromValue=function(){if(void 0===this.hV||null==this.hV)throw"this.hV is null or undefined.";if(this.hV.length%2==1)throw"value hex must be even length: n="+t.length+",v="+this.hV;var e=this.hV.length/2,r=e.toString(16);if(r.length%2==1&&(r="0"+r),e<128)return r;var n=r.length/2;if(n>15)throw"ASN.1 length too long to represent by 8x: n = "+e.toString(16);return(128+n).toString(16)+r},this.getEncodedHex=function(){return(null==this.hTLV||this.isModified)&&(this.hV=this.getFreshValueHex(),this.hL=this.getLengthHexFromValue(),this.hTLV=this.hT+this.hL+this.hV,this.isModified=!1),this.hTLV},this.getValueHex=function(){return this.getEncodedHex(),this.hV},this.getFreshValueHex=function(){return""}},pt.asn1.DERAbstractString=function(t){pt.asn1.DERAbstractString.superclass.constructor.call(this),this.getString=function(){return this.s},this.setString=function(t){this.hTLV=null,this.isModified=!0,this.s=t,this.hV=stohex(this.s)},this.setStringHex=function(t){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&("string"==typeof t?this.setString(t):void 0!==t.str?this.setString(t.str):void 0!==t.hex&&this.setStringHex(t.hex))},ft.lang.extend(pt.asn1.DERAbstractString,pt.asn1.ASN1Object),pt.asn1.DERAbstractTime=function(t){pt.asn1.DERAbstractTime.superclass.constructor.call(this),this.localDateToUTC=function(t){return utc=t.getTime()+6e4*t.getTimezoneOffset(),new Date(utc)},this.formatDate=function(t,e,r){var n=this.zeroPadding,i=this.localDateToUTC(t),o=String(i.getFullYear());"utc"==e&&(o=o.substr(2,2));var a=o+n(String(i.getMonth()+1),2)+n(String(i.getDate()),2)+n(String(i.getHours()),2)+n(String(i.getMinutes()),2)+n(String(i.getSeconds()),2);if(!0===r){var s=i.getMilliseconds();if(0!=s){var u=n(String(s),3);a=a+"."+(u=u.replace(/[0]+$/,""))}}return a+"Z"},this.zeroPadding=function(t,e){return t.length>=e?t:new Array(e-t.length+1).join("0")+t},this.getString=function(){return this.s},this.setString=function(t){this.hTLV=null,this.isModified=!0,this.s=t,this.hV=stohex(t)},this.setByDateValue=function(t,e,r,n,i,o){var a=new Date(Date.UTC(t,e-1,r,n,i,o,0));this.setByDate(a)},this.getFreshValueHex=function(){return this.hV}},ft.lang.extend(pt.asn1.DERAbstractTime,pt.asn1.ASN1Object),pt.asn1.DERAbstractStructured=function(t){pt.asn1.DERAbstractString.superclass.constructor.call(this),this.setByASN1ObjectArray=function(t){this.hTLV=null,this.isModified=!0,this.asn1Array=t},this.appendASN1Object=function(t){this.hTLV=null,this.isModified=!0,this.asn1Array.push(t)},this.asn1Array=new Array,void 0!==t&&void 0!==t.array&&(this.asn1Array=t.array)},ft.lang.extend(pt.asn1.DERAbstractStructured,pt.asn1.ASN1Object),pt.asn1.DERBoolean=function(){pt.asn1.DERBoolean.superclass.constructor.call(this),this.hT="01",this.hTLV="0101ff"},ft.lang.extend(pt.asn1.DERBoolean,pt.asn1.ASN1Object),pt.asn1.DERInteger=function(t){pt.asn1.DERInteger.superclass.constructor.call(this),this.hT="02",this.setByBigInteger=function(t){this.hTLV=null,this.isModified=!0,this.hV=pt.asn1.ASN1Util.bigIntToMinTwosComplementsHex(t)},this.setByInteger=function(t){var e=new B(String(t),10);this.setByBigInteger(e)},this.setValueHex=function(t){this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&(void 0!==t.bigint?this.setByBigInteger(t.bigint):void 0!==t.int?this.setByInteger(t.int):"number"==typeof t?this.setByInteger(t):void 0!==t.hex&&this.setValueHex(t.hex))},ft.lang.extend(pt.asn1.DERInteger,pt.asn1.ASN1Object),pt.asn1.DERBitString=function(t){if(void 0!==t&&void 0!==t.obj){var e=pt.asn1.ASN1Util.newObject(t.obj);t.hex="00"+e.getEncodedHex()}pt.asn1.DERBitString.superclass.constructor.call(this),this.hT="03",this.setHexValueIncludingUnusedBits=function(t){this.hTLV=null,this.isModified=!0,this.hV=t},this.setUnusedBitsAndHexValue=function(t,e){if(t<0||7<t)throw"unused bits shall be from 0 to 7: u = "+t;var r="0"+t;this.hTLV=null,this.isModified=!0,this.hV=r+e},this.setByBinaryString=function(t){var e=8-(t=t.replace(/0+$/,"")).length%8;8==e&&(e=0);for(var r=0;r<=e;r++)t+="0";var n="";for(r=0;r<t.length-1;r+=8){var i=t.substr(r,8),o=parseInt(i,2).toString(16);1==o.length&&(o="0"+o),n+=o}this.hTLV=null,this.isModified=!0,this.hV="0"+e+n},this.setByBooleanArray=function(t){for(var e="",r=0;r<t.length;r++)1==t[r]?e+="1":e+="0";this.setByBinaryString(e)},this.newFalseArray=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=!1;return e},this.getFreshValueHex=function(){return this.hV},void 0!==t&&("string"==typeof t&&t.toLowerCase().match(/^[0-9a-f]+$/)?this.setHexValueIncludingUnusedBits(t):void 0!==t.hex?this.setHexValueIncludingUnusedBits(t.hex):void 0!==t.bin?this.setByBinaryString(t.bin):void 0!==t.array&&this.setByBooleanArray(t.array))},ft.lang.extend(pt.asn1.DERBitString,pt.asn1.ASN1Object),pt.asn1.DEROctetString=function(t){if(void 0!==t&&void 0!==t.obj){var e=pt.asn1.ASN1Util.newObject(t.obj);t.hex=e.getEncodedHex()}pt.asn1.DEROctetString.superclass.constructor.call(this,t),this.hT="04"},ft.lang.extend(pt.asn1.DEROctetString,pt.asn1.DERAbstractString),pt.asn1.DERNull=function(){pt.asn1.DERNull.superclass.constructor.call(this),this.hT="05",this.hTLV="0500"},ft.lang.extend(pt.asn1.DERNull,pt.asn1.ASN1Object),pt.asn1.DERObjectIdentifier=function(t){var e=function(t){var e=t.toString(16);return 1==e.length&&(e="0"+e),e},r=function(t){var r="",n=new B(t,10).toString(2),i=7-n.length%7;7==i&&(i=0);for(var o="",a=0;a<i;a++)o+="0";for(n=o+n,a=0;a<n.length-1;a+=7){var s=n.substr(a,7);a!=n.length-7&&(s="1"+s),r+=e(parseInt(s,2))}return r};pt.asn1.DERObjectIdentifier.superclass.constructor.call(this),this.hT="06",this.setValueHex=function(t){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=t},this.setValueOidString=function(t){if(!t.match(/^[0-9.]+$/))throw"malformed oid string: "+t;var n="",i=t.split("."),o=40*parseInt(i[0])+parseInt(i[1]);n+=e(o),i.splice(0,2);for(var a=0;a<i.length;a++)n+=r(i[a]);this.hTLV=null,this.isModified=!0,this.s=null,this.hV=n},this.setValueName=function(t){var e=pt.asn1.x509.OID.name2oid(t);if(""===e)throw"DERObjectIdentifier oidName undefined: "+t;this.setValueOidString(e)},this.getFreshValueHex=function(){return this.hV},void 0!==t&&("string"==typeof t?t.match(/^[0-2].[0-9.]+$/)?this.setValueOidString(t):this.setValueName(t):void 0!==t.oid?this.setValueOidString(t.oid):void 0!==t.hex?this.setValueHex(t.hex):void 0!==t.name&&this.setValueName(t.name))},ft.lang.extend(pt.asn1.DERObjectIdentifier,pt.asn1.ASN1Object),pt.asn1.DEREnumerated=function(t){pt.asn1.DEREnumerated.superclass.constructor.call(this),this.hT="0a",this.setByBigInteger=function(t){this.hTLV=null,this.isModified=!0,this.hV=pt.asn1.ASN1Util.bigIntToMinTwosComplementsHex(t)},this.setByInteger=function(t){var e=new B(String(t),10);this.setByBigInteger(e)},this.setValueHex=function(t){this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&(void 0!==t.int?this.setByInteger(t.int):"number"==typeof t?this.setByInteger(t):void 0!==t.hex&&this.setValueHex(t.hex))},ft.lang.extend(pt.asn1.DEREnumerated,pt.asn1.ASN1Object),pt.asn1.DERUTF8String=function(t){pt.asn1.DERUTF8String.superclass.constructor.call(this,t),this.hT="0c"},ft.lang.extend(pt.asn1.DERUTF8String,pt.asn1.DERAbstractString),pt.asn1.DERNumericString=function(t){pt.asn1.DERNumericString.superclass.constructor.call(this,t),this.hT="12"},ft.lang.extend(pt.asn1.DERNumericString,pt.asn1.DERAbstractString),pt.asn1.DERPrintableString=function(t){pt.asn1.DERPrintableString.superclass.constructor.call(this,t),this.hT="13"},ft.lang.extend(pt.asn1.DERPrintableString,pt.asn1.DERAbstractString),pt.asn1.DERTeletexString=function(t){pt.asn1.DERTeletexString.superclass.constructor.call(this,t),this.hT="14"},ft.lang.extend(pt.asn1.DERTeletexString,pt.asn1.DERAbstractString),pt.asn1.DERIA5String=function(t){pt.asn1.DERIA5String.superclass.constructor.call(this,t),this.hT="16"},ft.lang.extend(pt.asn1.DERIA5String,pt.asn1.DERAbstractString),pt.asn1.DERUTCTime=function(t){pt.asn1.DERUTCTime.superclass.constructor.call(this,t),this.hT="17",this.setByDate=function(t){this.hTLV=null,this.isModified=!0,this.date=t,this.s=this.formatDate(this.date,"utc"),this.hV=stohex(this.s)},this.getFreshValueHex=function(){return void 0===this.date&&void 0===this.s&&(this.date=new Date,this.s=this.formatDate(this.date,"utc"),this.hV=stohex(this.s)),this.hV},void 0!==t&&(void 0!==t.str?this.setString(t.str):"string"==typeof t&&t.match(/^[0-9]{12}Z$/)?this.setString(t):void 0!==t.hex?this.setStringHex(t.hex):void 0!==t.date&&this.setByDate(t.date))},ft.lang.extend(pt.asn1.DERUTCTime,pt.asn1.DERAbstractTime),pt.asn1.DERGeneralizedTime=function(t){pt.asn1.DERGeneralizedTime.superclass.constructor.call(this,t),this.hT="18",this.withMillis=!1,this.setByDate=function(t){this.hTLV=null,this.isModified=!0,this.date=t,this.s=this.formatDate(this.date,"gen",this.withMillis),this.hV=stohex(this.s)},this.getFreshValueHex=function(){return void 0===this.date&&void 0===this.s&&(this.date=new Date,this.s=this.formatDate(this.date,"gen",this.withMillis),this.hV=stohex(this.s)),this.hV},void 0!==t&&(void 0!==t.str?this.setString(t.str):"string"==typeof t&&t.match(/^[0-9]{14}Z$/)?this.setString(t):void 0!==t.hex?this.setStringHex(t.hex):void 0!==t.date&&this.setByDate(t.date),!0===t.millis&&(this.withMillis=!0))},ft.lang.extend(pt.asn1.DERGeneralizedTime,pt.asn1.DERAbstractTime),pt.asn1.DERSequence=function(t){pt.asn1.DERSequence.superclass.constructor.call(this,t),this.hT="30",this.getFreshValueHex=function(){for(var t="",e=0;e<this.asn1Array.length;e++)t+=this.asn1Array[e].getEncodedHex();return this.hV=t,this.hV}},ft.lang.extend(pt.asn1.DERSequence,pt.asn1.DERAbstractStructured),pt.asn1.DERSet=function(t){pt.asn1.DERSet.superclass.constructor.call(this,t),this.hT="31",this.sortFlag=!0,this.getFreshValueHex=function(){for(var t=new Array,e=0;e<this.asn1Array.length;e++){var r=this.asn1Array[e];t.push(r.getEncodedHex())}return 1==this.sortFlag&&t.sort(),this.hV=t.join(""),this.hV},void 0!==t&&void 0!==t.sortflag&&0==t.sortflag&&(this.sortFlag=!1)},ft.lang.extend(pt.asn1.DERSet,pt.asn1.DERAbstractStructured),pt.asn1.DERTaggedObject=function(t){pt.asn1.DERTaggedObject.superclass.constructor.call(this),this.hT="a0",this.hV="",this.isExplicit=!0,this.asn1Object=null,this.setASN1Object=function(t,e,r){this.hT=e,this.isExplicit=t,this.asn1Object=r,this.isExplicit?(this.hV=this.asn1Object.getEncodedHex(),this.hTLV=null,this.isModified=!0):(this.hV=null,this.hTLV=r.getEncodedHex(),this.hTLV=this.hTLV.replace(/^../,e),this.isModified=!1)},this.getFreshValueHex=function(){return this.hV},void 0!==t&&(void 0!==t.tag&&(this.hT=t.tag),void 0!==t.explicit&&(this.isExplicit=t.explicit),void 0!==t.obj&&(this.asn1Object=t.obj,this.setASN1Object(this.isExplicit,this.hT,this.asn1Object)))},ft.lang.extend(pt.asn1.DERTaggedObject,pt.asn1.ASN1Object);var dt=function(t){function e(r){var n=t.call(this)||this;return r&&("string"==typeof r?n.parseKey(r):(e.hasPrivateKeyProperty(r)||e.hasPublicKeyProperty(r))&&n.parsePropertiesFrom(r)),n}return g(e,t),e.prototype.parseKey=function(t){try{var e=0,r=0,n=/^\s*(?:[0-9A-Fa-f][0-9A-Fa-f]\s*)+$/.test(t)?v.decode(t):y.unarmor(t),i=O.decode(n);if(3===i.sub.length&&(i=i.sub[2].sub[0]),9===i.sub.length){e=i.sub[1].getHexStringValue(),this.n=j(e,16),r=i.sub[2].getHexStringValue(),this.e=parseInt(r,16);var o=i.sub[3].getHexStringValue();this.d=j(o,16);var a=i.sub[4].getHexStringValue();this.p=j(a,16);var s=i.sub[5].getHexStringValue();this.q=j(s,16);var u=i.sub[6].getHexStringValue();this.dmp1=j(u,16);var c=i.sub[7].getHexStringValue();this.dmq1=j(c,16);var h=i.sub[8].getHexStringValue();this.coeff=j(h,16)}else{if(2!==i.sub.length)return!1;var l=i.sub[1].sub[0];e=l.sub[0].getHexStringValue(),this.n=j(e,16),r=l.sub[1].getHexStringValue(),this.e=parseInt(r,16)}return!0}catch(t){return!1}},e.prototype.getPrivateBaseKey=function(){var t={array:[new pt.asn1.DERInteger({int:0}),new pt.asn1.DERInteger({bigint:this.n}),new pt.asn1.DERInteger({int:this.e}),new pt.asn1.DERInteger({bigint:this.d}),new pt.asn1.DERInteger({bigint:this.p}),new pt.asn1.DERInteger({bigint:this.q}),new pt.asn1.DERInteger({bigint:this.dmp1}),new pt.asn1.DERInteger({bigint:this.dmq1}),new pt.asn1.DERInteger({bigint:this.coeff})]};return new pt.asn1.DERSequence(t).getEncodedHex()},e.prototype.getPrivateBaseKeyB64=function(){return l(this.getPrivateBaseKey())},e.prototype.getPublicBaseKey=function(){var t=new pt.asn1.DERSequence({array:[new pt.asn1.DERObjectIdentifier({oid:"1.2.840.113549.1.1.1"}),new pt.asn1.DERNull]}),e=new pt.asn1.DERSequence({array:[new pt.asn1.DERInteger({bigint:this.n}),new pt.asn1.DERInteger({int:this.e})]}),r=new pt.asn1.DERBitString({hex:"00"+e.getEncodedHex()});return new pt.asn1.DERSequence({array:[t,r]}).getEncodedHex()},e.prototype.getPublicBaseKeyB64=function(){return l(this.getPublicBaseKey())},e.wordwrap=function(t,e){if(!t)return t;var r="(.{1,"+(e=e||64)+"})( +|$\n?)|(.{1,"+e+"})";return t.match(RegExp(r,"g")).join("\n")},e.prototype.getPrivateKey=function(){var t="-----BEGIN RSA PRIVATE KEY-----\n";return t+=e.wordwrap(this.getPrivateBaseKeyB64())+"\n",t+="-----END RSA PRIVATE KEY-----"},e.prototype.getPublicKey=function(){var t="-----BEGIN PUBLIC KEY-----\n";return t+=e.wordwrap(this.getPublicBaseKeyB64())+"\n",t+="-----END PUBLIC KEY-----"},e.hasPublicKeyProperty=function(t){return(t=t||{}).hasOwnProperty("n")&&t.hasOwnProperty("e")},e.hasPrivateKeyProperty=function(t){return(t=t||{}).hasOwnProperty("n")&&t.hasOwnProperty("e")&&t.hasOwnProperty("d")&&t.hasOwnProperty("p")&&t.hasOwnProperty("q")&&t.hasOwnProperty("dmp1")&&t.hasOwnProperty("dmq1")&&t.hasOwnProperty("coeff")},e.prototype.parsePropertiesFrom=function(t){this.n=t.n,this.e=t.e,t.hasOwnProperty("d")&&(this.d=t.d,this.p=t.p,this.q=t.q,this.dmp1=t.dmp1,this.dmq1=t.dmq1,this.coeff=t.coeff)},e}(st),gt=function(){function t(t){t=t||{},this.default_key_size=parseInt(t.default_key_size,10)||1024,this.default_public_exponent=t.default_public_exponent||"010001",this.log=t.log||!1,this.key=null}return t.prototype.setKey=function(t){this.log&&this.key&&console.warn("A key was already set, overriding existing."),this.key=new dt(t)},t.prototype.setPrivateKey=function(t){this.setKey(t)},t.prototype.setPublicKey=function(t){this.setKey(t)},t.prototype.decrypt=function(t){try{return this.getKey().decrypt(f(t))}catch(t){return!1}},t.prototype.encrypt=function(t){try{return l(this.getKey().encrypt(t))}catch(t){return!1}},t.prototype.sign=function(t,e,r){try{return l(this.getKey().sign(t,e,r))}catch(t){return!1}},t.prototype.verify=function(t,e,r){try{return this.getKey().verify(t,f(e),r)}catch(t){return!1}},t.prototype.getKey=function(t){if(!this.key){if(this.key=new dt,t&&"[object Function]"==={}.toString.call(t))return void this.key.generateAsync(this.default_key_size,this.default_public_exponent,t);this.key.generate(this.default_key_size,this.default_public_exponent)}return this.key},t.prototype.getPrivateKey=function(){return this.getKey().getPrivateKey()},t.prototype.getPrivateKeyB64=function(){return this.getKey().getPrivateBaseKeyB64()},t.prototype.getPublicKey=function(){return this.getKey().getPublicKey()},t.prototype.getPublicKeyB64=function(){return this.getKey().getPublicBaseKeyB64()},t.version="3.0.0-rc.1",t}();window.JSEncrypt=gt,t.JSEncrypt=gt,t.default=gt,Object.defineProperty(t,"__esModule",{value:!0})}(e)}(0,_E.exports);var jE=O,UE=H,ME=Ns,FE=ot,VE=UE(L.f),qE=UE([].push),zE=function(t){return function(e){for(var r,n=FE(e),i=ME(n),o=i.length,a=0,s=[];o>a;)r=i[a++],jE&&!VE(n,r)||qE(s,t?[r,n[r]]:n[r]);return s}},HE={entries:zE(!0),values:zE(!1)}.values;li({target:"Object",stat:!0},{values:function(t){return HE(t)}});var KE=li,GE=Ts.find,WE=$d,XE="find",YE=!0;XE in[]&&Array(1)[XE]((function(){YE=!1})),KE({target:"Array",proto:!0,forced:YE},{find:function(t){return GE(this,t,arguments.length>1?arguments[1]:void 0)}}),WE(XE);var ZE=function(t){for(var e,r=0,n=!1,i=t.length-1;i>=0;)e=parseInt(t.charAt(i),10),n&&(e*=2)>9&&(e=e%10+1),n=!n,r+=e,i--;return r%10==0};var JE=function(t){return t?JSON.parse(JSON.stringify(t)):null};var $E=function(t){return"string"==typeof t||t instanceof String};var QE=function(t,e){return Array.isArray(e)?function(t,e,r){var n=String(e).length,i=t.substr(0,n),o=parseInt(i,10);return e=parseInt(String(e).substr(0,i.length),10),r=parseInt(String(r).substr(0,i.length),10),o>=e&&o<=r}(t,e[0],e[1]):function(t,e){return(e=String(e)).substring(0,t.length)===t.substring(0,e.length)}(t,e)},tk=JE,ek=QE;var rk,nk=function(t,e,r){var n,i,o,a;for(n=0;n<e.patterns.length;n++)if(i=e.patterns[n],ek(t,i)){a=tk(e),o=Array.isArray(i)?String(i[0]).length:String(i).length,t.length>=o&&(a.matchStrength=o),r.push(a);break}},ik={visa:{niceType:"Visa",type:"visa",patterns:[4],gaps:[4,8,12],lengths:[16,18,19],code:{name:"CVV",size:3}},mastercard:{niceType:"Mastercard",type:"mastercard",patterns:[[51,55],[2221,2229],[223,229],[23,26],[270,271],2720],gaps:[4,8,12],lengths:[16],code:{name:"CVC",size:3}},"american-express":{niceType:"American Express",type:"american-express",patterns:[34,37],gaps:[4,10],lengths:[15],code:{name:"CID",size:4}},"diners-club":{niceType:"Diners Club",type:"diners-club",patterns:[[300,305],36,38,39],gaps:[4,10],lengths:[14,16,19],code:{name:"CVV",size:3}},discover:{niceType:"Discover",type:"discover",patterns:[6011,[644,649],65],gaps:[4,8,12],lengths:[16,19],code:{name:"CID",size:3}},jcb:{niceType:"JCB",type:"jcb",patterns:[2131,1800,[3528,3589]],gaps:[4,8,12],lengths:[16,17,18,19],code:{name:"CVV",size:3}},unionpay:{niceType:"UnionPay",type:"unionpay",patterns:[620,[624,626],[62100,62182],[62184,62187],[62185,62197],[62200,62205],[622010,622999],622018,[622019,622999],[62207,62209],[622126,622925],[623,626],6270,6272,6276,[627700,627779],[627781,627799],[6282,6289],6291,6292],gaps:[4,8,12],lengths:[14,15,16,17,18,19],code:{name:"CVN",size:3}},maestro:{niceType:"Maestro",type:"maestro",patterns:[493698,[5e5,506698],[506779,508999],[56,59],63,67,6],gaps:[4,8,12],lengths:[12,13,14,15,16,17,18,19],code:{name:"CVC",size:3}},elo:{niceType:"Elo",type:"elo",patterns:[401178,401179,438935,457631,457632,431274,451416,457393,504175,[506699,506778],[509e3,509999],627780,636297,636368,[650031,650033],[650035,650051],[650405,650439],[650485,650538],[650541,650598],[650700,650718],[650720,650727],[650901,650978],[651652,651679],[655e3,655019],[655021,655058]],gaps:[4,8,12],lengths:[16],code:{name:"CVE",size:3}},mir:{niceType:"Mir",type:"mir",patterns:[[2200,2204]],gaps:[4,8,12],lengths:[16,17,18,19],code:{name:"CVP2",size:3}},hiper:{niceType:"Hiper",type:"hiper",patterns:[637095,637568,637599,637609,637612],gaps:[4,8,12],lengths:[16],code:{name:"CVC",size:3}},hipercard:{niceType:"Hipercard",type:"hipercard",patterns:[606282],gaps:[4,8,12],lengths:[16],code:{name:"CVC",size:3}}},ok=JE,ak=function(t){if(function(t){var e=t.filter((function(t){return t.matchStrength})).length;return e>0&&e===t.length}(t))return t.reduce((function(t,e){return t?t.matchStrength<e.matchStrength?e:t:e}))},sk=$E,uk=nk,ck={},hk={VISA:"visa",MASTERCARD:"mastercard",AMERICAN_EXPRESS:"american-express",DINERS_CLUB:"diners-club",DISCOVER:"discover",JCB:"jcb",UNIONPAY:"unionpay",MAESTRO:"maestro",ELO:"elo",MIR:"mir",HIPER:"hiper",HIPERCARD:"hipercard"},lk=[hk.VISA,hk.MASTERCARD,hk.AMERICAN_EXPRESS,hk.DINERS_CLUB,hk.DISCOVER,hk.JCB,hk.UNIONPAY,hk.MAESTRO,hk.ELO,hk.MIR,hk.HIPER,hk.HIPERCARD];function fk(t){return ck[t]||ik[t]}function pk(t,e){var r=rk.indexOf(t);if(!e&&-1===r)throw new Error('"'+t+'" is not a supported card type.');return r}function dk(t){var e,r=[];return sk(t)?0===t.length?rk.map((function(t){return ok(fk(t))})):(rk.forEach((function(e){var n=fk(e);uk(t,n,r)})),(e=ak(r))?[e]:r):[]}rk=ok(lk),dk.getTypeInfo=function(t){return ok(fk(t))},dk.removeCard=function(t){var e=pk(t);rk.splice(e,1)},dk.addCard=function(t){var e=pk(t.type,!0);ck[t.type]=t,-1===e&&rk.push(t.type)},dk.updateCard=function(t,e){var r,n=ck[t]||ik[t];if(!n)throw new Error('"'+t+'" is not a recognized type. Use `addCard` instead.');if(e.type&&n.type!==e.type)throw new Error("Cannot overwrite type parameter.");r=ok(n),Object.keys(r).forEach((function(t){e[t]&&(r[t]=e[t])})),ck[r.type]=r},dk.changeOrder=function(t,e){var r=pk(t);rk.splice(r,1),rk.splice(e,0,t)},dk.resetModifications=function(){rk=ok(lk),ck={}},dk.types=hk;var gk=dk,mk=ZE,vk=gk;function yk(t,e,r){return{card:t,isPotentiallyValid:e,isValid:r}}var bk=function(t,e){var r,n,i,o,a;if(e=e||{},"number"==typeof t&&(t=String(t)),"string"!=typeof t)return yk(null,!1,!1);if(t=t.replace(/\-|\s/g,""),!/^\d*$/.test(t))return yk(null,!1,!1);if(0===(r=vk(t)).length)return yk(null,!1,!1);if(1!==r.length)return yk(null,!0,!1);if(n=r[0],e.maxLength&&t.length>e.maxLength)return yk(n,!1,!1);for(i=n.type===vk.types.UNIONPAY&&!0!==e.luhnValidateUnionPay||mk(t),a=Math.max.apply(null,n.lengths),e.maxLength&&(a=Math.min(e.maxLength,a)),o=0;o<n.lengths.length;o++)if(n.lengths[o]===t.length)return yk(n,t.length<a||i,i);return yk(n,t.length<a,!1)};function wk(t,e,r){return{isValid:t,isPotentiallyValid:e,isCurrentYear:r||!1}}var Sk=function(t,e){var r,n,i,o,a;return e=e||19,"string"!=typeof t?wk(!1,!1):""===t.replace(/\s/g,"")?wk(!1,!0):/^\d*$/.test(t)?(n=t.length)<2?wk(!1,!0):(r=(new Date).getFullYear(),3===n?wk(!1,t.slice(0,2)===String(r).slice(0,2)):n>4?wk(!1,!1):(t=parseInt(t,10),i=Number(String(r).substr(2,2)),2===n?(a=i===t,o=t>=i&&t<=i+e):4===n&&(a=r===t,o=t>=r&&t<=r+e),wk(o,o,a))):wk(!1,!1)},Tk=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)},Ak=Sk,Ek=Tk;function kk(t,e,r){return{isValid:t,isPotentiallyValid:e,isValidForThisYear:r||!1}}var xk=function(t){var e,r,n=(new Date).getMonth()+1;return"string"!=typeof t?kk(!1,!1):""===t.replace(/\s/g,"")||"0"===t?kk(!1,!0):/^\d*$/.test(t)?(e=parseInt(t,10),isNaN(t)?kk(!1,!1):kk(r=e>0&&e<13,r,r&&e>=n)):kk(!1,!1)},Ok=function(t){var e,r,n,i,o;return/^\d{4}-\d{1,2}$/.test(t)?t=t.split("-").reverse():/\//.test(t)?t=t.split(/\s*\/\s*/g):/\s/.test(t)&&(t=t.split(/ +/g)),Ek(t)?{month:t[0]||"",year:t.slice(1).join()}:(n=t,r=0===(o=Number(n[0]))?2:o>1||1===o&&Number(n[1])>2?1:1===o?(i=n.substr(1),Ak(i).isPotentiallyValid?1:2):5===n.length?1:n.length>5?2:1,{month:e=t.substr(0,r),year:t.substr(e.length)})},Rk=xk,Ck=Sk;function Pk(t,e,r,n){return{isValid:t,isPotentiallyValid:e,month:r,year:n}}var Bk=3;function Lk(t,e){return{isValid:t,isPotentiallyValid:e}}function Ik(t,e){return{isValid:t,isPotentiallyValid:e}}var Dk={number:bk,expirationDate:function(t,e){var r,n,i,o;if("string"==typeof t)t=t.replace(/^(\d\d) (\d\d(\d\d)?)$/,"$1/$2"),r=Ok(t);else{if(null===t||"object"!=typeof t)return Pk(!1,!1,null,null);r={month:String(t.month),year:String(t.year)}}if(n=Rk(r.month),i=Ck(r.year,e),n.isValid){if(i.isCurrentYear)return Pk(o=n.isValidForThisYear,o,r.month,r.year);if(i.isValid)return Pk(!0,!0,r.month,r.year)}return n.isPotentiallyValid&&i.isPotentiallyValid?Pk(!1,!0,null,null):Pk(!1,!1,null,null)},expirationMonth:xk,expirationYear:Sk,cvv:function(t,e){return e=(e=e||Bk)instanceof Array?e:[e],"string"!=typeof t?Lk(!1,!1):/^\d*$/.test(t)?function(t,e){for(var r=0;r<t.length;r++)if(e===t[r])return!0;return!1}(e,t.length)?Lk(!0,!0):t.length<Math.min.apply(null,e)?Lk(!1,!0):t.length>function(t){for(var e=Bk,r=0;r<t.length;r++)e=t[r]>e?t[r]:e;return e}(e)?Lk(!1,!1):Lk(!0,!0):Lk(!1,!1)},postalCode:function(t,e){var r;return r=(e=e||{}).minLength||3,"string"!=typeof t?Ik(!1,!1):t.length<r?Ik(!1,!0):Ik(!0,!0)},creditCardType:gk},_k=[{type:"bank_auth",name:"Bank authorization",number:"4084080000000409",cvv:"000",month:"01",year:"30"},{type:"success",name:"Success",number:"4084084084084081",cvv:"408",month:"12",year:"30"},{type:"declined",name:"Declined",number:"4084080000005408",cvv:"001",month:"12",year:"30"},{type:"pin",name:"Pin only validation",number:"507850785078507812",cvv:"884",month:"01",year:"30"},{type:"pin+otp",name:"Pin and OTP validation",number:"5060666666666666666",cvv:"123",month:"01",year:"30"},{type:"pin+phone+otp",name:"Pin, phone and OTP validation",number:"507850785078507812",cvv:"884",month:"01",year:"30"},{type:"default",name:"No validation",number:"4084084084084081",cvv:"408",month:"01",year:"30"}];Dk.creditCardType.addCard({niceType:"Verve",type:"verve",patterns:[[506e3,507999],[65e4,650009]],gaps:[4,8,12,16],lengths:[16,18,19],code:{name:"CVV",size:3}}),Dk.creditCardType.addCard({niceType:"Afrigo",type:"afrigo",patterns:[[56445600,56445699],[56400001,56409999]],gaps:[4,8,12],lengths:[18],code:{name:"CVV",size:3}}),Dk.creditCardType.changeOrder("verve",0),Dk.creditCardType.changeOrder("afrigo",1);var Nk={getEncryptedPin:function(t){return t?NE(t):void 0},getLast4:function(t){return t.substring(t.length-4)},tokenize:function(t){var e=t.number,r=t.cvv,n=t.month,i=t.year;return NE("".concat(e,"*").concat(r,"*").concat(n,"*").concat(i))},getType:function(t){var e=Dk.number(t);return e&&e.card?{type:e.card.type,maxLength:Math.max.apply(Math,v(e.card.lengths)),minLength:Math.min.apply(Math,v(e.card.lengths))}:{type:null,maxLength:0}},validate:function(t){var e=t.number,r=t.cvv,n=t.month,i=t.year,o=this.getType(e).type,a={number:this.isNumberValid(e),expiry:this.isExpiryValid({month:n,year:i}),cvv:this.isCvvValid(r,o)};return{isValid:Object.values(a).every((function(t){return!0===t})),result:a}},validateNumber:function(t){return Dk.number(t)},isNumberValid:function(t){return Nk.validateNumber(t).isValid},validateCVV:function(t,e){var r="american-express"===e?4:3;return Dk.cvv(t,r)},isCvvValid:function(t,e){return Nk.validateCVV(t,e).isValid},validateExpiry:function(t){if(null!==t&&"object"===b(t)){var e=t.month,r=t.year;return Dk.expirationMonth(e)&&Dk.expirationYear(r)}return Dk.expirationDate(t)},isExpiryValid:function(t){return Nk.validateExpiry(t).isValid},findTestCard:function(t){var e=t||"default";return _k.find((function(t){return t.type===e}))}},jk=function(){function t(e){var r=e.number,n=e.cvv,i=e.month,a=e.year,s=e.pin,u=e.name;o(this,t),this.number=r,this.cvv=n,this.month=i,this.year=a,this.pin=s,this.name=u}return s(t,[{key:"getEncryptedPin",value:function(){return Nk.getEncryptedPin(this.pin)}},{key:"getLast4",value:function(){return Nk.getLast4(this.number)}},{key:"tokenize",value:function(){return Nk.tokenize({number:this.number,cvv:this.cvv,month:this.month,year:this.year})}}],[{key:"getType",value:function(t){return Nk.getType(t)}},{key:"validate",value:function(t){var e=t.number,r=t.cvv,n=t.month,i=t.year;return Nk.validate({number:e,cvv:r,month:n,year:i})}},{key:"validateNumber",value:function(t){return Nk.validateNumber(t)}},{key:"isNumberValid",value:function(t){return Nk.isNumberValid(t)}},{key:"validateCVV",value:function(t,e){return Nk.validateCVV(t,e)}},{key:"isCvvValid",value:function(t,e){return Nk.isCvvValid(t,e)}},{key:"validateExpiry",value:function(t){return Nk.validateExpiry(t)}},{key:"isExpiryValid",value:function(t){return Nk.isExpiryValid(t)}},{key:"generateTestCard",value:function(e){return new t(Nk.findTestCard(e))}}]),t}(),Uk=function(t){var e=t.clientdata,r=t.last4,n=t.pin,i=t.trans,o=t.device,a=t.rememberCard,s=t.cardHolderName,u=t.transactionType,c=t.subscription,h=t.customFields,l="".concat(Gd.paymentBaseUrl,"charge/"),f=$A(),d=p({"Content-Type":"application/x-www-form-urlencoded"},f&&{"Accept-Language":f}),g=p(p(p(p({clientdata:e,last4:r,trans:i,device:o,offset:(new Date).getTimezoneOffset(),remember_card:a},s&&{card_holder_name:s}),u&&{transaction_type:u}),c&&{subscription:c}),h&&h);n&&(g.handle=n);var m=cE(g);return JA.post(l,m,{headers:d}).then((function(t){return sg.parse(t.data)}))},Mk=function(t){var e=t.device,r=t.accessCode,n=t.pin,i=t.customFields,o="".concat(Gd.paymentBaseUrl,"charge/resume/").concat(r),a=$A(),s=p({"Content-Type":"application/x-www-form-urlencoded"},a&&{"Accept-Language":a}),u=p(p({device:e},n&&{handle:n}),i&&i),c=cE(u);return JA.post(o,c,{headers:s}).then((function(t){return sg.parse(t.data)}))},Fk=function(t){var e=t.last4,r=t.trans,n=t.device,i=t.authorizationCode,o=t.cvv,a=t.pin,s=t.transactionType,u=t.subscription,c="".concat(Gd.paymentBaseUrl,"charge/"),h=$A(),l=p({"Content-Type":"application/x-www-form-urlencoded"},h&&{"Accept-Language":h}),f=p(p({last4:e,trans:r,device:n,cvv:o,handle:a,authorization_code:i},s&&{transaction_type:s}),u&&{subscription:u}),d=cE(f);return JA.post(c,d,{headers:l}).then((function(t){return sg.parse(t.data)}))},Vk=function(t,e){var r="".concat(Gd.paymentBaseUrl,"charge/validate"),n={trans:t,token:e},i=$A(),o=p({},i&&{"Accept-Language":i}),a=cE(n);return JA.post(r,a,{headers:o}).then((function(t){return sg.parse(t.data)}))},qk=function(t){var e=t.address,r=t.city,n=t.state,i=t.zipCode,o=t.transactionId,a=t.selectedCurrency,s="".concat(Gd.paymentBaseUrl,"charge/avs"),u=$A(),c=p({"Content-Type":"application/x-www-form-urlencoded"},u&&{"Accept-Language":u}),h=cE({city:r,state:n,address:e,zip_code:i,trans:o,selected_currency:a});return JA.post(s,h,{headers:c}).then((function(t){return sg.parse(t.data)}))},zk=function(t){var e=t.authorizationId,r=t.publicKey,n=$A(),i=p({Authorization:"Bearer ".concat(r)},n&&{"Accept-Language":n}),o={authorization_id:e},a="".concat(Gd.paystackApiUrl,"rememberme/forget_card");return JA.post(a,o,{headers:i}).then((function(t){return sg.parse(t.data)}))},Hk=function(t){return i(regeneratorRuntime.mark((function e(){var r,n,i,o,a,s,u,c,h;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.transaction,n=t.phone,i=t.channels,o=t.email,a=new URL("/saved_cards/authorize",Gd.paystackApiUrl).toString(),s=$A(),u=p({},s&&{"Accept-Language":s}),c=p(p(p(p({},n&&{phone:n}),i&&{channels:i}),o&&{email:o}),{},{transaction:r}),e.next=7,JA.post(a,c,{headers:u});case 7:return h=e.sent,e.abrupt("return",h.data);case 9:case"end":return e.stop()}}),e)})))()},Kk=function(t){return i(regeneratorRuntime.mark((function e(){var r,n,i,o,a,s,u,c;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.code,n=t.transaction,i=t.token,o=new URL("/saved_cards/authorize/verify",Gd.paystackApiUrl).toString(),a=$A(),s=p({Authorization:"Bearer ".concat(i)},a&&{"Accept-Language":a}),u={code:r,transaction:n},e.next=7,JA.post(o,u,{headers:s});case 7:return c=e.sent,e.abrupt("return",c.data);case 9:case"end":return e.stop()}}),e)})))()},Gk=function(t){return i(regeneratorRuntime.mark((function e(){var r,n,i,o,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.token,n=new URL("/saved_cards/cards",Gd.paystackApiUrl).toString(),i=$A(),o=p({Authorization:"Bearer ".concat(r),"jwt-auth":!0},i&&{"Accept-Language":i}),e.next=6,JA.get(n,{headers:o});case 6:return a=e.sent,e.abrupt("return",a.data);case 8:case"end":return e.stop()}}),e)})))()},Wk=function(t){return i(regeneratorRuntime.mark((function e(){var r,n,i,o,a,s;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.cardCode,n=t.token,i=new URL("/saved_cards/cards/".concat(r),Gd.paystackApiUrl).toString(),o=$A(),a=p({Authorization:"Bearer ".concat(n),"jwt-auth":!0},o&&{"Accept-Language":o}),e.next=6,JA.delete(i,{headers:a});case 6:return s=e.sent,e.abrupt("return",s.data);case 8:case"end":return e.stop()}}),e)})))()},Xk=function(t){return i(regeneratorRuntime.mark((function e(){var r,n,i,o,a,s,u,c,h,l;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.token,n=t.device,i=t.cardCode,o=t.transaction,a=t.selectedCurrency,s=new URL("/saved_cards/cards/".concat(i,"/charge"),Gd.paystackApiUrl).toString(),u=$A(),c=p({Authorization:"Bearer ".concat(r),"jwt-auth":!0},u&&{"Accept-Language":u}),h={device:n,transaction:o,selected_currency:a},e.next=7,JA.post(s,h,{headers:c});case 7:return l=e.sent,e.abrupt("return",sg.parse(l.data));case 9:case"end":return e.stop()}}),e)})))()},Yk=function(t){return i(regeneratorRuntime.mark((function e(){var r,n,i,o,a,s,u,c,h,l;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.transaction,n=t.address,i=t.merchantKey,o=t.gateway,a=void 0===o?"REACH":o,s=new URL("/transaction/tax_quote",Gd.paystackApiUrl).toString(),u=$A(),c=p({Authorization:"Bearer ".concat(i)},u&&{"Accept-Language":u}),h={transaction_id:r,address_street:n.street,address_city:n.city,address_region:n.state,address_postcode:n.postCode,address_country:n.country,gateway:a},e.next=7,JA.get(s,{params:h,headers:c});case 7:return l=e.sent,e.abrupt("return",l.data);case 9:case"end":return e.stop()}}),e)})))()},Zk="card",Jk="saved card",$k="otp";function Qk(t,e){return new Promise((function(r,n){var i=jk.validate(t);if(!i.isValid){var o=e||t.number,a=Object.keys(i.result).filter((function(t){return!1===i.result[t]})),s="Invalid card details: ".concat(a.join(", "));n(Error(o?s:"Please set a valid card with Transaction.setCard()"))}r()}))}var tx={setCard:function(t){var e=this;return Qk(t,!0).then((function(){e.card=new jk(t)}))},rememberCard:function(){this.remember_card=!0},chargeCard:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return!this.card.number&&this.card.pin?this.chargeCardWithPin(e):Qk(this.card).then((function(){t.logAttempt(Zk);var r={clientdata:t.card.tokenize(),last4:t.card.getLast4(),pin:t.card.getEncryptedPin(),trans:t.id,device:t.deviceFingerprint,rememberCard:t.remember_card,cardHolderName:t.card.name,transactionType:t.transactionType,subscription:t.subscription,customFields:e};return Uk(r).then((function(e){return t.logAPIResponse(e,Zk),e}))}))},chargeCardWithPin:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logAttempt(Zk);var r={pin:NE(this.card.pin),trans:this.id,device:this.deviceFingerprint,rememberCard:this.remember_card,transactionType:this.transactionType,subscription:this.subscription,customFields:e};return Uk(r).then((function(e){return t.logAPIResponse(e,Zk),e}))},chargeRememberedCard:function(t){var e=this,r=t.cvv,n=t.authorizationCode,i=t.cardLast4,o=t.pin;this.logAttempt(Zk);var a=NE(o),s={authorizationCode:n,cvv:r,last4:i,trans:this.id,device:this.deviceFingerprint,pin:a,transactionType:this.transactionType,subscription:this.subscription};return Fk(s).then((function(t){return e.logAPIResponse(t,Zk),t}))},resumeCardCharge:function(t){var e=this,r=t.accessCode,n=t.pin,i=t.customFields,o=p(p({},n&&{pin:NE(n)}),{},{accessCode:r,device:this.deviceFingerprint},i&&{customFields:i});return Mk(o).then((function(t){return e.logAPIResponse(t,Zk),t}))},forgetRememberedCard:function(t){var e=this,r={authorizationId:t,publicKey:this.merchant.key};return zk(r).then((function(t){return e.logAPIResponse(t,Zk),t}))},authenticateCard:function(t){var e=this;return Vk(this.id,t).then((function(t){return e.logAPIResponse(t,Zk),t}))},verifyAddress:function(t){var e=this,r=t.address,n=t.city,i=t.state,o=t.zipCode,a=t.selectedCurrency,s={city:n,state:i,address:r,zipCode:o,transactionId:this.id,selectedCurrency:a};return qk(s).then((function(t){return e.logAPIResponse(t,Zk),t}))},listenFor3DSCharge:function(t){var e={channel:"3DS_".concat(this.id),paymentMethod:Zk};return this.listenForCharge(e,t)},sendSavedCardsOTP:function(){var t=arguments,e=this;return i(regeneratorRuntime.mark((function r(){var n,i,o,a,s;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return i=(n=t.length>0&&void 0!==t[0]?t[0]:{}).phone,o=n.channels,a=n.email,r.prev=1,e.logAuth($k),r.next=5,Hk({phone:i,transaction:e.id,channels:o,email:a});case 5:return s=r.sent,e.savedCardsTempAuthToken=s.data.token,r.abrupt("return",s);case 10:throw r.prev=10,r.t0=r.catch(1),e.savedCardsTempAuthToken=null,r.t0;case 14:case"end":return r.stop()}}),r,null,[[1,10]])})))()},verifySavedCardsOtp:function(t){var e=this;return i(regeneratorRuntime.mark((function r(){var n,i,o;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return n=t.code,i={code:n,transaction:e.id,token:e.savedCardsTempAuthToken},r.prev=2,r.next=5,Kk(i);case 5:return o=r.sent,e.savedCardsToken=o.data.token,r.abrupt("return",o);case 10:throw r.prev=10,r.t0=r.catch(2),e.savedCardsToken=null,r.t0;case 14:case"end":return r.stop()}}),r,null,[[2,10]])})))()},getSavedCards:function(){return Gk({token:this.savedCardsToken})},deleteSavedCard:function(t){return Wk({cardCode:t,token:this.savedCardsToken})},chargeSavedCard:function(t){var e=t.cardCode,r=t.selectedCurrency,n=void 0===r?this.currency:r;return this.logAttempt(Jk),Xk({cardCode:e,transaction:this.id,token:this.savedCardsToken,device:this.deviceFingerprint,selectedCurrency:n})},getReachTaxQuote:function(t){var e=t.street,r=t.city,n=t.state,i=t.postCode,o=t.country;return Yk({transaction:this.id,address:{street:e,city:r,state:n,postCode:i,country:o},merchantKey:this.merchant.key})}},ex=function(){function t(e){var r=e.bankId,n=e.accountType,i=e.accountNumber;o(this,t),this.bankId=r,this.accountType=n,this.accountNumber=i}var e;return s(t,null,[{key:"validate",value:function(e){var r=e.bankId,n=e.accountType,i=e.accountNumber,o=[];return r&&"number"==typeof r||o.push("Invalid bankId. Please check for supported banks with BankAccount.supportedBanks()"),t.types.indexOf(n)>-1?"nuban"!==n||t.isValidNubanAccount(i)||o.push("Invalid account number. Nuban accounts must be 10 digit numbers"):o.push("Invalid bank type. Please check BankAccount.types for the list of valid bank types"),{isValid:0===o.length,errors:o}}},{key:"isValidNubanAccount",value:function(t){return!!t&&(("number"==typeof t||/^\d+$/.test(t))&&10===t.length)}},{key:"supportedBanks",value:function(){var t="".concat(Gd.paymentBaseUrl,"bank?pay_with_bank=true"),e=$A(),r=p({},e&&{"Accept-Language":e});return JA.post(t,{headers:r}).then((function(t){return t.data}))}},{key:"resolve",value:(e=i(regeneratorRuntime.mark((function t(e){var r,n,i,o,a,s,u,c;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=e.transaction,n=e.bankCode,i=e.accountNumber,o=new URL("saved_cards/transaction/".concat(r,"/bank-resolve"),Gd.paystackApiUrl),a=$A(),s=p({},a&&{"Accept-Language":a}),u={bank_code:n,account_number:i},t.next=7,JA.post(o,u,{headers:s});case 7:return c=t.sent,t.abrupt("return",c.data);case 9:case"end":return t.stop()}}),t)}))),function(t){return e.apply(this,arguments)})}]),t}();ex.types=["nuban"];var rx=function(t){var e=t.bankId,r=t.transactionId,n=t.accountNumber,i=t.device,o="".concat(Gd.paymentBaseUrl,"bank/charge_account/").concat(e,"/").concat(r),a=$A(),s=p({"Content-Type":"application/x-www-form-urlencoded"},a&&{"Accept-Language":a}),u=cE({account_number:n,device:i});return JA.post(o,u,{headers:s}).then((function(t){return sg.parse(t.data)}))},nx=function(t){var e=t.bankId,r=t.transactionId,n=t.accountNumber,i=t.birthday,o="".concat(Gd.paymentBaseUrl,"bank/charge_account/").concat(e,"/").concat(r),a=$A(),s=p({"Content-Type":"application/x-www-form-urlencoded"},a&&{"Accept-Language":a}),u=cE({account_number:n,birthday:i});return JA.post(o,u,{headers:s}).then((function(t){return sg.parse(t.data)}))},ix=function(t){var e=t.bankId,r=t.transactionId,n=t.token,i=t.device,o="".concat(Gd.paymentBaseUrl,"bank/validate_token/").concat(e,"/").concat(r),a=$A(),s=p({"Content-Type":"application/x-www-form-urlencoded"},a&&{"Accept-Language":a}),u=cE({device:i,token:n});return JA.post(o,u,{headers:s}).then((function(t){return sg.parse(t.data)}))},ox="bank account";function ax(t,e){return new Promise((function(r,n){var i=ex.validate(t);if(!i.isValid){var o=e||t.accountNumber?i.errors[0]:"Please set a valid bank account with Transaction.setBank()";n(Error(o))}r()}))}var sx={getIbankUrl:function(t){var e=this,r=t.bankId;return new Promise((function(t,n){r||n(Error("Please send bankId"));var i="".concat(Gd.paymentBaseUrl,"bank/ibank/").concat(r,"/").concat(e.id);t(sg.success({url:i}))}))},listenForIbankCharge:function(t){var e={channel:"IBANK_".concat(this.id),paymentMethod:"ibank"};return this.listenForCharge(e,t)}},ux=function(t){var e=t.bankId,r=t.transactionId,n=t.phoneNumber,i=t.payId,o=t.walletId,a="".concat(Gd.paymentBaseUrl,"bank/digitalbankmandate/").concat(e,"/").concat(r),s=$A(),u=p({"Content-Type":"application/x-www-form-urlencoded"},s&&{"Accept-Language":s}),c=cE(o?{wallet_id:o}:{phone_number:n,token:i});return JA.post(a,c,{headers:u}).then((function(t){return sg.parse(t.data)}))},cx="bank",hx={chargeDigitalBankMandate:function(t){var e=this,r=t.phoneNumber,n=t.payId,i=t.bankId,o=t.walletId,a={transactionId:this.id,phoneNumber:r,payId:n,bankId:i,walletId:o};return ux(a).then((function(t){return e.logAPIResponse(t,cx),t}))},listenForDigitalBankMandateCharge:function(t){var e={paymentMethod:cx,channel:arguments.length>1&&void 0!==arguments[1]?arguments[1]:""};return this.listenForCharge(e,t)}},lx=p(p(p({},{setBankAccount:function(t){var e=this;return ax(t,!0).then((function(){e.bankAccount=new ex(t)}))},chargeBankAccount:function(){var t=this;return ax(this.bankAccount).then((function(){t.logAttempt(ox);var e={bankId:t.bankAccount.bankId,transactionId:t.id,accountNumber:t.bankAccount.accountNumber,device:t.deviceFingerprint};return rx(e).then((function(e){return t.logAPIResponse(e,ox),e}))}))},registerBankAccount:function(t){var e=this;return ax(this.bankAccount).then((function(){var r={bankId:e.bankAccount.bankId,transactionId:e.id,accountNumber:e.bankAccount.accountNumber,birthday:t};return nx(r).then((function(t){return e.logAPIResponse(t,ox),t}))}))},authenticateBankAccount:function(t){var e=this;return ax(this.bankAccount).then((function(){var r={bankId:e.bankAccount.bankId,transactionId:e.id,token:t,device:e.deviceFingerprint};return ix(r).then((function(t){return e.logAPIResponse(t,ox),t}))}))}}),sx),hx),fx=function(t,e){var r=$A(),n=p({Authorization:"Bearer ".concat(e)},r&&{"Accept-Language":r});return JA.post("".concat(Gd.paystackApiUrl,"checkout/ussd/reference"),t,{headers:n}).then((function(t){return sg.parse(t.data)}))},px=function(t,e){var r=$A(),n=p({Authorization:"Bearer ".concat(e)},r&&{"Accept-Language":r});return JA.post("".concat(Gd.paystackApiUrl,"checkout/pay_with_transfer_ussd"),t,{headers:n}).then((function(t){return sg.parse(t.data)}))},dx={getUSSDShortcode:function(t){var e=this,r=t.channel,n={transaction:this.id,channel:r};return fx(n,this.merchant.key).then((function(t){return"success"===t.status&&(e.ussd[r]=t),t}))},getPWTUSSDShortcode:function(t){var e=this,r=t.bankSlug,n=t.fulfilLateNotification,i=void 0!==n&&n,o={transaction_id:this.id,fulfil_late_notification:i,bank_slug:r};return px(o,this.merchant.key).then((function(t){return"success"===t.status&&(e.ussd[r]=t),t}))},listenForPWTUSSDCharge:function(t,e){var r=t.bankSlug;if(!this.ussd[r])return Promise.reject(Error("Please generate a ussd shortcode with Transaction.getPWTUSSDShortcode()"));var n={channel:this.ussd[r].data.pusher_channel,paymentMethod:"ussd"};return this.listenForCharge(n,e)},listenForUSSDCharge:function(t,e){var r=t.channel;if(!this.ussd[r])return Promise.reject(Error("Please generate a ussd shortcode with Transaction.getUSSDShortcode()"));var n={channel:this.ussd[r].data.channel,paymentMethod:r};return this.listenForCharge(n,e)}},gx=function(t,e){var r={source:"checkout",reference:t.transaction,channel:t.channel},n=$A(),i=p({Authorization:"Bearer ".concat(e)},n&&{"Accept-Language":n});return JA.post("".concat(Gd.paystackApiUrl,"offline/qr/generate"),r,{headers:i}).then((function(t){return sg.parse(t.data)}))};function mx(t){return new Promise((function(e,r){var n=["visa","MPASS_OLTI"];if(n.indexOf(t)<=-1){var i="Invalid channel. Available channels: ".concat(n.join(", "));r(Error(i))}else e()}))}var vx={getQRCode:function(t){var e=this,r=t.channel;return mx(r).then((function(){if(e.qr[r])return e.qr[r];var t={transaction:e.id,channel:r};return gx(t,e.merchant.key).then((function(t){return"success"===t.status&&(e.qr[r]=t),t}))}))},listenForQRCharge:function(t,e){var r=this,n=t.channel;return mx(n).then((function(){if(!r.qr[n])return Promise.reject(Error("Please generate qr code with Transaction.getQRCode()"));var t={channel:r.qr[n].data.channel,paymentMethod:n};return r.listenForCharge(t,e)}))}},yx=function(){function t(){o(this,t)}return s(t,null,[{key:"hasCountryCode",value:function(t){return t&&"+"===t[0]}},{key:"hasOnlyDigits",value:function(t){var e;return t&&(e=t.substring(1),/^\d+$/.test(e))}},{key:"isE164Number",value:function(t){return t&&t.length<17}},{key:"validate",value:function(e){var r=[];return t.hasCountryCode(e)||r.push("Number should include country code prefix"),t.hasOnlyDigits(e)||r.push("Number should contain only digits"),t.isE164Number(e)||r.push("Number should not be longer than 16 digits"),{isValid:0===r.length,errors:r}}}]),t}(),bx=function(t){var e={transaction:t.transaction,phone:t.phone,account:t.account,device:t.device,channel_name:t.channel_name,provider:t.provider,voucher:t.voucher,registration_token:t.registrationToken,otp_channels:t.otpChannels},r=$A(),n=p({},r&&{"Accept-Language":r});return JA.post("".concat(Gd.paystackApiUrl,"charge/mobile_money"),e,{headers:n}).then((function(t){return sg.parse(t.data)})).catch((function(t){var e=t.response;return sg.parse(e.data)}))},wx=function(t){var e=t.transaction,r=t.code,n=$A(),i=p({},n&&{"Accept-Language":n}),o=cE({transaction:e,otp:r}),a=new URL("charge/momo_payin_finalize",Gd.paymentBaseUrl).toString();return JA.post(a,o,{headers:i}).then((function(t){return sg.parse(t.data)}))};function Sx(t){return new Promise((function(e,r){var n=yx.validate(t);if(!n.isValid){var i=t?n.errors[0]:"Please start a mobile money transaction with Transaction.chargeMobileMoney()";r(Error(i))}e(n)}))}function Tx(t){var e=t.phoneNumber,r=t.provider,n=t.voucher,i=t.registrationToken,o=t.accountNumber,a=t.id,s=t.deviceFingerprint,u=t.otpChannels;return p(p(p(p({provider:r,registrationToken:i,transaction:a,voucher:n},e&&{phone:e}),o&&{account:o}),u&&{otpChannels:u}),{},{device:s,channel_name:"MOBILE_MONEY_".concat(a)})}var Ax={mobileMoneyChargeAPI:function(t){var e=this;return bx(t).then((function(t){return"success"===t.status&&(e.mobileMoney=t,t.data&&t.data.display&&1===t.data.display.otpSentCount&&e.logTokenRequest("mobile money")),t}))},chargeMobileMoney:function(t){var e=this,r=t.phoneNumber,n=t.accountNumber,i=t.provider,o=t.voucher,a=t.registrationToken;this.logAttempt("mobile money");var s=Tx(p({provider:i,voucher:o,registrationToken:a,id:this.id,deviceFingerprint:this.deviceFingerprint},r?{phoneNumber:r}:{accountNumber:n}));return r?Sx(r).then((function(){return e.mobileMoneyChargeAPI(s)})):this.mobileMoneyChargeAPI(s)},authenticateMobileMoney:function(t){var e=this,r=t.phoneNumber,n=t.provider,i=t.registrationToken,o=t.otpChannels;return Sx(r).then((function(){e.logMobileMoneyActions(t);var a=Tx({provider:n,registrationToken:i,phoneNumber:r,otpChannels:o,id:e.id,deviceFingerprint:e.deviceFingerprint});return bx(a).then((function(t){return"success"===t.status?(e.mobileMoney=t,t.data&&t.data.display&&1===t.data.display.otpSentCount&&e.logTokenRequest("mobile money")):t.errors&&t.errors.data&&"awaiting_registration_token"===t.errors.data.status?e.logTokenAuthenticationFailure(t.message):e.logError(t.message),t}))}))},submitMobileMoneyCode:function(t){var e=this;return wx({code:t.code,transaction:this.id}).then((function(t){return e.logAPIResponse(t,"mobile_money"),t}))},listenForMobileMoneyCharge:function(t){if("success"!==this.mobileMoney.status)return Promise.reject(Error("Please start a mobile money charge with Transaction.chargeMobileMoney()"));var e=this.mobileMoney.data,r=e.channel,n=e.channel_name,i={channel:r||n,paymentMethod:"mobile_money"};return this.listenForCharge(i,t)}},Ex=function(t){var e={email:t.email,password:t.password},r=$A(),n=p({},r&&{"Accept-Language":r});return JA.post("".concat(Gd.paystackApiUrl,"login"),e,{headers:n}).then((function(t){return sg.parse(t.data)}))},kx=function(t){var e=t.account_code,r=t.transaction,n=t.token,i=$A(),o=p({Authorization:"Bearer ".concat(n),"jwt-auth":!0},i&&{"Accept-Language":i}),a={account_code:e,transaction:r};return JA.post("".concat(Gd.paystackApiUrl,"directdebit/initiate"),a,{headers:o}).then((function(t){return sg.parse(t.data)}))},xx=function(t){var e=t.otp,r=t.transaction,n=t.token,i=$A(),o=p({Authorization:"Bearer ".concat(n),"jwt-auth":!0},i&&{"Accept-Language":i}),a={otp:e,transaction:r};return JA.post("".concat(Gd.paystackApiUrl,"directdebit/validate"),a,{headers:o}).then((function(t){return sg.parse(t.data)}))},Ox=function(t){var e=$A(),r=p({Authorization:"Bearer ".concat(t),"jwt-auth":!0},e&&{"Accept-Language":e});return JA.get("".concat(Gd.paystackApiUrl,"directdebit/account"),{headers:r}).then((function(t){return t.data}))},Rx="direct debit",Cx={loginToDirectDebitAccount:function(t){var e=this,r=t.email,n={email:r,password:t.password};return Jc(r)?Ex(n).then((function(t){if("success"===t.status){var r=t.data,n=r.token,i=r.user.permissions;if(!i||i.length<1)throw Error("You do not have the privileges to perform this action");if(i.find((function(t){return"directdebit-*"===t})))return e.directDebit.token=n,t;throw Error("You do not have the privileges to perform this action")}return t})):Promise.reject(Error("Invalid email"))},chargeDirectDebit:function(t){var e=this;if(!this.directDebit.token)return Promise.reject(Error("Please login with Transaction.loginToDirectDebitAccount() to start a Direct debit charge"));this.logAttempt(Rx);var r={account_code:t,transaction:this.id,token:this.directDebit.token};return kx(r).then((function(t){return e.logAPIResponse(t,Rx),t.status&&(e.directDebit.chargeResponse=t),t}))},getProvisionedAccounts:function(){var t=this;return Ox(this.directDebit.token).then((function(e){t.logAPIResponse(e,Rx);var r=e.status,n=e.data;if(r){if(n&&n.length<1)return Promise.reject(Error("You have not provisioned any bank account for Direct Debit yet"));t.directDebit.accounts=e.data}return e}))},authenticateAccount:function(t){var e=this,r={otp:t,transaction:this.id,token:this.directDebit.token};return xx(r).then((function(t){return e.logAPIResponse(t,Rx),t}))}},Px=Qr.PROPER,Bx=x,Lx=ec,Ix=hc.trim;li({target:"String",proto:!0,forced:function(t){return Bx((function(){return!!Lx[t]()||"
"!=="
"[t]()||Px&&Lx[t].name!==t}))}("trim")},{trim:function(){return Ix(this)}});var Dx="capitec_pay",_x="CELLPHONE",Nx="IDNUMBER",jx="ACCOUNTNUMBER",Ux={combineIdentifierKeyAndIdentifierValue:function(t){var e=t.identifierKey,r=t.identifierValue;return"".concat(e,"*").concat(r)},encryptIdentifierKeyAndIdentifierValue:function(t){var e=t.identifierKey,r=t.identifierValue;return NE(Ux.combineIdentifierKeyAndIdentifierValue({identifierKey:e,identifierValue:r}))},validateAccountNumber:function(t){return/^\d{10}$/.test(t)},validateIDNumber:function(t){return/^\d{13}$/.test(t)},validateCellphoneNumber:function(t){return/^0\d{9}$/.test(t)},validateIdentifierKeyAndIdentifierValue:function(t){var e=t.identifierKey,r=t.identifierValue;switch(e){case _x:return Ux.validateCellphoneNumber(r);case Nx:return Ux.validateIDNumber(r);case jx:return Ux.validateAccountNumber(r);default:return!1}}},Mx=function(t){var e=t.clientData,r=t.transactionId,n=t.deviceFingerprint,i=t.publicKey,o=new URL("capitec-pay/authenticate",Gd.paystackApiUrl).toString(),a=$A(),s=p({Authorization:"Bearer ".concat(i),"Content-Type":"application/x-www-form-urlencoded"},a&&{"Accept-Language":a}),u=cE({clientdata:e,trans:r,device:n});return JA.post(o,u,{headers:s}).then((function(t){return t.data}))},Fx=function(t){var e=t.transactionReference,r=t.publicKey,n=new URL("capitec-pay/requery/".concat(e),Gd.paystackApiUrl).toString(),i=$A(),o=p({Authorization:"Bearer ".concat(r)},i&&{"Accept-Language":i});return JA.get(n,{headers:o}).then((function(t){return sg.parse(t.data)}))},Vx="capitec_pay",qx={validateIdentifier:function(t){var e=t.identifierKey,r=t.identifierValue,n=(void 0===r?"":r).trim();return Ux.validateIdentifierKeyAndIdentifierValue({identifierKey:e,identifierValue:n})},authenticateCapitecPay:function(t){var e=this,r=t.identifierKey,n=t.identifierValue,i=(void 0===n?"":n).trim();if(!Ux.validateIdentifierKeyAndIdentifierValue({identifierKey:r,identifierValue:i}))return Promise.reject(new Error("Invalid identifier key and value"));var o=Ux.encryptIdentifierKeyAndIdentifierValue({identifierKey:r,identifierValue:i});return this.logAttempt(Vx),Mx({clientData:o,deviceFingerprint:this.deviceFingerprint,transactionId:this.id,publicKey:this.merchant.key}).then((function(t){return e.logAPIResponse(t,Vx),t}))},requeryCapitecPay:function(){var t=this;return Fx({transactionReference:this.reference,publicKey:this.merchant.key}).then((function(e){return t.logAPIResponse(e,Vx),e}))},listenForCapitecPayCharge:function(t){var e={paymentMethod:Vx,channel:"CAPITECPAY_".concat(this.id)};return this.listenForCharge(e,t)}},zx=function(t){var e=t.accessCode,r=t.returnUrl,n=$A(),i=p({},n&&{"Accept-Language":n}),o=new URL("checkout/card/charge/union_pay",Gd.paystackApiUrl).toString(),a={access_code:e,return_url:r};return JA.post(o,a,{headers:i}).then((function(t){return sg.parse(t.data)}))},Hx="union_pay",Kx={chargeChinaUnionPay:function(t){var e=this,r=t.returnUrl;return this.logAttempt(Hx),zx({accessCode:this.accessCode,returnUrl:r}).then((function(t){return e.logAPIResponse(t,Hx),t}))}},Gx=function(t){return{card:tx,bank:lx,ussd:dx,qr:vx,mobile_money:Ax,direct_debit:Cx,bank_transfer:sE,eft:pE,payattitude:fE,apple_pay:vE,google_pay:wE,paypal:xE,capitec_pay:qx,union_pay:Kx}[t]},Wx=function(t){t||"undefined"==typeof navigator||(t=navigator.userAgent);t&&t.headers&&"string"==typeof t.headers["user-agent"]&&(t=t.headers["user-agent"]);return"string"==typeof t&&(/(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(t)||/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(t.substr(0,4)))};var Xx=function(t){var e=t||{},r=e.attempts,n=e.authentication,i=e.errors,o=e.history;return{start_time:Math.round(Date.now()/1e3),time_spent:0,attempts:r||0,authentication:n,errors:i||0,success:!1,mobile:Wx(),input:[],history:o||[]}},Yx=function(t){return Math.round(Date.now()/1e3)-t},Zx=li,Jx=lt,$x=uo,Qx=H,tO=x,eO=E.Array,rO=Jx("JSON","stringify"),nO=Qx(/./.exec),iO=Qx("".charAt),oO=Qx("".charCodeAt),aO=Qx("".replace),sO=Qx(1..toString),uO=/[\uD800-\uDFFF]/g,cO=/^[\uD800-\uDBFF]$/,hO=/^[\uDC00-\uDFFF]$/,lO=function(t,e,r){var n=iO(r,e-1),i=iO(r,e+1);return nO(cO,t)&&!nO(hO,i)||nO(hO,t)&&!nO(cO,n)?"\\u"+sO(oO(t,0),16):t},fO=tO((function(){return'"\\udf06\\ud834"'!==rO("\udf06\ud834")||'"\\udead"'!==rO("\udead")}));rO&&Zx({target:"JSON",stat:!0,forced:fO},{stringify:function(t,e,r){for(var n=0,i=arguments.length,o=eO(i);n<i;n++)o[n]=arguments[n];var a=$x(rO,null,o);return"string"==typeof a?aO(a,uO,lO):a}});var pO=function(t,e){var r=e.merchantKey,n=e.log,i=$A(),o=p({Authorization:"Bearer ".concat(r)},i&&{"Accept-Language":i});return JA.post(t,{payload:JSON.stringify(n)},{headers:o}).then((function(t){return t.data}))},dO=function(t,e){var r=e.merchantKey,n=$A(),i=p({Authorization:"Bearer ".concat(r)},n&&{"Accept-Language":n});return JA.post(t,null,{headers:i}).then((function(t){return t.data}))},gO=function(t,e){var r=e.merchantKey,n=e.referrer,i=$A(),o=p({Authorization:"Bearer ".concat(r)},i&&{"Accept-Language":i});return JA.post(t,{referrer:n},{headers:o}).then((function(t){return t.data}))},mO=function(t,e,r){var n=new URL("transaction/update_log/".concat(t),Gd.paystackApiUrl).toString();return pO(n,{merchantKey:e,log:r})},vO=function(t,e){var r=new URL("transaction/set_ip/".concat(t),Gd.paystackApiUrl).toString();return dO(r,{merchantKey:e})},yO=function(t,e,r){var n=new URL("transaction/set_referrer/".concat(t),Gd.paystackApiUrl).toString();return gO(n,{merchantKey:e,referrer:r})},bO=p(p({},{logCapitecPayConfirmation:function(t){return this.logHistoryEntry({type:"action",message:"Customer submitted account details with identifier: ".concat(t),channel:Dx,time:this.getTimeSpent()})},logCapitecPayAccountIdentifierSwitch:function(t){return this.logHistoryEntry({type:"action",message:"Switched account identifier to: ".concat(t),channel:Dx,time:this.getTimeSpent()})},logCapitecPayConfirmedPaymentApproval:function(){return this.logHistoryEntry({type:"action",message:"Selected confirm payment approval",channel:Dx,time:this.getTimeSpent()})},logCapitecPayRetryConfirmation:function(){return this.logHistoryEntry({type:"action",message:"Selected retry payment confirmation",channel:Dx,time:this.getTimeSpent()})}}),{},{initializeLog:function(t){this.log=Xx(t)},getTimeSpent:function(){return this.log.time_spent=Yx(this.log.start_time),this.log.time_spent},logHistoryEntry:function(t){return this.log.history.push(t),this.saveLog()},logPageOpen:function(){return this.log.history.push({type:"open",message:"Opened checkout",time:this.getTimeSpent()}),this.saveLog()},logChannelSwitch:function(t){return this.log.history.push({type:"action",message:"Set payment method to: ".concat(t),time:this.getTimeSpent()}),this.saveLog()},logValidationErrors:function(t){var e=this;return t.forEach((function(t){e.log.history.push({type:"error",message:"Invalid ".concat(t),time:e.getTimeSpent()})})),this.saveLog()},logInput:function(t){var e=this.log.history.find((function(e){return e.message==="Filled this field: ".concat(t)}));return this.log.history.push({type:"input",message:"".concat(e?"Changed":"Filled"," this field: ").concat(t),time:this.getTimeSpent()}),this.saveLog()},logBankSelect:function(t){return this.log.history.push({type:"action",message:"Selected bank: ".concat(t),time:this.getTimeSpent()}),this.saveLog()},logSavedCardSelect:function(){return this.log.history.push({type:"action",message:"Selected saved card",time:this.getTimeSpent()}),this.saveLog()},logAuthWindowOpen:function(){return this.log.history.push({type:"action",message:"Third-party authentication window opened",time:this.getTimeSpent()}),this.saveLog()},logAuthWindowClose:function(){return this.log.history.push({type:"action",message:"Third-party authentication window closed",time:this.getTimeSpent()}),this.saveLog()},logAPIResponse:function(t,e){switch(t.status){case"success":return this.logSuccess(e);case"pending":return this.logPending(e);case"failed":return this.logError(t.message);case"auth":return this.logAuth(t.data.auth);default:return!1}},logMobileMoneyActions:function(t){var e=t.numberOfTokenRequests,r=t.registrationToken;e?this.logTokenRequest("mobile money",e):r?this.logTokenSubmitted("mobile money"):this.logAttempt("mobile money")},logAPIResponseMessage:function(t){return this.log.history.push({type:"action",message:t,time:this.getTimeSpent()}),this.saveLog()},logAttempt:function(t){var e="Attempted to pay";return t&&(e+=" with ".concat(t)),this.log.attempts+=1,this.log.history.push({type:"action",message:e,time:this.getTimeSpent()}),this.saveLog()},logTokenRequest:function(t){var e=0===(arguments.length>1&&void 0!==arguments[1]?arguments[1]:0)?"Waiting for customer to submit OTP":"Customer requested to resend OTP";return this.log.history.push({type:"action",message:e,channel:t,time:this.getTimeSpent()}),this.saveLog()},logTokenSubmitted:function(t){return this.log.history.push({type:"action",message:"Customer submitted OTP",channel:t,time:this.getTimeSpent()}),this.saveLog()},logTokenAuthenticationFailure:function(t){var e=t?"Error: ".concat(t):"Error";return this.log.errors+=1,this.log.history.push({type:"error",message:e,authentication:"failed",time:this.getTimeSpent()}),this.saveLog()},logError:function(t){var e="Error";return t&&(e+=": ".concat(t)),this.log.errors+=1,this.log.history.push({type:"error",message:e,time:this.getTimeSpent()}),this.saveLog()},logAuth:function(t){return this.log.authentication=t,this.log.history.push({type:"auth",message:"Authentication Required: ".concat(t),time:this.getTimeSpent()}),this.saveLog()},logSuccess:function(t){var e="Successfully paid";return t&&(e+=" with ".concat(t)),this.log.success=!0,this.log.history.push({type:"success",message:e,time:this.getTimeSpent()}),this.saveLog()},logPending:function(t){var e="Payment in progress";return t&&(e+=" with ".concat(t)),this.log.history.push({type:"pending",message:e,time:this.getTimeSpent()}),this.saveLog()},logPageClose:function(){return this.log.history.push({type:"close",message:"Closed checkout",time:this.getTimeSpent()}),this.saveLog()},logTransactionCurrencySwitch:function(t){var e=t.currency,r=t.isUserAction,n=void 0===r||r?"User switched":"Switched";return this.log.history.push({type:"action",message:"".concat(n," transaction currency to ").concat(e),time:this.getTimeSpent()}),this.saveLog()},saveLog:function(){return mO(this.id,this.merchant.key,this.log)},saveIpAddress:function(){return vO(this.id,this.merchant.key)},saveReferrer:function(t){return yO(this.id,this.merchant.key,t)}}),wO=function(t){return i(regeneratorRuntime.mark((function e(){var r,n,i,o,a,s,u,c,h;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.transaction,n=t.phone,i=t.channels,o=t.email,a=new URL("/saved_cards/authorize",Gd.paystackApiUrl).toString(),s=$A(),u=p({},s&&{"Accept-Language":s}),c=p(p(p(p({},n&&{phone:n}),i&&{channels:i}),o&&{email:o}),{},{transaction:r,is_six_digit_otp:!0}),e.next=7,JA.post(a,c,{headers:u});case 7:return h=e.sent,e.abrupt("return",h.data);case 9:case"end":return e.stop()}}),e)})))()},SO=function(t){return i(regeneratorRuntime.mark((function e(){var r,n,i,o,a,s,u,c;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.code,n=t.transaction,i=t.token,o=new URL("/saved_cards/authorize/verify",Gd.paystackApiUrl).toString(),a=$A(),s=p({Authorization:"Bearer ".concat(i)},a&&{"Accept-Language":a}),u={code:r,transaction:n},e.next=7,JA.post(o,u,{headers:s});case 7:return c=e.sent,e.abrupt("return",c.data);case 9:case"end":return e.stop()}}),e)})))()},TO=function(t){return i(regeneratorRuntime.mark((function e(){var r,n,i,o,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.token,n=new URL("/saved_cards/link/payment-instruments",Gd.paystackApiUrl).toString(),i=$A(),o=p({Authorization:"Bearer ".concat(r),"jwt-auth":!0},i&&{"Accept-Language":i}),e.next=6,JA.get(n,{headers:o});case 6:return a=e.sent,e.abrupt("return",a.data);case 8:case"end":return e.stop()}}),e)})))()},AO=function(t){return i(regeneratorRuntime.mark((function e(){var r,n,i,o,a,s,u,c,h,l;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.token,n=t.device,i=t.instrumentCode,o=t.transaction,a=t.selectedCurrency,s=new URL("/saved_cards/link/".concat(i,"/charge"),Gd.paystackApiUrl).toString(),u=$A(),c=p({Authorization:"Bearer ".concat(r),"jwt-auth":!0},u&&{"Accept-Language":u}),h={device:n,transaction:o,selected_currency:a},e.next=7,JA.post(s,h,{headers:c});case 7:return l=e.sent,e.abrupt("return",sg.parse(l.data));case 9:case"end":return e.stop()}}),e)})))()},EO=function(t){return i(regeneratorRuntime.mark((function e(){var r,n,i,o,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=new URL("/saved_cards/direct-debit/pay-with-transfer",Gd.paystackApiUrl).toString(),n=$A(),i=p({Authorization:"Bearer ".concat(t.token)},n&&{"Accept-Language":n}),o={device:t.device,transaction_id:t.transactionId,account_number:t.accountNumber,account_name:t.accountName,bank_code:t.bankCode,currency:t.currency,country_code:t.countryCode,fulfil_late_notification:t.fulfilLateNotification},e.next=6,JA.post(r,o,{headers:i});case 6:return a=e.sent,e.abrupt("return",sg.parse(a.data));case 8:case"end":return e.stop()}}),e)})))()},kO=function(t){return i(regeneratorRuntime.mark((function e(){var r,n,i,o,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=new URL("/saved_cards/user/profile/verify",Gd.paystackApiUrl).toString(),n=$A(),i=p({},n&&{"Accept-Language":n}),o={transaction_id:t.transactionId,email:t.email,account_number:t.accountNumber,bank_code:t.bankCode},e.next=6,JA.post(r,o,{headers:i});case 6:return a=e.sent,e.abrupt("return",a.data);case 8:case"end":return e.stop()}}),e)})))()},xO=function(t){return i(regeneratorRuntime.mark((function e(){var r,n,i,o,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=new URL("/saved_cards/customer-validation/validate",Gd.paystackApiUrl).toString(),n=$A(),i=p({},n&&{"Accept-Language":n}),o=p(p({bank_code:t.bankCode,account_number:t.accountNumber,email:t.email},t.phoneNumber&&{phone_number:t.phoneNumber}),{},{transaction_id:t.transactionId}),e.next=6,JA.post(r,o,{headers:i});case 6:return a=e.sent,e.abrupt("return",a.data);case 8:case"end":return e.stop()}}),e)})))()},OO={authentication:"vault otp",paymentInstrument:{bank:"linked account",card:"saved card"}},RO={sendLinkOtp:function(t){var e=t.phone,r=t.channels,n=t.email;return this.logAuth(OO.authentication),wO({phone:e,transaction:this.id,channels:r,email:n})},verifyLinkOtp:function(t){var e=t.code,r=t.token;return SO({code:e,transaction:this.id,token:r})},getLinkPaymentInstruments:function(t){var e=t.token;return TO({token:e})},chargeLinkPaymentInstrument:function(t){var e=this,r=t.instrumentCode,n=t.selectedCurrency,i=void 0===n?this.currency:n,o=t.token,a=t.instrumentType,s=OO.paymentInstrument[a]||"vault",u={instrumentCode:r,transaction:this.id,token:o,device:this.deviceFingerprint,selectedCurrency:i};return this.logAttempt(s),AO(u).then((function(t){return e.logAPIResponse(t,s),t}))},generateLinkManagedAccount:function(t){return EO(p(p({},t),{},{device:this.deviceFingerprint,transactionId:this.id}))},listenForLinkBankPayWithTransferCharge:function(t,e){var r={channel:t,paymentMethod:"bank_transfer"};return this.listenForCharge(r,e)},verifyLinkProfile:function(t){return kO(p(p({},t),{},{transactionId:this.id}))},validateLinkCustomerBankAccount:function(t){return xO(p(p({},t),{},{transactionId:this.id}))}},CO=function(){function t(e){var r=this;o(this,t),this.email=e.email,this.merchant={id:e.merchant_id,logo:e.merchant_logo,name:e.merchant_name,key:e.merchant_key,channelSettings:e.merchant_channel_settings||{}},this.status=e.transaction_status||e.status,this.channelSettings=e.channel_settings||{},this.accessCode=e.access_code,this.amount=e.amount,this.domain=e.domain,this.isTest="test"===e.domain,this.currency=e.currency,this.id=e.id,this.channels=e.channels,this.label=e.label,this.metadata=e.metadata||{},this.cancel_action=e.cancel_action||null,this.redirect_on_failure=e.redirect_on_failure||!1,this.channelFeesConfig=e.channel_fees_and_amount||{},this.channel_options=e.channel_options||null,this.hash=e.hash||null,this.authorizations=e.authorizations,this.remember_card=!1,this.rememberMeEnabled=e.is_remember_me_enabled,this.card={},this.bankAccount={},this.mobileMoney={},this.ussd={},this.bankTransfer={},this.qr={},this.directDebit={},this.deviceFingerprint=e.deviceFingerprint||null,this.customer=e.customer,this.custom_filters=e.custom_filters||null,this.isCharging=!1,this.isListening=!1,this.transactionType=e.transaction_type||null,this.subscription=e.subscription||null,this.planDetails=e.plan_details||null,this.exchangeRate=e.exchange_rate||null,this.preChargeCheckEnabled=e.pre_charge_check_enabled||!1,this.savedCardsConfig=e.saved_cards||{},this.supportedBanks=e.supported_banks||[],this.isWhiteLabeled=e.whitelabel||null,this.savedCardsTempAuthToken=null,this.savedCardsToken=null,this.reference=e.reference,this.linkConfig=e.link_config||{},this.log=null,Object.assign(this,bO),this.initializeLog(e.log),this.saveIpAddress(),this.channels.forEach((function(t){var e=Gx(t);Object.assign(r,e)})),this.linkConfig.enabled&&Object.assign(this,RO)}return s(t,[{key:"setMetadata",value:function(t,e){this.metadata[t]=e}},{key:"setDevice",value:function(t){this.deviceFingerprint?kd("Device ID has already been set by Checkout JS so there's no need to set this again"):this.deviceFingerprint=t}},{key:"listenForCharge",value:function(t,e){return ug(t,this,e)}},{key:"requery",value:function(){return nE(this.id)}},{key:"markAsAbandoned",value:function(){return iE({publicKey:this.merchant.key,transactionId:this.id})}},{key:"verifyStatus",value:function(){return oE({reference:this.reference,publicKey:this.merchant.key}).then((function(t){return t&&t.data}))}}]),t}(),PO={validate:function(t){var e=function(t){var e=[];return t&&"object"===b(t)?(Object.keys(th).forEach((function(r){var n=th[r],i=t[r];!n.required||i||t[n.fallback]?i&&!n.isValid(i)&&e.push({field:r,message:"Invalid field: ".concat(r)}):e.push({field:r,message:"Required field: ".concat(r)})})),e):(e.push({message:"Please supply a valid object"}),e)}(t);if(e.length){var r=m(e,1)[0].message;throw new es(e,r)}},request:function(t){return i(regeneratorRuntime.mark((function e(){var r,n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Od();case 2:return r=e.sent,e.next=5,QA(p(p({},t),{device:r}));case 5:return n=e.sent,e.abrupt("return",n&&Object.seal(new CO(p(p({},n.data),{deviceFingerprint:r}))));case 7:case"end":return e.stop()}}),e)})))()},createInstance:function(t){return i(regeneratorRuntime.mark((function e(){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Od();case 2:if(r=e.sent,null!=t&&t.access_code){e.next=5;break}throw new Error("This function should be used with transaction data from the API");case 5:return e.abrupt("return",Object.seal(new CO(p(p({},t),{},{deviceFingerprint:r}))));case 6:case"end":return e.stop()}}),e)})))()},requestWithAccessCode:function(t){return i(regeneratorRuntime.mark((function e(){var r,n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Od();case 2:return r=e.sent,e.next=5,tE(t);case 5:return n=e.sent,e.abrupt("return",n&&Object.seal(new CO(p(p({},n.data),{deviceFingerprint:r}))));case 7:case"end":return e.stop()}}),e)})))()},getByAccessCode:function(t,e){return i(regeneratorRuntime.mark((function r(){var n,i;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,Od();case 2:return n=r.sent,r.next=5,eE(t,e);case 5:return i=r.sent,r.abrupt("return",i&&Object.seal(new CO(p(p({},i.data),{deviceFingerprint:n}))));case 7:case"end":return r.stop()}}),r)})))()},initialize:function(t){return Object.seal(new CO(t))},verify:function(t){return i(regeneratorRuntime.mark((function e(){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,rE(t);case 2:return r=e.sent,e.abrupt("return",r&&r.data);case 4:case"end":return e.stop()}}),e)})))()}},BO={},LO=function(t){var e=new URL("/bank",Gd.paystackApiUrl).toString(),r=$A(),n={params:t,headers:p({},r&&{"Accept-Language":r})};return JA.get(e,n).then((function(t){return t.data}))},IO=function(){var t=new URL("/checkout/resolutions",Gd.paystackApiUrl).toString(),e=$A(),r=p({},e&&{"Accept-Language":e});return JA.get(t,{headers:r}).then((function(t){return t.data}))},DO=function(){var t=new URL("/checkout/celebrations",Gd.paystackApiUrl).toString(),e=$A(),r=p({},e&&{"Accept-Language":e});return JA.get(t,{headers:r}).then((function(t){return t.data}))},_O=function(t){var e=new URL("/address_verification/states",Gd.paystackApiUrl).toString(),r=$A(),n={params:t,headers:p({},r&&{"Accept-Language":r})};return JA.get(e,n).then((function(t){return t.data}))},NO=function(t){var e=new URL("/decision/bin/".concat(t),Gd.paystackApiUrl).toString(),r=$A(),n=p({},r&&{"Accept-Language":r});return BO[t]?Promise.resolve(BO[t]):JA.get(e,{headers:n}).then((function(e){var r=e.data;return BO[t]=r,r}))},jO=function(t){var e=t.bin,r=t.transactionId,n=t.merchantKey,i=new URL("/transaction/pre_charge_check/".concat(e),Gd.paystackApiUrl).toString(),o=$A(),a=p({Authorization:"Bearer ".concat(n)},o&&{"Accept-Language":o});return JA.post(i,{transaction_id:r},{headers:a}).then((function(t){return t.data}))},UO=function(t){var e=t.scope,r=t.merchantKey,n=new URL("/address/country",Gd.paystackApiUrl).toString(),i=$A(),o=p({Authorization:"Bearer ".concat(r)},i&&{"Accept-Language":i}),a=e?{scope:e}:void 0;return JA.get(n,{params:a,headers:o}).then((function(t){return t.data}))},MO=function(t){var e=t.country,r=t.merchantKey,n=new URL("/address/country/".concat(e,"/state"),Gd.paystackApiUrl).toString(),i=$A(),o=p({Authorization:"Bearer ".concat(r)},i&&{"Accept-Language":i});return JA.get(n,{headers:o}).then((function(t){return t.data}))},FO=function(){function t(){o(this,t)}return s(t,null,[{key:"contents",value:function(){return[{key:"banks",usage:"Returns a list of banks that can be used to complete checkout"},{key:"resolutions",usage:"Returns a list of known errors, mapped to their suggested resolutions"},{key:"celebrations",usage:"Returns a list of upcoming celebrations"},{key:"states",usage:"Returns a list of states for a particular country"},{key:"countries",usage:"Returns a list of countries that can be scoped to specific use cases"},{key:"reachStates",usage:"Returns a list of states for reach address verification for a particular country"}]}},{key:"fetch",value:function(t,e){var r;if(this.contents().map((function(t){return t.key})).indexOf(t)<=-1)throw new Error("Please provide a valid config key. Use Toolkit.contents() to see available options.");switch(t){case"banks":r=LO(e||{pay_with_bank:"1"});break;case"resolutions":r=IO();break;case"celebrations":r=DO();break;case"states":r=_O(e);break;case"countries":r=UO(e);break;case"reachStates":r=MO(e)}return r}},{key:"resolveCardBin",value:function(t){return NO(t)}},{key:"preChargeCheck",value:function(t){return jO(t)}}]),t}(),VO=function(){function t(e){var r=e.number,n=e.cvv,i=e.month,a=e.year,s=e.pin;o(this,t),this.number=r,this.cvv=n,this.month=i,this.year=a,this.pin=s}return s(t,[{key:"getEncryptedPin",value:function(){return Nk.getEncryptedPin(this.pin)}},{key:"getLast4",value:function(){return Nk.getLast4(this.number)}},{key:"tokenize",value:function(){return Nk.tokenize({number:this.number,cvv:this.cvv,month:this.month,year:this.year})}}],[{key:"getType",value:function(t){return Nk.getType(t)}},{key:"validate",value:function(t){var e=t.number,r=t.cvv,n=t.month,i=t.year;return Nk.validate({number:e,cvv:r,month:n,year:i})}},{key:"validateNumber",value:function(t){return Nk.validateNumber(t)}},{key:"isNumberValid",value:function(t){return Nk.isNumberValid(t)}},{key:"validateCVV",value:function(t,e){return Nk.validateCVV(t,e)}},{key:"isCvvValid",value:function(t,e){return Nk.isCvvValid(t,e)}},{key:"validateExpiry",value:function(t){return Nk.validateExpiry(t)}},{key:"isExpiryValid",value:function(t){return Nk.isExpiryValid(t)}},{key:"generateTestCard",value:function(e){return new t(Nk.findTestCard(e))}}]),t}(),qO=function(t){var e=t.clientdata,r=t.last4,n=t.preauthorizationId,i=t.publicKey,o=new URL("preauthorization/create",Gd.paystackApiUrl).toString(),a=$A(),s=p({Authorization:"Bearer ".concat(i)},a&&{"Accept-Language":a});return JA.post(o,{clientdata:e,last4:r,preauthorization:n},{headers:s}).then((function(t){return sg.parse(t.data)}))},zO="card";function HO(t,e){return new Promise((function(r,n){var i=VO.validate(t);if(!i.isValid){var o=e||t.number,a=Object.keys(i.result).filter((function(t){return!1===i.result[t]})),s="Invalid card details: ".concat(a.join(", "));n(Error(o?s:"Please set a valid card with setCard()"))}r()}))}var KO={setCard:function(t){var e=this;return HO(t,!0).then((function(){e.card=new VO(t)}))},reserveFunds:function(t){var e=this,r=t.preauthorizationId,n=t.publicKey,i=t.customFields,o=void 0===i?{}:i;return HO(this.card).then((function(){e.logAttempt(zO);var t={clientdata:e.card.tokenize(),last4:e.card.getLast4(),device:e.deviceFingerprint,preauthorizationId:r,publicKey:n,customFields:o};return qO(t).then((function(t){return e.logAPIResponse(t,zO),t}))}))},listenFor3DSCharge:function(t){var e={channel:"3DS_".concat(this.id),paymentMethod:zO};return this.listenForCharge(e,t)}},GO=function(t){var e=$A(),r=p({},e&&{"Accept-Language":e}),n=new URL("preauthorization/verify_access_code/".concat(t),Gd.paystackApiUrl).toString();return JA.get(n,{headers:r}).then((function(t){return t.data}))},WO=function(t){var e=t.reference,r=t.publicKey,n=$A(),i=p({Authorization:"Bearer ".concat(r)},n&&{"Accept-Language":n}),o=new URL("preauthorization/verify/".concat(e),Gd.paystackApiUrl).toString();return JA.get(o,{headers:i}).then((function(t){return sg.parse(t.data)}))},XO=function(t,e){var r=$A(),n=p({Authorization:"Bearer ".concat(e)},r&&{"Accept-Language":r}),i=new URL("preauthorization/get_by_access_code/".concat(t),Gd.paystackApiUrl).toString();return JA.get(i,{headers:n}).then((function(t){return t.data}))},YO=function(t,e,r){var n=new URL("preauthorization/update_log/".concat(t),Gd.paystackApiUrl).toString();return pO(n,{merchantKey:e,log:r})},ZO=function(t,e){var r=new URL("preauthorization/set_ip/".concat(t),Gd.paystackApiUrl).toString();return dO(r,{merchantKey:e})},JO=function(t,e,r){var n=new URL("preauthorization/set_referrer/".concat(t),Gd.paystackApiUrl).toString();return gO(n,{merchantKey:e,referrer:r})},$O={initializeLog:function(t){this.log=Xx(t)},getTimeSpent:function(){return this.log.time_spent=Yx(this.log.start_time),this.log.time_spent},logPageOpen:function(){return this.log.history.push({type:"open",message:"Opened checkout",time:this.getTimeSpent()}),this.saveLog()},logChannelSwitch:function(t){return this.log.history.push({type:"action",message:"Set charge method to: ".concat(t),time:this.getTimeSpent()}),this.saveLog()},logValidationErrors:function(t){var e=this;return t.forEach((function(t){e.log.history.push({type:"error",message:"Invalid ".concat(t),time:e.getTimeSpent()})})),this.saveLog()},logInput:function(t){var e=this.log.history.find((function(e){return e.message==="Filled this field: ".concat(t)}));return this.log.history.push({type:"input",message:"".concat(e?"Changed":"Filled"," this field: ").concat(t),time:this.getTimeSpent()}),this.saveLog()},logAuthWindowOpen:function(){return this.log.history.push({type:"action",message:"Third-party authentication window opened",time:this.getTimeSpent()}),this.saveLog()},logAuthWindowClose:function(){return this.log.history.push({type:"action",message:"Third-party authentication window closed",time:this.getTimeSpent()}),this.saveLog()},logAPIResponse:function(t,e){switch(t.status){case"authorized":return this.logAuthorized(e);case"failed":return this.logError(t.message);case"auth":return this.logAuth(t.data.auth);default:return!1}},logAPIResponseMessage:function(t){return this.log.history.push({type:"action",message:t,time:this.getTimeSpent()}),this.saveLog()},logAttempt:function(t){var e="Attempted to charge";return t&&(e+=" with ".concat(t)),this.log.attempts+=1,this.log.history.push({type:"action",message:e,time:this.getTimeSpent()}),this.saveLog()},logAuth:function(t){return this.log.authentication=t,this.log.history.push({type:"auth",message:"Authentication Required: ".concat(t),time:this.getTimeSpent()}),this.saveLog()},logAuthorized:function(t){var e="Successfully preauthorized funds";return t&&(e+=" with ".concat(t)),this.log.success=!0,this.log.history.push({type:"authorized",message:e,time:this.getTimeSpent()}),this.saveLog()},logPageClose:function(){return this.log.history.push({type:"close",message:"Closed checkout",time:this.getTimeSpent()}),this.saveLog()},logError:function(t){var e="Error";return t&&(e+=": ".concat(t)),this.log.errors+=1,this.log.history.push({type:"error",message:e,time:this.getTimeSpent()}),this.saveLog()},saveLog:function(){return YO(this.reference,this.merchant.key,this.log)},saveIpAddress:function(){return ZO(this.reference,this.merchant.key)},saveReferrer:function(t){return JO(this.reference,this.merchant.key,t)}},QO=function(){function t(e){var r;o(this,t),this.id=e.id,this.email=null===(r=e.customer)||void 0===r?void 0:r.email,this.status=e.status,this.reference=e.reference,this.amount=e.amount,this.currency=e.currency,this.metadata=e.metadata||{},this.cancel_action=e.cancel_action||null,this.customer=e.customer,this.channels=e.channels||["card"],this.isListening=!1,this.isTest="test"===e.domain,this.deviceFingerprint=e.deviceFingerprint||null,this.accessCode=e.accessCode||null,this.merchant={id:e.merchant_id,logo:e.merchant_logo,name:e.merchant_name,key:e.merchant_key},this.card={},this.log=null,Object.assign(this,$O),this.initializeLog(e.log),this.saveIpAddress(),Object.assign(this,KO)}return s(t,[{key:"setMetadata",value:function(t,e){this.metadata[t]=e}},{key:"requery",value:function(){var t=this;return WO({reference:this.reference,publicKey:this.merchant.key}).then((function(e){return t.logAPIResponse(e,"card"),e}))}},{key:"listenForCharge",value:function(t,e){return ug(t,this,e)}}]),t}(),tR={initialize:function(t){return Object.seal(new QO(t))},requestWithAccessCode:function(t){return i(regeneratorRuntime.mark((function e(){var r,n,i,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Promise.all([GO(t),Od()]);case 2:return r=e.sent,n=m(r,2),i=n[0],o=n[1],e.abrupt("return",i&&Object.seal(new QO(p(p({},i.data),{},{deviceFingerprint:o,accessCode:t}))));case 7:case"end":return e.stop()}}),e)})))()},getByAccessCode:function(t,e){return i(regeneratorRuntime.mark((function r(){var n,i,o,a;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,Promise.all([XO(t,e),Od()]);case 2:return n=r.sent,i=m(n,2),o=i[0],a=i[1],r.abrupt("return",o&&Object.seal(new QO(p(p({},o.data),{},{deviceFingerprint:a,accessCode:t}))));case 7:case"end":return r.stop()}}),r)})))()}};return t.BankAccount=ex,t.Card=jk,t.Preauthorization=tR,t.Toolkit=FO,t.Transaction=PO,Object.defineProperty(t,"__esModule",{value:!0}),t}({});
|