@paystack/checkout-js 1.14.0 → 1.15.0-dev.2

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 CHANGED
@@ -27,4 +27,4 @@ var Paystack=function(t){"use strict";function e(t,e){var r=Object.keys(t);if(Ob
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],E=[],A=0;A<T.length;A++){var x=b(T[A]);E.push(x)}return new m({array:E})}if("set"==S){for(T=t[S],E=[],A=0;A<T.length;A++)x=b(T[A]),E.push(x);return new v({array:E})}if("tag"==S){var k=t[S];if("[object Array]"===Object.prototype.toString.call(k)&&3==k.length){var O=b(k[2]);return new y({tag:k[0],explicit:k[1],obj:O})}var P={};if(void 0!==k.explicit&&(P.explicit=k.explicit),void 0!==k.tag&&(P.tag=k.tag),void 0===k.obj)throw"obj shall be specified for 'tag'.";return P.obj=b(k.obj),new y(P)}},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=M(e,16),r=i.sub[2].getHexStringValue(),this.e=parseInt(r,16);var o=i.sub[3].getHexStringValue();this.d=M(o,16);var a=i.sub[4].getHexStringValue();this.p=M(a,16);var s=i.sub[5].getHexStringValue();this.q=M(s,16);var u=i.sub[6].getHexStringValue();this.dmp1=M(u,16);var c=i.sub[7].getHexStringValue();this.dmq1=M(c,16);var h=i.sub[8].getHexStringValue();this.coeff=M(h,16)}else{if(2!==i.sub.length)return!1;var l=i.sub[1].sub[0];e=l.sub[0].getHexStringValue(),this.n=M(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,GT.exports);var WT=O,XT=z,ZT=Ms,YT=ot,JT=XT(D.f),$T=XT([].push),QT=function(t){return function(e){for(var r,n=YT(e),i=ZT(n),o=i.length,a=0,s=[];o>a;)r=i[a++],WT&&!JT(n,r)||$T(s,t?[r,n[r]]:n[r]);return s}},tE={entries:QT(!0),values:QT(!1)}.values;fi({target:"Object",stat:!0},{values:function(t){return tE(t)}});var eE=fi,rE=Es.find,nE=_d,iE="find",oE=!0;iE in[]&&Array(1).find((function(){oE=!1})),eE({target:"Array",proto:!0,forced:oE},{find:function(t){return rE(this,t,arguments.length>1?arguments[1]:void 0)}}),nE(iE);var aE=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 sE=function(t){return t?JSON.parse(JSON.stringify(t)):null};var uE=function(t){return"string"==typeof t||t instanceof String};var cE=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)},hE=sE,lE=cE;var fE,pE=function(t,e,r){var n,i,o,a;for(n=0;n<e.patterns.length;n++)if(i=e.patterns[n],lE(t,i)){a=hE(e),o=Array.isArray(i)?String(i[0]).length:String(i).length,t.length>=o&&(a.matchStrength=o),r.push(a);break}},dE={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}}},gE=sE,mE=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}))},vE=uE,yE=pE,bE={},wE={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"},SE=[wE.VISA,wE.MASTERCARD,wE.AMERICAN_EXPRESS,wE.DINERS_CLUB,wE.DISCOVER,wE.JCB,wE.UNIONPAY,wE.MAESTRO,wE.ELO,wE.MIR,wE.HIPER,wE.HIPERCARD];function TE(t){return bE[t]||dE[t]}function EE(t,e){var r=fE.indexOf(t);if(!e&&-1===r)throw new Error('"'+t+'" is not a supported card type.');return r}function AE(t){var e,r=[];return vE(t)?0===t.length?fE.map((function(t){return gE(TE(t))})):(fE.forEach((function(e){var n=TE(e);yE(t,n,r)})),(e=mE(r))?[e]:r):[]}fE=gE(SE),AE.getTypeInfo=function(t){return gE(TE(t))},AE.removeCard=function(t){var e=EE(t);fE.splice(e,1)},AE.addCard=function(t){var e=EE(t.type,!0);bE[t.type]=t,-1===e&&fE.push(t.type)},AE.updateCard=function(t,e){var r,n=bE[t]||dE[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=gE(n),Object.keys(r).forEach((function(t){e[t]&&(r[t]=e[t])})),bE[r.type]=r},AE.changeOrder=function(t,e){var r=EE(t);fE.splice(r,1),fE.splice(e,0,t)},AE.resetModifications=function(){fE=gE(SE),bE={}},AE.types=wE;var xE=AE,kE=aE,OE=xE;function PE(t,e,r){return{card:t,isPotentiallyValid:e,isValid:r}}var CE=function(t,e){var r,n,i,o,a;if(e=e||{},"number"==typeof t&&(t=String(t)),"string"!=typeof t)return PE(null,!1,!1);if(t=t.replace(/\-|\s/g,""),!/^\d*$/.test(t))return PE(null,!1,!1);if(0===(r=OE(t)).length)return PE(null,!1,!1);if(1!==r.length)return PE(null,!0,!1);if(n=r[0],e.maxLength&&t.length>e.maxLength)return PE(n,!1,!1);for(i=n.type===OE.types.UNIONPAY&&!0!==e.luhnValidateUnionPay||kE(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 PE(n,t.length<a||i,i);return PE(n,t.length<a,!1)};function RE(t,e,r){return{isValid:t,isPotentiallyValid:e,isCurrentYear:r||!1}}var BE=function(t,e){var r,n,i,o,a;return e=e||19,"string"!=typeof t?RE(!1,!1):""===t.replace(/\s/g,"")?RE(!1,!0):/^\d*$/.test(t)?(n=t.length)<2?RE(!1,!0):(r=(new Date).getFullYear(),3===n?RE(!1,t.slice(0,2)===String(r).slice(0,2)):n>4?RE(!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),RE(o,o,a))):RE(!1,!1)},DE=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)},IE=BE,LE=DE;function jE(t,e,r){return{isValid:t,isPotentiallyValid:e,isValidForThisYear:r||!1}}var NE=function(t){var e,r,n=(new Date).getMonth()+1;return"string"!=typeof t?jE(!1,!1):""===t.replace(/\s/g,"")||"0"===t?jE(!1,!0):/^\d*$/.test(t)?(e=parseInt(t,10),isNaN(t)?jE(!1,!1):jE(r=e>0&&e<13,r,r&&e>=n)):jE(!1,!1)},ME=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)),LE(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),IE(i).isPotentiallyValid?1:2):5===n.length?1:n.length>5?2:1,{month:e=t.substr(0,r),year:t.substr(e.length)})},_E=NE,VE=BE;function UE(t,e,r,n){return{isValid:t,isPotentiallyValid:e,month:r,year:n}}function FE(t,e){return{isValid:t,isPotentiallyValid:e}}function qE(t,e){return{isValid:t,isPotentiallyValid:e}}var HE={number:CE,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=ME(t);else{if(null===t||"object"!=typeof t)return UE(!1,!1,null,null);r={month:String(t.month),year:String(t.year)}}if(n=_E(r.month),i=VE(r.year,e),n.isValid){if(i.isCurrentYear)return UE(o=n.isValidForThisYear,o,r.month,r.year);if(i.isValid)return UE(!0,!0,r.month,r.year)}return n.isPotentiallyValid&&i.isPotentiallyValid?UE(!1,!0,null,null):UE(!1,!1,null,null)},expirationMonth:NE,expirationYear:BE,cvv:function(t,e){return e=(e=e||3)instanceof Array?e:[e],"string"!=typeof t?FE(!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)?FE(!0,!0):t.length<Math.min.apply(null,e)?FE(!1,!0):t.length>function(t){for(var e=3,r=0;r<t.length;r++)e=t[r]>e?t[r]:e;return e}(e)?FE(!1,!1):FE(!0,!0):FE(!1,!1)},postalCode:function(t,e){var r;return r=(e=e||{}).minLength||3,"string"!=typeof t?qE(!1,!1):t.length<r?qE(!1,!0):qE(!0,!0)},creditCardType:xE},zE=[{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"}];HE.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}}),HE.creditCardType.changeOrder("verve",0);var GE=function(){function t(e){var r=e.number,n=e.cvv,i=e.month,o=e.year,s=e.pin;a(this,t),this.number=r,this.cvv=n,this.month=i,this.year=o,this.pin=s}return u(t,[{key:"getEncryptedPin",value:function(){return this.pin?KT(this.pin):void 0}},{key:"getLast4",value:function(){return this.number.substring(this.number.length-4)}},{key:"tokenize",value:function(){return KT("".concat(this.number,"*").concat(this.cvv,"*").concat(this.month,"*").concat(this.year))}}],[{key:"getType",value:function(t){var e=HE.number(t);return e&&e.card?{type:e.card.type,maxLength:Math.max.apply(Math,b(e.card.lengths)),minLength:Math.min.apply(Math,b(e.card.lengths))}:{type:null,maxLength:0}}},{key:"validate",value:function(e){var r=e.number,n=e.cvv,i=e.month,o=e.year,a=t.getType(r).type,s={number:t.isNumberValid(r),expiry:t.isExpiryValid({month:i,year:o}),cvv:t.isCvvValid(n,a)};return{isValid:Object.values(s).every((function(t){return!0===t})),result:s}}},{key:"validateNumber",value:function(t){return HE.number(t)}},{key:"isNumberValid",value:function(e){return t.validateNumber(e).isValid}},{key:"validateCVV",value:function(t,e){var r="american-express"===e?4:3;return HE.cvv(t,r)}},{key:"isCvvValid",value:function(e,r){return t.validateCVV(e,r).isValid}},{key:"validateExpiry",value:function(t){if("object"===n(t)){var e=t.month,r=t.year;return HE.expirationMonth(e)&&HE.expirationYear(r)}return HE.expirationDate(t)}},{key:"isExpiryValid",value:function(e){return t.validateExpiry(e).isValid}},{key:"generateTestCard",value:function(e){var r=e||"default";return new t(zE.find((function(t){return t.type===r})))}}]),t}(),KE=function(t){var e=t.clientdata,n=t.last4,i=t.pin,o=t.trans,a=t.device,s=t.rememberCard,u=t.transactionType,c=t.subscription,h=t.customFields,l="".concat(Dd.paymentBaseUrl,"charge/"),f=ST(),p=r({"Content-Type":"application/x-www-form-urlencoded"},f&&{"Accept-Language":f}),d=r(r(r({clientdata:e,last4:n,trans:o,device:a,offset:(new Date).getTimezoneOffset(),remember_card:s},u&&{transaction_type:u}),c&&{subscription:c}),h&&h);i&&(d.handle=i);var g=BT(d);return wT.post(l,g,{headers:p}).then((function(t){return Kd.parse(t.data)}))},WE=function(t){var e=t.device,n=t.accessCode,i=t.pin,o="".concat(Dd.paymentBaseUrl,"charge/resume/").concat(n),a=ST(),s=r({"Content-Type":"application/x-www-form-urlencoded"},a&&{"Accept-Language":a}),u=r({device:e},i&&{handle:i}),c=BT(u);return wT.post(o,c,{headers:s}).then((function(t){return Kd.parse(t.data)}))},XE=function(t){var e=t.last4,n=t.trans,i=t.device,o=t.authorizationCode,a=t.cvv,s=t.pin,u=t.transactionType,c=t.subscription,h="".concat(Dd.paymentBaseUrl,"charge/"),l=ST(),f=r({"Content-Type":"application/x-www-form-urlencoded"},l&&{"Accept-Language":l}),p=r(r({last4:e,trans:n,device:i,cvv:a,handle:s,authorization_code:o},u&&{transaction_type:u}),c&&{subscription:c}),d=BT(p);return wT.post(h,d,{headers:f}).then((function(t){return Kd.parse(t.data)}))},ZE=function(t,e){var n="".concat(Dd.paymentBaseUrl,"charge/validate"),i={trans:t,token:e},o=ST(),a=r({},o&&{"Accept-Language":o}),s=BT(i);return wT.post(n,s,{headers:a}).then((function(t){return Kd.parse(t.data)}))},YE=function(t){var e=t.address,n=t.city,i=t.state,o=t.zipCode,a=t.transactionId,s="".concat(Dd.paymentBaseUrl,"charge/avs"),u=ST(),c=r({"Content-Type":"application/x-www-form-urlencoded"},u&&{"Accept-Language":u}),h=BT({city:n,state:i,address:e,zip_code:o,trans:a});return wT.post(s,h,{headers:c}).then((function(t){return Kd.parse(t.data)}))},JE=function(t){var e=t.authorizationId,n=t.publicKey,i=ST(),o=r({Authorization:"Bearer ".concat(n)},i&&{"Accept-Language":i}),a={authorization_id:e},s="".concat(Dd.paystackApiUrl,"rememberme/forget_card");return wT.post(s,a,{headers:o}).then((function(t){return Kd.parse(t.data)}))},$E="card";function QE(t,e){return new Promise((function(r,n){var i=GE.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 tA={setCard:function(t){var e=this;return QE(t,!0).then((function(){e.card=new GE(t)}))},rememberCard:function(){this.remember_card=!0},chargeCard:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return QE(this.card).then((function(){t.logAttempt($E);var r={clientdata:t.card.tokenize(),last4:t.card.getLast4(),pin:t.card.getEncryptedPin(),trans:t.id,device:t.deviceFingerprint,rememberCard:t.remember_card,transactionType:t.transactionType,subscription:t.subscription,customFields:e};return KE(r).then((function(e){return t.logAPIResponse(e,$E),e}))}))},chargeRememberedCard:function(t){var e=this,r=t.cvv,n=t.authorizationCode,i=t.cardLast4,o=t.pin;this.logAttempt($E);var a=KT(o),s={authorizationCode:n,cvv:r,last4:i,trans:this.id,device:this.deviceFingerprint,pin:a,transactionType:this.transactionType,subscription:this.subscription};return XE(s).then((function(t){return e.logAPIResponse(t,$E),t}))},resumeCardCharge:function(t){var e=this,n=t.accessCode,i=t.pin,o=r(r({},i&&{pin:KT(i)}),{},{accessCode:n,device:this.deviceFingerprint});return WE(o).then((function(t){return e.logAPIResponse(t,$E),t}))},forgetRememberedCard:function(t){var e=this,r={authorizationId:t,publicKey:this.merchant.key};return JE(r).then((function(t){return e.logAPIResponse(t,$E),t}))},authenticateCard:function(t){var e=this;return ZE(this.id,t).then((function(t){return e.logAPIResponse(t,$E),t}))},verifyAddress:function(t){var e=this,r=t.address,n={city:t.city,state:t.state,address:r,zipCode:t.zipCode,transactionId:this.id};return YE(n).then((function(t){return e.logAPIResponse(t,$E),t}))},listenFor3DSCharge:function(t){var e={channel:"3DS_".concat(this.id),paymentMethod:$E};return this.listenForCharge(e,t)}},eA=function(){function t(e){var r=e.bankId,n=e.accountType,i=e.accountNumber;a(this,t),this.bankId=r,this.accountType=n,this.accountNumber=i}return u(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(Dd.paymentBaseUrl,"bank?pay_with_bank=true"),e=ST(),n=r({},e&&{"Accept-Language":e});return wT.post(t,{headers:n}).then((function(t){return t.data}))}}]),t}();eA.types=["nuban"];var rA=function(t){var e=t.bankId,n=t.transactionId,i=t.accountNumber,o=t.device,a="".concat(Dd.paymentBaseUrl,"bank/charge_account/").concat(e,"/").concat(n),s=ST(),u=r({"Content-Type":"application/x-www-form-urlencoded"},s&&{"Accept-Language":s}),c=BT({account_number:i,device:o});return wT.post(a,c,{headers:u}).then((function(t){return Kd.parse(t.data)}))},nA=function(t){var e=t.bankId,n=t.transactionId,i=t.accountNumber,o=t.birthday,a="".concat(Dd.paymentBaseUrl,"bank/charge_account/").concat(e,"/").concat(n),s=ST(),u=r({"Content-Type":"application/x-www-form-urlencoded"},s&&{"Accept-Language":s}),c=BT({account_number:i,birthday:o});return wT.post(a,c,{headers:u}).then((function(t){return Kd.parse(t.data)}))},iA=function(t){var e=t.bankId,n=t.transactionId,i=t.token,o=t.device,a="".concat(Dd.paymentBaseUrl,"bank/validate_token/").concat(e,"/").concat(n),s=ST(),u=r({"Content-Type":"application/x-www-form-urlencoded"},s&&{"Accept-Language":s}),c=BT({device:o,token:i});return wT.post(a,c,{headers:u}).then((function(t){return Kd.parse(t.data)}))},oA="bank account";function aA(t,e){return new Promise((function(r,n){var i=eA.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 sA={getIbankUrl:function(t){var e=this,r=t.bankId;return new Promise((function(t,n){r||n(Error("Please send bankId"));var i="".concat(Dd.paymentBaseUrl,"bank/ibank/").concat(r,"/").concat(e.id);t(Kd.success({url:i}))}))},listenForIbankCharge:function(t){var e={channel:"IBANK_".concat(this.id),paymentMethod:"ibank"};return this.listenForCharge(e,t)}},uA=function(t){var e=t.bankId,n=t.transactionId,i=t.phoneNumber,o=t.payId,a="".concat(Dd.paymentBaseUrl,"bank/digitalbankmandate/").concat(e,"/").concat(n),s=ST(),u=r({"Content-Type":"application/x-www-form-urlencoded"},s&&{"Accept-Language":s}),c=BT({phone_number:i,token:o});return wT.post(a,c,{headers:u}).then((function(t){return Kd.parse(t.data)}))},cA="bank",hA={chargeDigitalBankMandate:function(t){var e=this,r=t.phoneNumber,n=t.payId,i=t.bankId,o={transactionId:this.id,phoneNumber:r,payId:n,bankId:i};return uA(o).then((function(t){return e.logAPIResponse(t,cA),t}))},listenForDigitalBankMandateCharge:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r={paymentMethod:cA,channel:e};return this.listenForCharge(r,t)}},lA=r(r(r({},{setBankAccount:function(t){var e=this;return aA(t,!0).then((function(){e.bankAccount=new eA(t)}))},chargeBankAccount:function(){var t=this;return aA(this.bankAccount).then((function(){t.logAttempt(oA);var e={bankId:t.bankAccount.bankId,transactionId:t.id,accountNumber:t.bankAccount.accountNumber,device:t.deviceFingerprint};return rA(e).then((function(e){return t.logAPIResponse(e,oA),e}))}))},registerBankAccount:function(t){var e=this;return aA(this.bankAccount).then((function(){var r={bankId:e.bankAccount.bankId,transactionId:e.id,accountNumber:e.bankAccount.accountNumber,birthday:t};return nA(r).then((function(t){return e.logAPIResponse(t,oA),t}))}))},authenticateBankAccount:function(t){var e=this;return aA(this.bankAccount).then((function(){var r={bankId:e.bankAccount.bankId,transactionId:e.id,token:t,device:e.deviceFingerprint};return iA(r).then((function(t){return e.logAPIResponse(t,oA),t}))}))}}),sA),hA),fA=function(t,e){var n=ST(),i=r({Authorization:"Bearer ".concat(e)},n&&{"Accept-Language":n});return wT.post("".concat(Dd.paystackApiUrl,"checkout/ussd/reference"),t,{headers:i}).then((function(t){return Kd.parse(t.data)}))},pA=function(t,e){var n=ST(),i=r({Authorization:"Bearer ".concat(e)},n&&{"Accept-Language":n});return wT.post("".concat(Dd.paystackApiUrl,"checkout/pay_with_transfer_ussd"),t,{headers:i}).then((function(t){return Kd.parse(t.data)}))},dA={getUSSDShortcode:function(t){var e=this,r=t.channel,n={transaction:this.id,channel:r};return fA(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 pA(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)}},gA=function(t,e){var n={source:"checkout",reference:t.transaction,channel:t.channel},i=ST(),o=r({Authorization:"Bearer ".concat(e)},i&&{"Accept-Language":i});return wT.post("".concat(Dd.paystackApiUrl,"offline/qr/generate"),n,{headers:o}).then((function(t){return Kd.parse(t.data)}))};function mA(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 vA={getQRCode:function(t){var e=this,r=t.channel;return mA(r).then((function(){if(e.qr[r])return e.qr[r];var t={transaction:e.id,channel:r};return gA(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 mA(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)}))}},yA=function(){function t(){a(this,t)}return u(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}(),bA=function(t){var e={transaction:t.transaction,phone:t.phone,device:t.device,channel_name:t.channel_name,provider:t.provider,voucher:t.voucher,registration_token:t.registrationToken},n=ST(),i=r({},n&&{"Accept-Language":n});return wT.post("".concat(Dd.paystackApiUrl,"charge/mobile_money"),e,{headers:i}).then((function(t){return Kd.parse(t.data)})).catch((function(t){var e=t.response&&t.response.data;return e?Kd.parse(r(r({},e),{},{errors:e})):Kd.parse(t)}))};var wA={chargeMobileMoney:function(t){var e=this,r=t.phoneNumber,n=t.provider,i=t.voucher,o=t.registrationToken;return function(t){return new Promise((function(e,r){var n=yA.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)}))}(r).then((function(){e.logMobileMoneyActions(t);var a={provider:n,voucher:i,registrationToken:o,transaction:e.id,phone:r,device:e.deviceFingerprint,channel_name:"MOBILE_MONEY_".concat(e.id)};return bA(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}))}))},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)}},SA=function(t,e){var n="".concat(Dd.paystackApiUrl,"checkout/pay_with_phone/verify"),i=ST(),o=r({Authorization:"Bearer ".concat(e)},i&&{"Accept-Language":i});return wT.post(n,{phone:t},{headers:o}).then((function(t){return t.data}))},TA=function(t,e,n){var i="".concat(Dd.paystackApiUrl,"checkout/pay_with_phone/remove_card"),o=ST(),a=r({Authorization:"Bearer ".concat(e)},o&&{"Accept-Language":o});return wT.post(i,{phone:t,id:n},{headers:a}).then((function(t){return t.data}))},EA=function(t,e,n,i){var o="".concat(Dd.paystackApiUrl,"checkout/pay_with_phone/validate_otp"),a=ST(),s=r({Authorization:"Bearer ".concat(e)},a&&{"Accept-Language":a});return wT.post(o,{phone:t,otp:n,transaction:i},{headers:s}).then((function(t){return t.data}))},AA=function(t,e,n,i){var o="".concat(Dd.paystackApiUrl,"checkout/pay_with_phone/validate_pin"),a=ST(),s=r({Authorization:"Bearer ".concat(e)},a&&{"Accept-Language":a});return wT.post(o,{phone:t,pin:n,transaction:i},{headers:s}).then((function(t){return t.data}))},xA=function(t,e,n,i,o){var a=ST(),s="".concat(Dd.paystackApiUrl,"checkout/pay_with_phone/set_pin"),u=r({Authorization:"Bearer ".concat(e)},a&&{"Accept-Language":a});return wT.post(s,{phone:t,token:n,transaction:i,pin:o},{headers:u}).then((function(t){return t.data}))},kA=function(t,e,n,i,o,a){var s="".concat(Dd.paystackApiUrl,"checkout/pay_with_phone/charge"),u=ST(),c=r({Authorization:"Bearer ".concat(e)},u&&{"Accept-Language":u});return wT.post(s,{id:t,token:n,cvv:o,transaction:i,phone:a},{headers:c}).then((function(t){return t.data}))},OA=function(t,e,n){var i="".concat(Dd.paystackApiUrl,"checkout/pay_with_phone/enroll"),o=ST(),a=r({Authorization:"Bearer ".concat(e)},o&&{"Accept-Language":o});return wT.post(i,{phone:t,transaction:n},{headers:a}).then((function(t){return t.data}))};function PA(t){return new Promise((function(e,r){var n=yA.validate(t);if(!n.isValid){var i=t?n.errors[0]:"Please set a valid customer with Transaction.setCustomer()";r(Error(i))}e(n)}))}var CA={setCustomer:function(t){var e=this,r=t.phoneNumber;return PA(r).then((function(){e.customer=r}))},verifyCustomer:function(){var t=this;return PA(this.customer).then((function(){return SA(t.customer,t.merchant.key)}))},deleteSavedCard:function(t){var e=this;return PA(this.customer).then((function(){return TA(e.customer,e.merchant.key,t)}))},authenticateCustomerOtp:function(t){var e=this;return PA(this.customer).then((function(){return EA(e.customer,e.merchant.key,t,e.id)}))},authenticateCustomerPin:function(t){var e=this;return PA(this.customer).then((function(){return AA(e.customer,e.merchant.key,t,e.id)}))},setCustomerPin:function(t){var e=this,r=t.pin,n=t.token;return PA(this.customer).then((function(){return xA(e.customer,e.merchant.key,n,e.id,r)}))},chargeSavedCard:function(t){var e=this,r=t.cardId,n=t.token,i=t.cvv;return PA(this.customer).then((function(){return kA(r,e.merchant.key,n,e.id,i,e.customer)}))},enrollPhoneNumber:function(t){var e=this;return PA(this.customer).then((function(){return OA(t,e.merchant.key,e.id)}))}},RA=function(t){var e={email:t.email,password:t.password},n=ST(),i=r({},n&&{"Accept-Language":n});return wT.post("".concat(Dd.paystackApiUrl,"login"),e,{headers:i}).then((function(t){return Kd.parse(t.data)}))},BA=function(t){var e=t.account_code,n=t.transaction,i=t.token,o=ST(),a=r({Authorization:"Bearer ".concat(i),"jwt-auth":!0},o&&{"Accept-Language":o}),s={account_code:e,transaction:n};return wT.post("".concat(Dd.paystackApiUrl,"directdebit/initiate"),s,{headers:a}).then((function(t){return Kd.parse(t.data)}))},DA=function(t){var e=t.otp,n=t.transaction,i=t.token,o=ST(),a=r({Authorization:"Bearer ".concat(i),"jwt-auth":!0},o&&{"Accept-Language":o}),s={otp:e,transaction:n};return wT.post("".concat(Dd.paystackApiUrl,"directdebit/validate"),s,{headers:a}).then((function(t){return Kd.parse(t.data)}))},IA=function(t){var e=ST(),n=r({Authorization:"Bearer ".concat(t),"jwt-auth":!0},e&&{"Accept-Language":e});return wT.get("".concat(Dd.paystackApiUrl,"directdebit/account"),{headers:n}).then((function(t){return t.data}))},LA="direct debit",jA={loginToDirectDebitAccount:function(t){var e=this,r=t.email,n={email:r,password:t.password};return Mc(r)?RA(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(LA);var r={account_code:t,transaction:this.id,token:this.directDebit.token};return BA(r).then((function(t){return e.logAPIResponse(t,LA),t.status&&(e.directDebit.chargeResponse=t),t}))},getProvisionedAccounts:function(){var t=this;return IA(this.directDebit.token).then((function(e){t.logAPIResponse(e,LA);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 DA(r).then((function(t){return e.logAPIResponse(t,LA),t}))}},NA=function(t){return{card:tA,bank:lA,ussd:dA,qr:vA,mobile_money:wA,phone:CA,direct_debit:jA,bank_transfer:CT,eft:jT,payattitude:LT,apple_pay:VT,paypal:zT}[t]},MA=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 _A=fi,VA=ft,UA=fa,FA=z,qA=k,HA=A.Array,zA=VA("JSON","stringify"),GA=FA(/./.exec),KA=FA("".charAt),WA=FA("".charCodeAt),XA=FA("".replace),ZA=FA(1..toString),YA=/[\uD800-\uDFFF]/g,JA=/^[\uD800-\uDBFF]$/,$A=/^[\uDC00-\uDFFF]$/,QA=function(t,e,r){var n=KA(r,e-1),i=KA(r,e+1);return GA(JA,t)&&!GA($A,i)||GA($A,t)&&!GA(JA,n)?"\\u"+ZA(WA(t,0),16):t},tx=qA((function(){return'"\\udf06\\ud834"'!==zA("\udf06\ud834")||'"\\udead"'!==zA("\udead")}));zA&&_A({target:"JSON",stat:!0,forced:tx},{stringify:function(t,e,r){for(var n=0,i=arguments.length,o=HA(i);n<i;n++)o[n]=arguments[n];var a=UA(zA,null,o);return"string"==typeof a?XA(a,YA,QA):a}});var ex=function(t,e,n){var i="".concat(Dd.paystackApiUrl,"transaction/update_log/").concat(t),o=ST(),a=r({Authorization:"Bearer ".concat(e)},o&&{"Accept-Language":o});return wT.post(i,{payload:JSON.stringify(n)},{headers:a}).then((function(t){return t.data}))},rx=function(t,e){var n="".concat(Dd.paystackApiUrl,"transaction/set_ip/").concat(t),i=ST(),o=r({Authorization:"Bearer ".concat(e)},i&&{"Accept-Language":i});return wT.post(n,null,{headers:o}).then((function(t){return t.data}))},nx=function(t,e,n){var i="".concat(Dd.paystackApiUrl,"transaction/set_referrer/").concat(t),o=ST(),a=r({Authorization:"Bearer ".concat(e)},o&&{"Accept-Language":o});return wT.post(i,{referrer:n},{headers:a}).then((function(t){return t.data}))},ix={initializeLog:function(t){var e=t||{},r=e.attempts,n=e.authentication,i=e.errors,o=e.history;this.log={start_time:Math.round(Date.now()/1e3),time_spent:0,attempts:r||0,authentication:n,errors:i||0,success:!1,mobile:MA(),input:[],history:o||[]}},getTimeSpent:function(){var t=Math.round(Date.now()/1e3);return this.log.time_spent=t-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 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()},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=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=0===e?"Waiting for customer to submit OTP":"Customer requested to resend OTP";return this.log.history.push({type:"action",message:r,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()},saveLog:function(){return ex(this.id,this.merchant.key,this.log)},saveIpAddress:function(){return rx(this.id,this.merchant.key)},saveReferrer:function(t){return nx(this.id,this.merchant.key,t)}},ox=function(){function t(e){var r=this;a(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.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.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,window?new Promise((function(t,e){var r=new XMLHttpRequest;r.open("GET",Dd.pusherUrl),r.onload=function(){if(r.status>=200&&r.status<300){var n=document.createElement("script");n.appendChild(document.createTextNode(r.responseText)),document.head.appendChild(n),t()}else e(r.statusText)},r.onerror=function(){return e(r.statusText)},r.send(null)})):Promise.reject(new Error("Window object not available")),this.log=null,Object.assign(this,ix),this.initializeLog(e.log),this.saveIpAddress(),this.channels.forEach((function(t){var e=NA(t);Object.assign(r,e)})),"GHS"===e.currency&&e.elevy_percentage&&(this.elevyPercentage=e.elevy_percentage)}return u(t,[{key:"setMetadata",value:function(t,e){this.metadata[t]=e}},{key:"setDevice",value:function(t){this.deviceFingerprint?ld("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){var r,n=this,i=t.channel,o=t.paymentMethod;window&&window.Pusher&&(r=new window.Pusher(Dd.pusherKey,{cluster:"eu",disableStats:!0}));var a={status:"error",message:"We could not listen for charge response. Use transaction.requery() to check the status."},s=function(){r.unsubscribe(i)};if(!r)return e({status:"error",message:"We could not listen for charge response."},Id);var u=r.subscribe(i);u.bind("pusher:subscription_succeeded",(function(){n.isListening=!0})),u.bind("pusher:subscription_error",(function(){n.isListening=!1,e(a,Id)})),u.bind("response",(function(t){var r=Kd.parse(t);n.logAPIResponse(r,o),e(r,s)}))}},{key:"requery",value:function(){return kT(this.id)}},{key:"markAsAbandoned",value:function(){return OT({publicKey:this.merchant.key,transactionId:this.id})}}]),t}(),ax={validate:function(t){var e=function(t){var e=[];return t&&"object"===n(t)?(Object.keys(Uc).forEach((function(r){var n=Uc[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=y(e,1)[0].message;throw new rs(e,r)}},request:function(t){return o(regeneratorRuntime.mark((function e(){var n,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,pd();case 2:return n=e.sent,e.next=5,TT(r(r({},t),{device:n}));case 5:return i=e.sent,e.abrupt("return",i&&Object.seal(new ox(r(r({},i.data),{deviceFingerprint:n}))));case 7:case"end":return e.stop()}}),e)})))()},requestWithAccessCode:function(t){return o(regeneratorRuntime.mark((function e(){var n,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,pd();case 2:return n=e.sent,e.next=5,ET(t);case 5:return i=e.sent,e.abrupt("return",i&&Object.seal(new ox(r(r({},i.data),{deviceFingerprint:n}))));case 7:case"end":return e.stop()}}),e)})))()},getByAccessCode:function(t,e){return o(regeneratorRuntime.mark((function n(){var i,o;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,pd();case 2:return i=n.sent,n.next=5,AT(t,e);case 5:return o=n.sent,n.abrupt("return",o&&Object.seal(new ox(r(r({},o.data),{deviceFingerprint:i}))));case 7:case"end":return n.stop()}}),n)})))()},initialize:function(t){return Object.seal(new ox(t))},verify:function(t){return o(regeneratorRuntime.mark((function e(){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,xT(t);case 2:return r=e.sent,e.abrupt("return",r&&r.data);case 4:case"end":return e.stop()}}),e)})))()}},sx=function(t){var e="".concat(Dd.paystackApiUrl,"bank"),n=ST(),i={params:t,headers:r({},n&&{"Accept-Language":n})};return wT.get(e,i).then((function(t){return t.data}))},ux=function(){var t="".concat(Dd.paystackApiUrl,"checkout/resolutions"),e=ST(),n=r({},e&&{"Accept-Language":e});return wT.get(t,{headers:n}).then((function(t){return t.data}))},cx=function(){var t="".concat(Dd.paystackApiUrl,"checkout/celebrations"),e=ST(),n=r({},e&&{"Accept-Language":e});return wT.get(t,{headers:n}).then((function(t){return t.data}))},hx=function(t){var e="".concat(Dd.paystackApiUrl,"address_verification/states"),n=ST(),i={params:t,headers:r({},n&&{"Accept-Language":n})};return wT.get(e,i).then((function(t){return t.data}))},lx=function(){function t(){a(this,t)}return u(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:"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=sx(e||{pay_with_bank:"1"});break;case"resolutions":r=ux();break;case"celebrations":r=cx();break;case"states":r=hx(e)}return r}}]),t}();return t.BankAccount=eA,t.Card=GE,t.Toolkit=lx,t.Transaction=ax,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],E=[],A=0;A<T.length;A++){var x=b(T[A]);E.push(x)}return new m({array:E})}if("set"==S){for(T=t[S],E=[],A=0;A<T.length;A++)x=b(T[A]),E.push(x);return new v({array:E})}if("tag"==S){var k=t[S];if("[object Array]"===Object.prototype.toString.call(k)&&3==k.length){var O=b(k[2]);return new y({tag:k[0],explicit:k[1],obj:O})}var P={};if(void 0!==k.explicit&&(P.explicit=k.explicit),void 0!==k.tag&&(P.tag=k.tag),void 0===k.obj)throw"obj shall be specified for 'tag'.";return P.obj=b(k.obj),new y(P)}},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=M(e,16),r=i.sub[2].getHexStringValue(),this.e=parseInt(r,16);var o=i.sub[3].getHexStringValue();this.d=M(o,16);var a=i.sub[4].getHexStringValue();this.p=M(a,16);var s=i.sub[5].getHexStringValue();this.q=M(s,16);var u=i.sub[6].getHexStringValue();this.dmp1=M(u,16);var c=i.sub[7].getHexStringValue();this.dmq1=M(c,16);var h=i.sub[8].getHexStringValue();this.coeff=M(h,16)}else{if(2!==i.sub.length)return!1;var l=i.sub[1].sub[0];e=l.sub[0].getHexStringValue(),this.n=M(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,GT.exports);var WT=O,XT=z,ZT=Ms,YT=ot,JT=XT(D.f),$T=XT([].push),QT=function(t){return function(e){for(var r,n=YT(e),i=ZT(n),o=i.length,a=0,s=[];o>a;)r=i[a++],WT&&!JT(n,r)||$T(s,t?[r,n[r]]:n[r]);return s}},tE={entries:QT(!0),values:QT(!1)}.values;fi({target:"Object",stat:!0},{values:function(t){return tE(t)}});var eE=fi,rE=Es.find,nE=_d,iE="find",oE=!0;iE in[]&&Array(1).find((function(){oE=!1})),eE({target:"Array",proto:!0,forced:oE},{find:function(t){return rE(this,t,arguments.length>1?arguments[1]:void 0)}}),nE(iE);var aE=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 sE=function(t){return t?JSON.parse(JSON.stringify(t)):null};var uE=function(t){return"string"==typeof t||t instanceof String};var cE=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)},hE=sE,lE=cE;var fE,pE=function(t,e,r){var n,i,o,a;for(n=0;n<e.patterns.length;n++)if(i=e.patterns[n],lE(t,i)){a=hE(e),o=Array.isArray(i)?String(i[0]).length:String(i).length,t.length>=o&&(a.matchStrength=o),r.push(a);break}},dE={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}}},gE=sE,mE=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}))},vE=uE,yE=pE,bE={},wE={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"},SE=[wE.VISA,wE.MASTERCARD,wE.AMERICAN_EXPRESS,wE.DINERS_CLUB,wE.DISCOVER,wE.JCB,wE.UNIONPAY,wE.MAESTRO,wE.ELO,wE.MIR,wE.HIPER,wE.HIPERCARD];function TE(t){return bE[t]||dE[t]}function EE(t,e){var r=fE.indexOf(t);if(!e&&-1===r)throw new Error('"'+t+'" is not a supported card type.');return r}function AE(t){var e,r=[];return vE(t)?0===t.length?fE.map((function(t){return gE(TE(t))})):(fE.forEach((function(e){var n=TE(e);yE(t,n,r)})),(e=mE(r))?[e]:r):[]}fE=gE(SE),AE.getTypeInfo=function(t){return gE(TE(t))},AE.removeCard=function(t){var e=EE(t);fE.splice(e,1)},AE.addCard=function(t){var e=EE(t.type,!0);bE[t.type]=t,-1===e&&fE.push(t.type)},AE.updateCard=function(t,e){var r,n=bE[t]||dE[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=gE(n),Object.keys(r).forEach((function(t){e[t]&&(r[t]=e[t])})),bE[r.type]=r},AE.changeOrder=function(t,e){var r=EE(t);fE.splice(r,1),fE.splice(e,0,t)},AE.resetModifications=function(){fE=gE(SE),bE={}},AE.types=wE;var xE=AE,kE=aE,OE=xE;function PE(t,e,r){return{card:t,isPotentiallyValid:e,isValid:r}}var CE=function(t,e){var r,n,i,o,a;if(e=e||{},"number"==typeof t&&(t=String(t)),"string"!=typeof t)return PE(null,!1,!1);if(t=t.replace(/\-|\s/g,""),!/^\d*$/.test(t))return PE(null,!1,!1);if(0===(r=OE(t)).length)return PE(null,!1,!1);if(1!==r.length)return PE(null,!0,!1);if(n=r[0],e.maxLength&&t.length>e.maxLength)return PE(n,!1,!1);for(i=n.type===OE.types.UNIONPAY&&!0!==e.luhnValidateUnionPay||kE(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 PE(n,t.length<a||i,i);return PE(n,t.length<a,!1)};function RE(t,e,r){return{isValid:t,isPotentiallyValid:e,isCurrentYear:r||!1}}var BE=function(t,e){var r,n,i,o,a;return e=e||19,"string"!=typeof t?RE(!1,!1):""===t.replace(/\s/g,"")?RE(!1,!0):/^\d*$/.test(t)?(n=t.length)<2?RE(!1,!0):(r=(new Date).getFullYear(),3===n?RE(!1,t.slice(0,2)===String(r).slice(0,2)):n>4?RE(!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),RE(o,o,a))):RE(!1,!1)},DE=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)},IE=BE,LE=DE;function jE(t,e,r){return{isValid:t,isPotentiallyValid:e,isValidForThisYear:r||!1}}var NE=function(t){var e,r,n=(new Date).getMonth()+1;return"string"!=typeof t?jE(!1,!1):""===t.replace(/\s/g,"")||"0"===t?jE(!1,!0):/^\d*$/.test(t)?(e=parseInt(t,10),isNaN(t)?jE(!1,!1):jE(r=e>0&&e<13,r,r&&e>=n)):jE(!1,!1)},ME=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)),LE(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),IE(i).isPotentiallyValid?1:2):5===n.length?1:n.length>5?2:1,{month:e=t.substr(0,r),year:t.substr(e.length)})},_E=NE,VE=BE;function UE(t,e,r,n){return{isValid:t,isPotentiallyValid:e,month:r,year:n}}function FE(t,e){return{isValid:t,isPotentiallyValid:e}}function qE(t,e){return{isValid:t,isPotentiallyValid:e}}var HE={number:CE,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=ME(t);else{if(null===t||"object"!=typeof t)return UE(!1,!1,null,null);r={month:String(t.month),year:String(t.year)}}if(n=_E(r.month),i=VE(r.year,e),n.isValid){if(i.isCurrentYear)return UE(o=n.isValidForThisYear,o,r.month,r.year);if(i.isValid)return UE(!0,!0,r.month,r.year)}return n.isPotentiallyValid&&i.isPotentiallyValid?UE(!1,!0,null,null):UE(!1,!1,null,null)},expirationMonth:NE,expirationYear:BE,cvv:function(t,e){return e=(e=e||3)instanceof Array?e:[e],"string"!=typeof t?FE(!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)?FE(!0,!0):t.length<Math.min.apply(null,e)?FE(!1,!0):t.length>function(t){for(var e=3,r=0;r<t.length;r++)e=t[r]>e?t[r]:e;return e}(e)?FE(!1,!1):FE(!0,!0):FE(!1,!1)},postalCode:function(t,e){var r;return r=(e=e||{}).minLength||3,"string"!=typeof t?qE(!1,!1):t.length<r?qE(!1,!0):qE(!0,!0)},creditCardType:xE},zE=[{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"}];HE.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}}),HE.creditCardType.changeOrder("verve",0);var GE=function(){function t(e){var r=e.number,n=e.cvv,i=e.month,o=e.year,s=e.pin;a(this,t),this.number=r,this.cvv=n,this.month=i,this.year=o,this.pin=s}return u(t,[{key:"getEncryptedPin",value:function(){return this.pin?KT(this.pin):void 0}},{key:"getLast4",value:function(){return this.number.substring(this.number.length-4)}},{key:"tokenize",value:function(){return KT("".concat(this.number,"*").concat(this.cvv,"*").concat(this.month,"*").concat(this.year))}}],[{key:"getType",value:function(t){var e=HE.number(t);return e&&e.card?{type:e.card.type,maxLength:Math.max.apply(Math,b(e.card.lengths)),minLength:Math.min.apply(Math,b(e.card.lengths))}:{type:null,maxLength:0}}},{key:"validate",value:function(e){var r=e.number,n=e.cvv,i=e.month,o=e.year,a=t.getType(r).type,s={number:t.isNumberValid(r),expiry:t.isExpiryValid({month:i,year:o}),cvv:t.isCvvValid(n,a)};return{isValid:Object.values(s).every((function(t){return!0===t})),result:s}}},{key:"validateNumber",value:function(t){return HE.number(t)}},{key:"isNumberValid",value:function(e){return t.validateNumber(e).isValid}},{key:"validateCVV",value:function(t,e){var r="american-express"===e?4:3;return HE.cvv(t,r)}},{key:"isCvvValid",value:function(e,r){return t.validateCVV(e,r).isValid}},{key:"validateExpiry",value:function(t){if("object"===n(t)){var e=t.month,r=t.year;return HE.expirationMonth(e)&&HE.expirationYear(r)}return HE.expirationDate(t)}},{key:"isExpiryValid",value:function(e){return t.validateExpiry(e).isValid}},{key:"generateTestCard",value:function(e){var r=e||"default";return new t(zE.find((function(t){return t.type===r})))}}]),t}(),KE=function(t){var e=t.clientdata,n=t.last4,i=t.pin,o=t.trans,a=t.device,s=t.rememberCard,u=t.transactionType,c=t.subscription,h=t.customFields,l="".concat(Dd.paymentBaseUrl,"charge/"),f=ST(),p=r({"Content-Type":"application/x-www-form-urlencoded"},f&&{"Accept-Language":f}),d=r(r(r({clientdata:e,last4:n,trans:o,device:a,offset:(new Date).getTimezoneOffset(),remember_card:s},u&&{transaction_type:u}),c&&{subscription:c}),h&&h);i&&(d.handle=i);var g=BT(d);return wT.post(l,g,{headers:p}).then((function(t){return Kd.parse(t.data)}))},WE=function(t){var e=t.device,n=t.accessCode,i=t.pin,o="".concat(Dd.paymentBaseUrl,"charge/resume/").concat(n),a=ST(),s=r({"Content-Type":"application/x-www-form-urlencoded"},a&&{"Accept-Language":a}),u=r({device:e},i&&{handle:i}),c=BT(u);return wT.post(o,c,{headers:s}).then((function(t){return Kd.parse(t.data)}))},XE=function(t){var e=t.last4,n=t.trans,i=t.device,o=t.authorizationCode,a=t.cvv,s=t.pin,u=t.transactionType,c=t.subscription,h="".concat(Dd.paymentBaseUrl,"charge/"),l=ST(),f=r({"Content-Type":"application/x-www-form-urlencoded"},l&&{"Accept-Language":l}),p=r(r({last4:e,trans:n,device:i,cvv:a,handle:s,authorization_code:o},u&&{transaction_type:u}),c&&{subscription:c}),d=BT(p);return wT.post(h,d,{headers:f}).then((function(t){return Kd.parse(t.data)}))},ZE=function(t,e){var n="".concat(Dd.paymentBaseUrl,"charge/validate"),i={trans:t,token:e},o=ST(),a=r({},o&&{"Accept-Language":o}),s=BT(i);return wT.post(n,s,{headers:a}).then((function(t){return Kd.parse(t.data)}))},YE=function(t){var e=t.address,n=t.city,i=t.state,o=t.zipCode,a=t.transactionId,s="".concat(Dd.paymentBaseUrl,"charge/avs"),u=ST(),c=r({"Content-Type":"application/x-www-form-urlencoded"},u&&{"Accept-Language":u}),h=BT({city:n,state:i,address:e,zip_code:o,trans:a});return wT.post(s,h,{headers:c}).then((function(t){return Kd.parse(t.data)}))},JE=function(t){var e=t.authorizationId,n=t.publicKey,i=ST(),o=r({Authorization:"Bearer ".concat(n)},i&&{"Accept-Language":i}),a={authorization_id:e},s="".concat(Dd.paystackApiUrl,"rememberme/forget_card");return wT.post(s,a,{headers:o}).then((function(t){return Kd.parse(t.data)}))},$E="card";function QE(t,e){return new Promise((function(r,n){var i=GE.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 tA={setCard:function(t){var e=this;return QE(t,!0).then((function(){e.card=new GE(t)}))},rememberCard:function(){this.remember_card=!0},chargeCard:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return QE(this.card).then((function(){t.logAttempt($E);var r={clientdata:t.card.tokenize(),last4:t.card.getLast4(),pin:t.card.getEncryptedPin(),trans:t.id,device:t.deviceFingerprint,rememberCard:t.remember_card,transactionType:t.transactionType,subscription:t.subscription,customFields:e};return KE(r).then((function(e){return t.logAPIResponse(e,$E),e}))}))},chargeRememberedCard:function(t){var e=this,r=t.cvv,n=t.authorizationCode,i=t.cardLast4,o=t.pin;this.logAttempt($E);var a=KT(o),s={authorizationCode:n,cvv:r,last4:i,trans:this.id,device:this.deviceFingerprint,pin:a,transactionType:this.transactionType,subscription:this.subscription};return XE(s).then((function(t){return e.logAPIResponse(t,$E),t}))},resumeCardCharge:function(t){var e=this,n=t.accessCode,i=t.pin,o=r(r({},i&&{pin:KT(i)}),{},{accessCode:n,device:this.deviceFingerprint});return WE(o).then((function(t){return e.logAPIResponse(t,$E),t}))},forgetRememberedCard:function(t){var e=this,r={authorizationId:t,publicKey:this.merchant.key};return JE(r).then((function(t){return e.logAPIResponse(t,$E),t}))},authenticateCard:function(t){var e=this;return ZE(this.id,t).then((function(t){return e.logAPIResponse(t,$E),t}))},verifyAddress:function(t){var e=this,r=t.address,n={city:t.city,state:t.state,address:r,zipCode:t.zipCode,transactionId:this.id};return YE(n).then((function(t){return e.logAPIResponse(t,$E),t}))},listenFor3DSCharge:function(t){var e={channel:"3DS_".concat(this.id),paymentMethod:$E};return this.listenForCharge(e,t)}},eA=function(){function t(e){var r=e.bankId,n=e.accountType,i=e.accountNumber;a(this,t),this.bankId=r,this.accountType=n,this.accountNumber=i}return u(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(Dd.paymentBaseUrl,"bank?pay_with_bank=true"),e=ST(),n=r({},e&&{"Accept-Language":e});return wT.post(t,{headers:n}).then((function(t){return t.data}))}}]),t}();eA.types=["nuban"];var rA=function(t){var e=t.bankId,n=t.transactionId,i=t.accountNumber,o=t.device,a="".concat(Dd.paymentBaseUrl,"bank/charge_account/").concat(e,"/").concat(n),s=ST(),u=r({"Content-Type":"application/x-www-form-urlencoded"},s&&{"Accept-Language":s}),c=BT({account_number:i,device:o});return wT.post(a,c,{headers:u}).then((function(t){return Kd.parse(t.data)}))},nA=function(t){var e=t.bankId,n=t.transactionId,i=t.accountNumber,o=t.birthday,a="".concat(Dd.paymentBaseUrl,"bank/charge_account/").concat(e,"/").concat(n),s=ST(),u=r({"Content-Type":"application/x-www-form-urlencoded"},s&&{"Accept-Language":s}),c=BT({account_number:i,birthday:o});return wT.post(a,c,{headers:u}).then((function(t){return Kd.parse(t.data)}))},iA=function(t){var e=t.bankId,n=t.transactionId,i=t.token,o=t.device,a="".concat(Dd.paymentBaseUrl,"bank/validate_token/").concat(e,"/").concat(n),s=ST(),u=r({"Content-Type":"application/x-www-form-urlencoded"},s&&{"Accept-Language":s}),c=BT({device:o,token:i});return wT.post(a,c,{headers:u}).then((function(t){return Kd.parse(t.data)}))},oA="bank account";function aA(t,e){return new Promise((function(r,n){var i=eA.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 sA={getIbankUrl:function(t){var e=this,r=t.bankId;return new Promise((function(t,n){r||n(Error("Please send bankId"));var i="".concat(Dd.paymentBaseUrl,"bank/ibank/").concat(r,"/").concat(e.id);t(Kd.success({url:i}))}))},listenForIbankCharge:function(t){var e={channel:"IBANK_".concat(this.id),paymentMethod:"ibank"};return this.listenForCharge(e,t)}},uA=function(t){var e=t.bankId,n=t.transactionId,i=t.phoneNumber,o=t.payId,a="".concat(Dd.paymentBaseUrl,"bank/digitalbankmandate/").concat(e,"/").concat(n),s=ST(),u=r({"Content-Type":"application/x-www-form-urlencoded"},s&&{"Accept-Language":s}),c=BT({phone_number:i,token:o});return wT.post(a,c,{headers:u}).then((function(t){return Kd.parse(t.data)}))},cA="bank",hA={chargeDigitalBankMandate:function(t){var e=this,r=t.phoneNumber,n=t.payId,i=t.bankId,o={transactionId:this.id,phoneNumber:r,payId:n,bankId:i};return uA(o).then((function(t){return e.logAPIResponse(t,cA),t}))},listenForDigitalBankMandateCharge:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r={paymentMethod:cA,channel:e};return this.listenForCharge(r,t)}},lA=r(r(r({},{setBankAccount:function(t){var e=this;return aA(t,!0).then((function(){e.bankAccount=new eA(t)}))},chargeBankAccount:function(){var t=this;return aA(this.bankAccount).then((function(){t.logAttempt(oA);var e={bankId:t.bankAccount.bankId,transactionId:t.id,accountNumber:t.bankAccount.accountNumber,device:t.deviceFingerprint};return rA(e).then((function(e){return t.logAPIResponse(e,oA),e}))}))},registerBankAccount:function(t){var e=this;return aA(this.bankAccount).then((function(){var r={bankId:e.bankAccount.bankId,transactionId:e.id,accountNumber:e.bankAccount.accountNumber,birthday:t};return nA(r).then((function(t){return e.logAPIResponse(t,oA),t}))}))},authenticateBankAccount:function(t){var e=this;return aA(this.bankAccount).then((function(){var r={bankId:e.bankAccount.bankId,transactionId:e.id,token:t,device:e.deviceFingerprint};return iA(r).then((function(t){return e.logAPIResponse(t,oA),t}))}))}}),sA),hA),fA=function(t,e){var n=ST(),i=r({Authorization:"Bearer ".concat(e)},n&&{"Accept-Language":n});return wT.post("".concat(Dd.paystackApiUrl,"checkout/ussd/reference"),t,{headers:i}).then((function(t){return Kd.parse(t.data)}))},pA=function(t,e){var n=ST(),i=r({Authorization:"Bearer ".concat(e)},n&&{"Accept-Language":n});return wT.post("".concat(Dd.paystackApiUrl,"checkout/pay_with_transfer_ussd"),t,{headers:i}).then((function(t){return Kd.parse(t.data)}))},dA={getUSSDShortcode:function(t){var e=this,r=t.channel,n={transaction:this.id,channel:r};return fA(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 pA(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)}},gA=function(t,e){var n={source:"checkout",reference:t.transaction,channel:t.channel},i=ST(),o=r({Authorization:"Bearer ".concat(e)},i&&{"Accept-Language":i});return wT.post("".concat(Dd.paystackApiUrl,"offline/qr/generate"),n,{headers:o}).then((function(t){return Kd.parse(t.data)}))};function mA(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 vA={getQRCode:function(t){var e=this,r=t.channel;return mA(r).then((function(){if(e.qr[r])return e.qr[r];var t={transaction:e.id,channel:r};return gA(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 mA(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)}))}},yA=function(){function t(){a(this,t)}return u(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}(),bA=function(t){var e={transaction:t.transaction,phone:t.phone,device:t.device,channel_name:t.channel_name,provider:t.provider,voucher:t.voucher,registration_token:t.registrationToken},n=ST(),i=r({},n&&{"Accept-Language":n});return wT.post("".concat(Dd.paystackApiUrl,"charge/mobile_money"),e,{headers:i}).then((function(t){return Kd.parse(t.data)})).catch((function(t){var e=t.response&&t.response.data;return e?Kd.parse(r(r({},e),{},{errors:e})):Kd.parse(t)}))};function wA(t){return new Promise((function(e,r){var n=yA.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)}))}var SA={chargeMobileMoney:function(t){var e=this,r=t.phoneNumber,n=t.provider,i=t.voucher;return wA(r).then((function(){e.logAttempt("mobile money");var t={provider:n,voucher:i,transaction:e.id,phone:r,device:e.deviceFingerprint,channel_name:"MOBILE_MONEY_".concat(e.id)};return bA(t).then((function(t){return"success"===t.status&&(e.mobileMoney=t),t}))}))},authenticateMobileMoney:function(t){var e=this,r=t.phoneNumber,n=t.provider,i=t.registrationToken;return wA(r).then((function(){e.logMobileMoneyActions(t);var o={provider:n,registrationToken:i,transaction:e.id,phone:r,device:e.deviceFingerprint,channel_name:"MOBILE_MONEY_".concat(e.id)};return bA(o).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}))}))},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)}},TA=function(t,e){var n="".concat(Dd.paystackApiUrl,"checkout/pay_with_phone/verify"),i=ST(),o=r({Authorization:"Bearer ".concat(e)},i&&{"Accept-Language":i});return wT.post(n,{phone:t},{headers:o}).then((function(t){return t.data}))},EA=function(t,e,n){var i="".concat(Dd.paystackApiUrl,"checkout/pay_with_phone/remove_card"),o=ST(),a=r({Authorization:"Bearer ".concat(e)},o&&{"Accept-Language":o});return wT.post(i,{phone:t,id:n},{headers:a}).then((function(t){return t.data}))},AA=function(t,e,n,i){var o="".concat(Dd.paystackApiUrl,"checkout/pay_with_phone/validate_otp"),a=ST(),s=r({Authorization:"Bearer ".concat(e)},a&&{"Accept-Language":a});return wT.post(o,{phone:t,otp:n,transaction:i},{headers:s}).then((function(t){return t.data}))},xA=function(t,e,n,i){var o="".concat(Dd.paystackApiUrl,"checkout/pay_with_phone/validate_pin"),a=ST(),s=r({Authorization:"Bearer ".concat(e)},a&&{"Accept-Language":a});return wT.post(o,{phone:t,pin:n,transaction:i},{headers:s}).then((function(t){return t.data}))},kA=function(t,e,n,i,o){var a=ST(),s="".concat(Dd.paystackApiUrl,"checkout/pay_with_phone/set_pin"),u=r({Authorization:"Bearer ".concat(e)},a&&{"Accept-Language":a});return wT.post(s,{phone:t,token:n,transaction:i,pin:o},{headers:u}).then((function(t){return t.data}))},OA=function(t,e,n,i,o,a){var s="".concat(Dd.paystackApiUrl,"checkout/pay_with_phone/charge"),u=ST(),c=r({Authorization:"Bearer ".concat(e)},u&&{"Accept-Language":u});return wT.post(s,{id:t,token:n,cvv:o,transaction:i,phone:a},{headers:c}).then((function(t){return t.data}))},PA=function(t,e,n){var i="".concat(Dd.paystackApiUrl,"checkout/pay_with_phone/enroll"),o=ST(),a=r({Authorization:"Bearer ".concat(e)},o&&{"Accept-Language":o});return wT.post(i,{phone:t,transaction:n},{headers:a}).then((function(t){return t.data}))};function CA(t){return new Promise((function(e,r){var n=yA.validate(t);if(!n.isValid){var i=t?n.errors[0]:"Please set a valid customer with Transaction.setCustomer()";r(Error(i))}e(n)}))}var RA={setCustomer:function(t){var e=this,r=t.phoneNumber;return CA(r).then((function(){e.customer=r}))},verifyCustomer:function(){var t=this;return CA(this.customer).then((function(){return TA(t.customer,t.merchant.key)}))},deleteSavedCard:function(t){var e=this;return CA(this.customer).then((function(){return EA(e.customer,e.merchant.key,t)}))},authenticateCustomerOtp:function(t){var e=this;return CA(this.customer).then((function(){return AA(e.customer,e.merchant.key,t,e.id)}))},authenticateCustomerPin:function(t){var e=this;return CA(this.customer).then((function(){return xA(e.customer,e.merchant.key,t,e.id)}))},setCustomerPin:function(t){var e=this,r=t.pin,n=t.token;return CA(this.customer).then((function(){return kA(e.customer,e.merchant.key,n,e.id,r)}))},chargeSavedCard:function(t){var e=this,r=t.cardId,n=t.token,i=t.cvv;return CA(this.customer).then((function(){return OA(r,e.merchant.key,n,e.id,i,e.customer)}))},enrollPhoneNumber:function(t){var e=this;return CA(this.customer).then((function(){return PA(t,e.merchant.key,e.id)}))}},BA=function(t){var e={email:t.email,password:t.password},n=ST(),i=r({},n&&{"Accept-Language":n});return wT.post("".concat(Dd.paystackApiUrl,"login"),e,{headers:i}).then((function(t){return Kd.parse(t.data)}))},DA=function(t){var e=t.account_code,n=t.transaction,i=t.token,o=ST(),a=r({Authorization:"Bearer ".concat(i),"jwt-auth":!0},o&&{"Accept-Language":o}),s={account_code:e,transaction:n};return wT.post("".concat(Dd.paystackApiUrl,"directdebit/initiate"),s,{headers:a}).then((function(t){return Kd.parse(t.data)}))},IA=function(t){var e=t.otp,n=t.transaction,i=t.token,o=ST(),a=r({Authorization:"Bearer ".concat(i),"jwt-auth":!0},o&&{"Accept-Language":o}),s={otp:e,transaction:n};return wT.post("".concat(Dd.paystackApiUrl,"directdebit/validate"),s,{headers:a}).then((function(t){return Kd.parse(t.data)}))},LA=function(t){var e=ST(),n=r({Authorization:"Bearer ".concat(t),"jwt-auth":!0},e&&{"Accept-Language":e});return wT.get("".concat(Dd.paystackApiUrl,"directdebit/account"),{headers:n}).then((function(t){return t.data}))},jA="direct debit",NA={loginToDirectDebitAccount:function(t){var e=this,r=t.email,n={email:r,password:t.password};return Mc(r)?BA(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(jA);var r={account_code:t,transaction:this.id,token:this.directDebit.token};return DA(r).then((function(t){return e.logAPIResponse(t,jA),t.status&&(e.directDebit.chargeResponse=t),t}))},getProvisionedAccounts:function(){var t=this;return LA(this.directDebit.token).then((function(e){t.logAPIResponse(e,jA);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 IA(r).then((function(t){return e.logAPIResponse(t,jA),t}))}},MA=function(t){return{card:tA,bank:lA,ussd:dA,qr:vA,mobile_money:SA,phone:RA,direct_debit:NA,bank_transfer:CT,eft:jT,payattitude:LT,apple_pay:VT,paypal:zT}[t]},_A=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 VA=fi,UA=ft,FA=fa,qA=z,HA=k,zA=A.Array,GA=UA("JSON","stringify"),KA=qA(/./.exec),WA=qA("".charAt),XA=qA("".charCodeAt),ZA=qA("".replace),YA=qA(1..toString),JA=/[\uD800-\uDFFF]/g,$A=/^[\uD800-\uDBFF]$/,QA=/^[\uDC00-\uDFFF]$/,tx=function(t,e,r){var n=WA(r,e-1),i=WA(r,e+1);return KA($A,t)&&!KA(QA,i)||KA(QA,t)&&!KA($A,n)?"\\u"+YA(XA(t,0),16):t},ex=HA((function(){return'"\\udf06\\ud834"'!==GA("\udf06\ud834")||'"\\udead"'!==GA("\udead")}));GA&&VA({target:"JSON",stat:!0,forced:ex},{stringify:function(t,e,r){for(var n=0,i=arguments.length,o=zA(i);n<i;n++)o[n]=arguments[n];var a=FA(GA,null,o);return"string"==typeof a?ZA(a,JA,tx):a}});var rx=function(t,e,n){var i="".concat(Dd.paystackApiUrl,"transaction/update_log/").concat(t),o=ST(),a=r({Authorization:"Bearer ".concat(e)},o&&{"Accept-Language":o});return wT.post(i,{payload:JSON.stringify(n)},{headers:a}).then((function(t){return t.data}))},nx=function(t,e){var n="".concat(Dd.paystackApiUrl,"transaction/set_ip/").concat(t),i=ST(),o=r({Authorization:"Bearer ".concat(e)},i&&{"Accept-Language":i});return wT.post(n,null,{headers:o}).then((function(t){return t.data}))},ix=function(t,e,n){var i="".concat(Dd.paystackApiUrl,"transaction/set_referrer/").concat(t),o=ST(),a=r({Authorization:"Bearer ".concat(e)},o&&{"Accept-Language":o});return wT.post(i,{referrer:n},{headers:a}).then((function(t){return t.data}))},ox={initializeLog:function(t){var e=t||{},r=e.attempts,n=e.authentication,i=e.errors,o=e.history;this.log={start_time:Math.round(Date.now()/1e3),time_spent:0,attempts:r||0,authentication:n,errors:i||0,success:!1,mobile:_A(),input:[],history:o||[]}},getTimeSpent:function(){var t=Math.round(Date.now()/1e3);return this.log.time_spent=t-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 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()},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.isResendTokenRequest,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=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=e?"Customer requested to resend OTP":"Waiting for customer to submit OTP";return this.log.history.push({type:"action",message:r,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()},saveLog:function(){return rx(this.id,this.merchant.key,this.log)},saveIpAddress:function(){return nx(this.id,this.merchant.key)},saveReferrer:function(t){return ix(this.id,this.merchant.key,t)}},ax=function(){function t(e){var r=this;a(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.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.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,window?new Promise((function(t,e){var r=new XMLHttpRequest;r.open("GET",Dd.pusherUrl),r.onload=function(){if(r.status>=200&&r.status<300){var n=document.createElement("script");n.appendChild(document.createTextNode(r.responseText)),document.head.appendChild(n),t()}else e(r.statusText)},r.onerror=function(){return e(r.statusText)},r.send(null)})):Promise.reject(new Error("Window object not available")),this.log=null,Object.assign(this,ox),this.initializeLog(e.log),this.saveIpAddress(),this.channels.forEach((function(t){var e=MA(t);Object.assign(r,e)})),"GHS"===e.currency&&e.elevy_percentage&&(this.elevyPercentage=e.elevy_percentage)}return u(t,[{key:"setMetadata",value:function(t,e){this.metadata[t]=e}},{key:"setDevice",value:function(t){this.deviceFingerprint?ld("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){var r,n=this,i=t.channel,o=t.paymentMethod;window&&window.Pusher&&(r=new window.Pusher(Dd.pusherKey,{cluster:"eu",disableStats:!0}));var a={status:"error",message:"We could not listen for charge response. Use transaction.requery() to check the status."},s=function(){r.unsubscribe(i)};if(!r)return e({status:"error",message:"We could not listen for charge response."},Id);var u=r.subscribe(i);u.bind("pusher:subscription_succeeded",(function(){n.isListening=!0})),u.bind("pusher:subscription_error",(function(){n.isListening=!1,e(a,Id)})),u.bind("response",(function(t){var r=Kd.parse(t);n.logAPIResponse(r,o),e(r,s)}))}},{key:"requery",value:function(){return kT(this.id)}},{key:"markAsAbandoned",value:function(){return OT({publicKey:this.merchant.key,transactionId:this.id})}}]),t}(),sx={validate:function(t){var e=function(t){var e=[];return t&&"object"===n(t)?(Object.keys(Uc).forEach((function(r){var n=Uc[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=y(e,1)[0].message;throw new rs(e,r)}},request:function(t){return o(regeneratorRuntime.mark((function e(){var n,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,pd();case 2:return n=e.sent,e.next=5,TT(r(r({},t),{device:n}));case 5:return i=e.sent,e.abrupt("return",i&&Object.seal(new ax(r(r({},i.data),{deviceFingerprint:n}))));case 7:case"end":return e.stop()}}),e)})))()},requestWithAccessCode:function(t){return o(regeneratorRuntime.mark((function e(){var n,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,pd();case 2:return n=e.sent,e.next=5,ET(t);case 5:return i=e.sent,e.abrupt("return",i&&Object.seal(new ax(r(r({},i.data),{deviceFingerprint:n}))));case 7:case"end":return e.stop()}}),e)})))()},getByAccessCode:function(t,e){return o(regeneratorRuntime.mark((function n(){var i,o;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,pd();case 2:return i=n.sent,n.next=5,AT(t,e);case 5:return o=n.sent,n.abrupt("return",o&&Object.seal(new ax(r(r({},o.data),{deviceFingerprint:i}))));case 7:case"end":return n.stop()}}),n)})))()},initialize:function(t){return Object.seal(new ax(t))},verify:function(t){return o(regeneratorRuntime.mark((function e(){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,xT(t);case 2:return r=e.sent,e.abrupt("return",r&&r.data);case 4:case"end":return e.stop()}}),e)})))()}},ux=function(t){var e="".concat(Dd.paystackApiUrl,"bank"),n=ST(),i={params:t,headers:r({},n&&{"Accept-Language":n})};return wT.get(e,i).then((function(t){return t.data}))},cx=function(){var t="".concat(Dd.paystackApiUrl,"checkout/resolutions"),e=ST(),n=r({},e&&{"Accept-Language":e});return wT.get(t,{headers:n}).then((function(t){return t.data}))},hx=function(){var t="".concat(Dd.paystackApiUrl,"checkout/celebrations"),e=ST(),n=r({},e&&{"Accept-Language":e});return wT.get(t,{headers:n}).then((function(t){return t.data}))},lx=function(t){var e="".concat(Dd.paystackApiUrl,"address_verification/states"),n=ST(),i={params:t,headers:r({},n&&{"Accept-Language":n})};return wT.get(e,i).then((function(t){return t.data}))},fx=function(){function t(){a(this,t)}return u(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:"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=ux(e||{pay_with_bank:"1"});break;case"resolutions":r=cx();break;case"celebrations":r=hx();break;case"states":r=lx(e)}return r}}]),t}();return t.BankAccount=eA,t.Card=GE,t.Toolkit=fx,t.Transaction=sx,Object.defineProperty(t,"__esModule",{value:!0}),t}({});
package/es/checkout.js CHANGED
@@ -19276,20 +19276,18 @@ function validate$1(phoneNumber) {
19276
19276
  }
19277
19277
 
19278
19278
  var MobileMoneyCharge = {
19279
- chargeMobileMoney: function chargeMobileMoney(payload) {
19279
+ chargeMobileMoney: function chargeMobileMoney(_ref) {
19280
19280
  var _this = this;
19281
19281
 
19282
- var phoneNumber = payload.phoneNumber,
19283
- provider = payload.provider,
19284
- voucher = payload.voucher,
19285
- registrationToken = payload.registrationToken;
19282
+ var phoneNumber = _ref.phoneNumber,
19283
+ provider = _ref.provider,
19284
+ voucher = _ref.voucher;
19286
19285
  return validate$1(phoneNumber).then(function () {
19287
- _this.logMobileMoneyActions(payload);
19286
+ _this.logAttempt('mobile money');
19288
19287
 
19289
19288
  var params = {
19290
19289
  provider: provider,
19291
19290
  voucher: voucher,
19292
- registrationToken: registrationToken,
19293
19291
  transaction: _this.id,
19294
19292
  phone: phoneNumber,
19295
19293
  device: _this.deviceFingerprint,
@@ -19298,14 +19296,40 @@ var MobileMoneyCharge = {
19298
19296
  return MobileMoneyAPI.charge(params).then(function (response) {
19299
19297
  if (response.status === 'success') {
19300
19298
  _this.mobileMoney = response;
19299
+ }
19300
+
19301
+ return response;
19302
+ });
19303
+ });
19304
+ },
19305
+ authenticateMobileMoney: function authenticateMobileMoney(payload) {
19306
+ var _this2 = this;
19307
+
19308
+ var phoneNumber = payload.phoneNumber,
19309
+ provider = payload.provider,
19310
+ registrationToken = payload.registrationToken;
19311
+ return validate$1(phoneNumber).then(function () {
19312
+ _this2.logMobileMoneyActions(payload);
19313
+
19314
+ var params = {
19315
+ provider: provider,
19316
+ registrationToken: registrationToken,
19317
+ transaction: _this2.id,
19318
+ phone: phoneNumber,
19319
+ device: _this2.deviceFingerprint,
19320
+ channel_name: "MOBILE_MONEY_".concat(_this2.id)
19321
+ };
19322
+ return MobileMoneyAPI.charge(params).then(function (response) {
19323
+ if (response.status === 'success') {
19324
+ _this2.mobileMoney = response;
19301
19325
 
19302
19326
  if (response.data && response.data.display && response.data.display.otpSentCount === 1) {
19303
- _this.logTokenRequest('mobile money');
19327
+ _this2.logTokenRequest('mobile money');
19304
19328
  }
19305
19329
  } else if (response.errors && response.errors.data && response.errors.data.status === 'awaiting_registration_token') {
19306
- _this.logTokenAuthenticationFailure(response.message);
19330
+ _this2.logTokenAuthenticationFailure(response.message);
19307
19331
  } else {
19308
- _this.logError(response.message);
19332
+ _this2.logError(response.message);
19309
19333
  }
19310
19334
 
19311
19335
  return response;
@@ -19991,11 +20015,11 @@ var AnalyticsFunctions = {
19991
20015
  }
19992
20016
  },
19993
20017
  logMobileMoneyActions: function logMobileMoneyActions(_ref2) {
19994
- var numberOfTokenRequests = _ref2.numberOfTokenRequests,
20018
+ var isResendTokenRequest = _ref2.isResendTokenRequest,
19995
20019
  registrationToken = _ref2.registrationToken;
19996
20020
 
19997
- if (numberOfTokenRequests) {
19998
- this.logTokenRequest('mobile money', numberOfTokenRequests);
20021
+ if (isResendTokenRequest) {
20022
+ this.logTokenRequest('mobile money', isResendTokenRequest);
19999
20023
  } else if (registrationToken) {
20000
20024
  this.logTokenSubmitted('mobile money');
20001
20025
  } else {
@@ -20026,8 +20050,8 @@ var AnalyticsFunctions = {
20026
20050
  return this.saveLog();
20027
20051
  },
20028
20052
  logTokenRequest: function logTokenRequest(channel) {
20029
- var numberOfTokenRequests = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
20030
- var message = numberOfTokenRequests === 0 ? 'Waiting for customer to submit OTP' : 'Customer requested to resend OTP';
20053
+ var isResendTokenRequest = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
20054
+ var message = isResendTokenRequest ? 'Customer requested to resend OTP' : 'Waiting for customer to submit OTP';
20031
20055
  this.log.history.push({
20032
20056
  type: 'action',
20033
20057
  message: message,
package/lib/checkout.js CHANGED
@@ -19280,20 +19280,18 @@ function validate$1(phoneNumber) {
19280
19280
  }
19281
19281
 
19282
19282
  var MobileMoneyCharge = {
19283
- chargeMobileMoney: function chargeMobileMoney(payload) {
19283
+ chargeMobileMoney: function chargeMobileMoney(_ref) {
19284
19284
  var _this = this;
19285
19285
 
19286
- var phoneNumber = payload.phoneNumber,
19287
- provider = payload.provider,
19288
- voucher = payload.voucher,
19289
- registrationToken = payload.registrationToken;
19286
+ var phoneNumber = _ref.phoneNumber,
19287
+ provider = _ref.provider,
19288
+ voucher = _ref.voucher;
19290
19289
  return validate$1(phoneNumber).then(function () {
19291
- _this.logMobileMoneyActions(payload);
19290
+ _this.logAttempt('mobile money');
19292
19291
 
19293
19292
  var params = {
19294
19293
  provider: provider,
19295
19294
  voucher: voucher,
19296
- registrationToken: registrationToken,
19297
19295
  transaction: _this.id,
19298
19296
  phone: phoneNumber,
19299
19297
  device: _this.deviceFingerprint,
@@ -19302,14 +19300,40 @@ var MobileMoneyCharge = {
19302
19300
  return MobileMoneyAPI.charge(params).then(function (response) {
19303
19301
  if (response.status === 'success') {
19304
19302
  _this.mobileMoney = response;
19303
+ }
19304
+
19305
+ return response;
19306
+ });
19307
+ });
19308
+ },
19309
+ authenticateMobileMoney: function authenticateMobileMoney(payload) {
19310
+ var _this2 = this;
19311
+
19312
+ var phoneNumber = payload.phoneNumber,
19313
+ provider = payload.provider,
19314
+ registrationToken = payload.registrationToken;
19315
+ return validate$1(phoneNumber).then(function () {
19316
+ _this2.logMobileMoneyActions(payload);
19317
+
19318
+ var params = {
19319
+ provider: provider,
19320
+ registrationToken: registrationToken,
19321
+ transaction: _this2.id,
19322
+ phone: phoneNumber,
19323
+ device: _this2.deviceFingerprint,
19324
+ channel_name: "MOBILE_MONEY_".concat(_this2.id)
19325
+ };
19326
+ return MobileMoneyAPI.charge(params).then(function (response) {
19327
+ if (response.status === 'success') {
19328
+ _this2.mobileMoney = response;
19305
19329
 
19306
19330
  if (response.data && response.data.display && response.data.display.otpSentCount === 1) {
19307
- _this.logTokenRequest('mobile money');
19331
+ _this2.logTokenRequest('mobile money');
19308
19332
  }
19309
19333
  } else if (response.errors && response.errors.data && response.errors.data.status === 'awaiting_registration_token') {
19310
- _this.logTokenAuthenticationFailure(response.message);
19334
+ _this2.logTokenAuthenticationFailure(response.message);
19311
19335
  } else {
19312
- _this.logError(response.message);
19336
+ _this2.logError(response.message);
19313
19337
  }
19314
19338
 
19315
19339
  return response;
@@ -19995,11 +20019,11 @@ var AnalyticsFunctions = {
19995
20019
  }
19996
20020
  },
19997
20021
  logMobileMoneyActions: function logMobileMoneyActions(_ref2) {
19998
- var numberOfTokenRequests = _ref2.numberOfTokenRequests,
20022
+ var isResendTokenRequest = _ref2.isResendTokenRequest,
19999
20023
  registrationToken = _ref2.registrationToken;
20000
20024
 
20001
- if (numberOfTokenRequests) {
20002
- this.logTokenRequest('mobile money', numberOfTokenRequests);
20025
+ if (isResendTokenRequest) {
20026
+ this.logTokenRequest('mobile money', isResendTokenRequest);
20003
20027
  } else if (registrationToken) {
20004
20028
  this.logTokenSubmitted('mobile money');
20005
20029
  } else {
@@ -20030,8 +20054,8 @@ var AnalyticsFunctions = {
20030
20054
  return this.saveLog();
20031
20055
  },
20032
20056
  logTokenRequest: function logTokenRequest(channel) {
20033
- var numberOfTokenRequests = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
20034
- var message = numberOfTokenRequests === 0 ? 'Waiting for customer to submit OTP' : 'Customer requested to resend OTP';
20057
+ var isResendTokenRequest = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
20058
+ var message = isResendTokenRequest ? 'Customer requested to resend OTP' : 'Waiting for customer to submit OTP';
20035
20059
  this.log.history.push({
20036
20060
  type: 'action',
20037
20061
  message: message,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paystack/checkout-js",
3
- "version": "1.14.0",
3
+ "version": "1.15.0-dev.2",
4
4
  "description": "Client-side JS library for billing on Paystack",
5
5
  "main": "lib/checkout.js",
6
6
  "module": "es/checkout.js",