import QRCode from"qrcode";function validate({pa:e,pn:t}){if(!e||!t)return"Virtual payee's address/name is compulsory";if(e.length<5||t.length<4)return"Virtual payee's address/name is too short.";return""}export default function upiqr({payeeVPA:e,payeeName:t,payeeMerchantCode:r,transactionId:n,transactionRef:a,transactionNote:o,amount:i,minimumAmount:s,currency:c},m){const u=Object.assign({pa:e,pn:t},Object.fromEntries(Object.entries({am:i,mam:s,cu:c,mc:r,tid:n,tr:a,tn:o}).filter(([e,t])=>t)));const p=validate(u);if(p)return Promise.reject(new Error(p));const d="upi://pay?"+new URLSearchParams(u).toString();return new Promise((t,r)=>{QRCode.toDataURL(d,m).then(e=>t({qr:e,intent:d})).catch(e=>r(new Error("Unable to generate UPI QR Code.\n"+e)))})}