@wdft/micropayments-sdk 0.0.10 → 0.0.11-rc2

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/README.md CHANGED
@@ -1,6 +1,6 @@
1
- ## WDFT - We Do Fintech - Micropayments SDK
1
+ ## WDFT - We Do Fintech - SDK
2
2
 
3
- Read more about our service GetViaMsg at https://wdft.ovh
3
+ Read more about our service GetViaMsg at https://getviamsg.wdft.ovh
4
4
 
5
5
  ### Changelog
6
6
 
package/dist/browser.js CHANGED
@@ -5,4 +5,4 @@ Make sure your charset is UTF-8`);e=(e>>>8&255)*192+(e&255),n.put(e,13)}};ge.exp
5
5
  The chosen QR Code version cannot contain this amount of data.
6
6
  Minimum version required to store current data is: `+i+`.
7
7
  `);let s=Mn(t,e,o),u=et.getSymbolSize(t),c=new pn(u);return Bn(c,t),An(c),Tn(c,t),Bt(c,e,0),t>=7&&In(c,t),Nn(c,s),isNaN(r)&&(r=At.getBestMask(c,Bt.bind(null,c,e))),At.applyMask(r,c),Bt(c,e,r),{modules:c,version:t,errorCorrectionLevel:e,maskPattern:r,segments:o}}Te.create=function(t,e){if(typeof t>"u"||t==="")throw new Error("No input text");let r=Et.M,o,i;return typeof e<"u"&&(r=Et.from(e.errorCorrectionLevel,Et.M),o=tt.from(e.version),i=At.from(e.maskPattern),e.toSJISFunc&&et.setToSJISFunction(e.toSJISFunc)),Pn(t,o,r,i)}});var It=g(L=>{function Ne(n){if(typeof n=="number"&&(n=n.toString()),typeof n!="string")throw new Error("Color should be defined as hex string");let t=n.slice().replace("#","").split("");if(t.length<3||t.length===5||t.length>8)throw new Error("Invalid hex color: "+n);(t.length===3||t.length===4)&&(t=Array.prototype.concat.apply([],t.map(function(r){return[r,r]}))),t.length===6&&t.push("F","F");let e=parseInt(t.join(""),16);return{r:e>>24&255,g:e>>16&255,b:e>>8&255,a:e&255,hex:"#"+t.slice(0,6).join("")}}L.getOptions=function(t){t||(t={}),t.color||(t.color={});let e=typeof t.margin>"u"||t.margin===null||t.margin<0?4:t.margin,r=t.width&&t.width>=21?t.width:void 0,o=t.scale||4;return{width:r,scale:r?4:o,margin:e,color:{dark:Ne(t.color.dark||"#000000ff"),light:Ne(t.color.light||"#ffffffff")},type:t.type,rendererOpts:t.rendererOpts||{}}};L.getScale=function(t,e){return e.width&&e.width>=t+e.margin*2?e.width/(t+e.margin*2):e.scale};L.getImageWidth=function(t,e){let r=L.getScale(t,e);return Math.floor((t+e.margin*2)*r)};L.qrToImageData=function(t,e,r){let o=e.modules.size,i=e.modules.data,s=L.getScale(o,r),u=Math.floor((o+r.margin*2)*s),c=r.margin*s,l=[r.color.light,r.color.dark];for(let a=0;a<u;a++)for(let w=0;w<u;w++){let h=(a*u+w)*4,y=r.color.light;if(a>=c&&w>=c&&a<u-c&&w<u-c){let A=Math.floor((a-c)/s),T=Math.floor((w-c)/s);y=l[i[A*o+T]?1:0]}t[h++]=y.r,t[h++]=y.g,t[h++]=y.b,t[h]=y.a}}});var Me=g(nt=>{var Nt=It();function bn(n,t,e){n.clearRect(0,0,t.width,t.height),t.style||(t.style={}),t.height=e,t.width=e,t.style.height=e+"px",t.style.width=e+"px"}function Rn(){try{return document.createElement("canvas")}catch{throw new Error("You need to specify a canvas element")}}nt.render=function(t,e,r){let o=r,i=e;typeof o>"u"&&(!e||!e.getContext)&&(o=e,e=void 0),e||(i=Rn()),o=Nt.getOptions(o);let s=Nt.getImageWidth(t.modules.size,o),u=i.getContext("2d"),c=u.createImageData(s,s);return Nt.qrToImageData(c.data,t,o),bn(u,i,s),u.putImageData(c,0,0),i};nt.renderToDataURL=function(t,e,r){let o=r;typeof o>"u"&&(!e||!e.getContext)&&(o=e,e=void 0),o||(o={});let i=nt.render(t,e,o),s=o.type||"image/png",u=o.rendererOpts||{};return i.toDataURL(s,u.quality)}});var be=g(Pe=>{var Ln=It();function Se(n,t){let e=n.a/255,r=t+'="'+n.hex+'"';return e<1?r+" "+t+'-opacity="'+e.toFixed(2).slice(1)+'"':r}function Mt(n,t,e){let r=n+t;return typeof e<"u"&&(r+=" "+e),r}function _n(n,t,e){let r="",o=0,i=!1,s=0;for(let u=0;u<n.length;u++){let c=Math.floor(u%t),l=Math.floor(u/t);!c&&!i&&(i=!0),n[u]?(s++,u>0&&c>0&&n[u-1]||(r+=i?Mt("M",c+e,.5+l+e):Mt("m",o,0),o=0,i=!1),c+1<t&&n[u+1]||(r+=Mt("h",s),s=0)):o++}return r}Pe.render=function(t,e,r){let o=Ln.getOptions(e),i=t.modules.size,s=t.modules.data,u=i+o.margin*2,c=o.color.light.a?"<path "+Se(o.color.light,"fill")+' d="M0 0h'+u+"v"+u+'H0z"/>':"",l="<path "+Se(o.color.dark,"stroke")+' d="'+_n(s,i,o.margin)+'"/>',a='viewBox="0 0 '+u+" "+u+'"',h='<svg xmlns="http://www.w3.org/2000/svg" '+(o.width?'width="'+o.width+'" height="'+o.width+'" ':"")+a+' shape-rendering="crispEdges">'+c+l+`</svg>
8
- `;return typeof r=="function"&&r(null,h),h}});var Le=g(O=>{var xn=xt(),St=Ie(),Re=Me(),Un=be();function Pt(n,t,e,r,o){let i=[].slice.call(arguments,1),s=i.length,u=typeof i[s-1]=="function";if(!u&&!xn())throw new Error("Callback required as last argument");if(u){if(s<2)throw new Error("Too few arguments provided");s===2?(o=e,e=t,t=r=void 0):s===3&&(t.getContext&&typeof o>"u"?(o=r,r=void 0):(o=r,r=e,e=t,t=void 0))}else{if(s<1)throw new Error("Too few arguments provided");return s===1?(e=t,t=r=void 0):s===2&&!t.getContext&&(r=e,e=t,t=void 0),new Promise(function(c,l){try{let a=St.create(e,r);c(n(a,t,r))}catch(a){l(a)}})}try{let c=St.create(e,r);o(null,n(c,t,r))}catch(c){o(c)}}O.create=St.create;O.toCanvas=Pt.bind(null,Re.render);O.toDataURL=Pt.bind(null,Re.renderToDataURL);O.toString=Pt.bind(null,function(n,t,e){return Un.render(n,e)})});var _e=Ve(Le(),1);async function ar(n){return await _e.default.toDataURL(n,{errorCorrectionLevel:"L"})}export{ar as generateQRCode};
8
+ `;return typeof r=="function"&&r(null,h),h}});var Le=g(O=>{var xn=xt(),St=Ie(),Re=Me(),Un=be();function Pt(n,t,e,r,o){let i=[].slice.call(arguments,1),s=i.length,u=typeof i[s-1]=="function";if(!u&&!xn())throw new Error("Callback required as last argument");if(u){if(s<2)throw new Error("Too few arguments provided");s===2?(o=e,e=t,t=r=void 0):s===3&&(t.getContext&&typeof o>"u"?(o=r,r=void 0):(o=r,r=e,e=t,t=void 0))}else{if(s<1)throw new Error("Too few arguments provided");return s===1?(e=t,t=r=void 0):s===2&&!t.getContext&&(r=e,e=t,t=void 0),new Promise(function(c,l){try{let a=St.create(e,r);c(n(a,t,r))}catch(a){l(a)}})}try{let c=St.create(e,r);o(null,n(c,t,r))}catch(c){o(c)}}O.create=St.create;O.toCanvas=Pt.bind(null,Re.render);O.toDataURL=Pt.bind(null,Re.renderToDataURL);O.toString=Pt.bind(null,function(n,t,e){return Un.render(n,e)})});var _e=Ve(Le());async function ar(n){return await _e.default.toDataURL(n,{errorCorrectionLevel:"L"})}export{ar as generateQRCode};
package/dist/client.d.ts CHANGED
@@ -28,12 +28,12 @@ declare class Commitment {
28
28
  getCurrency(): string;
29
29
  getReferenceId(): string;
30
30
  getCommitmentId(): string;
31
- markAsCreated(): void;
32
- markAsDuplicated(): void;
33
- markAsWaiting(): void;
34
- markAsExpired(): void;
35
- markAsRejected(): void;
36
- markAsResolved(): void;
31
+ markAsCreated(message: string | undefined): void;
32
+ markAsDuplicated(message: string | undefined): void;
33
+ markAsWaiting(message: string | undefined): void;
34
+ markAsExpired(message: string | undefined): void;
35
+ markAsRejected(message: string | undefined): void;
36
+ markAsResolved(message: string | undefined): void;
37
37
  private retries;
38
38
  private currentTimer;
39
39
  getNextCallTime(): number;
package/dist/client.js CHANGED
@@ -1 +1 @@
1
- var C="2025-09-30";async function d(s){return s.headers.get("Content-Type")?.includes("application/json")?await s.json():await s.text()}function _(s,t){return Math.floor(Math.random()*(t-s+1))+s}function h(s){let t=0;if(!s)return t;let i=typeof s=="number"?s:parseInt(s,10);return!isNaN(i)&&isFinite(i)?t=i*1e3:t=0,t}async function l(s,t,i){try{let r=await i(new Request(s,t));if(r.ok){let o=r.headers.get("Retry-After");return{status:r.status,error:!1,retry_after:h(r.headers.get("Retry-After")),data:await d(r)}}let n=await d(r);return{status:r.status,error:n&&typeof n=="object"&&"error"in n?n.error:!0,message:n&&typeof n=="object"&&"message"in n?n.message:r.statusText,retry_after:h(r.headers.get("Retry-After")),data:null}}catch(r){return{status:500,error:!0,message:r instanceof Error?r.message:`${r}`,retry_after:_(1e4,3e4),data:null}}}function p(s,t){let i=s.endsWith("/")?s.substring(0,s.length-1):s,r=t.startsWith("/")?t:"/".concat(t);return i+r}var a=class{constructor(t){this.options=t;if(!t.fetcher&&!globalThis.fetch)throw new Error('fetch is not available in environment, pass "fetcher" option with satisfies fetch interface');this.fetcher=this.options.fetcher??globalThis.fetch}async createCommitment(t,i,r,n){let o=await l(p(this.options.endpoint,"/commitment"),{method:"POST",headers:{"Content-Type":"application/json","X-Compatibility-Date":C},body:JSON.stringify({tenant_id:this.options.tenant_id,reference_id:t,currency:r,metadata:n??{title:"",url:""},amount:i})},this.fetcher);if(o.error)throw new Error(o.message);if(!o.data)throw new Error("Bad response");return o.data}async checkCommitment(t){let i=await l(p(this.options.endpoint,`/commitment/${t}`),{method:"GET"},this.fetcher);switch(i.status){case 402:return{commitment_id:t,message:i.message||"Payment required - you are over limit",status:"rejected"};case 410:return{commitment_id:t,message:i.message||"Expired",status:"expired"}}if(i.error)throw new Error(i.message);if(!i.data)throw new Error("Bad response");return{commitment_id:i.data.commitment_id,message:i.data.message,status:i.data.status,retry_after:i.retry_after}}};var m=5e3,c=class{constructor(t,i,r){this.service=t;this.options=r;this.retries=0;this.currentTimer=null;this.currentCheck=null;this.payload={message:"Creating...",status:"initializing",...i},this.options.onCreated&&this.options.onCreated(this)}isExpired(){return Date.now()>this.payload.expires_at}isRejected(){return this.getStatus()==="rejected"}isResolved(){return this.getStatus()==="resolved"}getMessage(){return this.payload.message||""}getStatus(){return this.payload.status}getClickUrl(){return this.payload.click_url}getAmount(){return this.payload.amount}getCurrency(){return this.payload.currency}getReferenceId(){return this.payload.reference_id}getCommitmentId(){return this.payload.commitment_id}markAsCreated(){this.payload.status!=="created"&&(this.payload.status="created",this.options.onCreated&&this.options.onCreated(this))}markAsDuplicated(){if(this.payload.status==="duplicated"){this.stopChecking();return}this.payload.status="duplicated",this.stopChecking(),this.options.onDuplicated&&this.options.onDuplicated(this)}markAsWaiting(){this.payload.status!=="waiting"&&(this.payload.status="waiting",this.options.onWaiting&&this.options.onWaiting(this))}markAsExpired(){if(this.payload.status==="expired"){this.stopChecking();return}this.payload.status="expired",this.options.onExpired&&this.options.onExpired(this),this.stopChecking()}markAsRejected(){if(this.payload.status==="rejected"){this.stopChecking();return}this.payload.status="rejected",this.options.onRejected&&this.options.onRejected(this),this.stopChecking()}markAsResolved(){if(this.payload.status==="resolved"){this.stopChecking();return}this.payload.status="resolved",this.stopChecking(),this.options.onResolved&&this.options.onResolved(this)}getNextCallTime(){return this.retries++,Math.min(5e3,this.payload.retry_ms+this.payload.retry_ms*(this.retries/10))}startChecking(){this.currentCheck||(this.currentCheck=this.check().then(t=>{let i=this.getNextCallTime();return t==="waiting"&&(this.currentTimer=setTimeout(()=>this.startChecking(),i)),t}).finally(()=>{this.stopChecking(!1)}))}stopChecking(t=!0){this.currentCheck=null,this.currentTimer&&t&&clearTimeout(this.currentTimer)}async check(){if(this.isExpired())return this.markAsExpired(),this.getStatus();if(this.isRejected())return this.markAsRejected(),this.getStatus();if(this.isResolved())return this.markAsResolved(),this.getStatus();try{let t=await this.service.checkCommitment(this.getCommitmentId());switch(t.retry_after&&(this.options.retry_ms=Math.max(this.options.retry_ms||m,t.retry_after)),t.status){case"duplicated":{this.markAsDuplicated();break}case"expired":{this.markAsExpired();break}case"resolved":{this.markAsResolved();break}case"waiting":{this.markAsWaiting();break}case"rejected":{this.markAsRejected();break}}this.options.onCheck&&this.options.onCheck(this)}catch(t){if(this.options.onError)this.options.onError(t,this),this.stopChecking();else throw t}return this.getStatus()}},g=class s{constructor(t,i){this.svc=t;this.options=i}static new(t){return new s(new a(t),t)}getStorageKey(t){return`getviamsg:${this.options.tenant_id}:${t}`}async checkDirect(t){return this.svc.checkCommitment(t)}async storeIntoStorageByKey(t,i){this.options.storage&&t&&await this.options.storage.set(t,JSON.stringify(i))}async canRecreateFromStorageKey(t){if(!this.options.storage||!t)return null;let i=await this.options.storage.get(t);if(!i)return null;let r=JSON.parse(i),n=await this.checkDirect(r.commitment_id).catch(o=>({commitment_id:r.commitment_id,status:"expired",message:"Commitment expired"}));return n.status==="expired"||n.status==="rejected"?(await this.options.storage.del(t),null):r}async createDirect(t,i,r={}){let n=r.currency??this.options.currency,o=await this.canRecreateFromStorageKey(r.commitmentKey);if(o)return new c(this.svc,{commitment_id:o.commitment_id,amount:i,currency:n,reference_id:t,expires_at:o.expires_at,click_url:o.click_url,retry_ms:this.options.retry_ms??m},r);let e=await this.svc.createCommitment(t,i,n,r.metadata);return await this.storeIntoStorageByKey(r.commitmentKey,e),new c(this.svc,{commitment_id:e.commitment_id,amount:i,currency:n,reference_id:t,expires_at:e.expires_at,click_url:e.click_url,retry_ms:this.options.retry_ms??m},r)}create(t,i,r){let n=this.commitmentBuilder().setAmount(i).setCurrency(this.options.currency).setMetadataUrl(globalThis?.location?.href??"").setMetadataTitle(globalThis?.document?.title??"").setReference(t);if(this.options.retry_ms&&n.setRetryTime(this.options.retry_ms),!!this.options.storage){let e=this.getStorageKey(t);n.setStorage(this.options.storage),n.setStorageCommitmentKey(e)}n.onCreated(e=>(e.startChecking(),r(null,{status:e.getStatus(),message:e.getMessage(),reference_id:t,commitment_id:e.getCommitmentId(),click_url:e.getClickUrl()}))).onWaiting(e=>r(null,{status:e.getStatus(),message:e.getMessage(),reference_id:t,commitment_id:e.getCommitmentId(),click_url:e.getClickUrl()})).onDuplicated(e=>r(null,{status:e.getStatus(),message:e.getMessage(),reference_id:t,commitment_id:e.getCommitmentId(),click_url:e.getClickUrl()})).onExpired(e=>r(null,{status:e.getStatus(),message:e.getMessage(),reference_id:t,commitment_id:e.getCommitmentId(),click_url:e.getClickUrl()})).onRejected(e=>r(null,{status:e.getStatus(),message:e.getMessage(),reference_id:t,commitment_id:e.getCommitmentId(),click_url:e.getClickUrl()})).onResolved(e=>r(null,{status:e.getStatus(),message:e.getMessage(),reference_id:t,commitment_id:e.getCommitmentId(),click_url:e.getClickUrl()})).onError((e,y)=>{y?.stopChecking(),r(e,null)}).exec()}commitmentBuilder(){return new u(this)}},u=class{constructor(t){this.client=t;this._retry_ms=m;this._metadata={title:"",url:""};this._onCreatedFn=()=>{};this._onResolvedFn=()=>{};this._onErrorFn=()=>{};this._onExpiredFn=()=>{};this._onRejectedFn=()=>{};this._onDuplicatedFn=()=>{};this._onCheckFn=()=>{};this._onWaitingFn=()=>{}}setStorage(t){return this._storage=t,this}setStorageCommitmentKey(t){return this._commitmentKey=t,this}setMetadataTitle(t=""){return this._metadata.title=t,this}setMetadataUrl(t=""){return this._metadata.url=t,this}setRetryTime(t){return this._retry_ms=t,this}setAmount(t){return this._amount=t,this}setReference(t){return this._reference_id=t,this}setCurrency(t){return this._currency=t,this}onCreated(t){return this._onCreatedFn=t,this}onResolved(t){return this._onResolvedFn=t,this}onExpired(t){return this._onExpiredFn=t,this}onRejected(t){return this._onRejectedFn=t,this}onError(t){return this._onErrorFn=t,this}onDuplicated(t){return this._onDuplicatedFn=t,this}onCheck(t){return this._onCheckFn=t,this}onWaiting(t){return this._onWaitingFn=t,this}exec(){if(!this._reference_id)throw new Error("reference_id must be defined");if(!this._amount)throw new Error("amount must be defined");if(!this._currency)throw new Error("currency must be defined");this.client.createDirect(this._reference_id,this._amount,{retry_ms:this._retry_ms,currency:this._currency,metadata:this._metadata,storage:this._storage,commitmentKey:this._commitmentKey,onCheck:this._onCheckFn,onCreated:this._onCreatedFn,onDuplicated:this._onDuplicatedFn,onError:this._onErrorFn,onExpired:this._onExpiredFn,onWaiting:this._onWaitingFn,onRejected:this._onRejectedFn,onResolved:this._onResolvedFn}).catch(t=>{if(this._onErrorFn)this._onErrorFn(t);else throw t})}};export{g as Client};
1
+ var C="2025-09-30";async function d(s){return s.headers.get("Content-Type")?.includes("application/json")?await s.json():await s.text()}function f(s,t){return Math.floor(Math.random()*(t-s+1))+s}function h(s){let t=0;if(!s)return t;let r=typeof s=="number"?s:parseInt(s,10);return!isNaN(r)&&isFinite(r)?t=r*1e3:t=0,t}async function l(s,t,r){try{let i=await r(new Request(s,t));if(i.ok){let o=i.headers.get("Retry-After");return{status:i.status,error:!1,retry_after:h(i.headers.get("Retry-After")),data:await d(i)}}let n=await d(i);return{status:i.status,error:n&&typeof n=="object"&&"error"in n?n.error:!0,message:n&&typeof n=="object"&&"message"in n?n.message:i.statusText,retry_after:h(i.headers.get("Retry-After")),data:null}}catch(i){return{status:500,error:!0,message:i instanceof Error?i.message:`${i}`,retry_after:f(1e4,3e4),data:null}}}function p(s,t){let r=s.endsWith("/")?s.substring(0,s.length-1):s,i=t.startsWith("/")?t:"/".concat(t);return r+i}var a=class{constructor(t){this.options=t;if(!t.fetcher&&!globalThis.fetch)throw new Error('fetch is not available in environment, pass "fetcher" option with satisfies fetch interface');this.fetcher=this.options.fetcher??globalThis.fetch}async createCommitment(t,r,i,n){let o=await l(p(this.options.endpoint,"/commitment"),{method:"POST",headers:{"Content-Type":"application/json","X-Compatibility-Date":C},body:JSON.stringify({tenant_id:this.options.tenant_id,reference_id:t,currency:i,metadata:n??{title:"",url:""},amount:r})},this.fetcher);if(o.error)throw new Error(o.message);if(!o.data)throw new Error("Bad response");return o.data}async checkCommitment(t){let r=await l(p(this.options.endpoint,`/commitment/${t}`),{method:"GET"},this.fetcher);switch(r.status){case 402:return{commitment_id:t,message:r.message||"Payment required - you are over limit",status:"rejected"};case 410:return{commitment_id:t,message:r.message||"Expired",status:"expired"}}if(r.error)throw new Error(r.message);if(!r.data)throw new Error("Bad response");return{commitment_id:r.data.commitment_id,message:r.data.message,status:r.data.status,retry_after:r.retry_after}}};var m=5e3,c=class{constructor(t,r,i){this.service=t;this.options=i;this.retries=0;this.currentTimer=null;this.currentCheck=null;this.payload={message:"Initializing...",status:"initializing",...r},this.options.onCreated&&this.options.onCreated(this)}isExpired(){return Date.now()>this.payload.expires_at}isRejected(){return this.getStatus()==="rejected"}isResolved(){return this.getStatus()==="resolved"}getMessage(){return this.payload.message||""}getStatus(){return this.payload.status}getClickUrl(){return this.payload.click_url}getAmount(){return this.payload.amount}getCurrency(){return this.payload.currency}getReferenceId(){return this.payload.reference_id}getCommitmentId(){return this.payload.commitment_id}markAsCreated(t){this.payload.status!=="created"&&(this.payload.status="created",t&&(this.payload.message=t),this.options.onCreated&&this.options.onCreated(this))}markAsDuplicated(t){if(this.payload.status==="duplicated"){this.stopChecking();return}this.payload.status="duplicated",t&&(this.payload.message=t),this.stopChecking(),this.options.onDuplicated&&this.options.onDuplicated(this)}markAsWaiting(t){this.payload.status!=="waiting"&&(this.payload.status="waiting",t&&(this.payload.message=t),this.options.onWaiting&&this.options.onWaiting(this))}markAsExpired(t){if(this.payload.status==="expired"){this.stopChecking();return}this.payload.status="expired",t&&(this.payload.message=t),this.options.onExpired&&this.options.onExpired(this),this.stopChecking()}markAsRejected(t){if(this.payload.status==="rejected"){this.stopChecking();return}this.payload.status="rejected",t&&(this.payload.message=t),this.options.onRejected&&this.options.onRejected(this),this.stopChecking()}markAsResolved(t){if(this.payload.status==="resolved"){this.stopChecking();return}this.payload.status="resolved",t&&(this.payload.message=t),this.stopChecking(),this.options.onResolved&&this.options.onResolved(this)}getNextCallTime(){return this.retries++,Math.min(5e3,this.payload.retry_ms+this.payload.retry_ms*(this.retries/10))}startChecking(){this.currentCheck||(this.currentCheck=this.check().then(t=>{let r=this.getNextCallTime();return t==="waiting"&&(this.currentTimer=setTimeout(()=>this.startChecking(),r)),t}).finally(()=>{this.stopChecking(!1)}))}stopChecking(t=!0){this.currentCheck=null,this.currentTimer&&t&&clearTimeout(this.currentTimer)}async check(){if(this.isExpired())return this.markAsExpired(void 0),this.getStatus();if(this.isRejected())return this.markAsRejected(void 0),this.getStatus();if(this.isResolved())return this.markAsResolved(void 0),this.getStatus();try{let t=await this.service.checkCommitment(this.getCommitmentId());switch(t.retry_after&&(this.options.retry_ms=Math.max(this.options.retry_ms||m,t.retry_after)),t.status){case"duplicated":{this.markAsDuplicated(t.message);break}case"expired":{this.markAsExpired(t.message);break}case"resolved":{this.markAsResolved(t.message);break}case"waiting":{this.markAsWaiting(t.message);break}case"rejected":{this.markAsRejected(t.message);break}}this.options.onCheck&&this.options.onCheck(this)}catch(t){if(this.options.onError)this.options.onError(t,this),this.stopChecking();else throw t}return this.getStatus()}},g=class s{constructor(t,r){this.svc=t;this.options=r}static new(t){return new s(new a(t),t)}getStorageKey(t){return`getviamsg:${this.options.tenant_id}:${t}`}async checkDirect(t){return this.svc.checkCommitment(t)}async storeIntoStorageByKey(t,r){this.options.storage&&t&&await this.options.storage.set(t,JSON.stringify(r))}async canRecreateFromStorageKey(t){if(!this.options.storage||!t)return null;let r=await this.options.storage.get(t);if(!r)return null;let i=JSON.parse(r),n=await this.checkDirect(i.commitment_id).catch(o=>({commitment_id:i.commitment_id,status:"expired",message:"Commitment expired"}));return n.status==="expired"||n.status==="rejected"?(await this.options.storage.del(t),null):i}async createDirect(t,r,i={}){let n=i.currency??this.options.currency,o=await this.canRecreateFromStorageKey(i.commitmentKey);if(o)return new c(this.svc,{commitment_id:o.commitment_id,amount:r,currency:n,reference_id:t,expires_at:o.expires_at,click_url:o.click_url,retry_ms:this.options.retry_ms??m},i);let e=await this.svc.createCommitment(t,r,n,i.metadata);return await this.storeIntoStorageByKey(i.commitmentKey,e),new c(this.svc,{commitment_id:e.commitment_id,amount:r,currency:n,reference_id:t,expires_at:e.expires_at,click_url:e.click_url,retry_ms:this.options.retry_ms??m},i)}create(t,r,i){let n=this.commitmentBuilder().setAmount(r).setCurrency(this.options.currency).setMetadataUrl(globalThis?.location?.href??"").setMetadataTitle(globalThis?.document?.title??"").setReference(t);if(this.options.retry_ms&&n.setRetryTime(this.options.retry_ms),!!this.options.storage){let e=this.getStorageKey(t);n.setStorage(this.options.storage),n.setStorageCommitmentKey(e)}n.onCreated(e=>(e.startChecking(),i(null,{status:e.getStatus(),message:e.getMessage(),reference_id:t,commitment_id:e.getCommitmentId(),click_url:e.getClickUrl()}))).onWaiting(e=>i(null,{status:e.getStatus(),message:e.getMessage(),reference_id:t,commitment_id:e.getCommitmentId(),click_url:e.getClickUrl()})).onDuplicated(e=>i(null,{status:e.getStatus(),message:e.getMessage(),reference_id:t,commitment_id:e.getCommitmentId(),click_url:e.getClickUrl()})).onExpired(e=>i(null,{status:e.getStatus(),message:e.getMessage(),reference_id:t,commitment_id:e.getCommitmentId(),click_url:e.getClickUrl()})).onRejected(e=>i(null,{status:e.getStatus(),message:e.getMessage(),reference_id:t,commitment_id:e.getCommitmentId(),click_url:e.getClickUrl()})).onResolved(e=>i(null,{status:e.getStatus(),message:e.getMessage(),reference_id:t,commitment_id:e.getCommitmentId(),click_url:e.getClickUrl()})).onError((e,y)=>{y?.stopChecking(),i(e,null)}).exec()}commitmentBuilder(){return new u(this)}},u=class{constructor(t){this.client=t;this._retry_ms=m;this._metadata={title:"",url:""};this._onCreatedFn=()=>{};this._onResolvedFn=()=>{};this._onErrorFn=()=>{};this._onExpiredFn=()=>{};this._onRejectedFn=()=>{};this._onDuplicatedFn=()=>{};this._onCheckFn=()=>{};this._onWaitingFn=()=>{}}setStorage(t){return this._storage=t,this}setStorageCommitmentKey(t){return this._commitmentKey=t,this}setMetadataTitle(t=""){return this._metadata.title=t,this}setMetadataUrl(t=""){return this._metadata.url=t,this}setRetryTime(t){return this._retry_ms=t,this}setAmount(t){return this._amount=t,this}setReference(t){return this._reference_id=t,this}setCurrency(t){return this._currency=t,this}onCreated(t){return this._onCreatedFn=t,this}onResolved(t){return this._onResolvedFn=t,this}onExpired(t){return this._onExpiredFn=t,this}onRejected(t){return this._onRejectedFn=t,this}onError(t){return this._onErrorFn=t,this}onDuplicated(t){return this._onDuplicatedFn=t,this}onCheck(t){return this._onCheckFn=t,this}onWaiting(t){return this._onWaitingFn=t,this}exec(){if(!this._reference_id)throw new Error("reference_id must be defined");if(!this._amount)throw new Error("amount must be defined");if(!this._currency)throw new Error("currency must be defined");this.client.createDirect(this._reference_id,this._amount,{retry_ms:this._retry_ms,currency:this._currency,metadata:this._metadata,storage:this._storage,commitmentKey:this._commitmentKey,onCheck:this._onCheckFn,onCreated:this._onCreatedFn,onDuplicated:this._onDuplicatedFn,onError:this._onErrorFn,onExpired:this._onExpiredFn,onWaiting:this._onWaitingFn,onRejected:this._onRejectedFn,onResolved:this._onResolvedFn}).catch(t=>{if(this._onErrorFn)this._onErrorFn(t);else throw t})}};export{g as Client};
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/gvm.js ADDED
@@ -0,0 +1 @@
1
+ import{getViaMsg}from"https://esm.sh/@wdft/micropayments-sdk@latest";import{local,memory,session}from"https://esm.sh/@wdft/micropayments-sdk@latest/storage.js";import{generateQRCode}from"https://esm.sh/@wdft/micropayments-sdk@latest/browser.js";class Utils{static REQUIRED=!0;static toNumber=t=>~~t;static toFixed=t=>Number(Number(t).toFixed(2));static capitalize(t){return t?t[0].toUpperCase()+t.slice(1).toLowerCase():""}static toMMSS=t=>{var e;return t<=0?"00:00":(e=Math.floor(t/60),t=Math.floor(t%60),String(e).padStart(2,"0")+":"+String(t).padStart(2,"0"))};static toURL(t){return t.startsWith("/")&&(t=[location.origin,t].join("/")),new URL(t)}static isValidUrl(e){try{return new URL(e),!0}catch(t){return Utils.warn("validation url failed for: "+e+t),!1}}static parse(...t){return"wdft::"+t.map(t=>"object"==typeof t?JSON.stringify(t):t).filter(t=>null!==t||void 0!==t).join(", ")}static group(...t){return window.wdftDebug?(console.group(this.parse(...t)),()=>console.groupEnd()):()=>{}}static warn(...t){window.wdftDebug&&console.warn(this.parse(...t))}static debug(...t){window.wdftDebug&&console.debug(this.parse(...t))}static assert(t,e){if(!t)throw new Error(e||"Assertion failed")}static attribute(t,e,i,n=t=>t){return t.hasAttribute(e)&&(n=n(t.getAttribute(e)),"function"!=typeof i||i(n))?n:null}static multi(...a){return t=>{for(var[e,i,n]of a)e(t)||(n?Utils.assert(!1,i+", value given: "+t):Utils.debug("Warning! "+i+", value given: "+t));return!0}}static readingStats(t,e=200){return t?{words:t=(t.innerText||t.textContent||"").trim().split(/\s+/).filter(Boolean).length,minutes:Math.ceil(t/e)}:{words:0,minutes:0}}static envContext(){return{...Object.fromEntries(new URL(location.href).searchParams.entries()),ab:Math.random(),referrer:document.referrer,language:navigator.language,device:null}}}class Gvm{static init(){Utils.debug("Gvm.init() called, try to wait for DOMContentLoaded event..."),Utils.assert(!this.initialized,"Only one instance of GVM is allowed"),document.addEventListener("DOMContentLoaded",()=>{Utils.debug("DOMContentLoaded fired, try to search for data-gvm attributes");var t=document.querySelectorAll("[data-gvm]"),[t]=(Utils.debug(`Found ${t.length} elements contains [data-gvm]`),Utils.assert(1===t.length,"Cannot bind data-gvm element, make sure that you wrap body element once"),t),e=Utils.attribute(t,"data-gvm-tenant",Utils.multi([t=>"string"==typeof t,"data-gvm-tenant must be a string",Utils.REQUIRED],[t=>3<=t.length&&t.length<60,"data-gvm-tenant must have min 3 max 60 chars length",Utils.REQUIRED])),i=Utils.attribute(t,"data-gvm-currency",Utils.multi([t=>"string"==typeof t,"data-gvm-currency must be a string"],[t=>["PLN"].includes(t),"data-gvm-currency must one of value: PLN"]))??"PLN",n=Utils.attribute(t,"data-gvm-callback",Utils.multi([t=>"string"==typeof t,"data-gvm-callback must be a function"]))??"",a=Utils.attribute(t,"data-gvm-env",Utils.multi([t=>"string"==typeof t,"data-gvm-env must be a string"],[t=>["demo","prod","qa","dev"].includes(t),"data-gvm-env must one of value: demo, prod, qa, dev"]))??"demo",r=Utils.attribute(t,"data-gvm-cond",Utils.multi([t=>"string"==typeof t,"data-gvm-cond must be a string"]))??"";return this.initialized=!0,new Gvm(t,e,i,n,a,r)})}constructor(t,e,i,n,a,r){this.node=t,this.tenant=e,this.callback=n,this.currency=i,this.env=a,this.condition=r,this.provider=null;t=Utils.group("Gvm initialized with params");if(Utils.debug("Tenant: "+this.tenant),Utils.debug("Callback: "+this.callback),Utils.debug("Environment: "+this.env),Utils.debug("Currency: "+this.currency),Utils.debug("Condition: "+this.condition),this.condition){e=Utils.group("GvmCondition declared, check...");if(!GvmCondition.pass(this.condition,Utils.envContext()))return void Utils.warn("GvmCondition not pass, stop working");Utils.debug("GvmCondition passed, continue"),e()}this.provider=new GvmProvider(this),t()}}class GvmProvider{constructor(t){this.gvm=t,this.env=null,this.templates=new Map,this.payments=new Map;var t=Utils.group("GvmProvider initialized"),e=(this.env=this.createEnvironment(),Utils.debug("GvmProvider environment created for: "+this.gvm.env),Utils.group("GvmProvider search templates..."));this.processTemplates(),Utils.debug("GvmProvider templates processed: "+this.templates.size),e(),this.processPaymentElements(),Utils.debug("GvmProvider bind payment elements: "+this.payments.size),t()}getTemplate(t){return Utils.assert(t,"name must be pass - given: "+t),Utils.assert(this.templates.has(t),"template not found - given: "+t),this.templates.get(t)}createEnvironment(){return new("demo"!==this.gvm.env?GvmEnvironmentReal:GvmEnvironmentDemo)(this)}processTemplates(){var t;for(t of this.gvm.node.querySelectorAll("template[data-gvm-template]")){var e=new GvmTemplate(t);Utils.assert(!this.templates.has(e.name),"duplicated template declaration for name: "+e.name),this.templates.set(e.name,e)}}processPaymentElements(){var t;for(t of this.gvm.node.querySelectorAll("[data-gvm-price]")){var e=new PaymentTriggerElement(t,this);Utils.assert(!this.payments.has(e.reference),"duplicated payment declaration for reference: "+e.reference),this.payments.set(e.reference,e)}}}class PaymentTriggerElement{constructor(t,e){this.node=t,this.provider=e,this.tenant=this.provider.gvm.tenant,this.reference=Utils.attribute(t,"data-gvm-reference",Utils.multi([t=>"string"==typeof t,"data-gvm-reference is required",Utils.REQUIRED],[t=>3<=t.length&&t.length<60,"data-gvm-reference must have min 3 max 60 chars length",Utils.REQUIRED])),this.template=this.provider.getTemplate(Utils.attribute(t,"data-gvm-template-name",Utils.multi([t=>"string"==typeof t,"data-gvm-template-name is required",Utils.REQUIRED]))),this.price=Utils.attribute(t,"data-gvm-price",Utils.multi([t=>"number"==typeof t,"data-gvm-price is required",Utils.REQUIRED],[t=>!Number.isNaN(t),"data-gvm-price cannot be NaN",Utils.REQUIRED],[t=>0<t&&t<=10,"data-gvm-price must be in range [0.01, 10.0]",Utils.REQUIRED]),Utils.toFixed),this.currency=Utils.attribute(t,"data-gvm-currency",Utils.multi([t=>"string"==typeof t,"data-gvm-currency must be a string"],[t=>["PLN"].includes(t),"data-gvm-currency must one of value: PLN"]))||this.provider.gvm.currency,this.metadataTitle=Utils.attribute(t,"data-gvm-metadata-title",Utils.multi([t=>"string"==typeof t,"data-gvm-metadata-title must be a string"])),this.metadataUrl=Utils.attribute(t,"data-gvm-metadata-url",Utils.multi([t=>"string"==typeof t,"data-gvm-metadata-url must be a string"])),this.demo=t.dataset,this.action=this.buildAction()}injectAndBind(t){this.controller=this.action.template.render(this.action,{id:t})}pay(){this.controller=this.template.render(this.action);this.provider.env.pay({tenant:this.tenant,reference:this.reference,price:this.price,currency:this.currency,metadataTitle:this.metadataTitle,metadataUrl:this.metadataUrl,demo:this.demo},(t,e)=>{if(this.payload=e,this.error=t,Utils.debug("callback call with params",t,e),t)this.controller.destroy(),alert(t.message);else{switch(e.status){case"waiting":"number"!=typeof this.expiresAt&&(this.expiresAt=Date.now()+18e4);break;case"resolved":case"duplicated":this.controller.destroy(),this.action.success(e);break;case"expired":case"rejected":alert(e.message),this.controller.destroy(),this.action.failed(e)}this.controller.rerender()}})}secondsToExpire(){return"number"==typeof this.expiresAt?(this.expiresAt-Date.now())/1e3:180}getHumanPrice(){return this.price.toFixed(2)}getClickUrl(){return this.payload?.click_url}getStatus(){return this.payload?.status??""}buildAction(){var t,e,i,n=this.node.dataset,a=Utils.group("PaymentTriggerElement try to build action for reference: "+this.reference);for(t of[PaymentTriggerElementHideAction,PaymentTriggerElementInjectAction,PaymentTriggerElementRedirectAction,PaymentTriggerElementDownloadAction])if(t.match(n))return e=new t(this),i=Utils.group(t.name+" try to bind"),e.bind(),i(),a(),e;Utils.warn("Warning! omit this reference due to not action match!"),a()}}class GvmTemplate{constructor(t){this.node=t,this.name=Utils.attribute(t,"data-gvm-template",Utils.multi([t=>"string"==typeof t,"data-gvm-template must be an unique string",Utils.REQUIRED])),this.injectTo=Utils.attribute(t,"data-gvm-template-inject-to",Utils.multi([t=>"string"==typeof t,"data-gvm-template-inject-to must be a declared template name"],[t=>document.querySelector(t),"data-gvm-template-inject-to element cannot be found - make sure that will be rendered before call payment with this template"]))||"body";t=Array.from(this.node.content.children);this.styleTpl=t.find(t=>"style"===t.tagName.toLowerCase()),this.elementTpl=t.find(t=>"style"!==t.tagName.toLowerCase()),Utils.assert(this.elementTpl,"template must contains element that can be bound via gvm-bind-* attributes"),Utils.debug("GvmTemplate register template: "+this.name,{inject:this.injectTo,styles:!!this.styleTpl,element:!!this.elementTpl}),this.timers=new Map}destroy(){for(var[t,e]of this.timers.entries())clearInterval(e),this.timers.delete(t);this.element&&(Utils.debug("found rendered element call .remove()"),this.element.remove(),delete this.element),this.style&&(Utils.debug("found rendered style call .remove()"),this.style.remove(),delete this.style)}render(g,t={id:null}){var e=Utils.group("GvmTemplate render..."),i=(this.destroy(),document.querySelector(this.injectTo)),n=(Utils.assert(i,`cannot find ${this.injectTo} selector to inject ${this.name} template`),this.styleTpl&&(Utils.debug("found styleTpl, appending..."),this.style=this.styleTpl.cloneNode(!0),i.appendChild(this.style)),t=>{if(g.readingEnabled){Utils.debug("reading enabled, binding stats");var e,{words:i,minutes:n}=Utils.readingStats(g.payment.node),a=(Utils.debug(` - stats words: ${i}, minutes: `+n),t.querySelectorAll("[data-gvm-bind-reading-time]"));Utils.debug(`found ${a.length} reading-time elements binding...`);for(e of a)e.innerHTML=n.toString();var r,a=t.querySelectorAll("[data-gvm-bind-reading-words]");Utils.debug(`found ${a.length} reading-words elements binding...`);for(r of a)r.innerHTML=i.toString()}var s,a=t.querySelectorAll("[data-gvm-bind-price]");Utils.debug(`found ${a.length} price elements binding...`);for(s of a)s.innerHTML=g.payment.getHumanPrice();var l,a=t.querySelectorAll("[data-gvm-bind-currency]");Utils.debug(`found ${a.length} currency elements binding...`);for(l of a)l.innerHTML=g.payment.currency;var m,a=t.querySelectorAll("[data-gvm-bind-reference]");Utils.debug(`found ${a.length} reference elements binding...`);for(m of a)m.innerHTML=g.payment.reference;a=t.querySelectorAll("[data-gvm-bind-metadata-title]");if(Utils.debug(`found ${a.length} metadata-title elements binding...`),g.payment.metadataTitle)for(var o of a)o.innerHTML=g.payment.metadataTitle;var d,a=t.querySelectorAll("[data-gvm-bind-cancel]");Utils.debug(`found ${a.length} cancel elements binding...`);for(d of a)d.addEventListener("click",t=>{t.preventDefault(),this.destroy()});var c,a=t.querySelectorAll("[data-gvm-bind-pay]");Utils.debug(`found ${a.length} pay elements binding...`);for(c of a)c.addEventListener("click",t=>{Utils.debug("click payment action try to initialize payment"),t.preventDefault(),g.initializePayment()})});let a=t=>{var i=t.querySelectorAll("[data-gvm-bind-qr]");Utils.debug(`found ${i.length} qr elements binding...`);for(let e of i)g.payment.getClickUrl()&&(Utils.debug("generating qr code..."),generateQRCode(g.payment.getClickUrl()).then(t=>{Utils.debug("generated, injecting into element"),e.innerHTML=`<img src="${t}"/>`}));var e,i=t.querySelectorAll("[data-gvm-bind-time-remaining]");Utils.debug(`found ${i.length} remaining time elements binding...`);for(let t of i)g.payment.getClickUrl()&&!this.timers.has(t)&&(Utils.debug("binding timer and creating interval"),Utils.debug("interval start"),e=setInterval(()=>{t.innerHTML=Utils.toMMSS(g.payment.secondsToExpire())},1e3),this.timers.set(t,e));var n,i=t.querySelectorAll("[data-gvm-bind-status]");Utils.debug(`found ${i.length} status elements binding...`);for(n of i){var a=n.dataset||{},r=g.payment.getStatus();n.innerHTML=a["gvmBindStatus"+Utils.capitalize(r)]||r}var s,i=t.querySelectorAll("[data-gvm-bind-send-sms]");Utils.debug(`found ${i.length} sms elements binding...`);for(s of i)g.payment.getClickUrl()&&s.addEventListener("click",t=>{t.preventDefault(),location.assign(g.payment.getClickUrl())})};return this.elementTpl&&(Utils.debug("found elementTpl, appending..."),this.element=this.elementTpl.cloneNode(!0),this.element.id=t.id,n(this.element),a(this.element),Utils.debug("appending to: "+this.injectTo),i.appendChild(this.element)),e(),{destroy:()=>{var t=Utils.group("GvmTemplate destroy call");this.destroy(),t()},rerender:()=>{var t=Utils.group("GvmTemplate rerender dynamic");this.element?a(this.element):Utils.warn("GvmTemplate try to rerender after destroy"),t()}}}}class PaymentTriggerElementRedirectAction{static match(t){t=!!t.gvmHttpRedirectTo;return Utils.debug("PaymentTriggerElementRedirectAction match: "+t),t}constructor(t){this.payment=t,this.redirectTo=Utils.attribute(this.payment.node,"data-gvm-http-redirect-to",Utils.multi([t=>t.startsWith("/")||Utils.isValidUrl(t),"data-gvm-http-redirect-to must be valid url or path",Utils.REQUIRED]))}success(t){Utils.debug("PaymentTriggerElementRedirectAction success",t);let e=Utils.toURL(this.redirectTo);e.searchParams.set("gvm-status",t.status),e.searchParams.set("gvm-commitment-id",t.commitment_id),e.searchParams.set("gvm-reference",this.payment.reference),e.searchParams.set("gvm-tenant",this.payment.tenant),Utils.debug("PaymentTriggerElementRedirectAction redirecting...",e.toString()),setTimeout(()=>location.assign(e.toString()),150)}failed(t){Utils.warn("PaymentTriggerElementRedirectAction failed",t)}bind(){Utils.debug("PaymentTriggerElementRedirectAction redirectTo: "+this.redirectTo),this.payment.node.addEventListener("click",t=>{var e=Utils.group("PaymentTriggerElementRedirectAction clicked reference: "+this.payment.reference," price: "+this.payment.getHumanPrice()+this.payment.currency);this.payment.pay(),e()})}}class PaymentTriggerElementDownloadAction{static match(t){t=!!t.gvmHttpDownload;return Utils.debug("PaymentTriggerElementDownloadAction match: "+t),t}constructor(t){this.payment=t,this.downloadUrl=Utils.attribute(this.payment.node,"data-gvm-http-download",Utils.multi([t=>t.startsWith("/")||Utils.isValidUrl(t),"data-gvm-http-download must be valid url",Utils.REQUIRED]))}success(t){Utils.debug("PaymentTriggerElementDownloadAction success",t);let e=Utils.toURL(this.downloadUrl);e.searchParams.set("gvm-status",t.status),e.searchParams.set("gvm-commitment-id",t.commitment_id),e.searchParams.set("gvm-reference",this.payment.reference),e.searchParams.set("gvm-tenant",this.payment.tenant),Utils.debug("PaymentTriggerElementDownloadAction redirecting...",e.toString()),setTimeout(()=>{try{var t=document.createElement("a");t.href=e.toString(),t.download="",document.body.appendChild(t),t.click(),t.remove()}catch(t){Utils.warn("Download error... fallback to location.assign",t.message),location.assign(e.toString())}},150)}failed(t){Utils.warn("PaymentTriggerElementDownloadAction failed",t)}bind(){Utils.debug("PaymentTriggerElementDownloadAction redirectTo: "+this.redirectTo),this.payment.node.addEventListener("click",t=>{var e=Utils.group("PaymentTriggerElementDownloadAction clicked reference: "+this.payment.reference," price: "+this.payment.getHumanPrice()+this.payment.currency);this.payment.pay(),e()})}}class PaymentTriggerElementInjectAction{static match(t){t=!!t.gvmHttpInject&&!!t.gvmHttpInjectTo;return Utils.debug("PaymentTriggerElementInjectAction match: "+t),t}constructor(t){this.payment=t,this.inject=Utils.attribute(this.payment.node,"data-gvm-http-inject",Utils.multi([t=>t.startsWith("/")||Utils.isValidUrl(t),"data-gvm-http-inject must be valid url",Utils.REQUIRED])),this.injectTo=Utils.attribute(this.payment.node,"data-gvm-http-inject-to",Utils.multi([t=>"string"==typeof t,"data-gvm-http-inject-to must be a valid selector name"],[t=>document.querySelector(t),"data-gvm-http-inject-to element cannot be found - make sure that will be rendered before call payment with this template",Utils.REQUIRED]))}success(t){let i=document.querySelectorAll(this.injectTo);Utils.debug(`found ${i.length} inject elements binding...`);var e=Utils.toURL(this.inject);e.searchParams.set("gvm-status",t.status),e.searchParams.set("gvm-commitment-id",t.commitment_id),e.searchParams.set("gvm-reference",this.payment.reference),e.searchParams.set("gvm-tenant",this.payment.tenant),fetch(e.toString()).then(t=>t.text()).then(t=>{for(var e of i)e.innerHTML=t}).catch(t=>{Utils.warn("fetch error",t.message)})}failed(t){Utils.warn("PaymentTriggerElementRedirectAction failed",t)}bind(){Utils.debug("PaymentTriggerElementInjectAction inject: "+this.inject),Utils.debug("PaymentTriggerElementInjectAction injectTo: "+this.injectTo),this.payment.node.addEventListener("click",t=>{var e=Utils.group("PaymentTriggerElementInjectAction clicked reference: "+this.payment.reference," price: "+this.payment.getHumanPrice()+this.payment.currency);this.payment.pay(),e()})}}class PaymentTriggerElementHideAction{readingEnabled=!0;static match(t){t=!!t.gvmHideStrategy;return Utils.debug("PaymentTriggerElementHideAction match: "+t),t}constructor(t){this.payment=t,this.template=this.payment.provider.getTemplate(Utils.attribute(this.payment.node,"data-gvm-hide-template-name",Utils.multi([t=>"string"==typeof t,"data-gvm-hide-template-name is required",Utils.REQUIRED]))),this.strategy=Utils.attribute(this.payment.node,"data-gvm-hide-strategy",Utils.multi([t=>["blur","hide","mangle-blur"].includes(t),"data-gvm-hide-strategy must be one of: blur, hide, mangle-blur",Utils.REQUIRED])),this.percent=Utils.attribute(this.payment.node,"data-gvm-hide-percent",Utils.multi([t=>!Number.isNaN(t),"data-gvm-hide-percent cannot be NaN"],[t=>1<=t&&t<=100,"data-gvm-hide-percent must be in range from 1 to 100"]),Utils.toNumber),this.sections=Utils.attribute(this.payment.node,"data-gvm-hide-sections",Utils.multi([t=>!Number.isNaN(t),"data-gvm-hide-sections cannot be NaN"],[t=>1<t,"data-gvm-hide-sections must be gather than 1"]),Utils.toNumber),this.words=Utils.attribute(this.payment.node,"data-gvm-hide-words",Utils.multi([t=>!Number.isNaN(t),"data-gvm-hide-words cannot be NaN"],[t=>5<t,"data-gvm-hide-words must be gather than 5"]),Utils.toNumber)}success(t){Utils.debug("PaymentTriggerElementRedirectAction success",t),this.reeval&&"function"==typeof this.reeval?(Utils.debug("PaymentTriggerElementRedirectAction reeval call"),this.reeval()):Utils.warn("PaymentTriggerElementRedirectAction reeval is not declared!")}failed(t){Utils.warn("PaymentTriggerElementRedirectAction failed",t)}splitBySections(t){var e,i=Array.from(this.payment.node.children);let n=[],a=0;for(e of i)a>=t&&(n.push(e.cloneNode(!0)),e.remove()),a++;return()=>{for(var t of n)this.payment.node.appendChild(t)}}bind(){Utils.debug("PaymentTriggerElementHideAction bind"),Utils.debug("PaymentTriggerElementHideAction params",{strategy:this.strategy,words:this.words,sections:this.sections,percent:this.percent});let e=Date.now().toString(36)+Math.random().toString(36).substring(2,8),i;i=this.sections?this.splitBySections(this.sections):this.percent?this.splitByPercent(this.percent):this.words?this.splitByWords(this.words):()=>{},this.reeval=()=>{i();var t=document.getElementById(e);t&&t.remove()},setTimeout(()=>this.payment.injectAndBind(e),0)}initializePayment(){this.payment.pay()}}class GvmEnvironmentDemo{constructor(t){Utils.debug("GvmEnvironmentDemo initailized"),this.provider=t}pay(e,i){let n=Utils.group("GvmEnvironmentDemo pay called",{price:e.price,currency:e.currency});if(i(null,{status:"initializing"}),e.demo.gvmDemoStatus&&"error"===e.demo.gvmDemoStatus)Utils.debug(`found data-gvm-demo-status ${e.demo.gvmDemoStatus} behaviour will be changed`),setTimeout(()=>{i({status:500,error:"Service unavailable",message:"Service unavailable, try later"},null),n()},1e3);else{setTimeout(()=>i(null,{status:"waiting",click_url:"sms:+48123123123?body=GVM DEMO",commitment_id:"demo123"}),1e3);var a=e.demo.gvmDemoPaymentStatusTime?~~e.demo.gvmDemoPaymentStatusTime:4e3;e.demo.gvmDemoPaymentStatusTime&&Utils.debug("found gvm-demo-payment-status-time");let t={status:e.demo.gvmDemoPaymentStatus||"resolved",commitment_id:e.demo.gvmDemoCommitmentId||"demo123"};Utils.debug("commitment details passing to enviroment: ",t,`with time ${a}ms`),setTimeout(()=>{i(null,t),n()},a)}}}class GvmEnvironmentReal{static ENV_MAP={dev:"https://dev.getviamsg.wdft.ovh",qa:"https://qa.getviamsg.wdft.ovh",prod:"https://svc.getviamsg.wdft.ovh"};static STORAGE_MAP={dev:memory,qa:session,prod:local};constructor(t){Utils.debug("GvmEnvironmentReal initailized"),this.provider=t}pay(t,i){Utils.debug("GvmEnvironmentReal pay called",{payment:t}),getViaMsg({amount:t.price,reference_id:t.reference,currency:t.currency,tenant_id:t.tenant,storage:GvmEnvironmentReal.STORAGE_MAP[this.provider.gvm.env],endpoint:GvmEnvironmentReal.ENV_MAP[this.provider.gvm.env],retry_ms:3e3},async(t,e)=>i(t,e))}}class GvmCondition{static evaluate(t,e){t=function t(e){var i,n,a,r=[];for(;e.length;)r.push((a=n=i=void 0,"("===(a=e.shift())?(i=t(e),e.shift(),i):"AND"===a.toUpperCase()||"OR"===a.toUpperCase()?a.toUpperCase():([i,a,...n]=[a,e.shift(),e.shift()],{prop:i,op:a,value:n.join(" ").replace(/^'|'$/g,"")})));return r}(t.replace(/\!\=/g," != ").replace(/\=\=/g," == ").replace(/\>/g," > ").replace(/\</g," < ").replace(/\(/g," ( ").replace(/\)/g," ) ").split(/\s+/).filter(Boolean));return Utils.debug("parsed condition",t),function i(n){var t;if(console.debug("evaluate node",n),Array.isArray(n)){let e=i(n[0]);for(let t=1;t<n.length;t+=2){var a=n[t],r=i(n[t+1]);"AND"===a?e=e&&r:"OR"===a?e=e||r:a||(e=e)}return e}return"object"==typeof n?(t=e[n.prop],"includes"===n.op?t.includes(n.value):"startsWith"===n.op?t.startsWith(n.value):"endsWith"===n.op?t.endsWith(n.value):"matchMedia"===n.op?window.matchMedia((""+n.value).split(",").filter(t=>t).map(t=>`(${t.trim()})`)).matches:">"===n.op?t>parseFloat(n.value):"<"===n.op?t<parseFloat(n.value):"=="===n.op?t==n.value:"!="===n.op&&t!=n.value):n}(t)}static pass(t,e){var i=Utils.group("GvmCondition pass call with condition: "+t),t=(Utils.debug("scope",e),GvmCondition.evaluate(t,e));return Utils.debug("results",t),i(),t}}Gvm.init();
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- var C="2025-09-30";async function h(s){return s.headers.get("Content-Type")?.includes("application/json")?await s.json():await s.text()}function _(s,t){return Math.floor(Math.random()*(t-s+1))+s}function l(s){let t=0;if(!s)return t;let r=typeof s=="number"?s:parseInt(s,10);return!isNaN(r)&&isFinite(r)?t=r*1e3:t=0,t}async function p(s,t,r){try{let i=await r(new Request(s,t));if(i.ok){let o=i.headers.get("Retry-After");return{status:i.status,error:!1,retry_after:l(i.headers.get("Retry-After")),data:await h(i)}}let n=await h(i);return{status:i.status,error:n&&typeof n=="object"&&"error"in n?n.error:!0,message:n&&typeof n=="object"&&"message"in n?n.message:i.statusText,retry_after:l(i.headers.get("Retry-After")),data:null}}catch(i){return{status:500,error:!0,message:i instanceof Error?i.message:`${i}`,retry_after:_(1e4,3e4),data:null}}}function g(s,t){let r=s.endsWith("/")?s.substring(0,s.length-1):s,i=t.startsWith("/")?t:"/".concat(t);return r+i}var a=class{constructor(t){this.options=t;if(!t.fetcher&&!globalThis.fetch)throw new Error('fetch is not available in environment, pass "fetcher" option with satisfies fetch interface');this.fetcher=this.options.fetcher??globalThis.fetch}async createCommitment(t,r,i,n){let o=await p(g(this.options.endpoint,"/commitment"),{method:"POST",headers:{"Content-Type":"application/json","X-Compatibility-Date":C},body:JSON.stringify({tenant_id:this.options.tenant_id,reference_id:t,currency:i,metadata:n??{title:"",url:""},amount:r})},this.fetcher);if(o.error)throw new Error(o.message);if(!o.data)throw new Error("Bad response");return o.data}async checkCommitment(t){let r=await p(g(this.options.endpoint,`/commitment/${t}`),{method:"GET"},this.fetcher);switch(r.status){case 402:return{commitment_id:t,message:r.message||"Payment required - you are over limit",status:"rejected"};case 410:return{commitment_id:t,message:r.message||"Expired",status:"expired"}}if(r.error)throw new Error(r.message);if(!r.data)throw new Error("Bad response");return{commitment_id:r.data.commitment_id,message:r.data.message,status:r.data.status,retry_after:r.retry_after}}};var m=5e3,c=class{constructor(t,r,i){this.service=t;this.options=i;this.retries=0;this.currentTimer=null;this.currentCheck=null;this.payload={message:"Creating...",status:"initializing",...r},this.options.onCreated&&this.options.onCreated(this)}isExpired(){return Date.now()>this.payload.expires_at}isRejected(){return this.getStatus()==="rejected"}isResolved(){return this.getStatus()==="resolved"}getMessage(){return this.payload.message||""}getStatus(){return this.payload.status}getClickUrl(){return this.payload.click_url}getAmount(){return this.payload.amount}getCurrency(){return this.payload.currency}getReferenceId(){return this.payload.reference_id}getCommitmentId(){return this.payload.commitment_id}markAsCreated(){this.payload.status!=="created"&&(this.payload.status="created",this.options.onCreated&&this.options.onCreated(this))}markAsDuplicated(){if(this.payload.status==="duplicated"){this.stopChecking();return}this.payload.status="duplicated",this.stopChecking(),this.options.onDuplicated&&this.options.onDuplicated(this)}markAsWaiting(){this.payload.status!=="waiting"&&(this.payload.status="waiting",this.options.onWaiting&&this.options.onWaiting(this))}markAsExpired(){if(this.payload.status==="expired"){this.stopChecking();return}this.payload.status="expired",this.options.onExpired&&this.options.onExpired(this),this.stopChecking()}markAsRejected(){if(this.payload.status==="rejected"){this.stopChecking();return}this.payload.status="rejected",this.options.onRejected&&this.options.onRejected(this),this.stopChecking()}markAsResolved(){if(this.payload.status==="resolved"){this.stopChecking();return}this.payload.status="resolved",this.stopChecking(),this.options.onResolved&&this.options.onResolved(this)}getNextCallTime(){return this.retries++,Math.min(5e3,this.payload.retry_ms+this.payload.retry_ms*(this.retries/10))}startChecking(){this.currentCheck||(this.currentCheck=this.check().then(t=>{let r=this.getNextCallTime();return t==="waiting"&&(this.currentTimer=setTimeout(()=>this.startChecking(),r)),t}).finally(()=>{this.stopChecking(!1)}))}stopChecking(t=!0){this.currentCheck=null,this.currentTimer&&t&&clearTimeout(this.currentTimer)}async check(){if(this.isExpired())return this.markAsExpired(),this.getStatus();if(this.isRejected())return this.markAsRejected(),this.getStatus();if(this.isResolved())return this.markAsResolved(),this.getStatus();try{let t=await this.service.checkCommitment(this.getCommitmentId());switch(t.retry_after&&(this.options.retry_ms=Math.max(this.options.retry_ms||m,t.retry_after)),t.status){case"duplicated":{this.markAsDuplicated();break}case"expired":{this.markAsExpired();break}case"resolved":{this.markAsResolved();break}case"waiting":{this.markAsWaiting();break}case"rejected":{this.markAsRejected();break}}this.options.onCheck&&this.options.onCheck(this)}catch(t){if(this.options.onError)this.options.onError(t,this),this.stopChecking();else throw t}return this.getStatus()}},u=class s{constructor(t,r){this.svc=t;this.options=r}static new(t){return new s(new a(t),t)}getStorageKey(t){return`getviamsg:${this.options.tenant_id}:${t}`}async checkDirect(t){return this.svc.checkCommitment(t)}async storeIntoStorageByKey(t,r){this.options.storage&&t&&await this.options.storage.set(t,JSON.stringify(r))}async canRecreateFromStorageKey(t){if(!this.options.storage||!t)return null;let r=await this.options.storage.get(t);if(!r)return null;let i=JSON.parse(r),n=await this.checkDirect(i.commitment_id).catch(o=>({commitment_id:i.commitment_id,status:"expired",message:"Commitment expired"}));return n.status==="expired"||n.status==="rejected"?(await this.options.storage.del(t),null):i}async createDirect(t,r,i={}){let n=i.currency??this.options.currency,o=await this.canRecreateFromStorageKey(i.commitmentKey);if(o)return new c(this.svc,{commitment_id:o.commitment_id,amount:r,currency:n,reference_id:t,expires_at:o.expires_at,click_url:o.click_url,retry_ms:this.options.retry_ms??m},i);let e=await this.svc.createCommitment(t,r,n,i.metadata);return await this.storeIntoStorageByKey(i.commitmentKey,e),new c(this.svc,{commitment_id:e.commitment_id,amount:r,currency:n,reference_id:t,expires_at:e.expires_at,click_url:e.click_url,retry_ms:this.options.retry_ms??m},i)}create(t,r,i){let n=this.commitmentBuilder().setAmount(r).setCurrency(this.options.currency).setMetadataUrl(globalThis?.location?.href??"").setMetadataTitle(globalThis?.document?.title??"").setReference(t);if(this.options.retry_ms&&n.setRetryTime(this.options.retry_ms),!!this.options.storage){let e=this.getStorageKey(t);n.setStorage(this.options.storage),n.setStorageCommitmentKey(e)}n.onCreated(e=>(e.startChecking(),i(null,{status:e.getStatus(),message:e.getMessage(),reference_id:t,commitment_id:e.getCommitmentId(),click_url:e.getClickUrl()}))).onWaiting(e=>i(null,{status:e.getStatus(),message:e.getMessage(),reference_id:t,commitment_id:e.getCommitmentId(),click_url:e.getClickUrl()})).onDuplicated(e=>i(null,{status:e.getStatus(),message:e.getMessage(),reference_id:t,commitment_id:e.getCommitmentId(),click_url:e.getClickUrl()})).onExpired(e=>i(null,{status:e.getStatus(),message:e.getMessage(),reference_id:t,commitment_id:e.getCommitmentId(),click_url:e.getClickUrl()})).onRejected(e=>i(null,{status:e.getStatus(),message:e.getMessage(),reference_id:t,commitment_id:e.getCommitmentId(),click_url:e.getClickUrl()})).onResolved(e=>i(null,{status:e.getStatus(),message:e.getMessage(),reference_id:t,commitment_id:e.getCommitmentId(),click_url:e.getClickUrl()})).onError((e,y)=>{y?.stopChecking(),i(e,null)}).exec()}commitmentBuilder(){return new d(this)}},d=class{constructor(t){this.client=t;this._retry_ms=m;this._metadata={title:"",url:""};this._onCreatedFn=()=>{};this._onResolvedFn=()=>{};this._onErrorFn=()=>{};this._onExpiredFn=()=>{};this._onRejectedFn=()=>{};this._onDuplicatedFn=()=>{};this._onCheckFn=()=>{};this._onWaitingFn=()=>{}}setStorage(t){return this._storage=t,this}setStorageCommitmentKey(t){return this._commitmentKey=t,this}setMetadataTitle(t=""){return this._metadata.title=t,this}setMetadataUrl(t=""){return this._metadata.url=t,this}setRetryTime(t){return this._retry_ms=t,this}setAmount(t){return this._amount=t,this}setReference(t){return this._reference_id=t,this}setCurrency(t){return this._currency=t,this}onCreated(t){return this._onCreatedFn=t,this}onResolved(t){return this._onResolvedFn=t,this}onExpired(t){return this._onExpiredFn=t,this}onRejected(t){return this._onRejectedFn=t,this}onError(t){return this._onErrorFn=t,this}onDuplicated(t){return this._onDuplicatedFn=t,this}onCheck(t){return this._onCheckFn=t,this}onWaiting(t){return this._onWaitingFn=t,this}exec(){if(!this._reference_id)throw new Error("reference_id must be defined");if(!this._amount)throw new Error("amount must be defined");if(!this._currency)throw new Error("currency must be defined");this.client.createDirect(this._reference_id,this._amount,{retry_ms:this._retry_ms,currency:this._currency,metadata:this._metadata,storage:this._storage,commitmentKey:this._commitmentKey,onCheck:this._onCheckFn,onCreated:this._onCreatedFn,onDuplicated:this._onDuplicatedFn,onError:this._onErrorFn,onExpired:this._onExpiredFn,onWaiting:this._onWaitingFn,onRejected:this._onRejectedFn,onResolved:this._onResolvedFn}).catch(t=>{if(this._onErrorFn)this._onErrorFn(t);else throw t})}};function S(s,t){u.new({currency:s.currency,endpoint:s.endpoint??"https://svc.getviamsg.wdft.ovh/",tenant_id:s.tenant_id,storage:s.storage,fetcher:s.fetcher??fetch,retry_ms:s.retry_ms??1e3}).create(s.reference_id,s.amount,t)}export{S as getViaMsg};
1
+ var f="2025-09-30";async function h(s){return s.headers.get("Content-Type")?.includes("application/json")?await s.json():await s.text()}function C(s,t){return Math.floor(Math.random()*(t-s+1))+s}function l(s){let t=0;if(!s)return t;let r=typeof s=="number"?s:parseInt(s,10);return!isNaN(r)&&isFinite(r)?t=r*1e3:t=0,t}async function p(s,t,r){try{let i=await r(new Request(s,t));if(i.ok){let o=i.headers.get("Retry-After");return{status:i.status,error:!1,retry_after:l(i.headers.get("Retry-After")),data:await h(i)}}let n=await h(i);return{status:i.status,error:n&&typeof n=="object"&&"error"in n?n.error:!0,message:n&&typeof n=="object"&&"message"in n?n.message:i.statusText,retry_after:l(i.headers.get("Retry-After")),data:null}}catch(i){return{status:500,error:!0,message:i instanceof Error?i.message:`${i}`,retry_after:C(1e4,3e4),data:null}}}function g(s,t){let r=s.endsWith("/")?s.substring(0,s.length-1):s,i=t.startsWith("/")?t:"/".concat(t);return r+i}var a=class{constructor(t){this.options=t;if(!t.fetcher&&!globalThis.fetch)throw new Error('fetch is not available in environment, pass "fetcher" option with satisfies fetch interface');this.fetcher=this.options.fetcher??globalThis.fetch}async createCommitment(t,r,i,n){let o=await p(g(this.options.endpoint,"/commitment"),{method:"POST",headers:{"Content-Type":"application/json","X-Compatibility-Date":f},body:JSON.stringify({tenant_id:this.options.tenant_id,reference_id:t,currency:i,metadata:n??{title:"",url:""},amount:r})},this.fetcher);if(o.error)throw new Error(o.message);if(!o.data)throw new Error("Bad response");return o.data}async checkCommitment(t){let r=await p(g(this.options.endpoint,`/commitment/${t}`),{method:"GET"},this.fetcher);switch(r.status){case 402:return{commitment_id:t,message:r.message||"Payment required - you are over limit",status:"rejected"};case 410:return{commitment_id:t,message:r.message||"Expired",status:"expired"}}if(r.error)throw new Error(r.message);if(!r.data)throw new Error("Bad response");return{commitment_id:r.data.commitment_id,message:r.data.message,status:r.data.status,retry_after:r.retry_after}}};var m=5e3,c=class{constructor(t,r,i){this.service=t;this.options=i;this.retries=0;this.currentTimer=null;this.currentCheck=null;this.payload={message:"Initializing...",status:"initializing",...r},this.options.onCreated&&this.options.onCreated(this)}isExpired(){return Date.now()>this.payload.expires_at}isRejected(){return this.getStatus()==="rejected"}isResolved(){return this.getStatus()==="resolved"}getMessage(){return this.payload.message||""}getStatus(){return this.payload.status}getClickUrl(){return this.payload.click_url}getAmount(){return this.payload.amount}getCurrency(){return this.payload.currency}getReferenceId(){return this.payload.reference_id}getCommitmentId(){return this.payload.commitment_id}markAsCreated(t){this.payload.status!=="created"&&(this.payload.status="created",t&&(this.payload.message=t),this.options.onCreated&&this.options.onCreated(this))}markAsDuplicated(t){if(this.payload.status==="duplicated"){this.stopChecking();return}this.payload.status="duplicated",t&&(this.payload.message=t),this.stopChecking(),this.options.onDuplicated&&this.options.onDuplicated(this)}markAsWaiting(t){this.payload.status!=="waiting"&&(this.payload.status="waiting",t&&(this.payload.message=t),this.options.onWaiting&&this.options.onWaiting(this))}markAsExpired(t){if(this.payload.status==="expired"){this.stopChecking();return}this.payload.status="expired",t&&(this.payload.message=t),this.options.onExpired&&this.options.onExpired(this),this.stopChecking()}markAsRejected(t){if(this.payload.status==="rejected"){this.stopChecking();return}this.payload.status="rejected",t&&(this.payload.message=t),this.options.onRejected&&this.options.onRejected(this),this.stopChecking()}markAsResolved(t){if(this.payload.status==="resolved"){this.stopChecking();return}this.payload.status="resolved",t&&(this.payload.message=t),this.stopChecking(),this.options.onResolved&&this.options.onResolved(this)}getNextCallTime(){return this.retries++,Math.min(5e3,this.payload.retry_ms+this.payload.retry_ms*(this.retries/10))}startChecking(){this.currentCheck||(this.currentCheck=this.check().then(t=>{let r=this.getNextCallTime();return t==="waiting"&&(this.currentTimer=setTimeout(()=>this.startChecking(),r)),t}).finally(()=>{this.stopChecking(!1)}))}stopChecking(t=!0){this.currentCheck=null,this.currentTimer&&t&&clearTimeout(this.currentTimer)}async check(){if(this.isExpired())return this.markAsExpired(void 0),this.getStatus();if(this.isRejected())return this.markAsRejected(void 0),this.getStatus();if(this.isResolved())return this.markAsResolved(void 0),this.getStatus();try{let t=await this.service.checkCommitment(this.getCommitmentId());switch(t.retry_after&&(this.options.retry_ms=Math.max(this.options.retry_ms||m,t.retry_after)),t.status){case"duplicated":{this.markAsDuplicated(t.message);break}case"expired":{this.markAsExpired(t.message);break}case"resolved":{this.markAsResolved(t.message);break}case"waiting":{this.markAsWaiting(t.message);break}case"rejected":{this.markAsRejected(t.message);break}}this.options.onCheck&&this.options.onCheck(this)}catch(t){if(this.options.onError)this.options.onError(t,this),this.stopChecking();else throw t}return this.getStatus()}},u=class s{constructor(t,r){this.svc=t;this.options=r}static new(t){return new s(new a(t),t)}getStorageKey(t){return`getviamsg:${this.options.tenant_id}:${t}`}async checkDirect(t){return this.svc.checkCommitment(t)}async storeIntoStorageByKey(t,r){this.options.storage&&t&&await this.options.storage.set(t,JSON.stringify(r))}async canRecreateFromStorageKey(t){if(!this.options.storage||!t)return null;let r=await this.options.storage.get(t);if(!r)return null;let i=JSON.parse(r),n=await this.checkDirect(i.commitment_id).catch(o=>({commitment_id:i.commitment_id,status:"expired",message:"Commitment expired"}));return n.status==="expired"||n.status==="rejected"?(await this.options.storage.del(t),null):i}async createDirect(t,r,i={}){let n=i.currency??this.options.currency,o=await this.canRecreateFromStorageKey(i.commitmentKey);if(o)return new c(this.svc,{commitment_id:o.commitment_id,amount:r,currency:n,reference_id:t,expires_at:o.expires_at,click_url:o.click_url,retry_ms:this.options.retry_ms??m},i);let e=await this.svc.createCommitment(t,r,n,i.metadata);return await this.storeIntoStorageByKey(i.commitmentKey,e),new c(this.svc,{commitment_id:e.commitment_id,amount:r,currency:n,reference_id:t,expires_at:e.expires_at,click_url:e.click_url,retry_ms:this.options.retry_ms??m},i)}create(t,r,i){let n=this.commitmentBuilder().setAmount(r).setCurrency(this.options.currency).setMetadataUrl(globalThis?.location?.href??"").setMetadataTitle(globalThis?.document?.title??"").setReference(t);if(this.options.retry_ms&&n.setRetryTime(this.options.retry_ms),!!this.options.storage){let e=this.getStorageKey(t);n.setStorage(this.options.storage),n.setStorageCommitmentKey(e)}n.onCreated(e=>(e.startChecking(),i(null,{status:e.getStatus(),message:e.getMessage(),reference_id:t,commitment_id:e.getCommitmentId(),click_url:e.getClickUrl()}))).onWaiting(e=>i(null,{status:e.getStatus(),message:e.getMessage(),reference_id:t,commitment_id:e.getCommitmentId(),click_url:e.getClickUrl()})).onDuplicated(e=>i(null,{status:e.getStatus(),message:e.getMessage(),reference_id:t,commitment_id:e.getCommitmentId(),click_url:e.getClickUrl()})).onExpired(e=>i(null,{status:e.getStatus(),message:e.getMessage(),reference_id:t,commitment_id:e.getCommitmentId(),click_url:e.getClickUrl()})).onRejected(e=>i(null,{status:e.getStatus(),message:e.getMessage(),reference_id:t,commitment_id:e.getCommitmentId(),click_url:e.getClickUrl()})).onResolved(e=>i(null,{status:e.getStatus(),message:e.getMessage(),reference_id:t,commitment_id:e.getCommitmentId(),click_url:e.getClickUrl()})).onError((e,y)=>{y?.stopChecking(),i(e,null)}).exec()}commitmentBuilder(){return new d(this)}},d=class{constructor(t){this.client=t;this._retry_ms=m;this._metadata={title:"",url:""};this._onCreatedFn=()=>{};this._onResolvedFn=()=>{};this._onErrorFn=()=>{};this._onExpiredFn=()=>{};this._onRejectedFn=()=>{};this._onDuplicatedFn=()=>{};this._onCheckFn=()=>{};this._onWaitingFn=()=>{}}setStorage(t){return this._storage=t,this}setStorageCommitmentKey(t){return this._commitmentKey=t,this}setMetadataTitle(t=""){return this._metadata.title=t,this}setMetadataUrl(t=""){return this._metadata.url=t,this}setRetryTime(t){return this._retry_ms=t,this}setAmount(t){return this._amount=t,this}setReference(t){return this._reference_id=t,this}setCurrency(t){return this._currency=t,this}onCreated(t){return this._onCreatedFn=t,this}onResolved(t){return this._onResolvedFn=t,this}onExpired(t){return this._onExpiredFn=t,this}onRejected(t){return this._onRejectedFn=t,this}onError(t){return this._onErrorFn=t,this}onDuplicated(t){return this._onDuplicatedFn=t,this}onCheck(t){return this._onCheckFn=t,this}onWaiting(t){return this._onWaitingFn=t,this}exec(){if(!this._reference_id)throw new Error("reference_id must be defined");if(!this._amount)throw new Error("amount must be defined");if(!this._currency)throw new Error("currency must be defined");this.client.createDirect(this._reference_id,this._amount,{retry_ms:this._retry_ms,currency:this._currency,metadata:this._metadata,storage:this._storage,commitmentKey:this._commitmentKey,onCheck:this._onCheckFn,onCreated:this._onCreatedFn,onDuplicated:this._onDuplicatedFn,onError:this._onErrorFn,onExpired:this._onExpiredFn,onWaiting:this._onWaitingFn,onRejected:this._onRejectedFn,onResolved:this._onResolvedFn}).catch(t=>{if(this._onErrorFn)this._onErrorFn(t);else throw t})}};function S(s,t){u.new({currency:s.currency,endpoint:s.endpoint??"https://svc.getviamsg.wdft.ovh/",tenant_id:s.tenant_id,storage:s.storage,fetcher:s.fetcher??fetch,retry_ms:s.retry_ms??1e3}).create(s.reference_id,s.amount,t)}export{S as getViaMsg};
package/package.json CHANGED
@@ -1,9 +1,7 @@
1
1
  {
2
2
  "name": "@wdft/micropayments-sdk",
3
- "description": "wdft - we do fintech - micropayments sdk",
4
- "version": "0.0.10",
5
- "type": "module",
6
- "main": "dist/index.js",
3
+ "description": "wdft - we do fintech - sdk",
4
+ "version": "0.0.11-rc2",
7
5
  "types": "dist/index.d.ts",
8
6
  "files": [
9
7
  "dist/**/*",
@@ -23,12 +21,14 @@
23
21
  "esbuild": "^0.25.8",
24
22
  "qrcode": "^1.5.4",
25
23
  "typescript": "^5.5.3",
24
+ "uglify-js": "^3.19.3",
26
25
  "vitest": "^3.2.4"
27
26
  },
28
27
  "scripts": {
28
+ "build:gvm": "pnpm exec uglifyjs webcomponent/main.js -c -m -o dist/gvm.js",
29
29
  "build:types": "tsc -p tsconfig.json",
30
30
  "build:js": "pnpm exec esbuild $(find src -path 'src/test_utils' -prune -o -name '*.ts' ! -name '*.test.ts' -print) --bundle --outdir=dist --minify --format=esm",
31
- "build": "pnpm run build:types && pnpm run build:js",
31
+ "build": "pnpm run build:types && pnpm run build:js && pnpm run build:gvm",
32
32
  "fmt": "biome check --write ./src",
33
33
  "test": "vitest run",
34
34
  "release": "bash -ic 'read -r -p \"Are you sure you want to release (changelog/version)? (y/n) \" answer; case $answer in [Yy]*) pnpm run build && changeset publish ;; *) echo \"Release cancelled.\" ;; esac'"
package/src/client.ts CHANGED
@@ -38,7 +38,7 @@ class Commitment {
38
38
  private readonly options: ICommitmentOptions,
39
39
  ) {
40
40
  this.payload = {
41
- message: "Creating...",
41
+ message: "Initializing...",
42
42
  status: "initializing",
43
43
  ...payload,
44
44
  };
@@ -88,25 +88,33 @@ class Commitment {
88
88
  return this.payload.commitment_id;
89
89
  }
90
90
 
91
- markAsCreated() {
91
+ markAsCreated(message: string | undefined) {
92
92
  if (this.payload.status === "created") {
93
93
  return;
94
94
  }
95
95
 
96
96
  this.payload.status = "created";
97
+
98
+ if (message) {
99
+ this.payload.message = message;
100
+ }
97
101
 
98
102
  if (this.options.onCreated) {
99
103
  this.options.onCreated(this);
100
104
  }
101
105
  }
102
106
 
103
- markAsDuplicated() {
107
+ markAsDuplicated(message: string | undefined) {
104
108
  if (this.payload.status === "duplicated") {
105
109
  this.stopChecking();
106
110
  return;
107
111
  }
108
112
 
109
113
  this.payload.status = "duplicated";
114
+
115
+ if (message) {
116
+ this.payload.message = message;
117
+ }
110
118
 
111
119
  this.stopChecking();
112
120
  if (this.options.onDuplicated) {
@@ -114,25 +122,33 @@ class Commitment {
114
122
  }
115
123
  }
116
124
 
117
- markAsWaiting() {
125
+ markAsWaiting(message: string | undefined) {
118
126
  if (this.payload.status === "waiting") {
119
127
  return;
120
128
  }
121
129
 
122
130
  this.payload.status = "waiting";
131
+
132
+ if (message) {
133
+ this.payload.message = message;
134
+ }
123
135
 
124
136
  if (this.options.onWaiting) {
125
137
  this.options.onWaiting(this);
126
138
  }
127
139
  }
128
140
 
129
- markAsExpired() {
141
+ markAsExpired(message: string | undefined) {
130
142
  if (this.payload.status === "expired") {
131
143
  this.stopChecking();
132
144
  return;
133
145
  }
134
146
 
135
147
  this.payload.status = "expired";
148
+
149
+ if (message) {
150
+ this.payload.message = message;
151
+ }
136
152
 
137
153
  if (this.options.onExpired) {
138
154
  this.options.onExpired(this);
@@ -141,13 +157,17 @@ class Commitment {
141
157
  this.stopChecking();
142
158
  }
143
159
 
144
- markAsRejected() {
160
+ markAsRejected(message: string | undefined) {
145
161
  if (this.payload.status === "rejected") {
146
162
  this.stopChecking();
147
163
  return;
148
164
  }
149
165
 
150
166
  this.payload.status = "rejected";
167
+
168
+ if (message) {
169
+ this.payload.message = message;
170
+ }
151
171
 
152
172
  if (this.options.onRejected) {
153
173
  this.options.onRejected(this);
@@ -156,13 +176,17 @@ class Commitment {
156
176
  this.stopChecking();
157
177
  }
158
178
 
159
- markAsResolved() {
179
+ markAsResolved(message: string | undefined) {
160
180
  if (this.payload.status === "resolved") {
161
181
  this.stopChecking();
162
182
  return;
163
183
  }
164
184
 
165
185
  this.payload.status = "resolved";
186
+
187
+ if (message) {
188
+ this.payload.message = message;
189
+ }
166
190
 
167
191
  this.stopChecking();
168
192
 
@@ -214,17 +238,17 @@ class Commitment {
214
238
 
215
239
  async check(): Promise<CommitmentStatus> {
216
240
  if (this.isExpired()) {
217
- this.markAsExpired();
241
+ this.markAsExpired(undefined);
218
242
  return this.getStatus();
219
243
  }
220
244
 
221
245
  if (this.isRejected()) {
222
- this.markAsRejected();
246
+ this.markAsRejected(undefined);
223
247
  return this.getStatus();
224
248
  }
225
249
 
226
250
  if (this.isResolved()) {
227
- this.markAsResolved();
251
+ this.markAsResolved(undefined);
228
252
  return this.getStatus();
229
253
  }
230
254
 
@@ -237,23 +261,23 @@ class Commitment {
237
261
 
238
262
  switch (status.status) {
239
263
  case "duplicated": {
240
- this.markAsDuplicated();
264
+ this.markAsDuplicated(status.message);
241
265
  break;
242
266
  }
243
267
  case "expired": {
244
- this.markAsExpired();
268
+ this.markAsExpired(status.message);
245
269
  break;
246
270
  }
247
271
  case "resolved": {
248
- this.markAsResolved();
272
+ this.markAsResolved(status.message);
249
273
  break;
250
274
  }
251
275
  case "waiting": {
252
- this.markAsWaiting();
276
+ this.markAsWaiting(status.message);
253
277
  break;
254
278
  }
255
279
  case "rejected": {
256
- this.markAsRejected();
280
+ this.markAsRejected(status.message);
257
281
  break;
258
282
  }
259
283
  }