@voxepay/checkout 0.3.3 → 0.3.4

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/index.cjs.js CHANGED
@@ -1528,6 +1528,7 @@ class VoxePayModal {
1528
1528
  const response = await this.apiClient.initiatePayment({
1529
1529
  organizationId: this.options._sdkConfig.organizationId,
1530
1530
  transactionRef,
1531
+ customerId: this.options.customerEmail,
1531
1532
  customerEmail: this.options.customerEmail,
1532
1533
  customerPhone: this.options.customerPhone,
1533
1534
  amount: this.options.amount / 100, // Convert from kobo/cents to main unit
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../src/utils/card-validator.ts","../src/utils/formatter.ts","../src/utils/encryption.ts","../src/api/client.ts","../src/components/modal.ts","../src/voxepay.ts"],"sourcesContent":[null,null,null,null,null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../src/utils/card-validator.ts","../src/utils/formatter.ts","../src/utils/encryption.ts","../src/api/client.ts","../src/components/modal.ts","../src/voxepay.ts"],"sourcesContent":[null,null,null,null,null,null],"names":[],"mappings":"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"}
package/dist/index.esm.js CHANGED
@@ -1524,6 +1524,7 @@ class VoxePayModal {
1524
1524
  const response = await this.apiClient.initiatePayment({
1525
1525
  organizationId: this.options._sdkConfig.organizationId,
1526
1526
  transactionRef,
1527
+ customerId: this.options.customerEmail,
1527
1528
  customerEmail: this.options.customerEmail,
1528
1529
  customerPhone: this.options.customerPhone,
1529
1530
  amount: this.options.amount / 100, // Convert from kobo/cents to main unit
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/utils/card-validator.ts","../src/utils/formatter.ts","../src/utils/encryption.ts","../src/api/client.ts","../src/components/modal.ts","../src/voxepay.ts"],"sourcesContent":[null,null,null,null,null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../src/utils/card-validator.ts","../src/utils/formatter.ts","../src/utils/encryption.ts","../src/api/client.ts","../src/components/modal.ts","../src/voxepay.ts"],"sourcesContent":[null,null,null,null,null,null],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- var VoxePay=function(e){"use strict";const t=[{name:"Visa",code:"visa",pattern:/^4/,lengths:[13,16,19],cvvLength:3},{name:"Mastercard",code:"mastercard",pattern:/^(5[1-5]|2[2-7])/,lengths:[16],cvvLength:3},{name:"Verve",code:"verve",pattern:/^(506[0-9]|507[0-9]|6500)/,lengths:[16,18,19],cvvLength:3},{name:"American Express",code:"amex",pattern:/^3[47]/,lengths:[15],cvvLength:4},{name:"Discover",code:"discover",pattern:/^(6011|65|64[4-9])/,lengths:[16,19],cvvLength:3}];function a(e){const a=e.replace(/\s/g,"");for(const e of t)if(e.pattern.test(a))return e;return null}function n(e){const t=e.replace(/\s/g,"");if(!/^\d+$/.test(t))return!1;let a=0,n=!1;for(let e=t.length-1;e>=0;e--){let o=parseInt(t[e],10);n&&(o*=2,o>9&&(o-=9)),a+=o,n=!n}return a%10==0}function o(e){const t=e.replace(/\s/g,"");if(!t)return{valid:!1,error:"Card number is required"};if(!/^\d+$/.test(t))return{valid:!1,error:"Invalid card number"};const o=a(t);return o?o.lengths.includes(t.length)?n(t)?{valid:!0}:{valid:!1,error:"Invalid card number"}:{valid:!1,error:"Invalid card number length"}:{valid:!1,error:"Unsupported card type"}}function r(e){const t=e.replace(/\s/g,"");if(!t)return{valid:!1,error:"Expiry date is required"};const a=t.match(/^(\d{2})\/(\d{2})$/);if(!a)return{valid:!1,error:"Invalid format (MM/YY)"};const n=parseInt(a[1],10),o=parseInt(a[2],10)+2e3;if(n<1||n>12)return{valid:!1,error:"Invalid month"};const r=new Date,i=r.getFullYear(),s=r.getMonth()+1;return o<i||o===i&&n<s?{valid:!1,error:"Card has expired"}:o>i+20?{valid:!1,error:"Invalid expiry year"}:{valid:!0}}function i(e,t){const n=e.replace(/\s/g,"");if(!n)return{valid:!1,error:"CVV is required"};if(!/^\d+$/.test(n))return{valid:!1,error:"Invalid CVV"};const o=t?a(t):null,r=(null==o?void 0:o.cvvLength)||3;return n.length!==r&&3!==n.length&&4!==n.length?{valid:!1,error:`CVV must be ${r} digits`}:{valid:!0}}function s(e){return(e.replace(/\D/g,"").match(/.{1,4}/g)||[]).join(" ").slice(0,23)}function l(e){const t=e.replace(/\D/g,"");if(0===t.length)return"";if(1===t.length)return parseInt(t)>1?`0${t}`:t;if(2===t.length){const e=parseInt(t);return e>12?"12":0===e?"01":t}return`${t.slice(0,2)}/${t.slice(2,4)}`}function d(e){return e.replace(/\D/g,"").slice(0,4)}function p(e,t){return new Intl.NumberFormat("en-US",{style:"currency",currency:t,minimumFractionDigits:2}).format(e/100)}const c=e=>{const t=[];for(let a=0;a<e.length;a+=2)t.push(parseInt(e.substring(a,a+2),16));return t};class v{constructor(){this.data=[],this.sign=0}static fromHex(e){const t=new v;if(0===e.length)return t;t.sign=1;let a=0,n=0;for(let o=e.length-1;o>=0;o--){n|=parseInt(e[o],16)<<a,a+=4,a>=v.BITS&&(t.data.push(n&v.BASE-1),n>>>=v.BITS,a-=v.BITS)}return(n>0||a>0)&&t.data.push(n),t.trim(),t}static fromBytes(e){const t=e.map(e=>e.toString(16).padStart(2,"0")).join("");return v.fromHex(t)}trim(){for(;this.data.length>0&&0===this.data[this.data.length-1];)this.data.pop();0===this.data.length&&(this.sign=0)}isZero(){return 0===this.data.length}bitLength(){if(0===this.data.length)return 0;const e=this.data[this.data.length-1];let t=(this.data.length-1)*v.BITS,a=e;for(;a>0;)t++,a>>>=1;return t}toBytes(e){let t="";for(let e=this.data.length-1;e>=0;e--){const a=this.data[e].toString(16);if(e===this.data.length-1)t+=a;else{const e=Math.ceil(v.BITS/4);t+=a.padStart(e,"0")}}t.length%2!=0&&(t="0"+t);const a=c(t);if(e&&a.length<e){return new Array(e-a.length).fill(0).concat(a)}return a}clone(){const e=new v;return e.data=this.data.slice(),e.sign=this.sign,e}compareAbs(e){if(this.data.length!==e.data.length)return this.data.length>e.data.length?1:-1;for(let t=this.data.length-1;t>=0;t--)if(this.data[t]!==e.data[t])return this.data[t]>e.data[t]?1:-1;return 0}multiply(e){if(this.isZero()||e.isZero())return new v;const t=new v;t.data=new Array(this.data.length+e.data.length).fill(0),t.sign=1;for(let a=0;a<this.data.length;a++){let n=0;for(let o=0;o<e.data.length;o++){const r=this.data[a]*e.data[o]+t.data[a+o]+n;t.data[a+o]=r&v.BASE-1,n=Math.floor(r/v.BASE)}n>0&&(t.data[a+e.data.length]+=n)}return t.trim(),t}modPow(e,t){if(t.isZero())throw new Error("Division by zero");let a=v.fromHex("1"),n=this.mod(t);const o=e.bitLength();for(let r=0;r<o;r++){const o=Math.floor(r/v.BITS),i=r%v.BITS;o<e.data.length&&e.data[o]&1<<i&&(a=a.multiply(n).mod(t)),n=n.multiply(n).mod(t)}return a}mod(e){return this.divmod(e).remainder}divmod(e){if(e.isZero())throw new Error("Division by zero");if(this.isZero())return{quotient:new v,remainder:new v};const t=this.compareAbs(e);if(t<0)return{quotient:new v,remainder:this.clone()};if(0===t){return{quotient:v.fromHex("1"),remainder:new v}}const a=new v;a.data=new Array(this.data.length).fill(0),a.sign=1;let n=new v;for(let t=this.bitLength()-1;t>=0;t--){n=n.shiftLeft(1);const o=Math.floor(t/v.BITS),r=t%v.BITS;if(o<this.data.length&&this.data[o]&1<<r&&(0===n.data.length&&n.data.push(0),n.data[0]|=1,n.sign=1),n.compareAbs(e)>=0){n=n.subtract(e);const o=Math.floor(t/v.BITS),r=t%v.BITS;for(;a.data.length<=o;)a.data.push(0);a.data[o]|=1<<r}}return a.trim(),n.trim(),{quotient:a,remainder:n}}shiftLeft(e){if(this.isZero()||0===e)return this.clone();const t=Math.floor(e/v.BITS),a=e%v.BITS,n=new v;n.sign=this.sign,n.data=new Array(this.data.length+t+1).fill(0);for(let e=0;e<this.data.length;e++)n.data[e+t]|=this.data[e]<<a&v.BASE-1,a>0&&(n.data[e+t+1]|=this.data[e]>>>v.BITS-a);return n.trim(),n}subtract(e){const t=new v;t.sign=1,t.data=new Array(Math.max(this.data.length,e.data.length)).fill(0);let a=0;for(let n=0;n<t.data.length;n++){let o=(this.data[n]||0)-(e.data[n]||0)-a;o<0?(o+=v.BASE,a=1):a=0,t.data[n]=o}return t.trim(),t}}v.BASE=67108864,v.BITS=26;const y="009c7b3ba621a26c4b02f48cfc07ef6ee0aed8e12b4bd11c5cc0abf80d5206be69e1891e60fc88e2d565e2fabe4d0cf630e318a6c721c3ded718d0c530cdf050387ad0a30a336899bbda877d0ec7c7c3ffe693988bfae0ffbab71b25468c7814924f022cb5fda36e0d2c30a7161fa1c6fb5fbd7d05adbef7e68d48f8b6c5f511827c4b1c5ed15b6f20555affc4d0857ef7ab2b5c18ba22bea5d3a79bd1834badb5878d8c7a4b19da20c1f62340b1f7fbf01d2f2e97c9714a9df376ac0ea58072b2b77aeb7872b54a89667519de44d0fc73540beeaec4cb778a45eebfbefe2d817a8a8319b2bc6d9fa714f5289ec7c0dbc43496d71cf2a642cb679b0fc4072fd2cf",u="010001",h=async({version:e,pan:t,pin:a,expiryDate:n,cvv:o})=>{try{const i=c((e=>{let t="";for(let a=0;a<e.length;a++)t+=e.charCodeAt(a).toString(16).padStart(2,"0");return t})(`${e}Z${t}Z${a}Z${n}Z${o}`)),s=v.fromHex(y),l=v.fromHex(u),d=Math.ceil(s.bitLength()/8),p=((e,t)=>{if(e.length>t-11)throw new Error("Message too long for RSA encryption");const a=t-e.length-3,n=new Array(t);n[0]=0,n[1]=2;for(let e=0;e<a;e++){let t=0;if("undefined"!=typeof crypto&&crypto.getRandomValues){const e=new Uint8Array(1);for(;0===t;)crypto.getRandomValues(e),t=e[0]}else for(;0===t;)t=Math.floor(255*Math.random())+1;n[2+e]=t}n[2+a]=0;for(let t=0;t<e.length;t++)n[3+a+t]=e[t];return n})(i,d),h=v.fromBytes(p),x=h.modPow(l,s).toBytes(d);return r=x,"undefined"!=typeof btoa?btoa(String.fromCharCode(...r)):Buffer.from(r).toString("base64")}catch(e){throw console.error("[VoxePay] Encryption error:",e),new Error("Failed to encrypt card data")}var r},x=e=>{const t=e.replace(/\s|\//g,"");if(4!==t.length)return"";const a=t.substring(0,2);return`${t.substring(2,4)}${a}`},m=e=>e.replace(/\s/g,"");class f{constructor(e,t){this.apiKey=e,this.baseUrl=t||"https://devpay.voxepay.app"}async request(e,t){const a=`${this.baseUrl}${e}`,n=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json","X-API-Key":this.apiKey,Accept:"application/json"},body:JSON.stringify(t)}),o=await n.json();if(!n.ok){const e=(null==o?void 0:o.message)||(null==o?void 0:o.error)||`Request failed with status ${n.status}`,t=new Error(e);throw t.code=(null==o?void 0:o.code)||`HTTP_${n.status}`,t.status=n.status,t.data=o,t}return o}async initiatePayment(e){return this.request("/api/v1/payments/initiate",e)}async validateOTP(e){return this.request("/api/v1/payments/validate-otp",e)}async resendOTP(e){await this.request("/api/v1/payments/resend-otp",e)}}const g='<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">\n <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" />\n </svg>',b='<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">\n <path stroke-linecap="round" stroke-linejoin="round" d="M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z" />\n </svg>',w='<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="3">\n <path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7" />\n </svg>',T='<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 20 20" stroke="currentColor" stroke-width="2">\n <path stroke-linecap="round" stroke-linejoin="round" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" />\n </svg>',k='<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">\n <path stroke-linecap="round" stroke-linejoin="round" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z" />\n </svg>',S='<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">\n <path stroke-linecap="round" stroke-linejoin="round" d="M3 21h18M3 10h18M5 6l7-3 7 3M4 10v11M20 10v11M8 14v3M12 14v3M16 14v3" />\n </svg>',I='<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">\n <path stroke-linecap="round" stroke-linejoin="round" d="M3 10h18M7 15h1m4 0h1m-7 4h12a3 3 0 003-3V8a3 3 0 00-3-3H6a3 3 0 00-3 3v8a3 3 0 003 3z" />\n </svg>',P='<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">\n <path stroke-linecap="round" stroke-linejoin="round" d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z" />\n </svg>',E={visa:"VISA",mastercard:"MC",amex:"AMEX",verve:"VERVE",discover:"DISC"};class M{constructor(e){this.container=null,this.overlay=null,this.apiClient=null,this.handleEscape=e=>{"Escape"===e.key&&(this.close(),document.removeEventListener("keydown",this.handleEscape))},this.options=e;const t=e.paymentMethods||["card","bank_transfer"];e._sdkConfig&&(this.apiClient=new f(e._sdkConfig.apiKey,e._sdkConfig.baseUrl)),this.state={cardNumber:"",expiry:"",cvv:"",otp:"",errors:{},isProcessing:!1,isSuccess:!1,isOtpStep:!1,otpTimer:60,canResendOtp:!1,otpTimerInterval:null,paymentMethod:t[0],transferTimer:0,transferTimerInterval:null,bankTransferDetails:e.bankTransferDetails||null,paymentId:null,transactionId:null,transactionRef:null,eciFlag:null}}open(){this.injectStyles(),this.render(),this.attachEventListeners(),requestAnimationFrame(()=>{var e;null===(e=this.overlay)||void 0===e||e.classList.add("voxepay-visible")})}close(){var e;this.stopTransferTimer(),null===(e=this.overlay)||void 0===e||e.classList.remove("voxepay-visible"),setTimeout(()=>{var e,t,a;null===(e=this.container)||void 0===e||e.remove(),this.container=null,this.overlay=null,null===(a=(t=this.options).onClose)||void 0===a||a.call(t)},300)}injectStyles(){if(document.getElementById("voxepay-checkout-styles"))return;const e=document.createElement("style");e.id="voxepay-checkout-styles",e.textContent=this.getStyles(),document.head.appendChild(e)}render(){this.container=document.createElement("div"),this.container.className="voxepay-checkout",this.container.innerHTML=this.getModalHTML(),document.body.appendChild(this.container),this.overlay=this.container.querySelector(".voxepay-overlay")}getPaymentMethods(){return this.options.paymentMethods||["card","bank_transfer"]}getModalHTML(){const e=p(this.options.amount,this.options.currency),t=this.getPaymentMethods(),a=t.length>1,n="card"===this.state.paymentMethod;return`\n <div class="voxepay-overlay">\n <div class="voxepay-modal" role="dialog" aria-modal="true" aria-labelledby="voxepay-title">\n <div class="voxepay-header">\n <div class="voxepay-header-left">\n <div class="voxepay-logo">V</div>\n <div>\n <div class="voxepay-amount" id="voxepay-title">Pay ${e}</div>\n ${this.options.description?`<div style="font-size: 0.875rem; color: var(--voxepay-text-muted);">${this.options.description}</div>`:""}\n </div>\n </div>\n <button class="voxepay-close" aria-label="Close" data-action="close">\n ${g}\n </button>\n </div>\n\n ${a?`\n <div class="voxepay-method-tabs">\n ${t.includes("card")?`\n <button class="voxepay-method-tab ${n?"active":""}" data-method="card">\n ${I} <span>Card</span>\n </button>`:""}\n ${t.includes("bank_transfer")?`\n <button class="voxepay-method-tab ${n?"":"active"}" data-method="bank_transfer">\n ${S} <span>Bank Transfer</span>\n </button>`:""}\n </div>`:""}\n \n <div class="voxepay-body" id="voxepay-form-container">\n ${n?this.getCardFormHTML(e):this.getBankTransferHTML(e)}\n </div>\n \n <div class="voxepay-footer">\n <div class="voxepay-powered-by">\n ${b}\n <span>Secured by <strong>VoxePay</strong></span>\n </div>\n </div>\n </div>\n </div>\n `}getCardFormHTML(e){return`\n <form id="voxepay-payment-form" novalidate>\n <div class="voxepay-form-group">\n <label class="voxepay-label">\n <span class="voxepay-label-icon">💳</span>\n Card Number\n </label>\n <div class="voxepay-card-input-wrapper">\n <input type="text" class="voxepay-input" id="voxepay-card-number" name="cardNumber"\n placeholder="1234 5678 9012 3456" autocomplete="cc-number" inputmode="numeric" />\n <div class="voxepay-card-brand" id="voxepay-card-brand"></div>\n </div>\n <div class="voxepay-error-message" id="voxepay-card-error" style="display: none;"></div>\n </div>\n \n <div class="voxepay-row">\n <div class="voxepay-form-group">\n <label class="voxepay-label"><span class="voxepay-label-icon">📅</span> Expiry</label>\n <input type="text" class="voxepay-input" id="voxepay-expiry" name="expiry"\n placeholder="MM/YY" autocomplete="cc-exp" inputmode="numeric" maxlength="5" />\n <div class="voxepay-error-message" id="voxepay-expiry-error" style="display: none;"></div>\n </div>\n <div class="voxepay-form-group">\n <label class="voxepay-label"><span class="voxepay-label-icon">🔒</span> CVV</label>\n <input type="text" class="voxepay-input" id="voxepay-cvv" name="cvv"\n placeholder="•••" autocomplete="cc-csc" inputmode="numeric" maxlength="4" />\n <div class="voxepay-error-message" id="voxepay-cvv-error" style="display: none;"></div>\n </div>\n </div>\n \n <button type="submit" class="voxepay-submit-btn" id="voxepay-submit">\n <span>Pay Now ${e}</span>\n </button>\n </form>\n `}getBankTransferHTML(e){const t=this.state.bankTransferDetails;return t?`\n <div class="voxepay-transfer-view">\n <div class="voxepay-transfer-instruction">\n <p>Transfer <strong>${e}</strong> to the account below</p>\n </div>\n\n <div class="voxepay-transfer-details">\n <div class="voxepay-transfer-detail">\n <span class="voxepay-transfer-label">Account Number</span>\n <div class="voxepay-transfer-value-row">\n <span class="voxepay-transfer-value voxepay-transfer-account" id="voxepay-account-number">${t.accountNumber}</span>\n <button class="voxepay-copy-btn" id="voxepay-copy-btn" data-copy="${t.accountNumber}" title="Copy">\n ${k}\n </button>\n </div>\n </div>\n\n <div class="voxepay-transfer-detail">\n <span class="voxepay-transfer-label">Bank Name</span>\n <span class="voxepay-transfer-value">${t.bankName}</span>\n </div>\n\n <div class="voxepay-transfer-detail">\n <span class="voxepay-transfer-label">Account Name</span>\n <span class="voxepay-transfer-value">${t.accountName}</span>\n </div>\n\n <div class="voxepay-transfer-detail">\n <span class="voxepay-transfer-label">Amount</span>\n <span class="voxepay-transfer-value voxepay-transfer-amount">${e}</span>\n </div>\n\n <div class="voxepay-transfer-detail">\n <span class="voxepay-transfer-label">Reference</span>\n <span class="voxepay-transfer-value" style="font-family: monospace; letter-spacing: 1px;">${t.reference}</span>\n </div>\n </div>\n\n <div class="voxepay-transfer-timer" id="voxepay-transfer-timer">\n ${P}\n <span>Account expires in <strong id="voxepay-transfer-countdown">${this.formatCountdown(t.expiresIn)}</strong></span>\n </div>\n\n <button type="button" class="voxepay-submit-btn" id="voxepay-transfer-confirm">\n <span>I've sent the money</span>\n </button>\n </div>\n `:'\n <div class="voxepay-transfer-view">\n <div class="voxepay-transfer-loading">\n <div class="voxepay-spinner"></div>\n <p style="margin-top: 16px; color: var(--voxepay-text-muted);">Generating account details...</p>\n </div>\n </div>\n '}formatCountdown(e){const t=Math.floor(e/60),a=e%60;return`${String(t).padStart(2,"0")}:${String(a).padStart(2,"0")}`}renderSuccessView(){var e;const t=null===(e=this.container)||void 0===e?void 0:e.querySelector("#voxepay-form-container");if(!t)return;const a=p(this.options.amount,this.options.currency);t.innerHTML=`\n <div class="voxepay-success-view">\n <div class="voxepay-success-icon">\n ${w}\n </div>\n <h2 class="voxepay-success-title">Payment Successful!</h2>\n <p class="voxepay-success-message">Your payment of ${a} has been processed.</p>\n <button class="voxepay-success-btn" data-action="close">Done</button>\n </div>\n `;const n=t.querySelector('[data-action="close"]');null==n||n.addEventListener("click",()=>this.close())}renderOTPView(){var e;const t=null===(e=this.container)||void 0===e?void 0:e.querySelector("#voxepay-form-container");if(!t)return;this.state.isOtpStep=!0,this.state.otpTimer=60,this.state.canResendOtp=!1;const a=this.options.customerEmail?`****${this.options.customerEmail.slice(-4)}`:"****1234";t.innerHTML=`\n <div class="voxepay-otp-view">\n <div class="voxepay-otp-header">\n <div class="voxepay-otp-icon">📱</div>\n <h3 class="voxepay-otp-title">Verify Your Payment</h3>\n <p class="voxepay-otp-subtitle">We've sent a 6-digit code to ${a}</p>\n </div>\n \n <div class="voxepay-otp-inputs-container">\n <div class="voxepay-otp-inputs" id="voxepay-otp-inputs">\n <input type="text" maxlength="1" class="voxepay-otp-digit" data-index="0" inputmode="numeric" autocomplete="one-time-code" />\n <input type="text" maxlength="1" class="voxepay-otp-digit" data-index="1" inputmode="numeric" />\n <input type="text" maxlength="1" class="voxepay-otp-digit" data-index="2" inputmode="numeric" />\n <input type="text" maxlength="1" class="voxepay-otp-digit" data-index="3" inputmode="numeric" />\n <input type="text" maxlength="1" class="voxepay-otp-digit" data-index="4" inputmode="numeric" />\n <input type="text" maxlength="1" class="voxepay-otp-digit" data-index="5" inputmode="numeric" />\n </div>\n <div class="voxepay-error-message" id="voxepay-otp-error" style="display: none;"></div>\n </div>\n\n <div class="voxepay-otp-timer" id="voxepay-otp-timer">\n Resend code in <span id="voxepay-timer-count">60</span>s\n </div>\n \n <button class="voxepay-resend-btn" id="voxepay-resend-otp" disabled>\n Resend OTP\n </button>\n \n <button type="button" class="voxepay-submit-btn" id="voxepay-verify-otp">\n <span>🔐 Verify & Pay</span>\n </button>\n \n <button class="voxepay-back-btn" id="voxepay-back-to-card">\n ← Back to card details\n </button>\n </div>\n `,this.attachOTPEventListeners(),this.startOTPTimer()}attachOTPEventListeners(){var e,t,a,n,o;const r=null===(e=this.container)||void 0===e?void 0:e.querySelectorAll(".voxepay-otp-digit");null==r||r.forEach((e,t)=>{e.addEventListener("input",e=>this.handleOTPInput(e,t)),e.addEventListener("keydown",e=>this.handleOTPKeydown(e,t)),e.addEventListener("paste",e=>this.handleOTPPaste(e))});const i=null===(t=this.container)||void 0===t?void 0:t.querySelector("#voxepay-verify-otp");null==i||i.addEventListener("click",()=>this.handleOTPSubmit());const s=null===(a=this.container)||void 0===a?void 0:a.querySelector("#voxepay-resend-otp");null==s||s.addEventListener("click",()=>this.handleResendOTP());const l=null===(n=this.container)||void 0===n?void 0:n.querySelector("#voxepay-back-to-card");null==l||l.addEventListener("click",()=>this.handleBackToCard()),null===(o=null==r?void 0:r[0])||void 0===o||o.focus()}handleOTPInput(e,t){var a;const n=e.target,o=n.value.replace(/\D/g,"");if(n.value=o,o&&t<5){const e=null===(a=this.container)||void 0===a?void 0:a.querySelector(`[data-index="${t+1}"]`);null==e||e.focus()}this.updateOTPState(),this.clearError("otp")}handleOTPKeydown(e,t){var a;const n=e.target;if("Backspace"===e.key&&!n.value&&t>0){const e=null===(a=this.container)||void 0===a?void 0:a.querySelector(`[data-index="${t-1}"]`);null==e||e.focus()}}handleOTPPaste(e){var t,a;e.preventDefault();const n=null===(t=e.clipboardData)||void 0===t?void 0:t.getData("text").replace(/\D/g,"").slice(0,6);if(n){const e=null===(a=this.container)||void 0===a?void 0:a.querySelectorAll(".voxepay-otp-digit");n.split("").forEach((t,a)=>{e[a]&&(e[a].value=t)}),this.updateOTPState()}}updateOTPState(){var e;const t=null===(e=this.container)||void 0===e?void 0:e.querySelectorAll(".voxepay-otp-digit");let a="";null==t||t.forEach(e=>a+=e.value),this.state.otp=a}startOTPTimer(){var e,t,a;const n=null===(e=this.container)||void 0===e?void 0:e.querySelector("#voxepay-timer-count"),o=null===(t=this.container)||void 0===t?void 0:t.querySelector("#voxepay-otp-timer"),r=null===(a=this.container)||void 0===a?void 0:a.querySelector("#voxepay-resend-otp");this.state.otpTimerInterval=window.setInterval(()=>{this.state.otpTimer--,n&&(n.textContent=String(this.state.otpTimer)),this.state.otpTimer<=0&&(this.state.otpTimerInterval&&clearInterval(this.state.otpTimerInterval),this.state.canResendOtp=!0,o&&(o.style.display="none"),r&&(r.disabled=!1))},1e3)}async handleOTPSubmit(){if(6===this.state.otp.length){this.setOTPProcessing(!0);try{await this.verifyOTP(),this.state.otpTimerInterval&&clearInterval(this.state.otpTimerInterval);const e=await this.processPayment();this.state.isSuccess=!0,this.renderSuccessView(),this.options.onSuccess(e)}catch(e){this.setOTPProcessing(!1);const t=e;this.showError("otp",t.message||"Invalid OTP. Please try again.")}}else this.showError("otp","Please enter the complete 6-digit code")}setOTPProcessing(e){var t;const a=null===(t=this.container)||void 0===t?void 0:t.querySelector("#voxepay-verify-otp");a&&(a.disabled=e,a.innerHTML=e?'<div class="voxepay-spinner"></div><span>Verifying...</span>':"<span>🔐 Verify & Pay</span>")}async verifyOTP(){if(!this.apiClient||!this.options._sdkConfig)throw{code:"SDK_ERROR",message:"SDK not properly initialized",recoverable:!1};if(6!==this.state.otp.length)throw{code:"INVALID_OTP",message:"Please enter the complete 6-digit code",recoverable:!0};if(!this.state.paymentId||!this.state.transactionId)throw{code:"MISSING_PAYMENT_DATA",message:"Payment session expired. Please try again.",recoverable:!1};await this.apiClient.validateOTP({paymentId:this.state.paymentId,otp:this.state.otp,transactionId:this.state.transactionId,eciFlag:this.state.eciFlag||void 0,organizationId:this.options._sdkConfig.organizationId})}async handleResendOTP(){var e,t,a,n;const o=null===(e=this.container)||void 0===e?void 0:e.querySelector("#voxepay-otp-timer"),r=null===(t=this.container)||void 0===t?void 0:t.querySelector("#voxepay-resend-otp");if(this.apiClient&&this.options._sdkConfig&&this.state.transactionRef)try{r&&(r.disabled=!0),await this.apiClient.resendOTP({transactionRef:this.state.transactionRef,organizationId:this.options._sdkConfig.organizationId})}catch(e){console.error("[VoxePay] Failed to resend OTP:",e)}this.state.otpTimer=60,this.state.canResendOtp=!1,o&&(o.style.display="block"),r&&(r.disabled=!0);const i=null===(a=this.container)||void 0===a?void 0:a.querySelectorAll(".voxepay-otp-digit");null==i||i.forEach(e=>e.value=""),this.state.otp="",this.startOTPTimer(),null===(n=null==i?void 0:i[0])||void 0===n||n.focus()}handleBackToCard(){var e;if(this.state.otpTimerInterval&&clearInterval(this.state.otpTimerInterval),this.state.isOtpStep=!1,this.state.otp="",this.container){this.container.innerHTML=this.getModalHTML(),this.overlay=this.container.querySelector(".voxepay-overlay"),null===(e=this.overlay)||void 0===e||e.classList.add("voxepay-visible"),this.attachEventListeners();const t=this.container.querySelector("#voxepay-card-number"),a=this.container.querySelector("#voxepay-expiry"),n=this.container.querySelector("#voxepay-cvv");t&&(t.value=s(this.state.cardNumber)),a&&(a.value=this.state.expiry),n&&(n.value=this.state.cvv)}}attachEventListeners(){var e,t,a,n,o,r,i;const s=null===(e=this.container)||void 0===e?void 0:e.querySelector('[data-action="close"]');null==s||s.addEventListener("click",()=>this.close()),null===(t=this.overlay)||void 0===t||t.addEventListener("click",e=>{e.target===this.overlay&&this.close()}),document.addEventListener("keydown",this.handleEscape);const l=null===(a=this.container)||void 0===a?void 0:a.querySelectorAll(".voxepay-method-tab");if(null==l||l.forEach(e=>{e.addEventListener("click",()=>{const t=e.dataset.method;t&&t!==this.state.paymentMethod&&this.switchPaymentMethod(t)})}),"card"===this.state.paymentMethod){const e=null===(n=this.container)||void 0===n?void 0:n.querySelector("#voxepay-card-number");null==e||e.addEventListener("input",e=>this.handleCardInput(e)),null==e||e.addEventListener("blur",()=>this.validateField("cardNumber"));const t=null===(o=this.container)||void 0===o?void 0:o.querySelector("#voxepay-expiry");null==t||t.addEventListener("input",e=>this.handleExpiryInput(e)),null==t||t.addEventListener("blur",()=>this.validateField("expiry"));const a=null===(r=this.container)||void 0===r?void 0:r.querySelector("#voxepay-cvv");null==a||a.addEventListener("input",e=>this.handleCVVInput(e)),null==a||a.addEventListener("blur",()=>this.validateField("cvv"));const s=null===(i=this.container)||void 0===i?void 0:i.querySelector("#voxepay-payment-form");null==s||s.addEventListener("submit",e=>this.handleSubmit(e))}"bank_transfer"===this.state.paymentMethod&&(this.attachBankTransferListeners(),this.state.bankTransferDetails?this.startTransferTimer():this.loadBankTransferDetails())}attachBankTransferListeners(){var e,t;const a=null===(e=this.container)||void 0===e?void 0:e.querySelector("#voxepay-copy-btn");null==a||a.addEventListener("click",()=>{const e=a.dataset.copy||"";this.copyToClipboard(e)});const n=null===(t=this.container)||void 0===t?void 0:t.querySelector("#voxepay-transfer-confirm");null==n||n.addEventListener("click",()=>this.handleTransferConfirm())}switchPaymentMethod(e){var t;if(this.stopTransferTimer(),this.state.paymentMethod=e,this.container&&(this.container.innerHTML=this.getModalHTML(),this.overlay=this.container.querySelector(".voxepay-overlay"),null===(t=this.overlay)||void 0===t||t.classList.add("voxepay-visible"),this.attachEventListeners(),"card"===e&&this.state.cardNumber)){const e=this.container.querySelector("#voxepay-card-number"),t=this.container.querySelector("#voxepay-expiry"),a=this.container.querySelector("#voxepay-cvv");e&&(e.value=s(this.state.cardNumber)),t&&(t.value=this.state.expiry),a&&(a.value=this.state.cvv)}}async loadBankTransferDetails(){var e;try{let t;this.options.onBankTransferRequested?t=await this.options.onBankTransferRequested():(await new Promise(e=>setTimeout(e,1500)),t={accountNumber:"0123456789",bankName:"VoxePay Bank",accountName:"VoxePay Collections",reference:`VP-${Date.now().toString(36).toUpperCase()}`,expiresIn:1800}),this.state.bankTransferDetails=t;const a=null===(e=this.container)||void 0===e?void 0:e.querySelector("#voxepay-form-container");if(a){const e=p(this.options.amount,this.options.currency);a.innerHTML=this.getBankTransferHTML(e),this.attachBankTransferListeners(),this.startTransferTimer()}}catch(e){this.options.onError({code:"BANK_TRANSFER_INIT_FAILED",message:"Could not generate bank transfer details. Please try again.",recoverable:!0})}}async copyToClipboard(e){var t;try{await navigator.clipboard.writeText(e);const a=null===(t=this.container)||void 0===t?void 0:t.querySelector("#voxepay-copy-btn");a&&(a.innerHTML=`${w}`,a.classList.add("voxepay-copied"),setTimeout(()=>{a.innerHTML=`${k}`,a.classList.remove("voxepay-copied")},2e3))}catch(t){const a=document.createElement("textarea");a.value=e,a.style.position="fixed",a.style.opacity="0",document.body.appendChild(a),a.select(),document.execCommand("copy"),document.body.removeChild(a)}}async handleTransferConfirm(){var e,t;const a=null===(e=this.container)||void 0===e?void 0:e.querySelector("#voxepay-transfer-confirm");a&&(a.disabled=!0,a.innerHTML='<div class="voxepay-spinner"></div><span>Confirming transfer...</span>'),this.stopTransferTimer();try{await new Promise(e=>setTimeout(e,3e3));const e={id:`pay_transfer_${Date.now()}`,status:"pending",amount:this.options.amount,currency:this.options.currency,timestamp:(new Date).toISOString(),reference:null===(t=this.state.bankTransferDetails)||void 0===t?void 0:t.reference,paymentMethod:"bank_transfer"};this.state.isSuccess=!0,this.renderSuccessView(),this.options.onSuccess(e)}catch(e){a&&(a.disabled=!1,a.innerHTML="<span>I've sent the money</span>");const t=e;this.options.onError(t)}}startTransferTimer(){this.state.bankTransferDetails&&(this.state.transferTimer=this.state.bankTransferDetails.expiresIn,this.state.transferTimerInterval=window.setInterval(()=>{var e,t,a;this.state.transferTimer--;const n=null===(e=this.container)||void 0===e?void 0:e.querySelector("#voxepay-transfer-countdown");if(n&&(n.textContent=this.formatCountdown(this.state.transferTimer)),this.state.transferTimer<=0){this.stopTransferTimer();const e=null===(t=this.container)||void 0===t?void 0:t.querySelector("#voxepay-transfer-timer");e&&(e.innerHTML=`${P} <span style="color: var(--voxepay-error);">Account expired. Please try again.</span>`);const n=null===(a=this.container)||void 0===a?void 0:a.querySelector("#voxepay-transfer-confirm");n&&(n.disabled=!0)}},1e3))}stopTransferTimer(){this.state.transferTimerInterval&&(clearInterval(this.state.transferTimerInterval),this.state.transferTimerInterval=null)}handleCardInput(e){var t;const n=e.target,o=s(n.value);n.value=o,this.state.cardNumber=o.replace(/\s/g,"");const r=null===(t=this.container)||void 0===t?void 0:t.querySelector("#voxepay-card-brand"),i=a(this.state.cardNumber);r&&(r.textContent=i&&E[i.code]||"",r.style.opacity=i?"1":"0"),this.clearError("cardNumber")}handleExpiryInput(e){const t=e.target,a=l(t.value);t.value=a,this.state.expiry=a,this.clearError("expiry")}handleCVVInput(e){const t=e.target,a=d(t.value);t.value=a,this.state.cvv=a,this.clearError("cvv")}validateField(e){let t;switch(e){case"cardNumber":t=o(this.state.cardNumber);break;case"expiry":t=r(this.state.expiry);break;case"cvv":t=i(this.state.cvv,this.state.cardNumber);break;default:return!0}return t.valid?(this.clearError(e),!0):(this.showError(e,t.error||"Invalid"),!1)}showError(e,t){var a,n;const o=null===(a=this.container)||void 0===a?void 0:a.querySelector(`#voxepay-${"cardNumber"===e?"card":e}-error`),r=null===(n=this.container)||void 0===n?void 0:n.querySelector(`#voxepay-${"cardNumber"===e?"card-number":e}`);o&&(o.innerHTML=`${T} ${t}`,o.style.display="flex"),null==r||r.classList.add("voxepay-error")}clearError(e){var t,a;const n=null===(t=this.container)||void 0===t?void 0:t.querySelector(`#voxepay-${"cardNumber"===e?"card":e}-error`),o=null===(a=this.container)||void 0===a?void 0:a.querySelector(`#voxepay-${"cardNumber"===e?"card-number":e}`);n&&(n.style.display="none"),null==o||o.classList.remove("voxepay-error")}async handleSubmit(e){e.preventDefault();const t=this.validateField("cardNumber"),a=this.validateField("expiry"),n=this.validateField("cvv");if(t&&a&&n)if(this.apiClient&&this.options._sdkConfig){this.setProcessing(!0);try{const e=m(this.state.cardNumber),t=x(this.state.expiry),a=await h({version:"1",pan:e,pin:"",expiryDate:t,cvv:this.state.cvv}),n=`VP-${Date.now().toString(36).toUpperCase()}-${Math.random().toString(36).substring(2,8).toUpperCase()}`,o=await this.apiClient.initiatePayment({organizationId:this.options._sdkConfig.organizationId,transactionRef:n,customerEmail:this.options.customerEmail,customerPhone:this.options.customerPhone,amount:this.options.amount/100,currency:this.options.currency,paymentMethod:"CARD",authData:a,narration:this.options.description});this.state.paymentId=o.paymentId,this.state.transactionId=o.transactionId,this.state.transactionRef=o.transactionRef||n,this.state.eciFlag=o.eciFlag||null,this.setProcessing(!1),this.renderOTPView()}catch(e){this.setProcessing(!1);const t=(null==e?void 0:e.message)||"Payment failed. Please try again.";this.options.onError({code:(null==e?void 0:e.code)||"PAYMENT_INITIATE_FAILED",message:t,recoverable:!0,details:null==e?void 0:e.data}),this.showError("cardNumber",t)}}else this.showError("cardNumber","SDK not properly initialized. Missing API key or organization ID.")}setProcessing(e){var t;this.state.isProcessing=e;const a=null===(t=this.container)||void 0===t?void 0:t.querySelector("#voxepay-submit");a&&(a.disabled=e,a.innerHTML=e?'<div class="voxepay-spinner"></div><span>Processing...</span>':`<span>Pay Now ${p(this.options.amount,this.options.currency)}</span>`)}async processPayment(){return{id:this.state.paymentId||`pay_${Date.now()}`,status:"success",amount:this.options.amount,currency:this.options.currency,timestamp:(new Date).toISOString(),reference:this.state.transactionRef||void 0,paymentMethod:"card"}}getStyles(){return"\n :root {\n /* VoxePay Blue Color Palette */\n --voxepay-primary: #0061FF;\n --voxepay-primary-hover: #0056E0;\n --voxepay-secondary: #0047CC;\n --voxepay-accent: #60A5FA;\n --voxepay-glow: rgba(0, 97, 255, 0.35);\n --voxepay-success: #10B981;\n --voxepay-success-bg: rgba(16, 185, 129, 0.1);\n --voxepay-error: #EF4444;\n \n /* Dark Mode (Default) */\n --voxepay-bg: #0C0C1D;\n --voxepay-surface: rgba(255, 255, 255, 0.04);\n --voxepay-surface-hover: rgba(255, 255, 255, 0.08);\n --voxepay-border: rgba(255, 255, 255, 0.08);\n --voxepay-text: #FFFFFF;\n --voxepay-text-muted: #B4B4C7;\n --voxepay-text-subtle: #6B7280;\n --voxepay-input-bg: rgba(255, 255, 255, 0.06);\n \n /* Effects */\n --voxepay-backdrop-blur: blur(24px);\n --voxepay-border-radius: 12px;\n --voxepay-border-radius-lg: 16px;\n --voxepay-border-radius-xl: 24px;\n --voxepay-glow-shadow: 0 0 60px var(--voxepay-glow);\n --voxepay-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.6);\n --voxepay-transition-fast: 150ms ease;\n --voxepay-transition: 300ms cubic-bezier(0.4, 0, 0.2, 1);\n }\n \n /* Light Mode */\n html.voxepay-light {\n --voxepay-primary: #0061FF;\n --voxepay-primary-hover: #0056E0;\n --voxepay-secondary: #0047CC;\n --voxepay-glow: rgba(0, 97, 255, 0.2);\n \n --voxepay-bg: #FFFFFF;\n --voxepay-surface: #F8FAFC;\n --voxepay-surface-hover: #F1F5F9;\n --voxepay-border: #E2E8F0;\n --voxepay-text: #0F172A;\n --voxepay-text-muted: #475569;\n --voxepay-text-subtle: #94A3B8;\n --voxepay-input-bg: #F8FAFC;\n \n --voxepay-glow-shadow: 0 0 40px rgba(0, 97, 255, 0.12);\n --voxepay-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15);\n }\n \n .voxepay-checkout * { box-sizing: border-box; margin: 0; padding: 0; }\n .voxepay-checkout { font-family: 'DM Sans', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; font-size: 1rem; color: var(--voxepay-text); line-height: 1.5; -webkit-font-smoothing: antialiased; }\n \n .voxepay-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.5); backdrop-filter: var(--voxepay-backdrop-blur); -webkit-backdrop-filter: var(--voxepay-backdrop-blur); display: flex; align-items: center; justify-content: center; z-index: 999999; opacity: 0; visibility: hidden; transition: opacity var(--voxepay-transition), visibility var(--voxepay-transition); }\n html.voxepay-light .voxepay-overlay { background: rgba(15, 23, 42, 0.4); }\n .voxepay-overlay.voxepay-visible { opacity: 1; visibility: visible; }\n \n .voxepay-modal { background: var(--voxepay-bg); border: 1px solid var(--voxepay-border); border-radius: var(--voxepay-border-radius-xl); width: 100%; max-width: 420px; max-height: 90vh; overflow: hidden; box-shadow: var(--voxepay-shadow), var(--voxepay-glow-shadow); transform: scale(0.95) translateY(20px); opacity: 0; transition: transform var(--voxepay-transition), opacity var(--voxepay-transition); }\n .voxepay-overlay.voxepay-visible .voxepay-modal { transform: scale(1) translateY(0); opacity: 1; }\n \n .voxepay-header { display: flex; align-items: center; justify-content: space-between; padding: 20px 24px; border-bottom: 1px solid var(--voxepay-border); background: var(--voxepay-surface); }\n .voxepay-header-left { display: flex; align-items: center; gap: 12px; }\n .voxepay-logo { width: 36px; height: 36px; border-radius: var(--voxepay-border-radius); background: linear-gradient(135deg, var(--voxepay-primary), var(--voxepay-secondary)); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.25rem; color: white; box-shadow: 0 4px 12px rgba(0, 97, 255, 0.3); }\n .voxepay-amount { font-size: 1.25rem; font-weight: 600; }\n .voxepay-close { width: 36px; height: 36px; border: none; background: var(--voxepay-surface-hover); border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; color: var(--voxepay-text-muted); transition: all var(--voxepay-transition-fast); }\n .voxepay-close:hover { background: var(--voxepay-border); color: var(--voxepay-text); transform: rotate(90deg); }\n .voxepay-close svg { width: 18px; height: 18px; }\n \n .voxepay-body { padding: 24px; background: var(--voxepay-bg); }\n .voxepay-form-group { margin-bottom: 20px; }\n .voxepay-label { display: flex; align-items: center; gap: 8px; font-size: 0.875rem; font-weight: 500; color: var(--voxepay-text-muted); margin-bottom: 8px; }\n .voxepay-label-icon { font-size: 1rem; }\n \n .voxepay-input { width: 100%; padding: 14px 16px; background: var(--voxepay-input-bg); border: 1.5px solid var(--voxepay-border); border-radius: var(--voxepay-border-radius); color: var(--voxepay-text); font-size: 1rem; font-family: inherit; outline: none; transition: border-color var(--voxepay-transition-fast), box-shadow var(--voxepay-transition-fast), background var(--voxepay-transition-fast); }\n .voxepay-input::placeholder { color: var(--voxepay-text-subtle); }\n .voxepay-input:hover { border-color: var(--voxepay-text-subtle); }\n .voxepay-input:focus { border-color: var(--voxepay-primary); box-shadow: 0 0 0 4px var(--voxepay-glow); background: var(--voxepay-bg); }\n .voxepay-input.voxepay-error { border-color: var(--voxepay-error); box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.15); }\n \n .voxepay-card-input-wrapper { position: relative; }\n .voxepay-card-brand { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); padding: 4px 8px; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--voxepay-primary), var(--voxepay-secondary)); border-radius: 6px; font-size: 0.7rem; font-weight: 700; color: white; opacity: 0; transition: opacity var(--voxepay-transition-fast); letter-spacing: 0.5px; }\n .voxepay-card-input-wrapper .voxepay-input { padding-right: 70px; }\n \n .voxepay-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }\n \n .voxepay-error-message { display: flex; align-items: center; gap: 6px; font-size: 0.813rem; color: var(--voxepay-error); margin-top: 8px; animation: voxepay-shake 0.4s ease; }\n .voxepay-error-message svg { width: 16px; height: 16px; flex-shrink: 0; }\n @keyframes voxepay-shake { 0%, 100% { transform: translateX(0); } 20%, 60% { transform: translateX(-4px); } 40%, 80% { transform: translateX(4px); } }\n \n .voxepay-submit-btn { width: 100%; padding: 16px 24px; background: linear-gradient(135deg, var(--voxepay-primary), var(--voxepay-secondary)); border: none; border-radius: var(--voxepay-border-radius); color: white; font-size: 1.063rem; font-weight: 600; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 10px; transition: all var(--voxepay-transition-fast); position: relative; overflow: hidden; box-shadow: 0 4px 15px rgba(0, 97, 255, 0.35); }\n .voxepay-submit-btn:hover:not(:disabled) { transform: translateY(-2px); box-shadow: 0 8px 25px rgba(0, 97, 255, 0.45); }\n .voxepay-submit-btn:active:not(:disabled) { transform: translateY(0); }\n .voxepay-submit-btn:disabled { opacity: 0.6; cursor: not-allowed; box-shadow: none; }\n .voxepay-submit-btn span { position: relative; z-index: 1; }\n \n .voxepay-spinner { width: 20px; height: 20px; border: 2.5px solid rgba(255, 255, 255, 0.3); border-top-color: white; border-radius: 50%; animation: voxepay-spin 0.8s linear infinite; }\n @keyframes voxepay-spin { to { transform: rotate(360deg); } }\n \n .voxepay-footer { text-align: center; padding: 16px 24px 20px; border-top: 1px solid var(--voxepay-border); background: var(--voxepay-surface); }\n .voxepay-powered-by { font-size: 0.75rem; color: var(--voxepay-text-subtle); display: flex; align-items: center; justify-content: center; gap: 6px; }\n .voxepay-powered-by svg { width: 14px; height: 14px; color: var(--voxepay-primary); }\n .voxepay-powered-by strong { color: var(--voxepay-primary); font-weight: 600; }\n \n .voxepay-success-view { text-align: center; padding: 40px 24px; }\n .voxepay-success-icon { width: 80px; height: 80px; margin: 0 auto 24px; background: linear-gradient(135deg, var(--voxepay-success), #059669); border-radius: 50%; display: flex; align-items: center; justify-content: center; animation: voxepay-success-pop 0.5s ease; box-shadow: 0 8px 25px rgba(16, 185, 129, 0.35); }\n @keyframes voxepay-success-pop { 0% { transform: scale(0); opacity: 0; } 50% { transform: scale(1.1); } 100% { transform: scale(1); opacity: 1; } }\n .voxepay-success-icon svg { width: 40px; height: 40px; color: white; }\n .voxepay-success-title { font-size: 1.5rem; font-weight: 700; margin-bottom: 8px; color: var(--voxepay-text); }\n .voxepay-success-message { font-size: 1rem; color: var(--voxepay-text-muted); margin-bottom: 24px; }\n .voxepay-success-btn { padding: 12px 32px; background: var(--voxepay-surface); border: 1.5px solid var(--voxepay-border); border-radius: var(--voxepay-border-radius); color: var(--voxepay-text); font-size: 1rem; font-weight: 500; cursor: pointer; transition: all var(--voxepay-transition-fast); }\n .voxepay-success-btn:hover { background: var(--voxepay-surface-hover); border-color: var(--voxepay-primary); color: var(--voxepay-primary); }\n \n /* OTP View */\n .voxepay-otp-view { text-align: center; padding: 24px 16px; }\n .voxepay-otp-header { margin-bottom: 24px; }\n .voxepay-otp-icon { font-size: 3rem; margin-bottom: 12px; }\n .voxepay-otp-title { font-size: 1.25rem; font-weight: 700; color: var(--voxepay-text); margin-bottom: 8px; }\n .voxepay-otp-subtitle { font-size: 0.875rem; color: var(--voxepay-text-muted); }\n \n .voxepay-otp-inputs-container { margin-bottom: 16px; }\n .voxepay-otp-inputs { display: flex; justify-content: center; gap: 8px; margin-bottom: 8px; }\n .voxepay-otp-digit { width: 48px; height: 56px; text-align: center; font-size: 1.5rem; font-weight: 700; border: 2px solid var(--voxepay-border); border-radius: var(--voxepay-border-radius); background: var(--voxepay-input-bg); color: var(--voxepay-text); outline: none; transition: all var(--voxepay-transition-fast); }\n .voxepay-otp-digit:focus { border-color: var(--voxepay-primary); box-shadow: 0 0 0 4px var(--voxepay-glow); }\n \n .voxepay-otp-timer { font-size: 0.875rem; color: var(--voxepay-text-muted); margin-bottom: 12px; }\n .voxepay-otp-timer span { font-weight: 700; color: var(--voxepay-primary); }\n \n .voxepay-resend-btn { padding: 8px 16px; background: transparent; border: 1px solid var(--voxepay-border); border-radius: var(--voxepay-border-radius); color: var(--voxepay-text-muted); font-size: 0.875rem; cursor: pointer; margin-bottom: 16px; transition: all var(--voxepay-transition-fast); }\n .voxepay-resend-btn:hover:not(:disabled) { border-color: var(--voxepay-primary); color: var(--voxepay-primary); }\n .voxepay-resend-btn:disabled { opacity: 0.5; cursor: not-allowed; }\n \n .voxepay-back-btn { display: block; width: 100%; padding: 12px; background: transparent; border: none; color: var(--voxepay-text-muted); font-size: 0.875rem; cursor: pointer; margin-top: 12px; transition: color var(--voxepay-transition-fast); }\n .voxepay-back-btn:hover { color: var(--voxepay-primary); }\n\n /* Payment Method Tabs */\n .voxepay-method-tabs { display: flex; border-bottom: 1px solid var(--voxepay-border); background: var(--voxepay-surface); }\n .voxepay-method-tab { flex: 1; display: flex; align-items: center; justify-content: center; gap: 6px; padding: 12px 12px; border: none; background: transparent; color: var(--voxepay-text-muted); font-size: 0.813rem; font-weight: 500; font-family: inherit; cursor: pointer; transition: all var(--voxepay-transition-fast); border-bottom: 2px solid transparent; white-space: nowrap; }\n .voxepay-method-tab svg { width: 16px; height: 16px; flex-shrink: 0; }\n .voxepay-method-tab:hover { color: var(--voxepay-text); background: var(--voxepay-surface-hover); }\n .voxepay-method-tab.active { color: var(--voxepay-primary); border-bottom-color: var(--voxepay-primary); background: var(--voxepay-bg); }\n\n /* Bank Transfer View */\n .voxepay-transfer-view { padding: 4px 0; }\n .voxepay-transfer-loading { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 48px 0; }\n .voxepay-transfer-instruction { text-align: center; margin-bottom: 20px; font-size: 0.938rem; color: var(--voxepay-text-muted); }\n .voxepay-transfer-instruction strong { color: var(--voxepay-text); font-size: 1.063rem; }\n .voxepay-transfer-details { background: var(--voxepay-surface); border: 1px solid var(--voxepay-border); border-radius: var(--voxepay-border-radius); overflow: hidden; margin-bottom: 16px; }\n .voxepay-transfer-detail { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; border-bottom: 1px solid var(--voxepay-border); }\n .voxepay-transfer-detail:last-child { border-bottom: none; }\n .voxepay-transfer-label { font-size: 0.813rem; color: var(--voxepay-text-muted); font-weight: 500; }\n .voxepay-transfer-value { font-size: 0.938rem; font-weight: 600; color: var(--voxepay-text); }\n .voxepay-transfer-value-row { display: flex; align-items: center; gap: 8px; }\n .voxepay-transfer-account { font-size: 1.125rem; font-weight: 700; color: var(--voxepay-primary); letter-spacing: 1.5px; font-family: 'DM Sans', monospace; }\n .voxepay-transfer-amount { color: var(--voxepay-primary); }\n\n /* Copy Button */\n .voxepay-copy-btn { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border: 1px solid var(--voxepay-border); border-radius: 8px; background: var(--voxepay-surface-hover); color: var(--voxepay-text-muted); cursor: pointer; transition: all var(--voxepay-transition-fast); flex-shrink: 0; }\n .voxepay-copy-btn svg { width: 16px; height: 16px; }\n .voxepay-copy-btn:hover { border-color: var(--voxepay-primary); color: var(--voxepay-primary); background: rgba(0, 97, 255, 0.1); }\n .voxepay-copy-btn.voxepay-copied { border-color: var(--voxepay-success); color: var(--voxepay-success); background: var(--voxepay-success-bg); }\n\n /* Transfer Timer */\n .voxepay-transfer-timer { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 10px 16px; background: var(--voxepay-surface); border: 1px solid var(--voxepay-border); border-radius: var(--voxepay-border-radius); margin-bottom: 16px; font-size: 0.875rem; color: var(--voxepay-text-muted); }\n .voxepay-transfer-timer svg { width: 16px; height: 16px; color: var(--voxepay-primary); flex-shrink: 0; }\n .voxepay-transfer-timer strong { color: var(--voxepay-primary); font-weight: 700; font-family: monospace; font-size: 0.938rem; }\n \n @media (max-width: 480px) { .voxepay-modal { max-width: 100%; max-height: 100%; border-radius: 0; height: 100%; } .voxepay-body { padding: 20px; } .voxepay-otp-digit { width: 42px; height: 50px; font-size: 1.25rem; } .voxepay-transfer-detail { flex-direction: column; align-items: flex-start; gap: 4px; } }\n "}}class C{constructor(){this.config=null,this.currentModal=null,this.initialized=!1}init(e){e.apiKey?e.organizationId?(this.config={theme:"dark",locale:"en-US",...e},this.initialized=!0,"auto"===e.theme?this.applyAutoTheme():"light"===e.theme&&document.documentElement.classList.add("voxepay-light"),e.customStyles&&this.applyCustomStyles(e.customStyles),console.log("[VoxePay] Initialized successfully")):console.error("[VoxePay] Organization ID is required. Find it in your VoxePay dashboard."):console.error("[VoxePay] API key is required. Get your API key from the VoxePay dashboard: Settings > API Keys")}checkout(e){return this.initialized?!e.amount||e.amount<=0?(console.error("[VoxePay] Invalid amount"),void e.onError({code:"INVALID_AMOUNT",message:"Payment amount must be greater than 0",recoverable:!1})):e.currency?(this.closeModal(),this.currentModal=new M({...e,_sdkConfig:{apiKey:this.config.apiKey,organizationId:this.config.organizationId,baseUrl:this.config.baseUrl},onClose:()=>{var t;this.currentModal=null,null===(t=e.onClose)||void 0===t||t.call(e)}}),void this.currentModal.open()):(console.error("[VoxePay] Currency is required"),void e.onError({code:"INVALID_CURRENCY",message:"Currency code is required",recoverable:!1})):(console.error("[VoxePay] Not initialized. Call VoxePay.init() first."),void e.onError({code:"NOT_INITIALIZED",message:"VoxePay SDK not initialized. Call VoxePay.init() first.",recoverable:!1}))}closeModal(){this.currentModal&&(this.currentModal.close(),this.currentModal=null)}setTheme(e){document.documentElement.classList.remove("voxepay-light"),"light"===e?document.documentElement.classList.add("voxepay-light"):"auto"===e&&this.applyAutoTheme(),this.config&&(this.config.theme=e)}applyAutoTheme(){window.matchMedia("(prefers-color-scheme: dark)").matches||document.documentElement.classList.add("voxepay-light"),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",e=>{var t;"auto"===(null===(t=this.config)||void 0===t?void 0:t.theme)&&document.documentElement.classList.toggle("voxepay-light",!e.matches)})}applyCustomStyles(e){const t=document.documentElement;for(const[a,n]of Object.entries(e))n&&t.style.setProperty(a,n)}get version(){return"0.3.0"}get isInitialized(){return this.initialized}}const L=new C;return"undefined"!=typeof window&&(window.VoxePay=L),e.VoxePay=L,e.VoxePaySDK=C,e.cleanPan=m,e.default=L,e.detectCardBrand=a,e.formatAmount=p,e.formatCVV=d,e.formatCardNumber=s,e.formatExpiry=l,e.formatExpiryForApi=x,e.generateAuthData=h,e.getCurrencySymbol=function(e){return{NGN:"₦",USD:"$",EUR:"€",GBP:"£",GHS:"₵",KES:"KSh",ZAR:"R"}[e.toUpperCase()]||e},e.luhnCheck=n,e.validateCVV=i,e.validateCardNumber=o,e.validateExpiry=r,Object.defineProperty(e,"__esModule",{value:!0}),e}({});
1
+ var VoxePay=function(e){"use strict";const t=[{name:"Visa",code:"visa",pattern:/^4/,lengths:[13,16,19],cvvLength:3},{name:"Mastercard",code:"mastercard",pattern:/^(5[1-5]|2[2-7])/,lengths:[16],cvvLength:3},{name:"Verve",code:"verve",pattern:/^(506[0-9]|507[0-9]|6500)/,lengths:[16,18,19],cvvLength:3},{name:"American Express",code:"amex",pattern:/^3[47]/,lengths:[15],cvvLength:4},{name:"Discover",code:"discover",pattern:/^(6011|65|64[4-9])/,lengths:[16,19],cvvLength:3}];function a(e){const a=e.replace(/\s/g,"");for(const e of t)if(e.pattern.test(a))return e;return null}function n(e){const t=e.replace(/\s/g,"");if(!/^\d+$/.test(t))return!1;let a=0,n=!1;for(let e=t.length-1;e>=0;e--){let o=parseInt(t[e],10);n&&(o*=2,o>9&&(o-=9)),a+=o,n=!n}return a%10==0}function o(e){const t=e.replace(/\s/g,"");if(!t)return{valid:!1,error:"Card number is required"};if(!/^\d+$/.test(t))return{valid:!1,error:"Invalid card number"};const o=a(t);return o?o.lengths.includes(t.length)?n(t)?{valid:!0}:{valid:!1,error:"Invalid card number"}:{valid:!1,error:"Invalid card number length"}:{valid:!1,error:"Unsupported card type"}}function r(e){const t=e.replace(/\s/g,"");if(!t)return{valid:!1,error:"Expiry date is required"};const a=t.match(/^(\d{2})\/(\d{2})$/);if(!a)return{valid:!1,error:"Invalid format (MM/YY)"};const n=parseInt(a[1],10),o=parseInt(a[2],10)+2e3;if(n<1||n>12)return{valid:!1,error:"Invalid month"};const r=new Date,i=r.getFullYear(),s=r.getMonth()+1;return o<i||o===i&&n<s?{valid:!1,error:"Card has expired"}:o>i+20?{valid:!1,error:"Invalid expiry year"}:{valid:!0}}function i(e,t){const n=e.replace(/\s/g,"");if(!n)return{valid:!1,error:"CVV is required"};if(!/^\d+$/.test(n))return{valid:!1,error:"Invalid CVV"};const o=t?a(t):null,r=(null==o?void 0:o.cvvLength)||3;return n.length!==r&&3!==n.length&&4!==n.length?{valid:!1,error:`CVV must be ${r} digits`}:{valid:!0}}function s(e){return(e.replace(/\D/g,"").match(/.{1,4}/g)||[]).join(" ").slice(0,23)}function l(e){const t=e.replace(/\D/g,"");if(0===t.length)return"";if(1===t.length)return parseInt(t)>1?`0${t}`:t;if(2===t.length){const e=parseInt(t);return e>12?"12":0===e?"01":t}return`${t.slice(0,2)}/${t.slice(2,4)}`}function d(e){return e.replace(/\D/g,"").slice(0,4)}function p(e,t){return new Intl.NumberFormat("en-US",{style:"currency",currency:t,minimumFractionDigits:2}).format(e/100)}const c=e=>{const t=[];for(let a=0;a<e.length;a+=2)t.push(parseInt(e.substring(a,a+2),16));return t};class v{constructor(){this.data=[],this.sign=0}static fromHex(e){const t=new v;if(0===e.length)return t;t.sign=1;let a=0,n=0;for(let o=e.length-1;o>=0;o--){n|=parseInt(e[o],16)<<a,a+=4,a>=v.BITS&&(t.data.push(n&v.BASE-1),n>>>=v.BITS,a-=v.BITS)}return(n>0||a>0)&&t.data.push(n),t.trim(),t}static fromBytes(e){const t=e.map(e=>e.toString(16).padStart(2,"0")).join("");return v.fromHex(t)}trim(){for(;this.data.length>0&&0===this.data[this.data.length-1];)this.data.pop();0===this.data.length&&(this.sign=0)}isZero(){return 0===this.data.length}bitLength(){if(0===this.data.length)return 0;const e=this.data[this.data.length-1];let t=(this.data.length-1)*v.BITS,a=e;for(;a>0;)t++,a>>>=1;return t}toBytes(e){let t="";for(let e=this.data.length-1;e>=0;e--){const a=this.data[e].toString(16);if(e===this.data.length-1)t+=a;else{const e=Math.ceil(v.BITS/4);t+=a.padStart(e,"0")}}t.length%2!=0&&(t="0"+t);const a=c(t);if(e&&a.length<e){return new Array(e-a.length).fill(0).concat(a)}return a}clone(){const e=new v;return e.data=this.data.slice(),e.sign=this.sign,e}compareAbs(e){if(this.data.length!==e.data.length)return this.data.length>e.data.length?1:-1;for(let t=this.data.length-1;t>=0;t--)if(this.data[t]!==e.data[t])return this.data[t]>e.data[t]?1:-1;return 0}multiply(e){if(this.isZero()||e.isZero())return new v;const t=new v;t.data=new Array(this.data.length+e.data.length).fill(0),t.sign=1;for(let a=0;a<this.data.length;a++){let n=0;for(let o=0;o<e.data.length;o++){const r=this.data[a]*e.data[o]+t.data[a+o]+n;t.data[a+o]=r&v.BASE-1,n=Math.floor(r/v.BASE)}n>0&&(t.data[a+e.data.length]+=n)}return t.trim(),t}modPow(e,t){if(t.isZero())throw new Error("Division by zero");let a=v.fromHex("1"),n=this.mod(t);const o=e.bitLength();for(let r=0;r<o;r++){const o=Math.floor(r/v.BITS),i=r%v.BITS;o<e.data.length&&e.data[o]&1<<i&&(a=a.multiply(n).mod(t)),n=n.multiply(n).mod(t)}return a}mod(e){return this.divmod(e).remainder}divmod(e){if(e.isZero())throw new Error("Division by zero");if(this.isZero())return{quotient:new v,remainder:new v};const t=this.compareAbs(e);if(t<0)return{quotient:new v,remainder:this.clone()};if(0===t){return{quotient:v.fromHex("1"),remainder:new v}}const a=new v;a.data=new Array(this.data.length).fill(0),a.sign=1;let n=new v;for(let t=this.bitLength()-1;t>=0;t--){n=n.shiftLeft(1);const o=Math.floor(t/v.BITS),r=t%v.BITS;if(o<this.data.length&&this.data[o]&1<<r&&(0===n.data.length&&n.data.push(0),n.data[0]|=1,n.sign=1),n.compareAbs(e)>=0){n=n.subtract(e);const o=Math.floor(t/v.BITS),r=t%v.BITS;for(;a.data.length<=o;)a.data.push(0);a.data[o]|=1<<r}}return a.trim(),n.trim(),{quotient:a,remainder:n}}shiftLeft(e){if(this.isZero()||0===e)return this.clone();const t=Math.floor(e/v.BITS),a=e%v.BITS,n=new v;n.sign=this.sign,n.data=new Array(this.data.length+t+1).fill(0);for(let e=0;e<this.data.length;e++)n.data[e+t]|=this.data[e]<<a&v.BASE-1,a>0&&(n.data[e+t+1]|=this.data[e]>>>v.BITS-a);return n.trim(),n}subtract(e){const t=new v;t.sign=1,t.data=new Array(Math.max(this.data.length,e.data.length)).fill(0);let a=0;for(let n=0;n<t.data.length;n++){let o=(this.data[n]||0)-(e.data[n]||0)-a;o<0?(o+=v.BASE,a=1):a=0,t.data[n]=o}return t.trim(),t}}v.BASE=67108864,v.BITS=26;const y="009c7b3ba621a26c4b02f48cfc07ef6ee0aed8e12b4bd11c5cc0abf80d5206be69e1891e60fc88e2d565e2fabe4d0cf630e318a6c721c3ded718d0c530cdf050387ad0a30a336899bbda877d0ec7c7c3ffe693988bfae0ffbab71b25468c7814924f022cb5fda36e0d2c30a7161fa1c6fb5fbd7d05adbef7e68d48f8b6c5f511827c4b1c5ed15b6f20555affc4d0857ef7ab2b5c18ba22bea5d3a79bd1834badb5878d8c7a4b19da20c1f62340b1f7fbf01d2f2e97c9714a9df376ac0ea58072b2b77aeb7872b54a89667519de44d0fc73540beeaec4cb778a45eebfbefe2d817a8a8319b2bc6d9fa714f5289ec7c0dbc43496d71cf2a642cb679b0fc4072fd2cf",u="010001",h=async({version:e,pan:t,pin:a,expiryDate:n,cvv:o})=>{try{const i=c((e=>{let t="";for(let a=0;a<e.length;a++)t+=e.charCodeAt(a).toString(16).padStart(2,"0");return t})(`${e}Z${t}Z${a}Z${n}Z${o}`)),s=v.fromHex(y),l=v.fromHex(u),d=Math.ceil(s.bitLength()/8),p=((e,t)=>{if(e.length>t-11)throw new Error("Message too long for RSA encryption");const a=t-e.length-3,n=new Array(t);n[0]=0,n[1]=2;for(let e=0;e<a;e++){let t=0;if("undefined"!=typeof crypto&&crypto.getRandomValues){const e=new Uint8Array(1);for(;0===t;)crypto.getRandomValues(e),t=e[0]}else for(;0===t;)t=Math.floor(255*Math.random())+1;n[2+e]=t}n[2+a]=0;for(let t=0;t<e.length;t++)n[3+a+t]=e[t];return n})(i,d),h=v.fromBytes(p),x=h.modPow(l,s).toBytes(d);return r=x,"undefined"!=typeof btoa?btoa(String.fromCharCode(...r)):Buffer.from(r).toString("base64")}catch(e){throw console.error("[VoxePay] Encryption error:",e),new Error("Failed to encrypt card data")}var r},x=e=>{const t=e.replace(/\s|\//g,"");if(4!==t.length)return"";const a=t.substring(0,2);return`${t.substring(2,4)}${a}`},m=e=>e.replace(/\s/g,"");class f{constructor(e,t){this.apiKey=e,this.baseUrl=t||"https://devpay.voxepay.app"}async request(e,t){const a=`${this.baseUrl}${e}`,n=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json","X-API-Key":this.apiKey,Accept:"application/json"},body:JSON.stringify(t)}),o=await n.json();if(!n.ok){const e=(null==o?void 0:o.message)||(null==o?void 0:o.error)||`Request failed with status ${n.status}`,t=new Error(e);throw t.code=(null==o?void 0:o.code)||`HTTP_${n.status}`,t.status=n.status,t.data=o,t}return o}async initiatePayment(e){return this.request("/api/v1/payments/initiate",e)}async validateOTP(e){return this.request("/api/v1/payments/validate-otp",e)}async resendOTP(e){await this.request("/api/v1/payments/resend-otp",e)}}const g='<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">\n <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" />\n </svg>',b='<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">\n <path stroke-linecap="round" stroke-linejoin="round" d="M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z" />\n </svg>',w='<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="3">\n <path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7" />\n </svg>',T='<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 20 20" stroke="currentColor" stroke-width="2">\n <path stroke-linecap="round" stroke-linejoin="round" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" />\n </svg>',k='<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">\n <path stroke-linecap="round" stroke-linejoin="round" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z" />\n </svg>',S='<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">\n <path stroke-linecap="round" stroke-linejoin="round" d="M3 21h18M3 10h18M5 6l7-3 7 3M4 10v11M20 10v11M8 14v3M12 14v3M16 14v3" />\n </svg>',I='<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">\n <path stroke-linecap="round" stroke-linejoin="round" d="M3 10h18M7 15h1m4 0h1m-7 4h12a3 3 0 003-3V8a3 3 0 00-3-3H6a3 3 0 00-3 3v8a3 3 0 003 3z" />\n </svg>',P='<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">\n <path stroke-linecap="round" stroke-linejoin="round" d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z" />\n </svg>',E={visa:"VISA",mastercard:"MC",amex:"AMEX",verve:"VERVE",discover:"DISC"};class M{constructor(e){this.container=null,this.overlay=null,this.apiClient=null,this.handleEscape=e=>{"Escape"===e.key&&(this.close(),document.removeEventListener("keydown",this.handleEscape))},this.options=e;const t=e.paymentMethods||["card","bank_transfer"];e._sdkConfig&&(this.apiClient=new f(e._sdkConfig.apiKey,e._sdkConfig.baseUrl)),this.state={cardNumber:"",expiry:"",cvv:"",otp:"",errors:{},isProcessing:!1,isSuccess:!1,isOtpStep:!1,otpTimer:60,canResendOtp:!1,otpTimerInterval:null,paymentMethod:t[0],transferTimer:0,transferTimerInterval:null,bankTransferDetails:e.bankTransferDetails||null,paymentId:null,transactionId:null,transactionRef:null,eciFlag:null}}open(){this.injectStyles(),this.render(),this.attachEventListeners(),requestAnimationFrame(()=>{var e;null===(e=this.overlay)||void 0===e||e.classList.add("voxepay-visible")})}close(){var e;this.stopTransferTimer(),null===(e=this.overlay)||void 0===e||e.classList.remove("voxepay-visible"),setTimeout(()=>{var e,t,a;null===(e=this.container)||void 0===e||e.remove(),this.container=null,this.overlay=null,null===(a=(t=this.options).onClose)||void 0===a||a.call(t)},300)}injectStyles(){if(document.getElementById("voxepay-checkout-styles"))return;const e=document.createElement("style");e.id="voxepay-checkout-styles",e.textContent=this.getStyles(),document.head.appendChild(e)}render(){this.container=document.createElement("div"),this.container.className="voxepay-checkout",this.container.innerHTML=this.getModalHTML(),document.body.appendChild(this.container),this.overlay=this.container.querySelector(".voxepay-overlay")}getPaymentMethods(){return this.options.paymentMethods||["card","bank_transfer"]}getModalHTML(){const e=p(this.options.amount,this.options.currency),t=this.getPaymentMethods(),a=t.length>1,n="card"===this.state.paymentMethod;return`\n <div class="voxepay-overlay">\n <div class="voxepay-modal" role="dialog" aria-modal="true" aria-labelledby="voxepay-title">\n <div class="voxepay-header">\n <div class="voxepay-header-left">\n <div class="voxepay-logo">V</div>\n <div>\n <div class="voxepay-amount" id="voxepay-title">Pay ${e}</div>\n ${this.options.description?`<div style="font-size: 0.875rem; color: var(--voxepay-text-muted);">${this.options.description}</div>`:""}\n </div>\n </div>\n <button class="voxepay-close" aria-label="Close" data-action="close">\n ${g}\n </button>\n </div>\n\n ${a?`\n <div class="voxepay-method-tabs">\n ${t.includes("card")?`\n <button class="voxepay-method-tab ${n?"active":""}" data-method="card">\n ${I} <span>Card</span>\n </button>`:""}\n ${t.includes("bank_transfer")?`\n <button class="voxepay-method-tab ${n?"":"active"}" data-method="bank_transfer">\n ${S} <span>Bank Transfer</span>\n </button>`:""}\n </div>`:""}\n \n <div class="voxepay-body" id="voxepay-form-container">\n ${n?this.getCardFormHTML(e):this.getBankTransferHTML(e)}\n </div>\n \n <div class="voxepay-footer">\n <div class="voxepay-powered-by">\n ${b}\n <span>Secured by <strong>VoxePay</strong></span>\n </div>\n </div>\n </div>\n </div>\n `}getCardFormHTML(e){return`\n <form id="voxepay-payment-form" novalidate>\n <div class="voxepay-form-group">\n <label class="voxepay-label">\n <span class="voxepay-label-icon">💳</span>\n Card Number\n </label>\n <div class="voxepay-card-input-wrapper">\n <input type="text" class="voxepay-input" id="voxepay-card-number" name="cardNumber"\n placeholder="1234 5678 9012 3456" autocomplete="cc-number" inputmode="numeric" />\n <div class="voxepay-card-brand" id="voxepay-card-brand"></div>\n </div>\n <div class="voxepay-error-message" id="voxepay-card-error" style="display: none;"></div>\n </div>\n \n <div class="voxepay-row">\n <div class="voxepay-form-group">\n <label class="voxepay-label"><span class="voxepay-label-icon">📅</span> Expiry</label>\n <input type="text" class="voxepay-input" id="voxepay-expiry" name="expiry"\n placeholder="MM/YY" autocomplete="cc-exp" inputmode="numeric" maxlength="5" />\n <div class="voxepay-error-message" id="voxepay-expiry-error" style="display: none;"></div>\n </div>\n <div class="voxepay-form-group">\n <label class="voxepay-label"><span class="voxepay-label-icon">🔒</span> CVV</label>\n <input type="text" class="voxepay-input" id="voxepay-cvv" name="cvv"\n placeholder="•••" autocomplete="cc-csc" inputmode="numeric" maxlength="4" />\n <div class="voxepay-error-message" id="voxepay-cvv-error" style="display: none;"></div>\n </div>\n </div>\n \n <button type="submit" class="voxepay-submit-btn" id="voxepay-submit">\n <span>Pay Now ${e}</span>\n </button>\n </form>\n `}getBankTransferHTML(e){const t=this.state.bankTransferDetails;return t?`\n <div class="voxepay-transfer-view">\n <div class="voxepay-transfer-instruction">\n <p>Transfer <strong>${e}</strong> to the account below</p>\n </div>\n\n <div class="voxepay-transfer-details">\n <div class="voxepay-transfer-detail">\n <span class="voxepay-transfer-label">Account Number</span>\n <div class="voxepay-transfer-value-row">\n <span class="voxepay-transfer-value voxepay-transfer-account" id="voxepay-account-number">${t.accountNumber}</span>\n <button class="voxepay-copy-btn" id="voxepay-copy-btn" data-copy="${t.accountNumber}" title="Copy">\n ${k}\n </button>\n </div>\n </div>\n\n <div class="voxepay-transfer-detail">\n <span class="voxepay-transfer-label">Bank Name</span>\n <span class="voxepay-transfer-value">${t.bankName}</span>\n </div>\n\n <div class="voxepay-transfer-detail">\n <span class="voxepay-transfer-label">Account Name</span>\n <span class="voxepay-transfer-value">${t.accountName}</span>\n </div>\n\n <div class="voxepay-transfer-detail">\n <span class="voxepay-transfer-label">Amount</span>\n <span class="voxepay-transfer-value voxepay-transfer-amount">${e}</span>\n </div>\n\n <div class="voxepay-transfer-detail">\n <span class="voxepay-transfer-label">Reference</span>\n <span class="voxepay-transfer-value" style="font-family: monospace; letter-spacing: 1px;">${t.reference}</span>\n </div>\n </div>\n\n <div class="voxepay-transfer-timer" id="voxepay-transfer-timer">\n ${P}\n <span>Account expires in <strong id="voxepay-transfer-countdown">${this.formatCountdown(t.expiresIn)}</strong></span>\n </div>\n\n <button type="button" class="voxepay-submit-btn" id="voxepay-transfer-confirm">\n <span>I've sent the money</span>\n </button>\n </div>\n `:'\n <div class="voxepay-transfer-view">\n <div class="voxepay-transfer-loading">\n <div class="voxepay-spinner"></div>\n <p style="margin-top: 16px; color: var(--voxepay-text-muted);">Generating account details...</p>\n </div>\n </div>\n '}formatCountdown(e){const t=Math.floor(e/60),a=e%60;return`${String(t).padStart(2,"0")}:${String(a).padStart(2,"0")}`}renderSuccessView(){var e;const t=null===(e=this.container)||void 0===e?void 0:e.querySelector("#voxepay-form-container");if(!t)return;const a=p(this.options.amount,this.options.currency);t.innerHTML=`\n <div class="voxepay-success-view">\n <div class="voxepay-success-icon">\n ${w}\n </div>\n <h2 class="voxepay-success-title">Payment Successful!</h2>\n <p class="voxepay-success-message">Your payment of ${a} has been processed.</p>\n <button class="voxepay-success-btn" data-action="close">Done</button>\n </div>\n `;const n=t.querySelector('[data-action="close"]');null==n||n.addEventListener("click",()=>this.close())}renderOTPView(){var e;const t=null===(e=this.container)||void 0===e?void 0:e.querySelector("#voxepay-form-container");if(!t)return;this.state.isOtpStep=!0,this.state.otpTimer=60,this.state.canResendOtp=!1;const a=this.options.customerEmail?`****${this.options.customerEmail.slice(-4)}`:"****1234";t.innerHTML=`\n <div class="voxepay-otp-view">\n <div class="voxepay-otp-header">\n <div class="voxepay-otp-icon">📱</div>\n <h3 class="voxepay-otp-title">Verify Your Payment</h3>\n <p class="voxepay-otp-subtitle">We've sent a 6-digit code to ${a}</p>\n </div>\n \n <div class="voxepay-otp-inputs-container">\n <div class="voxepay-otp-inputs" id="voxepay-otp-inputs">\n <input type="text" maxlength="1" class="voxepay-otp-digit" data-index="0" inputmode="numeric" autocomplete="one-time-code" />\n <input type="text" maxlength="1" class="voxepay-otp-digit" data-index="1" inputmode="numeric" />\n <input type="text" maxlength="1" class="voxepay-otp-digit" data-index="2" inputmode="numeric" />\n <input type="text" maxlength="1" class="voxepay-otp-digit" data-index="3" inputmode="numeric" />\n <input type="text" maxlength="1" class="voxepay-otp-digit" data-index="4" inputmode="numeric" />\n <input type="text" maxlength="1" class="voxepay-otp-digit" data-index="5" inputmode="numeric" />\n </div>\n <div class="voxepay-error-message" id="voxepay-otp-error" style="display: none;"></div>\n </div>\n\n <div class="voxepay-otp-timer" id="voxepay-otp-timer">\n Resend code in <span id="voxepay-timer-count">60</span>s\n </div>\n \n <button class="voxepay-resend-btn" id="voxepay-resend-otp" disabled>\n Resend OTP\n </button>\n \n <button type="button" class="voxepay-submit-btn" id="voxepay-verify-otp">\n <span>🔐 Verify & Pay</span>\n </button>\n \n <button class="voxepay-back-btn" id="voxepay-back-to-card">\n ← Back to card details\n </button>\n </div>\n `,this.attachOTPEventListeners(),this.startOTPTimer()}attachOTPEventListeners(){var e,t,a,n,o;const r=null===(e=this.container)||void 0===e?void 0:e.querySelectorAll(".voxepay-otp-digit");null==r||r.forEach((e,t)=>{e.addEventListener("input",e=>this.handleOTPInput(e,t)),e.addEventListener("keydown",e=>this.handleOTPKeydown(e,t)),e.addEventListener("paste",e=>this.handleOTPPaste(e))});const i=null===(t=this.container)||void 0===t?void 0:t.querySelector("#voxepay-verify-otp");null==i||i.addEventListener("click",()=>this.handleOTPSubmit());const s=null===(a=this.container)||void 0===a?void 0:a.querySelector("#voxepay-resend-otp");null==s||s.addEventListener("click",()=>this.handleResendOTP());const l=null===(n=this.container)||void 0===n?void 0:n.querySelector("#voxepay-back-to-card");null==l||l.addEventListener("click",()=>this.handleBackToCard()),null===(o=null==r?void 0:r[0])||void 0===o||o.focus()}handleOTPInput(e,t){var a;const n=e.target,o=n.value.replace(/\D/g,"");if(n.value=o,o&&t<5){const e=null===(a=this.container)||void 0===a?void 0:a.querySelector(`[data-index="${t+1}"]`);null==e||e.focus()}this.updateOTPState(),this.clearError("otp")}handleOTPKeydown(e,t){var a;const n=e.target;if("Backspace"===e.key&&!n.value&&t>0){const e=null===(a=this.container)||void 0===a?void 0:a.querySelector(`[data-index="${t-1}"]`);null==e||e.focus()}}handleOTPPaste(e){var t,a;e.preventDefault();const n=null===(t=e.clipboardData)||void 0===t?void 0:t.getData("text").replace(/\D/g,"").slice(0,6);if(n){const e=null===(a=this.container)||void 0===a?void 0:a.querySelectorAll(".voxepay-otp-digit");n.split("").forEach((t,a)=>{e[a]&&(e[a].value=t)}),this.updateOTPState()}}updateOTPState(){var e;const t=null===(e=this.container)||void 0===e?void 0:e.querySelectorAll(".voxepay-otp-digit");let a="";null==t||t.forEach(e=>a+=e.value),this.state.otp=a}startOTPTimer(){var e,t,a;const n=null===(e=this.container)||void 0===e?void 0:e.querySelector("#voxepay-timer-count"),o=null===(t=this.container)||void 0===t?void 0:t.querySelector("#voxepay-otp-timer"),r=null===(a=this.container)||void 0===a?void 0:a.querySelector("#voxepay-resend-otp");this.state.otpTimerInterval=window.setInterval(()=>{this.state.otpTimer--,n&&(n.textContent=String(this.state.otpTimer)),this.state.otpTimer<=0&&(this.state.otpTimerInterval&&clearInterval(this.state.otpTimerInterval),this.state.canResendOtp=!0,o&&(o.style.display="none"),r&&(r.disabled=!1))},1e3)}async handleOTPSubmit(){if(6===this.state.otp.length){this.setOTPProcessing(!0);try{await this.verifyOTP(),this.state.otpTimerInterval&&clearInterval(this.state.otpTimerInterval);const e=await this.processPayment();this.state.isSuccess=!0,this.renderSuccessView(),this.options.onSuccess(e)}catch(e){this.setOTPProcessing(!1);const t=e;this.showError("otp",t.message||"Invalid OTP. Please try again.")}}else this.showError("otp","Please enter the complete 6-digit code")}setOTPProcessing(e){var t;const a=null===(t=this.container)||void 0===t?void 0:t.querySelector("#voxepay-verify-otp");a&&(a.disabled=e,a.innerHTML=e?'<div class="voxepay-spinner"></div><span>Verifying...</span>':"<span>🔐 Verify & Pay</span>")}async verifyOTP(){if(!this.apiClient||!this.options._sdkConfig)throw{code:"SDK_ERROR",message:"SDK not properly initialized",recoverable:!1};if(6!==this.state.otp.length)throw{code:"INVALID_OTP",message:"Please enter the complete 6-digit code",recoverable:!0};if(!this.state.paymentId||!this.state.transactionId)throw{code:"MISSING_PAYMENT_DATA",message:"Payment session expired. Please try again.",recoverable:!1};await this.apiClient.validateOTP({paymentId:this.state.paymentId,otp:this.state.otp,transactionId:this.state.transactionId,eciFlag:this.state.eciFlag||void 0,organizationId:this.options._sdkConfig.organizationId})}async handleResendOTP(){var e,t,a,n;const o=null===(e=this.container)||void 0===e?void 0:e.querySelector("#voxepay-otp-timer"),r=null===(t=this.container)||void 0===t?void 0:t.querySelector("#voxepay-resend-otp");if(this.apiClient&&this.options._sdkConfig&&this.state.transactionRef)try{r&&(r.disabled=!0),await this.apiClient.resendOTP({transactionRef:this.state.transactionRef,organizationId:this.options._sdkConfig.organizationId})}catch(e){console.error("[VoxePay] Failed to resend OTP:",e)}this.state.otpTimer=60,this.state.canResendOtp=!1,o&&(o.style.display="block"),r&&(r.disabled=!0);const i=null===(a=this.container)||void 0===a?void 0:a.querySelectorAll(".voxepay-otp-digit");null==i||i.forEach(e=>e.value=""),this.state.otp="",this.startOTPTimer(),null===(n=null==i?void 0:i[0])||void 0===n||n.focus()}handleBackToCard(){var e;if(this.state.otpTimerInterval&&clearInterval(this.state.otpTimerInterval),this.state.isOtpStep=!1,this.state.otp="",this.container){this.container.innerHTML=this.getModalHTML(),this.overlay=this.container.querySelector(".voxepay-overlay"),null===(e=this.overlay)||void 0===e||e.classList.add("voxepay-visible"),this.attachEventListeners();const t=this.container.querySelector("#voxepay-card-number"),a=this.container.querySelector("#voxepay-expiry"),n=this.container.querySelector("#voxepay-cvv");t&&(t.value=s(this.state.cardNumber)),a&&(a.value=this.state.expiry),n&&(n.value=this.state.cvv)}}attachEventListeners(){var e,t,a,n,o,r,i;const s=null===(e=this.container)||void 0===e?void 0:e.querySelector('[data-action="close"]');null==s||s.addEventListener("click",()=>this.close()),null===(t=this.overlay)||void 0===t||t.addEventListener("click",e=>{e.target===this.overlay&&this.close()}),document.addEventListener("keydown",this.handleEscape);const l=null===(a=this.container)||void 0===a?void 0:a.querySelectorAll(".voxepay-method-tab");if(null==l||l.forEach(e=>{e.addEventListener("click",()=>{const t=e.dataset.method;t&&t!==this.state.paymentMethod&&this.switchPaymentMethod(t)})}),"card"===this.state.paymentMethod){const e=null===(n=this.container)||void 0===n?void 0:n.querySelector("#voxepay-card-number");null==e||e.addEventListener("input",e=>this.handleCardInput(e)),null==e||e.addEventListener("blur",()=>this.validateField("cardNumber"));const t=null===(o=this.container)||void 0===o?void 0:o.querySelector("#voxepay-expiry");null==t||t.addEventListener("input",e=>this.handleExpiryInput(e)),null==t||t.addEventListener("blur",()=>this.validateField("expiry"));const a=null===(r=this.container)||void 0===r?void 0:r.querySelector("#voxepay-cvv");null==a||a.addEventListener("input",e=>this.handleCVVInput(e)),null==a||a.addEventListener("blur",()=>this.validateField("cvv"));const s=null===(i=this.container)||void 0===i?void 0:i.querySelector("#voxepay-payment-form");null==s||s.addEventListener("submit",e=>this.handleSubmit(e))}"bank_transfer"===this.state.paymentMethod&&(this.attachBankTransferListeners(),this.state.bankTransferDetails?this.startTransferTimer():this.loadBankTransferDetails())}attachBankTransferListeners(){var e,t;const a=null===(e=this.container)||void 0===e?void 0:e.querySelector("#voxepay-copy-btn");null==a||a.addEventListener("click",()=>{const e=a.dataset.copy||"";this.copyToClipboard(e)});const n=null===(t=this.container)||void 0===t?void 0:t.querySelector("#voxepay-transfer-confirm");null==n||n.addEventListener("click",()=>this.handleTransferConfirm())}switchPaymentMethod(e){var t;if(this.stopTransferTimer(),this.state.paymentMethod=e,this.container&&(this.container.innerHTML=this.getModalHTML(),this.overlay=this.container.querySelector(".voxepay-overlay"),null===(t=this.overlay)||void 0===t||t.classList.add("voxepay-visible"),this.attachEventListeners(),"card"===e&&this.state.cardNumber)){const e=this.container.querySelector("#voxepay-card-number"),t=this.container.querySelector("#voxepay-expiry"),a=this.container.querySelector("#voxepay-cvv");e&&(e.value=s(this.state.cardNumber)),t&&(t.value=this.state.expiry),a&&(a.value=this.state.cvv)}}async loadBankTransferDetails(){var e;try{let t;this.options.onBankTransferRequested?t=await this.options.onBankTransferRequested():(await new Promise(e=>setTimeout(e,1500)),t={accountNumber:"0123456789",bankName:"VoxePay Bank",accountName:"VoxePay Collections",reference:`VP-${Date.now().toString(36).toUpperCase()}`,expiresIn:1800}),this.state.bankTransferDetails=t;const a=null===(e=this.container)||void 0===e?void 0:e.querySelector("#voxepay-form-container");if(a){const e=p(this.options.amount,this.options.currency);a.innerHTML=this.getBankTransferHTML(e),this.attachBankTransferListeners(),this.startTransferTimer()}}catch(e){this.options.onError({code:"BANK_TRANSFER_INIT_FAILED",message:"Could not generate bank transfer details. Please try again.",recoverable:!0})}}async copyToClipboard(e){var t;try{await navigator.clipboard.writeText(e);const a=null===(t=this.container)||void 0===t?void 0:t.querySelector("#voxepay-copy-btn");a&&(a.innerHTML=`${w}`,a.classList.add("voxepay-copied"),setTimeout(()=>{a.innerHTML=`${k}`,a.classList.remove("voxepay-copied")},2e3))}catch(t){const a=document.createElement("textarea");a.value=e,a.style.position="fixed",a.style.opacity="0",document.body.appendChild(a),a.select(),document.execCommand("copy"),document.body.removeChild(a)}}async handleTransferConfirm(){var e,t;const a=null===(e=this.container)||void 0===e?void 0:e.querySelector("#voxepay-transfer-confirm");a&&(a.disabled=!0,a.innerHTML='<div class="voxepay-spinner"></div><span>Confirming transfer...</span>'),this.stopTransferTimer();try{await new Promise(e=>setTimeout(e,3e3));const e={id:`pay_transfer_${Date.now()}`,status:"pending",amount:this.options.amount,currency:this.options.currency,timestamp:(new Date).toISOString(),reference:null===(t=this.state.bankTransferDetails)||void 0===t?void 0:t.reference,paymentMethod:"bank_transfer"};this.state.isSuccess=!0,this.renderSuccessView(),this.options.onSuccess(e)}catch(e){a&&(a.disabled=!1,a.innerHTML="<span>I've sent the money</span>");const t=e;this.options.onError(t)}}startTransferTimer(){this.state.bankTransferDetails&&(this.state.transferTimer=this.state.bankTransferDetails.expiresIn,this.state.transferTimerInterval=window.setInterval(()=>{var e,t,a;this.state.transferTimer--;const n=null===(e=this.container)||void 0===e?void 0:e.querySelector("#voxepay-transfer-countdown");if(n&&(n.textContent=this.formatCountdown(this.state.transferTimer)),this.state.transferTimer<=0){this.stopTransferTimer();const e=null===(t=this.container)||void 0===t?void 0:t.querySelector("#voxepay-transfer-timer");e&&(e.innerHTML=`${P} <span style="color: var(--voxepay-error);">Account expired. Please try again.</span>`);const n=null===(a=this.container)||void 0===a?void 0:a.querySelector("#voxepay-transfer-confirm");n&&(n.disabled=!0)}},1e3))}stopTransferTimer(){this.state.transferTimerInterval&&(clearInterval(this.state.transferTimerInterval),this.state.transferTimerInterval=null)}handleCardInput(e){var t;const n=e.target,o=s(n.value);n.value=o,this.state.cardNumber=o.replace(/\s/g,"");const r=null===(t=this.container)||void 0===t?void 0:t.querySelector("#voxepay-card-brand"),i=a(this.state.cardNumber);r&&(r.textContent=i&&E[i.code]||"",r.style.opacity=i?"1":"0"),this.clearError("cardNumber")}handleExpiryInput(e){const t=e.target,a=l(t.value);t.value=a,this.state.expiry=a,this.clearError("expiry")}handleCVVInput(e){const t=e.target,a=d(t.value);t.value=a,this.state.cvv=a,this.clearError("cvv")}validateField(e){let t;switch(e){case"cardNumber":t=o(this.state.cardNumber);break;case"expiry":t=r(this.state.expiry);break;case"cvv":t=i(this.state.cvv,this.state.cardNumber);break;default:return!0}return t.valid?(this.clearError(e),!0):(this.showError(e,t.error||"Invalid"),!1)}showError(e,t){var a,n;const o=null===(a=this.container)||void 0===a?void 0:a.querySelector(`#voxepay-${"cardNumber"===e?"card":e}-error`),r=null===(n=this.container)||void 0===n?void 0:n.querySelector(`#voxepay-${"cardNumber"===e?"card-number":e}`);o&&(o.innerHTML=`${T} ${t}`,o.style.display="flex"),null==r||r.classList.add("voxepay-error")}clearError(e){var t,a;const n=null===(t=this.container)||void 0===t?void 0:t.querySelector(`#voxepay-${"cardNumber"===e?"card":e}-error`),o=null===(a=this.container)||void 0===a?void 0:a.querySelector(`#voxepay-${"cardNumber"===e?"card-number":e}`);n&&(n.style.display="none"),null==o||o.classList.remove("voxepay-error")}async handleSubmit(e){e.preventDefault();const t=this.validateField("cardNumber"),a=this.validateField("expiry"),n=this.validateField("cvv");if(t&&a&&n)if(this.apiClient&&this.options._sdkConfig){this.setProcessing(!0);try{const e=m(this.state.cardNumber),t=x(this.state.expiry),a=await h({version:"1",pan:e,pin:"",expiryDate:t,cvv:this.state.cvv}),n=`VP-${Date.now().toString(36).toUpperCase()}-${Math.random().toString(36).substring(2,8).toUpperCase()}`,o=await this.apiClient.initiatePayment({organizationId:this.options._sdkConfig.organizationId,transactionRef:n,customerId:this.options.customerEmail,customerEmail:this.options.customerEmail,customerPhone:this.options.customerPhone,amount:this.options.amount/100,currency:this.options.currency,paymentMethod:"CARD",authData:a,narration:this.options.description});this.state.paymentId=o.paymentId,this.state.transactionId=o.transactionId,this.state.transactionRef=o.transactionRef||n,this.state.eciFlag=o.eciFlag||null,this.setProcessing(!1),this.renderOTPView()}catch(e){this.setProcessing(!1);const t=(null==e?void 0:e.message)||"Payment failed. Please try again.";this.options.onError({code:(null==e?void 0:e.code)||"PAYMENT_INITIATE_FAILED",message:t,recoverable:!0,details:null==e?void 0:e.data}),this.showError("cardNumber",t)}}else this.showError("cardNumber","SDK not properly initialized. Missing API key or organization ID.")}setProcessing(e){var t;this.state.isProcessing=e;const a=null===(t=this.container)||void 0===t?void 0:t.querySelector("#voxepay-submit");a&&(a.disabled=e,a.innerHTML=e?'<div class="voxepay-spinner"></div><span>Processing...</span>':`<span>Pay Now ${p(this.options.amount,this.options.currency)}</span>`)}async processPayment(){return{id:this.state.paymentId||`pay_${Date.now()}`,status:"success",amount:this.options.amount,currency:this.options.currency,timestamp:(new Date).toISOString(),reference:this.state.transactionRef||void 0,paymentMethod:"card"}}getStyles(){return"\n :root {\n /* VoxePay Blue Color Palette */\n --voxepay-primary: #0061FF;\n --voxepay-primary-hover: #0056E0;\n --voxepay-secondary: #0047CC;\n --voxepay-accent: #60A5FA;\n --voxepay-glow: rgba(0, 97, 255, 0.35);\n --voxepay-success: #10B981;\n --voxepay-success-bg: rgba(16, 185, 129, 0.1);\n --voxepay-error: #EF4444;\n \n /* Dark Mode (Default) */\n --voxepay-bg: #0C0C1D;\n --voxepay-surface: rgba(255, 255, 255, 0.04);\n --voxepay-surface-hover: rgba(255, 255, 255, 0.08);\n --voxepay-border: rgba(255, 255, 255, 0.08);\n --voxepay-text: #FFFFFF;\n --voxepay-text-muted: #B4B4C7;\n --voxepay-text-subtle: #6B7280;\n --voxepay-input-bg: rgba(255, 255, 255, 0.06);\n \n /* Effects */\n --voxepay-backdrop-blur: blur(24px);\n --voxepay-border-radius: 12px;\n --voxepay-border-radius-lg: 16px;\n --voxepay-border-radius-xl: 24px;\n --voxepay-glow-shadow: 0 0 60px var(--voxepay-glow);\n --voxepay-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.6);\n --voxepay-transition-fast: 150ms ease;\n --voxepay-transition: 300ms cubic-bezier(0.4, 0, 0.2, 1);\n }\n \n /* Light Mode */\n html.voxepay-light {\n --voxepay-primary: #0061FF;\n --voxepay-primary-hover: #0056E0;\n --voxepay-secondary: #0047CC;\n --voxepay-glow: rgba(0, 97, 255, 0.2);\n \n --voxepay-bg: #FFFFFF;\n --voxepay-surface: #F8FAFC;\n --voxepay-surface-hover: #F1F5F9;\n --voxepay-border: #E2E8F0;\n --voxepay-text: #0F172A;\n --voxepay-text-muted: #475569;\n --voxepay-text-subtle: #94A3B8;\n --voxepay-input-bg: #F8FAFC;\n \n --voxepay-glow-shadow: 0 0 40px rgba(0, 97, 255, 0.12);\n --voxepay-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15);\n }\n \n .voxepay-checkout * { box-sizing: border-box; margin: 0; padding: 0; }\n .voxepay-checkout { font-family: 'DM Sans', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; font-size: 1rem; color: var(--voxepay-text); line-height: 1.5; -webkit-font-smoothing: antialiased; }\n \n .voxepay-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.5); backdrop-filter: var(--voxepay-backdrop-blur); -webkit-backdrop-filter: var(--voxepay-backdrop-blur); display: flex; align-items: center; justify-content: center; z-index: 999999; opacity: 0; visibility: hidden; transition: opacity var(--voxepay-transition), visibility var(--voxepay-transition); }\n html.voxepay-light .voxepay-overlay { background: rgba(15, 23, 42, 0.4); }\n .voxepay-overlay.voxepay-visible { opacity: 1; visibility: visible; }\n \n .voxepay-modal { background: var(--voxepay-bg); border: 1px solid var(--voxepay-border); border-radius: var(--voxepay-border-radius-xl); width: 100%; max-width: 420px; max-height: 90vh; overflow: hidden; box-shadow: var(--voxepay-shadow), var(--voxepay-glow-shadow); transform: scale(0.95) translateY(20px); opacity: 0; transition: transform var(--voxepay-transition), opacity var(--voxepay-transition); }\n .voxepay-overlay.voxepay-visible .voxepay-modal { transform: scale(1) translateY(0); opacity: 1; }\n \n .voxepay-header { display: flex; align-items: center; justify-content: space-between; padding: 20px 24px; border-bottom: 1px solid var(--voxepay-border); background: var(--voxepay-surface); }\n .voxepay-header-left { display: flex; align-items: center; gap: 12px; }\n .voxepay-logo { width: 36px; height: 36px; border-radius: var(--voxepay-border-radius); background: linear-gradient(135deg, var(--voxepay-primary), var(--voxepay-secondary)); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.25rem; color: white; box-shadow: 0 4px 12px rgba(0, 97, 255, 0.3); }\n .voxepay-amount { font-size: 1.25rem; font-weight: 600; }\n .voxepay-close { width: 36px; height: 36px; border: none; background: var(--voxepay-surface-hover); border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; color: var(--voxepay-text-muted); transition: all var(--voxepay-transition-fast); }\n .voxepay-close:hover { background: var(--voxepay-border); color: var(--voxepay-text); transform: rotate(90deg); }\n .voxepay-close svg { width: 18px; height: 18px; }\n \n .voxepay-body { padding: 24px; background: var(--voxepay-bg); }\n .voxepay-form-group { margin-bottom: 20px; }\n .voxepay-label { display: flex; align-items: center; gap: 8px; font-size: 0.875rem; font-weight: 500; color: var(--voxepay-text-muted); margin-bottom: 8px; }\n .voxepay-label-icon { font-size: 1rem; }\n \n .voxepay-input { width: 100%; padding: 14px 16px; background: var(--voxepay-input-bg); border: 1.5px solid var(--voxepay-border); border-radius: var(--voxepay-border-radius); color: var(--voxepay-text); font-size: 1rem; font-family: inherit; outline: none; transition: border-color var(--voxepay-transition-fast), box-shadow var(--voxepay-transition-fast), background var(--voxepay-transition-fast); }\n .voxepay-input::placeholder { color: var(--voxepay-text-subtle); }\n .voxepay-input:hover { border-color: var(--voxepay-text-subtle); }\n .voxepay-input:focus { border-color: var(--voxepay-primary); box-shadow: 0 0 0 4px var(--voxepay-glow); background: var(--voxepay-bg); }\n .voxepay-input.voxepay-error { border-color: var(--voxepay-error); box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.15); }\n \n .voxepay-card-input-wrapper { position: relative; }\n .voxepay-card-brand { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); padding: 4px 8px; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--voxepay-primary), var(--voxepay-secondary)); border-radius: 6px; font-size: 0.7rem; font-weight: 700; color: white; opacity: 0; transition: opacity var(--voxepay-transition-fast); letter-spacing: 0.5px; }\n .voxepay-card-input-wrapper .voxepay-input { padding-right: 70px; }\n \n .voxepay-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }\n \n .voxepay-error-message { display: flex; align-items: center; gap: 6px; font-size: 0.813rem; color: var(--voxepay-error); margin-top: 8px; animation: voxepay-shake 0.4s ease; }\n .voxepay-error-message svg { width: 16px; height: 16px; flex-shrink: 0; }\n @keyframes voxepay-shake { 0%, 100% { transform: translateX(0); } 20%, 60% { transform: translateX(-4px); } 40%, 80% { transform: translateX(4px); } }\n \n .voxepay-submit-btn { width: 100%; padding: 16px 24px; background: linear-gradient(135deg, var(--voxepay-primary), var(--voxepay-secondary)); border: none; border-radius: var(--voxepay-border-radius); color: white; font-size: 1.063rem; font-weight: 600; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 10px; transition: all var(--voxepay-transition-fast); position: relative; overflow: hidden; box-shadow: 0 4px 15px rgba(0, 97, 255, 0.35); }\n .voxepay-submit-btn:hover:not(:disabled) { transform: translateY(-2px); box-shadow: 0 8px 25px rgba(0, 97, 255, 0.45); }\n .voxepay-submit-btn:active:not(:disabled) { transform: translateY(0); }\n .voxepay-submit-btn:disabled { opacity: 0.6; cursor: not-allowed; box-shadow: none; }\n .voxepay-submit-btn span { position: relative; z-index: 1; }\n \n .voxepay-spinner { width: 20px; height: 20px; border: 2.5px solid rgba(255, 255, 255, 0.3); border-top-color: white; border-radius: 50%; animation: voxepay-spin 0.8s linear infinite; }\n @keyframes voxepay-spin { to { transform: rotate(360deg); } }\n \n .voxepay-footer { text-align: center; padding: 16px 24px 20px; border-top: 1px solid var(--voxepay-border); background: var(--voxepay-surface); }\n .voxepay-powered-by { font-size: 0.75rem; color: var(--voxepay-text-subtle); display: flex; align-items: center; justify-content: center; gap: 6px; }\n .voxepay-powered-by svg { width: 14px; height: 14px; color: var(--voxepay-primary); }\n .voxepay-powered-by strong { color: var(--voxepay-primary); font-weight: 600; }\n \n .voxepay-success-view { text-align: center; padding: 40px 24px; }\n .voxepay-success-icon { width: 80px; height: 80px; margin: 0 auto 24px; background: linear-gradient(135deg, var(--voxepay-success), #059669); border-radius: 50%; display: flex; align-items: center; justify-content: center; animation: voxepay-success-pop 0.5s ease; box-shadow: 0 8px 25px rgba(16, 185, 129, 0.35); }\n @keyframes voxepay-success-pop { 0% { transform: scale(0); opacity: 0; } 50% { transform: scale(1.1); } 100% { transform: scale(1); opacity: 1; } }\n .voxepay-success-icon svg { width: 40px; height: 40px; color: white; }\n .voxepay-success-title { font-size: 1.5rem; font-weight: 700; margin-bottom: 8px; color: var(--voxepay-text); }\n .voxepay-success-message { font-size: 1rem; color: var(--voxepay-text-muted); margin-bottom: 24px; }\n .voxepay-success-btn { padding: 12px 32px; background: var(--voxepay-surface); border: 1.5px solid var(--voxepay-border); border-radius: var(--voxepay-border-radius); color: var(--voxepay-text); font-size: 1rem; font-weight: 500; cursor: pointer; transition: all var(--voxepay-transition-fast); }\n .voxepay-success-btn:hover { background: var(--voxepay-surface-hover); border-color: var(--voxepay-primary); color: var(--voxepay-primary); }\n \n /* OTP View */\n .voxepay-otp-view { text-align: center; padding: 24px 16px; }\n .voxepay-otp-header { margin-bottom: 24px; }\n .voxepay-otp-icon { font-size: 3rem; margin-bottom: 12px; }\n .voxepay-otp-title { font-size: 1.25rem; font-weight: 700; color: var(--voxepay-text); margin-bottom: 8px; }\n .voxepay-otp-subtitle { font-size: 0.875rem; color: var(--voxepay-text-muted); }\n \n .voxepay-otp-inputs-container { margin-bottom: 16px; }\n .voxepay-otp-inputs { display: flex; justify-content: center; gap: 8px; margin-bottom: 8px; }\n .voxepay-otp-digit { width: 48px; height: 56px; text-align: center; font-size: 1.5rem; font-weight: 700; border: 2px solid var(--voxepay-border); border-radius: var(--voxepay-border-radius); background: var(--voxepay-input-bg); color: var(--voxepay-text); outline: none; transition: all var(--voxepay-transition-fast); }\n .voxepay-otp-digit:focus { border-color: var(--voxepay-primary); box-shadow: 0 0 0 4px var(--voxepay-glow); }\n \n .voxepay-otp-timer { font-size: 0.875rem; color: var(--voxepay-text-muted); margin-bottom: 12px; }\n .voxepay-otp-timer span { font-weight: 700; color: var(--voxepay-primary); }\n \n .voxepay-resend-btn { padding: 8px 16px; background: transparent; border: 1px solid var(--voxepay-border); border-radius: var(--voxepay-border-radius); color: var(--voxepay-text-muted); font-size: 0.875rem; cursor: pointer; margin-bottom: 16px; transition: all var(--voxepay-transition-fast); }\n .voxepay-resend-btn:hover:not(:disabled) { border-color: var(--voxepay-primary); color: var(--voxepay-primary); }\n .voxepay-resend-btn:disabled { opacity: 0.5; cursor: not-allowed; }\n \n .voxepay-back-btn { display: block; width: 100%; padding: 12px; background: transparent; border: none; color: var(--voxepay-text-muted); font-size: 0.875rem; cursor: pointer; margin-top: 12px; transition: color var(--voxepay-transition-fast); }\n .voxepay-back-btn:hover { color: var(--voxepay-primary); }\n\n /* Payment Method Tabs */\n .voxepay-method-tabs { display: flex; border-bottom: 1px solid var(--voxepay-border); background: var(--voxepay-surface); }\n .voxepay-method-tab { flex: 1; display: flex; align-items: center; justify-content: center; gap: 6px; padding: 12px 12px; border: none; background: transparent; color: var(--voxepay-text-muted); font-size: 0.813rem; font-weight: 500; font-family: inherit; cursor: pointer; transition: all var(--voxepay-transition-fast); border-bottom: 2px solid transparent; white-space: nowrap; }\n .voxepay-method-tab svg { width: 16px; height: 16px; flex-shrink: 0; }\n .voxepay-method-tab:hover { color: var(--voxepay-text); background: var(--voxepay-surface-hover); }\n .voxepay-method-tab.active { color: var(--voxepay-primary); border-bottom-color: var(--voxepay-primary); background: var(--voxepay-bg); }\n\n /* Bank Transfer View */\n .voxepay-transfer-view { padding: 4px 0; }\n .voxepay-transfer-loading { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 48px 0; }\n .voxepay-transfer-instruction { text-align: center; margin-bottom: 20px; font-size: 0.938rem; color: var(--voxepay-text-muted); }\n .voxepay-transfer-instruction strong { color: var(--voxepay-text); font-size: 1.063rem; }\n .voxepay-transfer-details { background: var(--voxepay-surface); border: 1px solid var(--voxepay-border); border-radius: var(--voxepay-border-radius); overflow: hidden; margin-bottom: 16px; }\n .voxepay-transfer-detail { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; border-bottom: 1px solid var(--voxepay-border); }\n .voxepay-transfer-detail:last-child { border-bottom: none; }\n .voxepay-transfer-label { font-size: 0.813rem; color: var(--voxepay-text-muted); font-weight: 500; }\n .voxepay-transfer-value { font-size: 0.938rem; font-weight: 600; color: var(--voxepay-text); }\n .voxepay-transfer-value-row { display: flex; align-items: center; gap: 8px; }\n .voxepay-transfer-account { font-size: 1.125rem; font-weight: 700; color: var(--voxepay-primary); letter-spacing: 1.5px; font-family: 'DM Sans', monospace; }\n .voxepay-transfer-amount { color: var(--voxepay-primary); }\n\n /* Copy Button */\n .voxepay-copy-btn { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border: 1px solid var(--voxepay-border); border-radius: 8px; background: var(--voxepay-surface-hover); color: var(--voxepay-text-muted); cursor: pointer; transition: all var(--voxepay-transition-fast); flex-shrink: 0; }\n .voxepay-copy-btn svg { width: 16px; height: 16px; }\n .voxepay-copy-btn:hover { border-color: var(--voxepay-primary); color: var(--voxepay-primary); background: rgba(0, 97, 255, 0.1); }\n .voxepay-copy-btn.voxepay-copied { border-color: var(--voxepay-success); color: var(--voxepay-success); background: var(--voxepay-success-bg); }\n\n /* Transfer Timer */\n .voxepay-transfer-timer { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 10px 16px; background: var(--voxepay-surface); border: 1px solid var(--voxepay-border); border-radius: var(--voxepay-border-radius); margin-bottom: 16px; font-size: 0.875rem; color: var(--voxepay-text-muted); }\n .voxepay-transfer-timer svg { width: 16px; height: 16px; color: var(--voxepay-primary); flex-shrink: 0; }\n .voxepay-transfer-timer strong { color: var(--voxepay-primary); font-weight: 700; font-family: monospace; font-size: 0.938rem; }\n \n @media (max-width: 480px) { .voxepay-modal { max-width: 100%; max-height: 100%; border-radius: 0; height: 100%; } .voxepay-body { padding: 20px; } .voxepay-otp-digit { width: 42px; height: 50px; font-size: 1.25rem; } .voxepay-transfer-detail { flex-direction: column; align-items: flex-start; gap: 4px; } }\n "}}class C{constructor(){this.config=null,this.currentModal=null,this.initialized=!1}init(e){e.apiKey?e.organizationId?(this.config={theme:"dark",locale:"en-US",...e},this.initialized=!0,"auto"===e.theme?this.applyAutoTheme():"light"===e.theme&&document.documentElement.classList.add("voxepay-light"),e.customStyles&&this.applyCustomStyles(e.customStyles),console.log("[VoxePay] Initialized successfully")):console.error("[VoxePay] Organization ID is required. Find it in your VoxePay dashboard."):console.error("[VoxePay] API key is required. Get your API key from the VoxePay dashboard: Settings > API Keys")}checkout(e){return this.initialized?!e.amount||e.amount<=0?(console.error("[VoxePay] Invalid amount"),void e.onError({code:"INVALID_AMOUNT",message:"Payment amount must be greater than 0",recoverable:!1})):e.currency?(this.closeModal(),this.currentModal=new M({...e,_sdkConfig:{apiKey:this.config.apiKey,organizationId:this.config.organizationId,baseUrl:this.config.baseUrl},onClose:()=>{var t;this.currentModal=null,null===(t=e.onClose)||void 0===t||t.call(e)}}),void this.currentModal.open()):(console.error("[VoxePay] Currency is required"),void e.onError({code:"INVALID_CURRENCY",message:"Currency code is required",recoverable:!1})):(console.error("[VoxePay] Not initialized. Call VoxePay.init() first."),void e.onError({code:"NOT_INITIALIZED",message:"VoxePay SDK not initialized. Call VoxePay.init() first.",recoverable:!1}))}closeModal(){this.currentModal&&(this.currentModal.close(),this.currentModal=null)}setTheme(e){document.documentElement.classList.remove("voxepay-light"),"light"===e?document.documentElement.classList.add("voxepay-light"):"auto"===e&&this.applyAutoTheme(),this.config&&(this.config.theme=e)}applyAutoTheme(){window.matchMedia("(prefers-color-scheme: dark)").matches||document.documentElement.classList.add("voxepay-light"),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",e=>{var t;"auto"===(null===(t=this.config)||void 0===t?void 0:t.theme)&&document.documentElement.classList.toggle("voxepay-light",!e.matches)})}applyCustomStyles(e){const t=document.documentElement;for(const[a,n]of Object.entries(e))n&&t.style.setProperty(a,n)}get version(){return"0.3.0"}get isInitialized(){return this.initialized}}const L=new C;return"undefined"!=typeof window&&(window.VoxePay=L),e.VoxePay=L,e.VoxePaySDK=C,e.cleanPan=m,e.default=L,e.detectCardBrand=a,e.formatAmount=p,e.formatCVV=d,e.formatCardNumber=s,e.formatExpiry=l,e.formatExpiryForApi=x,e.generateAuthData=h,e.getCurrencySymbol=function(e){return{NGN:"₦",USD:"$",EUR:"€",GBP:"£",GHS:"₵",KES:"KSh",ZAR:"R"}[e.toUpperCase()]||e},e.luhnCheck=n,e.validateCVV=i,e.validateCardNumber=o,e.validateExpiry=r,Object.defineProperty(e,"__esModule",{value:!0}),e}({});
2
2
  //# sourceMappingURL=voxepay-checkout.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"voxepay-checkout.min.js","sources":["../src/utils/card-validator.ts","../src/utils/formatter.ts","../src/utils/encryption.ts","../src/api/client.ts","../src/components/modal.ts","../src/voxepay.ts"],"sourcesContent":[null,null,null,null,null,null],"names":["CARD_BRANDS","name","code","pattern","lengths","cvvLength","detectCardBrand","cardNumber","cleaned","replace","brand","test","luhnCheck","sum","isEven","i","length","digit","parseInt","validateCardNumber","valid","error","includes","validateExpiry","expiry","match","month","year","now","Date","currentYear","getFullYear","currentMonth","getMonth","validateCVV","cvv","expectedLength","formatCardNumber","value","join","slice","formatExpiry","formatCVV","formatAmount","amount","currency","Intl","NumberFormat","style","minimumFractionDigits","format","hexToBytes","hex","bytes","push","substring","RSABigInt","constructor","this","data","sign","fromHex","n","bitPos","current","BITS","BASE","trim","fromBytes","map","b","toString","padStart","pop","isZero","bitLength","topWord","bits","w","toBytes","h","padLen","Math","ceil","Array","fill","concat","clone","r","compareAbs","other","multiply","result","carry","j","prod","floor","modPow","exp","mod","Error","base","expBits","wordIdx","bitIdx","m","divmod","remainder","divisor","quotient","cmp","shiftLeft","subtract","qWordIdx","qBitIdx","wordShift","bitShift","max","borrow","diff","RSA_CONFIG","generateAuthData","async","version","pan","pin","expiryDate","messageBytes","str","charCodeAt","toHex","modulus","exponent","keyByteLen","padded","crypto","getRandomValues","arr","Uint8Array","random","pkcs1Pad","encryptedBytes","btoa","String","fromCharCode","Buffer","from","console","formatExpiryForApi","cleanPan","VoxePayApiClient","apiKey","baseUrl","request","endpoint","body","url","response","fetch","method","headers","Accept","JSON","stringify","json","ok","errorMessage","message","status","initiatePayment","validateOTP","resendOTP","ICONS","CARD_BRAND_DISPLAY","visa","mastercard","amex","verve","discover","VoxePayModal","options","container","overlay","apiClient","handleEscape","e","key","close","document","removeEventListener","methods","paymentMethods","_sdkConfig","state","otp","errors","isProcessing","isSuccess","isOtpStep","otpTimer","canResendOtp","otpTimerInterval","paymentMethod","transferTimer","transferTimerInterval","bankTransferDetails","paymentId","transactionId","transactionRef","eciFlag","open","injectStyles","render","attachEventListeners","requestAnimationFrame","_a","classList","add","stopTransferTimer","remove","setTimeout","_c","onClose","getElementById","createElement","id","textContent","getStyles","head","appendChild","className","innerHTML","getModalHTML","querySelector","getPaymentMethods","formattedAmount","showTabs","isCard","description","getCardFormHTML","getBankTransferHTML","details","accountNumber","bankName","accountName","reference","formatCountdown","expiresIn","seconds","s","renderSuccessView","formContainer","closeBtn","addEventListener","renderOTPView","maskedPhone","customerEmail","attachOTPEventListeners","startOTPTimer","otpInputs","querySelectorAll","forEach","input","index","handleOTPInput","handleOTPKeydown","handleOTPPaste","verifyBtn","_b","handleOTPSubmit","resendBtn","handleResendOTP","backBtn","_d","handleBackToCard","_e","focus","target","nextInput","updateOTPState","clearError","prevInput","preventDefault","pastedData","clipboardData","getData","inputs","split","timerEl","timerContainer","window","setInterval","clearInterval","display","disabled","setOTPProcessing","verifyOTP","processPayment","onSuccess","paymentError","showError","recoverable","undefined","organizationId","cardInput","expiryInput","cvvInput","tabs","tab","dataset","switchPaymentMethod","handleCardInput","validateField","handleExpiryInput","_f","handleCVVInput","form","_g","handleSubmit","attachBankTransferListeners","startTransferTimer","loadBankTransferDetails","copyBtn","accountNum","copy","copyToClipboard","confirmBtn","handleTransferConfirm","onBankTransferRequested","Promise","resolve","toUpperCase","onError","text","navigator","clipboard","writeText","textarea","position","opacity","select","execCommand","removeChild","timestamp","toISOString","countdownEl","formatted","brandEl","field","errorEl","inputEl","isCardValid","isExpiryValid","isCVVValid","setProcessing","authData","customerPhone","narration","submitBtn","VoxePaySDK","config","currentModal","initialized","init","theme","locale","applyAutoTheme","documentElement","customStyles","applyCustomStyles","log","checkout","closeModal","call","setTheme","matchMedia","matches","toggle","styles","root","Object","entries","setProperty","isInitialized","VoxePay","NGN","USD","EUR","GBP","GHS","KES","ZAR"],"mappings":"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"}
1
+ {"version":3,"file":"voxepay-checkout.min.js","sources":["../src/utils/card-validator.ts","../src/utils/formatter.ts","../src/utils/encryption.ts","../src/api/client.ts","../src/components/modal.ts","../src/voxepay.ts"],"sourcesContent":[null,null,null,null,null,null],"names":["CARD_BRANDS","name","code","pattern","lengths","cvvLength","detectCardBrand","cardNumber","cleaned","replace","brand","test","luhnCheck","sum","isEven","i","length","digit","parseInt","validateCardNumber","valid","error","includes","validateExpiry","expiry","match","month","year","now","Date","currentYear","getFullYear","currentMonth","getMonth","validateCVV","cvv","expectedLength","formatCardNumber","value","join","slice","formatExpiry","formatCVV","formatAmount","amount","currency","Intl","NumberFormat","style","minimumFractionDigits","format","hexToBytes","hex","bytes","push","substring","RSABigInt","constructor","this","data","sign","fromHex","n","bitPos","current","BITS","BASE","trim","fromBytes","map","b","toString","padStart","pop","isZero","bitLength","topWord","bits","w","toBytes","h","padLen","Math","ceil","Array","fill","concat","clone","r","compareAbs","other","multiply","result","carry","j","prod","floor","modPow","exp","mod","Error","base","expBits","wordIdx","bitIdx","m","divmod","remainder","divisor","quotient","cmp","shiftLeft","subtract","qWordIdx","qBitIdx","wordShift","bitShift","max","borrow","diff","RSA_CONFIG","generateAuthData","async","version","pan","pin","expiryDate","messageBytes","str","charCodeAt","toHex","modulus","exponent","keyByteLen","padded","crypto","getRandomValues","arr","Uint8Array","random","pkcs1Pad","encryptedBytes","btoa","String","fromCharCode","Buffer","from","console","formatExpiryForApi","cleanPan","VoxePayApiClient","apiKey","baseUrl","request","endpoint","body","url","response","fetch","method","headers","Accept","JSON","stringify","json","ok","errorMessage","message","status","initiatePayment","validateOTP","resendOTP","ICONS","CARD_BRAND_DISPLAY","visa","mastercard","amex","verve","discover","VoxePayModal","options","container","overlay","apiClient","handleEscape","e","key","close","document","removeEventListener","methods","paymentMethods","_sdkConfig","state","otp","errors","isProcessing","isSuccess","isOtpStep","otpTimer","canResendOtp","otpTimerInterval","paymentMethod","transferTimer","transferTimerInterval","bankTransferDetails","paymentId","transactionId","transactionRef","eciFlag","open","injectStyles","render","attachEventListeners","requestAnimationFrame","_a","classList","add","stopTransferTimer","remove","setTimeout","_c","onClose","getElementById","createElement","id","textContent","getStyles","head","appendChild","className","innerHTML","getModalHTML","querySelector","getPaymentMethods","formattedAmount","showTabs","isCard","description","getCardFormHTML","getBankTransferHTML","details","accountNumber","bankName","accountName","reference","formatCountdown","expiresIn","seconds","s","renderSuccessView","formContainer","closeBtn","addEventListener","renderOTPView","maskedPhone","customerEmail","attachOTPEventListeners","startOTPTimer","otpInputs","querySelectorAll","forEach","input","index","handleOTPInput","handleOTPKeydown","handleOTPPaste","verifyBtn","_b","handleOTPSubmit","resendBtn","handleResendOTP","backBtn","_d","handleBackToCard","_e","focus","target","nextInput","updateOTPState","clearError","prevInput","preventDefault","pastedData","clipboardData","getData","inputs","split","timerEl","timerContainer","window","setInterval","clearInterval","display","disabled","setOTPProcessing","verifyOTP","processPayment","onSuccess","paymentError","showError","recoverable","undefined","organizationId","cardInput","expiryInput","cvvInput","tabs","tab","dataset","switchPaymentMethod","handleCardInput","validateField","handleExpiryInput","_f","handleCVVInput","form","_g","handleSubmit","attachBankTransferListeners","startTransferTimer","loadBankTransferDetails","copyBtn","accountNum","copy","copyToClipboard","confirmBtn","handleTransferConfirm","onBankTransferRequested","Promise","resolve","toUpperCase","onError","text","navigator","clipboard","writeText","textarea","position","opacity","select","execCommand","removeChild","timestamp","toISOString","countdownEl","formatted","brandEl","field","errorEl","inputEl","isCardValid","isExpiryValid","isCVVValid","setProcessing","authData","customerId","customerPhone","narration","submitBtn","VoxePaySDK","config","currentModal","initialized","init","theme","locale","applyAutoTheme","documentElement","customStyles","applyCustomStyles","log","checkout","closeModal","call","setTheme","matchMedia","matches","toggle","styles","root","Object","entries","setProperty","isInitialized","VoxePay","NGN","USD","EUR","GBP","GHS","KES","ZAR"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voxepay/checkout",
3
- "version": "0.3.3",
3
+ "version": "0.3.4",
4
4
  "description": "Modern payment checkout modal for VoxePay - beautiful, fast, and secure",
5
5
  "author": "VoxePay",
6
6
  "license": "MIT",
@@ -1011,6 +1011,7 @@ export class VoxePayModal {
1011
1011
  const response = await this.apiClient.initiatePayment({
1012
1012
  organizationId: this.options._sdkConfig.organizationId,
1013
1013
  transactionRef,
1014
+ customerId: this.options.customerEmail,
1014
1015
  customerEmail: this.options.customerEmail,
1015
1016
  customerPhone: this.options.customerPhone,
1016
1017
  amount: this.options.amount / 100, // Convert from kobo/cents to main unit