@tuwaio/quasar-sdk 0.7.2 → 0.8.0
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 +110 -19
- package/dist/checkout.cjs +1 -0
- package/dist/checkout.d.cts +1417 -0
- package/dist/checkout.d.ts +1417 -0
- package/dist/checkout.js +1 -0
- package/dist/{chunk-7EJ6DS4C.cjs → chunk-2LAAWGEK.cjs} +2 -2
- package/dist/chunk-KLHEH7HS.js +1 -0
- package/dist/chunk-LGJMFD5H.cjs +1 -0
- package/dist/chunk-ZSO6HC5H.js +2 -0
- package/dist/cli.cjs +28 -9
- package/dist/errors-BCdisviA.d.cts +1039 -0
- package/dist/errors-BCdisviA.d.ts +1039 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +612 -85
- package/dist/index.d.ts +612 -85
- package/dist/index.js +1 -1
- package/dist/pulsar.cjs +1 -0
- package/dist/pulsar.d.cts +50 -0
- package/dist/pulsar.d.ts +50 -0
- package/dist/pulsar.js +1 -0
- package/dist/react.cjs +1 -1
- package/dist/react.js +1 -1
- package/package.json +28 -9
- package/dist/chunk-MK6C4P3O.js +0 -2
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';var chunkLGJMFD5H_cjs=require('./chunk-LGJMFD5H.cjs'),chunk2LAAWGEK_cjs=require('./chunk-2LAAWGEK.cjs'),ofetch=require('ofetch');var s=r=>encodeURIComponent(r),d=r=>r instanceof Date?r.toISOString():r,p=r=>r?.idempotencyKey?{"Idempotency-Key":r.idempotencyKey}:{},I=r=>Array.isArray(r)?r.join(","):r,c=r=>Object.fromEntries(Object.entries(r).filter(([,e])=>e!==void 0)),m=class{constructor(e){this.client=e;}client;async createInvoice(e,t){return this.client.request(`${chunk2LAAWGEK_cjs.e}/invoices`,{method:"POST",body:{...e,dueAt:d(e.dueAt),supplyDate:d(e.supplyDate)},headers:p(t)})}async getInvoice(e){return this.client.request(`${chunk2LAAWGEK_cjs.e}/invoices/${s(e)}`,{method:"GET"})}async listInvoiceRefunds(e,t={}){return this.client.request(`${chunk2LAAWGEK_cjs.e}/invoices/${s(e)}/refunds`,{method:"GET",query:c({limit:t.limit,cursor:t.cursor})})}async listInvoiceDocuments(e,t={}){return this.client.request(`${chunk2LAAWGEK_cjs.e}/invoices/${s(e)}/documents`,{method:"GET",query:c({limit:t.limit,cursor:t.cursor})})}async listInvoices(e={}){return this.client.request(`${chunk2LAAWGEK_cjs.e}/invoices`,{method:"GET",query:c({status:I(e.status),environment:e.environment,externalId:e.externalId,createdAfter:d(e.createdAfter),createdBefore:d(e.createdBefore),limit:e.limit,cursor:e.cursor})})}async cancelInvoice(e,t={}){return this.client.request(`${chunk2LAAWGEK_cjs.e}/invoices/${s(e)}/cancel`,{method:"POST",body:t})}async releaseInvoice(e,t){return this.client.request(`${chunk2LAAWGEK_cjs.e}/invoices/${s(e)}/release`,{method:"POST",body:t})}async correctInvoice(e,t){return this.client.request(`${chunk2LAAWGEK_cjs.e}/invoices/${s(e)}/correct`,{method:"POST",body:t})}async replacePayLink(e){return this.client.request(`${chunk2LAAWGEK_cjs.e}/invoices/${s(e)}/checkout`,{method:"POST",body:{}})}async getEvents(e,t={}){return this.client.request(`${chunk2LAAWGEK_cjs.e}/invoices/${s(e)}/events`,{method:"GET",query:c({verify:t.verify?"true":void 0,limit:t.limit,cursor:t.cursor})})}async previewRefund(e,t={}){return this.client.request(`${chunk2LAAWGEK_cjs.e}/invoices/${s(e)}/refunds/preview`,{method:"POST",body:t})}async refund(e,t={},i){return this.client.request(`${chunk2LAAWGEK_cjs.e}/invoices/${s(e)}/refunds`,{method:"POST",body:t,headers:p(i)})}async withdrawRefund(e){return this.client.request(`${chunk2LAAWGEK_cjs.e}/refunds/${s(e)}/withdraw`,{method:"POST",body:{}})}async getRefund(e){return this.client.request(`${chunk2LAAWGEK_cjs.e}/refunds/${s(e)}`,{method:"GET"})}async submitRefund(e,t){return this.client.request(`${chunk2LAAWGEK_cjs.e}/refunds/${s(e)}/submit`,{method:"POST",body:t})}async listHeldTransfers(e={}){let t=e.invoice?`${chunk2LAAWGEK_cjs.e}/invoices/${s(e.invoice)}/held-transfers`:`${chunk2LAAWGEK_cjs.e}/held-transfers`,i=await this.client.request(t,{method:"GET",query:e.invoice?{}:c({status:e.status})});return e.invoice&&e.status?i.heldTransfers.filter(o=>o.status===e.status):i.heldTransfers}async refundHeldTransfer(e){return this.client.request(`${chunk2LAAWGEK_cjs.e}/held-transfers/${s(e)}/refund`,{method:"POST",body:{}})}async getDocument(e,t){return this.client.requestFile(`${chunk2LAAWGEK_cjs.e}/invoices/${s(e)}/documents/${t}`)}async getCreditNote(e,t,i="pdf"){let o=`${s(t)}${i==="ubl"?".xml":""}`;return this.client.requestFile(`${chunk2LAAWGEK_cjs.e}/invoices/${s(e)}/documents/credit-note/${o}`)}async quote(e){return this.client.request(`${chunk2LAAWGEK_cjs.e}/quotes`,{method:"POST",body:e})}async listMethods(){return this.client.request(`${chunk2LAAWGEK_cjs.e}/methods`,{method:"GET"})}async createSubscription(e,t){return this.client.request(`${chunk2LAAWGEK_cjs.e}/subscriptions`,{method:"POST",body:{...e,endsAt:d(e.endsAt)},headers:p(t)})}async listSubscriptions(e={}){return this.client.request(`${chunk2LAAWGEK_cjs.e}/subscriptions`,{method:"GET",query:c({status:I(e.status),limit:e.limit,cursor:e.cursor})})}async getSubscription(e){return this.client.request(`${chunk2LAAWGEK_cjs.e}/subscriptions/${s(e)}`,{method:"GET"})}async listSubscriptionInvoices(e,t={}){return this.client.request(`${chunk2LAAWGEK_cjs.e}/subscriptions/${s(e)}/invoices`,{method:"GET",query:c({limit:t.limit,cursor:t.cursor})})}async listSubscriptionCharges(e,t={}){return this.client.request(`${chunk2LAAWGEK_cjs.e}/subscriptions/${s(e)}/charges`,{method:"GET",query:c({limit:t.limit,cursor:t.cursor})})}async cancelSubscription(e,t={}){return this.client.request(`${chunk2LAAWGEK_cjs.e}/subscriptions/${s(e)}/cancel`,{method:"POST",body:t})}async undoSubscriptionCancel(e){return this.client.request(`${chunk2LAAWGEK_cjs.e}/subscriptions/${s(e)}/cancel/undo`,{method:"POST",body:{}})}async endSubscriptionPermission(e){return this.client.request(`${chunk2LAAWGEK_cjs.e}/subscriptions/${s(e)}/permission/end`,{method:"POST",body:{}})}async pauseSubscription(e){return this.client.request(`${chunk2LAAWGEK_cjs.e}/subscriptions/${s(e)}/pause`,{method:"POST",body:{}})}async resumeSubscription(e){return this.client.request(`${chunk2LAAWGEK_cjs.e}/subscriptions/${s(e)}/resume`,{method:"POST",body:{}})}};var l=class{constructor(e){this.client=e;}client;async syncCreate(e,t){return this.client.request(chunk2LAAWGEK_cjs.b,{method:"POST",body:{...e,appName:t}})}async syncHash(e,t){return this.client.request(chunk2LAAWGEK_cjs.d(e),{method:"POST",body:{hash:t}})}async getHistory(e={}){return this.client.request(chunk2LAAWGEK_cjs.c,{method:"GET",query:{page:e.page??1,limit:e.limit??10,chainId:e.chainId,status:e.status,txKey:e.txKey,appName:e.appName,walletAddress:e.walletAddress}})}};var y=class{secretKey;internalSecret;baseUrl;timeout;constructor(e){if(!e.secretKey)throw new Error("[Quasar SDK] Missing API Key. Provide the secretKey of your Quasar app (sk_live_ or sk_test_).");this.secretKey=e.secretKey,this.internalSecret=e.internalSecret,this.baseUrl=e.baseUrl||chunk2LAAWGEK_cjs.a,this.timeout=e.timeout||1e4;}async request(e,t={}){try{return await ofetch.ofetch(e,{baseURL:this.baseUrl,timeout:this.timeout,...t,headers:{"Content-Type":"application/json","x-tuwa-secret-key":this.secretKey,...this.internalSecret?{"x-internal-secret":this.internalSecret}:{},...t.headers}})}catch(i){throw chunkLGJMFD5H_cjs.b(i)}}async requestFile(e){try{let t=await ofetch.ofetch.raw(e,{baseURL:this.baseUrl,timeout:this.timeout,method:"GET",responseType:"arrayBuffer",headers:{"x-tuwa-secret-key":this.secretKey,...this.internalSecret?{"x-internal-secret":this.internalSecret}:{}}}),i=t.headers.get("content-disposition")??"";return {bytes:new Uint8Array(t._data??new ArrayBuffer(0)),contentType:t.headers.get("content-type"),filename:/filename="([^"]*)"/.exec(i)?.[1]??null}}catch(t){throw chunkLGJMFD5H_cjs.b(t)}}};var f=class{client;pulsar;payments;constructor(e){this.client=new y(e),this.pulsar=new l(this.client),this.payments=new m(this.client);}};var C="x-quasar-signature",O="payments.v1",a=class extends Error{code;constructor(e,t){super(t),this.name="QuasarWebhookError",this.code=e;}},k=300;async function A(r,e){let t=await crypto.subtle.importKey("raw",new TextEncoder().encode(r),{name:"HMAC",hash:"SHA-256"},false,["sign"]),i=new Uint8Array(await crypto.subtle.sign("HMAC",t,e));return Array.from(i,o=>o.toString(16).padStart(2,"0")).join("")}function R(r,e){if(r.length!==e.length)return false;let t=0;for(let i=0;i<r.length;i++)t|=r.charCodeAt(i)^e.charCodeAt(i);return t===0}function W(r){if(H(r)||r.sentAt!=null)return {field:"sentAt",time:typeof r.sentAt=="string"?Date.parse(r.sentAt):NaN};let{timestamp:e}=r;return {field:"timestamp",time:typeof e=="number"&&Number.isFinite(e)?e*1e3:NaN}}function H(r){return r.apiVersion===O}async function Y(r){let{body:e,signature:t,secret:i,toleranceSeconds:o=k,now:E=new Date}=r;if(o!==false&&(typeof o!="number"||!Number.isFinite(o)||o<=0))throw new a("invalid_options","toleranceSeconds must be a finite number above 0, or false");if(!i)throw new a("missing_secret","No signing secret to verify the webhook with");if(!t)throw new a("missing_signature",`The ${C} header is missing`);let x=typeof e=="string"?new TextEncoder().encode(e):e,_=await A(i,x);if(!R(t.trim().toLowerCase(),_))throw new a("invalid_signature","The signature does not match the body");let u;try{u=JSON.parse(typeof e=="string"?e:new TextDecoder().decode(e));}catch{throw new a("invalid_body","The body is not JSON")}if(typeof u!="object"||u===null||Array.isArray(u))throw new a("invalid_body","The body is not a webhook");let b=u;if(o!==false){let{field:P,time:g}=W(b);if(Number.isNaN(g))throw new a("stale",`The event carries no valid send time (${P})`);if(Math.abs(E.getTime()-g)>o*1e3)throw new a("stale",`The event was sent outside the ${o} s tolerance (${P})`)}return b}Object.defineProperty(exports,"QuasarSDKError",{enumerable:true,get:function(){return chunkLGJMFD5H_cjs.a}});Object.defineProperty(exports,"BASE_API_URL",{enumerable:true,get:function(){return chunk2LAAWGEK_cjs.a}});Object.defineProperty(exports,"PAYMENTS_ENDPOINT",{enumerable:true,get:function(){return chunk2LAAWGEK_cjs.e}});Object.defineProperty(exports,"PULSAR_HISTORY_ENDPOINT",{enumerable:true,get:function(){return chunk2LAAWGEK_cjs.c}});Object.defineProperty(exports,"PULSAR_SYNC_ENDPOINT",{enumerable:true,get:function(){return chunk2LAAWGEK_cjs.b}});Object.defineProperty(exports,"pulsarSyncHashEndpoint",{enumerable:true,get:function(){return chunk2LAAWGEK_cjs.d}});exports.PAYMENT_WEBHOOK_VERSION=O;exports.PaymentsModule=m;exports.PulsarModule=l;exports.Quasar=f;exports.QuasarWebhookError=a;exports.WEBHOOK_SIGNATURE_HEADER=C;exports.isPaymentWebhookEvent=H;exports.verifyWebhook=Y;
|