@wdft/micropayments-sdk 0.0.8 → 0.0.10
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 +4 -0
- package/dist/client.d.ts +13 -0
- package/dist/client.js +1 -1
- package/dist/client.js.map +1 -1
- package/dist/components.d.ts +1 -0
- package/dist/components.js +0 -0
- package/dist/components.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.test.js +1 -0
- package/dist/index.test.js.map +1 -1
- package/dist/service.d.ts +1 -2
- package/dist/service.js +1 -1
- package/dist/service.js.map +1 -1
- package/dist/storage.d.ts +10 -0
- package/dist/storage.js +1 -0
- package/dist/storage.js.map +1 -0
- package/dist/utils.d.ts +1 -0
- package/dist/utils.js +1 -0
- package/dist/utils.js.map +1 -0
- package/dist/utils.test.d.ts +1 -0
- package/dist/utils.test.js +7 -0
- package/dist/utils.test.js.map +1 -0
- package/package.json +2 -2
- package/src/browser.ts +1 -1
- package/src/client.ts +105 -10
- package/src/components.ts +0 -0
- package/src/index.test.ts +2 -1
- package/src/index.ts +5 -3
- package/src/service.ts +7 -1
- package/src/storage.ts +48 -0
- package/src/utils.test.ts +7 -0
- package/src/utils.ts +16 -0
package/README.md
CHANGED
package/dist/client.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type IServiceOptions, type ICommitmentMetadata, Service } from "./service.js";
|
|
2
|
+
import type { StorageDriver } from "./storage.js";
|
|
2
3
|
interface ICommitmentPayload {
|
|
3
4
|
commitment_id: string;
|
|
4
5
|
amount: number;
|
|
@@ -42,7 +43,9 @@ declare class Commitment {
|
|
|
42
43
|
check(): Promise<CommitmentStatus>;
|
|
43
44
|
}
|
|
44
45
|
interface IClientOptions {
|
|
46
|
+
tenant_id: string;
|
|
45
47
|
currency: string;
|
|
48
|
+
storage?: StorageDriver;
|
|
46
49
|
retry_ms?: number;
|
|
47
50
|
}
|
|
48
51
|
interface INewClientOptions extends IClientOptions, IServiceOptions {
|
|
@@ -50,7 +53,9 @@ interface INewClientOptions extends IClientOptions, IServiceOptions {
|
|
|
50
53
|
interface ICommitmentOptions {
|
|
51
54
|
currency?: string;
|
|
52
55
|
retry_ms?: number;
|
|
56
|
+
storage?: StorageDriver;
|
|
53
57
|
metadata?: ICommitmentMetadata;
|
|
58
|
+
commitmentKey?: string;
|
|
54
59
|
onCreated?: (commitment: Commitment) => void;
|
|
55
60
|
onResolved?: (commitment: Commitment) => void;
|
|
56
61
|
onError?: (error: Error, commitment: Commitment) => void;
|
|
@@ -65,6 +70,10 @@ export declare class Client {
|
|
|
65
70
|
private readonly options;
|
|
66
71
|
static new(opts: INewClientOptions): Client;
|
|
67
72
|
constructor(svc: Service, options: IClientOptions);
|
|
73
|
+
private getStorageKey;
|
|
74
|
+
checkDirect(commitment_id: string): Promise<import("./service.js").ICommitmentStatus>;
|
|
75
|
+
private storeIntoStorageByKey;
|
|
76
|
+
private canRecreateFromStorageKey;
|
|
68
77
|
createDirect(reference_id: string, amount: number, options?: ICommitmentOptions): Promise<Commitment>;
|
|
69
78
|
create(reference_id: string, amount: number, on: ICallback): void;
|
|
70
79
|
commitmentBuilder(): CommitmentObservabileBuilder;
|
|
@@ -81,6 +90,8 @@ type OnStatusErrorCallback = (error: Error, payload: null) => void;
|
|
|
81
90
|
export type ICallback = OnStatusCallback & OnStatusErrorCallback;
|
|
82
91
|
declare class CommitmentObservabileBuilder {
|
|
83
92
|
private readonly client;
|
|
93
|
+
private _storage;
|
|
94
|
+
private _commitmentKey;
|
|
84
95
|
private _reference_id;
|
|
85
96
|
private _amount;
|
|
86
97
|
private _retry_ms;
|
|
@@ -95,6 +106,8 @@ declare class CommitmentObservabileBuilder {
|
|
|
95
106
|
private _onCheckFn;
|
|
96
107
|
private _onWaitingFn;
|
|
97
108
|
constructor(client: Client);
|
|
109
|
+
setStorage(storage: StorageDriver): this;
|
|
110
|
+
setStorageCommitmentKey(key: string): this;
|
|
98
111
|
setMetadataTitle(title?: string): this;
|
|
99
112
|
setMetadataUrl(url?: string): this;
|
|
100
113
|
setRetryTime(retry: number): this;
|
package/dist/client.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
async function
|
|
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};
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkD,OAAO,EAAE,MAAM,cAAc,CAAC;AA4BvF,MAAM,qBAAqB,GAAG,IAAI,CAAC;AAEnC,MAAM,UAAU;IAGd,YACmB,OAAgB,EACjC,OAAiC,EAChB,OAA2B;QAF3B,YAAO,GAAP,OAAO,CAAS;QAEhB,YAAO,GAAP,OAAO,CAAoB;QAwItC,YAAO,GAAG,CAAC,CAAC;QACZ,iBAAY,GAAkB,IAAI,CAAC;QAsCnC,iBAAY,GAAqC,IAAI,CAAC;QA7K5D,IAAI,CAAC,OAAO,GAAG;YACb,OAAO,EAAE,aAAa;YACtB,MAAM,EAAE,cAAc;YACtB,GAAG,OAAO;SACX,CAAC;QAEF,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;IAC9C,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,SAAS,EAAE,KAAK,UAAU,CAAC;IACzC,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,SAAS,EAAE,KAAK,UAAU,CAAC;IACzC,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;IACpC,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;IAChC,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC/B,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;IACnC,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;IACpC,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACtC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;QAEhC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,gBAAgB;QACd,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;YACzC,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,YAAY,CAAC;QAEnC,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACtC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;QAEhC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;QAEhC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QAED,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,cAAc;QACZ,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACvC,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,UAAU,CAAC;QAEjC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QAED,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,cAAc;QACZ,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACvC,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,UAAU,CAAC;QAEjC,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAKD,eAAe;QACb,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,OAAO,IAAI,CAAC,GAAG,CACb,IAAI,EACJ,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,CACpE,CAAC;IACJ,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,EAAE;aAC7B,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACf,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YACxC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,IAAI,CAAC,YAAY,GAAG,UAAU,CAC5B,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,EAC1B,QAAQ,CACY,CAAC;YACzB,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,YAAY,CAAC,SAAS,GAAG,IAAI;QAC3B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,IAAI,CAAC,YAAY,IAAI,SAAS,EAAE,CAAC;YACnC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAID,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YACrB,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;QAC1B,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;YACtB,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;QAC1B,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;YACtB,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;YAE1E,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;gBACvB,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,qBAAqB,EAAE,MAAM,CAAC,WAAW,CAAC,CAAA;YACtG,CAAC;YAED,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;gBACtB,KAAK,YAAY,CAAC,CAAC,CAAC;oBAClB,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACxB,MAAM;gBACR,CAAC;gBACD,KAAK,SAAS,CAAC,CAAC,CAAC;oBACf,IAAI,CAAC,aAAa,EAAE,CAAC;oBACrB,MAAM;gBACR,CAAC;gBACD,KAAK,UAAU,CAAC,CAAC,CAAC;oBAChB,IAAI,CAAC,cAAc,EAAE,CAAC;oBACtB,MAAM;gBACR,CAAC;gBACD,KAAK,SAAS,CAAC,CAAC,CAAC;oBACf,IAAI,CAAC,aAAa,EAAE,CAAC;oBACrB,MAAM;gBACR,CAAC;gBACD,KAAK,UAAU,CAAC,CAAC,CAAC;oBAChB,IAAI,CAAC,cAAc,EAAE,CAAC;oBACtB,MAAM;gBACR,CAAC;YACH,CAAC;YAED,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACzB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACzB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAc,EAAE,IAAI,CAAC,CAAC;gBAC3C,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;CACF;AAuBD,MAAM,OAAO,MAAM;IACjB,MAAM,CAAC,GAAG,CAAC,IAAuB;QAChC,OAAO,IAAI,MAAM,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,YACmB,GAAY,EACZ,OAAuB;QADvB,QAAG,GAAH,GAAG,CAAS;QACZ,YAAO,GAAP,OAAO,CAAgB;IACvC,CAAC;IAEJ,KAAK,CAAC,YAAY,CAChB,YAAoB,EACpB,MAAc,EACd,UAA8B,EAAE;QAEhC,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QACvD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAC9C,YAAY,EACZ,MAAM,EACN,IAAI,EACJ,OAAO,CAAC,QAAQ,CACjB,CAAC;QAEF,OAAO,IAAI,UAAU,CACnB,IAAI,CAAC,GAAG,EACR;YACE,aAAa,EAAE,QAAQ,CAAC,aAAa;YACrC,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,YAAY;YAC1B,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,qBAAqB;SACzD,EACD,OAAO,CACR,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,YAAoB,EAAE,MAAc,EAAE,EAAa;QACxD,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,EAAE;aACrC,SAAS,CAAC,MAAM,CAAC;aACjB,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;aAClC,cAAc,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC;aAChD,gBAAgB,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC;aACnD,YAAY,CAAC,YAAY,CAAC,CAAC;QAE9B,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC1B,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO;aACJ,SAAS,CAAC,CAAC,UAAU,EAAE,EAAE;YACxB,UAAU,CAAC,aAAa,EAAE,CAAC;YAC3B,OAAO,EAAE,CAAC,IAAI,EAAE;gBACd,MAAM,EAAE,UAAU,CAAC,SAAS,EAAE;gBAC9B,OAAO,EAAE,UAAU,CAAC,UAAU,EAAE;gBAChC,YAAY;gBACZ,aAAa,EAAE,UAAU,CAAC,eAAe,EAAE;gBAC3C,SAAS,EAAE,UAAU,CAAC,WAAW,EAAE;aACpC,CAAC,CAAC;QACL,CAAC,CAAC;aACD,SAAS,CAAC,CAAC,UAAU,EAAE,EAAE,CACxB,EAAE,CAAC,IAAI,EAAE;YACP,MAAM,EAAE,UAAU,CAAC,SAAS,EAAE;YAC9B,OAAO,EAAE,UAAU,CAAC,UAAU,EAAE;YAChC,YAAY;YACZ,aAAa,EAAE,UAAU,CAAC,eAAe,EAAE;YAC3C,SAAS,EAAE,UAAU,CAAC,WAAW,EAAE;SACpC,CAAC,CACH;aACA,YAAY,CAAC,CAAC,UAAU,EAAE,EAAE,CAC3B,EAAE,CAAC,IAAI,EAAE;YACP,MAAM,EAAE,UAAU,CAAC,SAAS,EAAE;YAC9B,OAAO,EAAE,UAAU,CAAC,UAAU,EAAE;YAChC,YAAY;YACZ,aAAa,EAAE,UAAU,CAAC,eAAe,EAAE;YAC3C,SAAS,EAAE,UAAU,CAAC,WAAW,EAAE;SACpC,CAAC,CACH;aACA,SAAS,CAAC,CAAC,UAAU,EAAE,EAAE,CACxB,EAAE,CAAC,IAAI,EAAE;YACP,MAAM,EAAE,UAAU,CAAC,SAAS,EAAE;YAC9B,OAAO,EAAE,UAAU,CAAC,UAAU,EAAE;YAChC,YAAY;YACZ,aAAa,EAAE,UAAU,CAAC,eAAe,EAAE;YAC3C,SAAS,EAAE,UAAU,CAAC,WAAW,EAAE;SACpC,CAAC,CACH;aACA,UAAU,CAAC,CAAC,UAAU,EAAE,EAAE,CACzB,EAAE,CAAC,IAAI,EAAE;YACP,MAAM,EAAE,UAAU,CAAC,SAAS,EAAE;YAC9B,OAAO,EAAE,UAAU,CAAC,UAAU,EAAE;YAChC,YAAY;YACZ,aAAa,EAAE,UAAU,CAAC,eAAe,EAAE;YAC3C,SAAS,EAAE,UAAU,CAAC,WAAW,EAAE;SACpC,CAAC,CACH;aACA,UAAU,CAAC,CAAC,UAAU,EAAE,EAAE,CACzB,EAAE,CAAC,IAAI,EAAE;YACP,MAAM,EAAE,UAAU,CAAC,SAAS,EAAE;YAC9B,OAAO,EAAE,UAAU,CAAC,UAAU,EAAE;YAChC,YAAY;YACZ,aAAa,EAAE,UAAU,CAAC,eAAe,EAAE;YAC3C,SAAS,EAAE,UAAU,CAAC,WAAW,EAAE;SACpC,CAAC,CACH;aACA,OAAO,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;YAC7B,UAAU,EAAE,YAAY,EAAE,CAAC;YAC3B,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAClB,CAAC,CAAC;aACD,IAAI,EAAE,CAAC;IACZ,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,4BAA4B,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;CACF;AAcD,MAAM,4BAA4B;IAgBhC,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QAbnC,cAAS,GAAG,qBAAqB,CAAC;QAElC,cAAS,GAAwB,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QACxD,iBAAY,GAAqC,GAAG,EAAE,GAAE,CAAC,CAAC;QAC1D,kBAAa,GAAqC,GAAG,EAAE,GAAE,CAAC,CAAC;QAC3D,eAAU,GAChB,GAAG,EAAE,GAAE,CAAC,CAAC;QACH,iBAAY,GAAqC,GAAG,EAAE,GAAE,CAAC,CAAC;QAC1D,kBAAa,GAAqC,GAAG,EAAE,GAAE,CAAC,CAAC;QAC3D,oBAAe,GAAqC,GAAG,EAAE,GAAE,CAAC,CAAC;QAC7D,eAAU,GAAqC,GAAG,EAAE,GAAE,CAAC,CAAC;QACxD,iBAAY,GAAqC,GAAG,EAAE,GAAE,CAAC,CAAC;IAEpB,CAAC;IAE/C,gBAAgB,CAAC,QAAgB,EAAE;QACjC,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,cAAc,CAAC,MAAc,EAAE;QAC7B,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY,CAAC,KAAa;QACxB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,CAAC,MAAc;QACtB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY,CAAC,SAAiB;QAC5B,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW,CAAC,QAAgB;QAC1B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,CAAC,EAAoC;QAC5C,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU,CAAC,EAAoC;QAC7C,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,CAAC,EAAoC;QAC5C,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU,CAAC,EAAoC;QAC7C,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,EAAmD;QACzD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY,CAAC,EAAoC;QAC/C,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,EAAoC;QAC1C,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,CAAC,EAAoC;QAC5C,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,CAAC,MAAM;aACR,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,EAAE;YAC9C,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,OAAO,EAAE,IAAI,CAAC,UAAU;YACxB,SAAS,EAAE,IAAI,CAAC,YAAY;YAC5B,YAAY,EAAE,IAAI,CAAC,eAAe;YAClC,OAAO,EAAE,IAAI,CAAC,UAAU;YACxB,SAAS,EAAE,IAAI,CAAC,YAAY;YAC5B,SAAS,EAAE,IAAI,CAAC,YAAY;YAC5B,UAAU,EAAE,IAAI,CAAC,aAAa;YAC9B,UAAU,EAAE,IAAI,CAAC,aAAa;SAC/B,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC;IACP,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components.js","sourceRoot":"","sources":["../src/components.ts"],"names":[],"mappings":""}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import type { ICallback } from "./client.js";
|
|
2
2
|
import type { Fetcher } from "./service.js";
|
|
3
|
+
import type { StorageDriver } from "./storage.js";
|
|
3
4
|
export interface IGetViaMsgInit {
|
|
4
5
|
reference_id: string;
|
|
5
6
|
amount: number;
|
|
6
7
|
currency: "PLN" | "EUR" | "GBP" | "USD" | "CHF" | string;
|
|
7
8
|
tenant_id: string;
|
|
8
9
|
endpoint?: string;
|
|
10
|
+
storage?: StorageDriver;
|
|
9
11
|
fetcher?: Fetcher;
|
|
10
12
|
retry_ms?: number;
|
|
11
13
|
}
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
async function
|
|
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};
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAarC,MAAM,UAAU,SAAS,CAAC,IAAoB,EAAE,QAAmB;IACjE,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC;QACxB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,iCAAiC;QAC5D,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,KAAK;QAC9B,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI;KAChC,CAAC,CAAC;IAEH,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC1D,CAAC"}
|
package/dist/index.test.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { it } from "vitest";
|
|
2
2
|
import { getViaMsg } from "./index.js";
|
|
3
3
|
import { mockFetch } from "./test_utils/mock_fetcher.js";
|
|
4
|
+
import { memory } from "./storage.js";
|
|
4
5
|
it("getViaMsg", async () => {
|
|
5
6
|
const mock = mockFetch();
|
|
6
7
|
await new Promise((resolve, reject) => {
|
package/dist/index.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;IACzB,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC;IAEzB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACpC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACb,SAAS,EAAE,gBAAgB;YAC3B,uBAAuB,EAAE,UAAU;YACnC,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAM;YAC/B,aAAa,EAAE,sBAAsB;SACtC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACb,OAAO,EAAE,iBAAiB;YAC1B,MAAM,EAAE,SAAS;YACjB,aAAa,EAAE,sBAAsB;SACtC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACb,OAAO,EAAE,iBAAiB;YAC1B,MAAM,EAAE,SAAS;YACjB,aAAa,EAAE,sBAAsB;SACtC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACb,OAAO,EAAE,iBAAiB;YAC1B,MAAM,EAAE,UAAU;YAClB,aAAa,EAAE,sBAAsB;SACtC,CAAC,CAAC;QAEH,SAAS,CACP;YACE,MAAM,EAAE,EAAE;YACV,YAAY,EAAE,KAAK;YACnB,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,oBAAoB;YAC/B,QAAQ,EAAE,uBAAuB;YACjC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YAChC,QAAQ,EAAE,GAAG;SACd,EACD,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YACjB,IAAI,CAAC,OAAO,IAAI,KAAK,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACnB,MAAM,CAAC,KAAK,CAAC,CAAC;gBACd,OAAO;YACT,CAAC;YAED,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;YAE3B,QAAQ,MAAM,EAAE,CAAC;gBACf,KAAK,SAAS,CAAC;gBACf,KAAK,SAAS,CAAC;gBACf,KAAK,YAAY,CAAC;gBAClB,KAAK,SAAS;oBACZ,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACrB,MAAM;gBACR,KAAK,UAAU;oBACb,OAAO,CAAC,MAAM,CAAC,CAAC;YACpB,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/service.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
interface ICommitment {
|
|
1
|
+
export interface ICommitment {
|
|
2
2
|
click_url: string;
|
|
3
3
|
incoming_message_device: string;
|
|
4
4
|
expires_at: number;
|
|
@@ -27,4 +27,3 @@ export declare class Service {
|
|
|
27
27
|
createCommitment(reference_id: string, amount: number, currency: string, metadata?: ICommitmentMetadata): Promise<ICommitment>;
|
|
28
28
|
checkCommitment(commitment: string): Promise<ICommitmentStatus>;
|
|
29
29
|
}
|
|
30
|
-
export {};
|
package/dist/service.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
async function i(r){return r.headers.get("Content-Type")?.includes("application/json")?await r.json():await r.text()}function
|
|
1
|
+
var f="2025-09-30";async function i(r){return r.headers.get("Content-Type")?.includes("application/json")?await r.json():await r.text()}function d(r,e){return Math.floor(Math.random()*(e-r+1))+r}function o(r){let e=0;if(!r)return e;let t=typeof r=="number"?r:parseInt(r,10);return!isNaN(t)&&isFinite(t)?e=t*1e3:e=0,e}async function m(r,e,t){try{let s=await t(new Request(r,e));if(s.ok){let a=s.headers.get("Retry-After");return{status:s.status,error:!1,retry_after:o(s.headers.get("Retry-After")),data:await i(s)}}let n=await i(s);return{status:s.status,error:n&&typeof n=="object"&&"error"in n?n.error:!0,message:n&&typeof n=="object"&&"message"in n?n.message:s.statusText,retry_after:o(s.headers.get("Retry-After")),data:null}}catch(s){return{status:500,error:!0,message:s instanceof Error?s.message:`${s}`,retry_after:d(1e4,3e4),data:null}}}function c(r,e){let t=r.endsWith("/")?r.substring(0,r.length-1):r,s=e.startsWith("/")?e:"/".concat(e);return t+s}var u=class{constructor(e){this.options=e;if(!e.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(e,t,s,n){let a=await m(c(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:e,currency:s,metadata:n??{title:"",url:""},amount:t})},this.fetcher);if(a.error)throw new Error(a.message);if(!a.data)throw new Error("Bad response");return a.data}async checkCommitment(e){let t=await m(c(this.options.endpoint,`/commitment/${e}`),{method:"GET"},this.fetcher);switch(t.status){case 402:return{commitment_id:e,message:t.message||"Payment required - you are over limit",status:"rejected"};case 410:return{commitment_id:e,message:t.message||"Expired",status:"expired"}}if(t.error)throw new Error(t.message);if(!t.data)throw new Error("Bad response");return{commitment_id:t.data.commitment_id,message:t.data.message,status:t.data.status,retry_after:t.retry_after}}};export{u as Service};
|
package/dist/service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface StorageDriver {
|
|
2
|
+
get(key: string): Promise<string | undefined>;
|
|
3
|
+
set(key: string, value: string): Promise<void>;
|
|
4
|
+
del(key: string): Promise<void>;
|
|
5
|
+
}
|
|
6
|
+
export declare const memory: StorageDriver & {
|
|
7
|
+
__db: Record<string, string>;
|
|
8
|
+
};
|
|
9
|
+
export declare const session: StorageDriver;
|
|
10
|
+
export declare const local: StorageDriver;
|
package/dist/storage.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var s={__db:{},async get(e){return Promise.resolve(this.__db[e]||void 0)},async set(e,r){return this.__db[e]=r,Promise.resolve()},async del(e){return delete this.__db[e],Promise.resolve()}},t={async get(e){return Promise.resolve(sessionStorage.getItem(e)??void 0)},async set(e,r){return sessionStorage.setItem(e,r),Promise.resolve()},async del(e){return sessionStorage.removeItem(e),Promise.resolve()}},n={async get(e){return Promise.resolve(localStorage.getItem(e)??void 0)},async set(e,r){return localStorage.setItem(e,r),Promise.resolve()},async del(e){return localStorage.removeItem(e),Promise.resolve()}};export{n as local,s as memory,t as session};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,MAAM,GAAmD;IACpE,IAAI,EAAE,EAA4B;IAClC,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC;IACtD,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAa;QAClC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACvB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACF,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAkB;IACpC,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,OAAO,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC;IACnE,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAa;QAClC,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACnC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC/B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACF,CAAA;AAED,MAAM,CAAC,MAAM,KAAK,GAAkB;IAClC,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,OAAO,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC;IACjE,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAa;QAClC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACjC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC7B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACF,CAAA"}
|
package/dist/utils.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function slugifyUrl(url: URL): string;
|
package/dist/utils.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function t(e){return decodeURIComponent(e.pathname).split("/").map(o=>o.normalize("NFKD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")).filter(Boolean).join("/")}export{t as slugifyUrl};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,GAAQ;IACjC,8CAA8C;IAC9C,MAAM,WAAW,GAAG,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACrD,OAAO,WAAW;SACf,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,OAAO,CAAC,EAAE,CACb,OAAO;SACJ,SAAS,CAAC,MAAM,CAAC,CAAe,4BAA4B;SAC5D,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,iBAAiB;SACjD,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAK,6BAA6B;SAC7D,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAS,eAAe;KACnD;SACA,MAAM,CAAC,OAAO,CAAC,CAAqB,wBAAwB;SAC5D,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { expect, it } from "vitest";
|
|
2
|
+
import { slugifyUrl } from "./utils";
|
|
3
|
+
it("slugify url", async () => {
|
|
4
|
+
const url = new URL("https://example.com/Café & Croissant/Morning Menu");
|
|
5
|
+
expect(slugifyUrl(url), 'cafe-croissant/morning-menu');
|
|
6
|
+
});
|
|
7
|
+
//# sourceMappingURL=utils.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.test.js","sourceRoot":"","sources":["../src/utils.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,EAAE,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;IAC3B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,mDAAmD,CAAC,CAAC;IACzE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,6BAA6B,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wdft/micropayments-sdk",
|
|
3
3
|
"description": "wdft - we do fintech - micropayments sdk",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.10",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -31,6 +31,6 @@
|
|
|
31
31
|
"build": "pnpm run build:types && pnpm run build:js",
|
|
32
32
|
"fmt": "biome check --write ./src",
|
|
33
33
|
"test": "vitest run",
|
|
34
|
-
"release": "pnpm run build && changeset publish"
|
|
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'"
|
|
35
35
|
}
|
|
36
36
|
}
|
package/src/browser.ts
CHANGED
package/src/client.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { type IServiceOptions, type ICommitmentMetadata, Service } from "./service.js";
|
|
1
|
+
import { type IServiceOptions, type ICommitmentMetadata, Service, type ICommitment } from "./service.js";
|
|
2
|
+
import type { StorageDriver } from "./storage.js";
|
|
2
3
|
|
|
3
4
|
interface ICommitmentPayload {
|
|
4
5
|
commitment_id: string;
|
|
@@ -274,7 +275,9 @@ class Commitment {
|
|
|
274
275
|
}
|
|
275
276
|
|
|
276
277
|
interface IClientOptions {
|
|
278
|
+
tenant_id: string;
|
|
277
279
|
currency: string;
|
|
280
|
+
storage?: StorageDriver;
|
|
278
281
|
retry_ms?: number;
|
|
279
282
|
}
|
|
280
283
|
|
|
@@ -283,7 +286,9 @@ interface INewClientOptions extends IClientOptions, IServiceOptions {}
|
|
|
283
286
|
interface ICommitmentOptions {
|
|
284
287
|
currency?: string;
|
|
285
288
|
retry_ms?: number;
|
|
289
|
+
storage?: StorageDriver;
|
|
286
290
|
metadata?: ICommitmentMetadata;
|
|
291
|
+
commitmentKey?: string;
|
|
287
292
|
onCreated?: (commitment: Commitment) => void;
|
|
288
293
|
onResolved?: (commitment: Commitment) => void;
|
|
289
294
|
onError?: (error: Error, commitment: Commitment) => void;
|
|
@@ -304,25 +309,93 @@ export class Client {
|
|
|
304
309
|
private readonly options: IClientOptions,
|
|
305
310
|
) {}
|
|
306
311
|
|
|
312
|
+
private getStorageKey(reference_id: string) {
|
|
313
|
+
return `getviamsg:${this.options.tenant_id}:${reference_id}`;
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
async checkDirect(commitment_id: string) {
|
|
317
|
+
return this.svc.checkCommitment(commitment_id);
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
private async storeIntoStorageByKey(commitment_key: string | undefined, commitment: ICommitment) {
|
|
321
|
+
if (!this.options.storage) {
|
|
322
|
+
return;
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
if (!commitment_key) {
|
|
326
|
+
return;
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
await this.options.storage.set(commitment_key, JSON.stringify(commitment));
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
private async canRecreateFromStorageKey(commitment_key?: string): Promise<ICommitment | null> {
|
|
333
|
+
if (!this.options.storage) {
|
|
334
|
+
return null;
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
if (!commitment_key) {
|
|
338
|
+
return null;
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
const commitmentIdToRestoreSerialized = await this.options.storage.get(commitment_key);
|
|
342
|
+
|
|
343
|
+
if (!commitmentIdToRestoreSerialized) {
|
|
344
|
+
return null;
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
const commitmentToRestore = JSON.parse(commitmentIdToRestoreSerialized);
|
|
348
|
+
const status = await this.checkDirect(commitmentToRestore.commitment_id).catch(error => {
|
|
349
|
+
return { commitment_id: commitmentToRestore.commitment_id, status: 'expired', message: 'Commitment expired' };
|
|
350
|
+
});
|
|
351
|
+
|
|
352
|
+
if (status.status === "expired" || status.status === "rejected") {
|
|
353
|
+
await this.options.storage.del(commitment_key);
|
|
354
|
+
return null;
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
return commitmentToRestore;
|
|
358
|
+
}
|
|
359
|
+
|
|
307
360
|
async createDirect(
|
|
308
361
|
reference_id: string,
|
|
309
362
|
amount: number,
|
|
310
363
|
options: ICommitmentOptions = {},
|
|
311
364
|
): Promise<Commitment> {
|
|
312
|
-
const
|
|
365
|
+
const currency = options.currency ?? this.options.currency;
|
|
366
|
+
const commitment = await this.canRecreateFromStorageKey(options.commitmentKey);
|
|
367
|
+
|
|
368
|
+
if (commitment) {
|
|
369
|
+
return new Commitment(
|
|
370
|
+
this.svc,
|
|
371
|
+
{
|
|
372
|
+
commitment_id: commitment.commitment_id,
|
|
373
|
+
amount: amount,
|
|
374
|
+
currency: currency,
|
|
375
|
+
reference_id: reference_id,
|
|
376
|
+
expires_at: commitment.expires_at,
|
|
377
|
+
click_url: commitment.click_url,
|
|
378
|
+
retry_ms: this.options.retry_ms ?? DEFAULT_RETRY_TIME_MS,
|
|
379
|
+
},
|
|
380
|
+
options,
|
|
381
|
+
);
|
|
382
|
+
}
|
|
383
|
+
|
|
313
384
|
const response = await this.svc.createCommitment(
|
|
314
385
|
reference_id,
|
|
315
386
|
amount,
|
|
316
|
-
|
|
387
|
+
currency,
|
|
317
388
|
options.metadata,
|
|
318
389
|
);
|
|
319
390
|
|
|
391
|
+
await this.storeIntoStorageByKey(options.commitmentKey, response);
|
|
392
|
+
|
|
320
393
|
return new Commitment(
|
|
321
394
|
this.svc,
|
|
322
395
|
{
|
|
323
396
|
commitment_id: response.commitment_id,
|
|
324
397
|
amount: amount,
|
|
325
|
-
currency:
|
|
398
|
+
currency: currency,
|
|
326
399
|
reference_id: reference_id,
|
|
327
400
|
expires_at: response.expires_at,
|
|
328
401
|
click_url: response.click_url,
|
|
@@ -344,6 +417,14 @@ export class Client {
|
|
|
344
417
|
builder.setRetryTime(this.options.retry_ms);
|
|
345
418
|
}
|
|
346
419
|
|
|
420
|
+
const hasStorageConfigured = !!this.options.storage;
|
|
421
|
+
|
|
422
|
+
if (hasStorageConfigured) {
|
|
423
|
+
const commitmentKey = this.getStorageKey(reference_id);
|
|
424
|
+
builder.setStorage(this.options.storage!);
|
|
425
|
+
builder.setStorageCommitmentKey(commitmentKey);
|
|
426
|
+
}
|
|
427
|
+
|
|
347
428
|
builder
|
|
348
429
|
.onCreated((commitment) => {
|
|
349
430
|
commitment.startChecking();
|
|
@@ -373,24 +454,24 @@ export class Client {
|
|
|
373
454
|
click_url: commitment.getClickUrl(),
|
|
374
455
|
})
|
|
375
456
|
)
|
|
376
|
-
.onExpired((commitment) =>
|
|
377
|
-
on(null, {
|
|
457
|
+
.onExpired((commitment) => {
|
|
458
|
+
return on(null, {
|
|
378
459
|
status: commitment.getStatus(),
|
|
379
460
|
message: commitment.getMessage(),
|
|
380
461
|
reference_id,
|
|
381
462
|
commitment_id: commitment.getCommitmentId(),
|
|
382
463
|
click_url: commitment.getClickUrl(),
|
|
383
464
|
})
|
|
384
|
-
)
|
|
385
|
-
.onRejected((commitment) =>
|
|
386
|
-
on(null, {
|
|
465
|
+
})
|
|
466
|
+
.onRejected((commitment) => {
|
|
467
|
+
return on(null, {
|
|
387
468
|
status: commitment.getStatus(),
|
|
388
469
|
message: commitment.getMessage(),
|
|
389
470
|
reference_id,
|
|
390
471
|
commitment_id: commitment.getCommitmentId(),
|
|
391
472
|
click_url: commitment.getClickUrl(),
|
|
392
473
|
})
|
|
393
|
-
)
|
|
474
|
+
})
|
|
394
475
|
.onResolved((commitment) =>
|
|
395
476
|
on(null, {
|
|
396
477
|
status: commitment.getStatus(),
|
|
@@ -425,6 +506,8 @@ type OnStatusErrorCallback = (error: Error, payload: null) => void;
|
|
|
425
506
|
export type ICallback = OnStatusCallback & OnStatusErrorCallback;
|
|
426
507
|
|
|
427
508
|
class CommitmentObservabileBuilder {
|
|
509
|
+
private _storage: StorageDriver | undefined;
|
|
510
|
+
private _commitmentKey: string | undefined;
|
|
428
511
|
private _reference_id: string | undefined;
|
|
429
512
|
private _amount: number | undefined;
|
|
430
513
|
private _retry_ms = DEFAULT_RETRY_TIME_MS;
|
|
@@ -442,6 +525,16 @@ class CommitmentObservabileBuilder {
|
|
|
442
525
|
|
|
443
526
|
constructor(private readonly client: Client) {}
|
|
444
527
|
|
|
528
|
+
setStorage(storage: StorageDriver) {
|
|
529
|
+
this._storage = storage;
|
|
530
|
+
return this;
|
|
531
|
+
}
|
|
532
|
+
|
|
533
|
+
setStorageCommitmentKey(key: string) {
|
|
534
|
+
this._commitmentKey = key;
|
|
535
|
+
return this;
|
|
536
|
+
}
|
|
537
|
+
|
|
445
538
|
setMetadataTitle(title: string = "") {
|
|
446
539
|
this._metadata.title = title;
|
|
447
540
|
return this;
|
|
@@ -530,6 +623,8 @@ class CommitmentObservabileBuilder {
|
|
|
530
623
|
retry_ms: this._retry_ms,
|
|
531
624
|
currency: this._currency,
|
|
532
625
|
metadata: this._metadata,
|
|
626
|
+
storage: this._storage,
|
|
627
|
+
commitmentKey: this._commitmentKey,
|
|
533
628
|
onCheck: this._onCheckFn,
|
|
534
629
|
onCreated: this._onCreatedFn,
|
|
535
630
|
onDuplicated: this._onDuplicatedFn,
|
|
File without changes
|
package/src/index.test.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { it } from "vitest";
|
|
2
2
|
import { getViaMsg } from "./index.js";
|
|
3
3
|
import { mockFetch } from "./test_utils/mock_fetcher.js";
|
|
4
|
+
import { memory } from "./storage.js";
|
|
4
5
|
|
|
5
6
|
it("getViaMsg", async () => {
|
|
6
7
|
const mock = mockFetch();
|
|
@@ -63,4 +64,4 @@ it("getViaMsg", async () => {
|
|
|
63
64
|
},
|
|
64
65
|
);
|
|
65
66
|
});
|
|
66
|
-
});
|
|
67
|
+
});
|
package/src/index.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ICallback } from "./client.js";
|
|
2
2
|
import type { Fetcher } from "./service.js";
|
|
3
|
-
|
|
3
|
+
import type { StorageDriver } from "./storage.js";
|
|
4
4
|
import { Client } from "./client.js";
|
|
5
5
|
|
|
6
6
|
export interface IGetViaMsgInit {
|
|
@@ -9,6 +9,7 @@ export interface IGetViaMsgInit {
|
|
|
9
9
|
currency: "PLN" | "EUR" | "GBP" | "USD" | "CHF" | string;
|
|
10
10
|
tenant_id: string;
|
|
11
11
|
endpoint?: string;
|
|
12
|
+
storage?: StorageDriver;
|
|
12
13
|
fetcher?: Fetcher;
|
|
13
14
|
retry_ms?: number;
|
|
14
15
|
}
|
|
@@ -16,11 +17,12 @@ export interface IGetViaMsgInit {
|
|
|
16
17
|
export function getViaMsg(init: IGetViaMsgInit, callback: ICallback) {
|
|
17
18
|
const client = Client.new({
|
|
18
19
|
currency: init.currency,
|
|
19
|
-
endpoint: init.endpoint ?? "https://
|
|
20
|
+
endpoint: init.endpoint ?? "https://svc.getviamsg.wdft.ovh/",
|
|
20
21
|
tenant_id: init.tenant_id,
|
|
22
|
+
storage: init.storage,
|
|
21
23
|
fetcher: init.fetcher ?? fetch,
|
|
22
24
|
retry_ms: init.retry_ms ?? 1000,
|
|
23
25
|
});
|
|
24
26
|
|
|
25
27
|
client.create(init.reference_id, init.amount, callback);
|
|
26
|
-
}
|
|
28
|
+
}
|
package/src/service.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
const COMPATIBILITY_DATE = "2025-09-30"
|
|
2
|
+
|
|
1
3
|
interface CustomResponse {
|
|
2
4
|
status: number;
|
|
3
5
|
error: boolean;
|
|
@@ -16,7 +18,7 @@ interface ErrorResponse extends CustomResponse {
|
|
|
16
18
|
data: null;
|
|
17
19
|
}
|
|
18
20
|
|
|
19
|
-
interface ICommitment {
|
|
21
|
+
export interface ICommitment {
|
|
20
22
|
click_url: string;
|
|
21
23
|
incoming_message_device: string;
|
|
22
24
|
expires_at: number;
|
|
@@ -151,6 +153,10 @@ export class Service {
|
|
|
151
153
|
buildUrl(this.options.endpoint, "/commitment"),
|
|
152
154
|
{
|
|
153
155
|
method: "POST",
|
|
156
|
+
headers: {
|
|
157
|
+
"Content-Type": "application/json",
|
|
158
|
+
"X-Compatibility-Date": COMPATIBILITY_DATE
|
|
159
|
+
},
|
|
154
160
|
body: JSON.stringify({
|
|
155
161
|
tenant_id: this.options.tenant_id,
|
|
156
162
|
reference_id,
|
package/src/storage.ts
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export interface StorageDriver {
|
|
2
|
+
get(key: string): Promise<string | undefined>;
|
|
3
|
+
set(key: string, value: string): Promise<void>;
|
|
4
|
+
del(key: string): Promise<void>;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export const memory: StorageDriver & {__db: Record<string, string>} = {
|
|
8
|
+
__db: {} as Record<string, string>,
|
|
9
|
+
async get(key: string) {
|
|
10
|
+
return Promise.resolve(this.__db[key] || undefined);
|
|
11
|
+
},
|
|
12
|
+
async set(key: string, value: string) {
|
|
13
|
+
this.__db[key] = value;
|
|
14
|
+
return Promise.resolve();
|
|
15
|
+
},
|
|
16
|
+
async del(key: string) {
|
|
17
|
+
delete this.__db[key];
|
|
18
|
+
return Promise.resolve();
|
|
19
|
+
},
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export const session: StorageDriver = {
|
|
23
|
+
async get(key: string) {
|
|
24
|
+
return Promise.resolve(sessionStorage.getItem(key) ?? undefined);
|
|
25
|
+
},
|
|
26
|
+
async set(key: string, value: string) {
|
|
27
|
+
sessionStorage.setItem(key, value);
|
|
28
|
+
return Promise.resolve();
|
|
29
|
+
},
|
|
30
|
+
async del(key: string) {
|
|
31
|
+
sessionStorage.removeItem(key);
|
|
32
|
+
return Promise.resolve();
|
|
33
|
+
},
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export const local: StorageDriver = {
|
|
37
|
+
async get(key: string) {
|
|
38
|
+
return Promise.resolve(localStorage.getItem(key) ?? undefined);
|
|
39
|
+
},
|
|
40
|
+
async set(key: string, value: string) {
|
|
41
|
+
localStorage.setItem(key, value);
|
|
42
|
+
return Promise.resolve();
|
|
43
|
+
},
|
|
44
|
+
async del(key: string) {
|
|
45
|
+
localStorage.removeItem(key);
|
|
46
|
+
return Promise.resolve();
|
|
47
|
+
},
|
|
48
|
+
}
|
package/src/utils.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export function slugifyUrl(url: URL): string {
|
|
2
|
+
// Decode any percent-encoded characters first
|
|
3
|
+
const decodedPath = decodeURIComponent(url.pathname);
|
|
4
|
+
return decodedPath
|
|
5
|
+
.split('/')
|
|
6
|
+
.map(segment =>
|
|
7
|
+
segment
|
|
8
|
+
.normalize('NFKD') // Normalize Unicode (é → e)
|
|
9
|
+
.replace(/[\u0300-\u036f]/g, '') // Remove accents
|
|
10
|
+
.toLowerCase()
|
|
11
|
+
.replace(/[^a-z0-9]+/g, '-') // Non-alphanumerics → hyphen
|
|
12
|
+
.replace(/^-+|-+$/g, '') // Trim hyphens
|
|
13
|
+
)
|
|
14
|
+
.filter(Boolean) // Remove empty segments
|
|
15
|
+
.join('/');
|
|
16
|
+
}
|