@mnpay/golomt
Version:
2 lines (1 loc) • 2.74 kB
JavaScript
(function(r,u){typeof exports=="object"&&typeof module<"u"?u(exports,require("axios"),require("zod")):typeof define=="function"&&define.amd?define(["exports","axios","zod"],u):(r=typeof globalThis<"u"?globalThis:r||self,u(r.golomt={},r.axios,r.zod))})(this,function(r,u,o){"use strict";const i=e=>e,m="https://ecommerce.golomtbank.com";var s=(e=>(e.invoice="/api/invoice",e.inquiry="/api/inquiry",e.check="/api/check",e.payTransaction="/api/pay",e.confirmation="/api/confirmation",e.getToken="/api/get/token",e.getSettlementDetails="/api/getSettlementDetails",e))(s||{});const f=async()=>{if(typeof window>"u")return(await import("crypto")).createHmac;throw new Error("HMAC is not supported in the browser")},k=async(e,t)=>(await f())("sha256",e.trim()).update(t.trim()).digest("hex"),l=async(e,t)=>e.checksum?e.checksum:await k(t,`${e.transactionId}${e.amount}${e.returnType}${e.callback}`),h=async(e,t)=>e.checksum?e.checksum:await k(t,`${e.transactionId}${e.transactionId}`),y=async(e,t)=>e.checksum?e.checksum:await k(t,`${e.amount}${e.transactionId}${e.token}`),d=({baseUrl:e=m,paymentMethod:t,language:n,invoiceNumber:c})=>`${e}/${t}/${n}/${c}`,T=i((e,t)=>async n=>{const c=await l(n,t.secret),a={...n,checksum:c};return e.post(s.invoice,a)}),C=i((e,t)=>async n=>{const c=await h(n,t.secret),a={...n,checksum:c};return e.post(s.inquiry,a)}),$=i(e=>t=>e.post(s.confirmation,t)),w=i((e,t)=>async n=>{const c=await y(n,t.secret),a={...n,checksum:c};return e.post(s.payTransaction,a)}),v=i((e,t)=>async n=>{const c=await h(n,t.secret),a={...n,checksum:c};return e.post(s.check,a)}),I=i(e=>t=>e.post(s.getToken,t)),S=e=>(t,n)=>e.post(s.getSettlementDetails,t,{params:n}),b=e=>(t,n)=>{e(t.body),n.sendStatus(200)},q=o.z.object({timestamp:o.z.string(),status:o.z.literal(200).or(o.z.literal(400)).or(o.z.literal(403)).or(o.z.literal(500)),error:o.z.enum(["Validation","NotFound","Internal","Forbidden"]),message:o.z.string(),path:o.z.nativeEnum(s)}),D=o.z.object({invoice:o.z.string(),status_code:o.z.string(),desc:o.z.string()}),R=e=>{const t=`${e.endpoint??m}`,n={...e,endpoint:t},c=u.create({baseURL:t});c.interceptors.request.use(async g=>{const p=e.token;return p&&(g.headers.Authorization=`Bearer ${p}`),g});const a=T(c,n),z=C(c,n),H=I(c),U=w(c,n),j=v(c,n),E=$(c),A=S(c);return{api:c,getSettlementDetails:A,createInvoice:a,inquiry:z,tokenConfirmation:H,payTransaction:U,checkTransaction:j,tokenCreation:E,onNotification:b}};r.GolomtRequestPath=s,r.generateGolomtInvoiceUrl=d,r.generateInvoiceChecksum=l,r.generatePayTransactionChecksum=y,r.generateTransactionCheckChecksum=h,r.golomtDefaultBaseUrl=m,r.golomtErrorResponseSchema=q,r.merchantRedirectSchema=D,r.useGolomt=R,Object.defineProperty(r,Symbol.toStringTag,{value:"Module"})});