@paynext/sdk 0.0.144 → 0.0.145

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/dist/index.d.ts CHANGED
@@ -347,56 +347,18 @@ declare enum PaymentStatus {
347
347
  CANCELLED = "CANCELLED"
348
348
  }
349
349
 
350
- /**
351
- * PayNextCheckout Proxy Class
352
- *
353
- * This class acts as a proxy that loads the actual implementation from CDN.
354
- * Users can use it immediately, and the CDN version will be loaded on demand.
355
- */
356
350
  export declare class PayNextCheckout {
357
351
  private cdnInstance;
358
352
  private initPromise;
359
353
  constructor();
360
- /**
361
- * Initialize SDK from CDN
362
- */
363
354
  private initialize;
364
- /**
365
- * Wait for SDK to be ready
366
- */
367
355
  private waitForReady;
368
- /**
369
- * Mount checkout to DOM element
370
- *
371
- * @param containerId - DOM element ID
372
- * @param config - Checkout configuration
373
- */
374
356
  mount(containerId: string, config: PayNextConfig): Promise<void>;
375
- /**
376
- * Unmount checkout from DOM
377
- */
378
357
  unmount(): Promise<void>;
379
- /**
380
- * Update checkout configuration
381
- *
382
- * @param config - New configuration
383
- */
384
358
  updateConfig(config: any): Promise<void>;
385
- /**
386
- * Get SDK version
387
- */
388
359
  static getVersion(): string;
389
- /**
390
- * Get CDN URL
391
- */
392
360
  static getCDNUrl(): string;
393
- /**
394
- * Check if SDK is loaded
395
- */
396
361
  static isLoaded(): boolean;
397
- /**
398
- * Preload SDK (optional optimization)
399
- */
400
362
  static preload(): Promise<void>;
401
363
  }
402
364
 
@@ -415,9 +377,6 @@ export declare interface PayNextConfig {
415
377
  onCheckoutFail?: (error: CheckoutError) => void;
416
378
  }
417
379
 
418
- /**
419
- * Export utilities
420
- */
421
380
  export declare const PayNextSDK: {
422
381
  version: string;
423
382
  cdnUrl: string;
package/dist/index.es.js CHANGED
@@ -1,23 +1,23 @@
1
1
  var h = Object.defineProperty;
2
2
  var f = (t, e, n) => e in t ? h(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n;
3
- var u = (t, e, n) => f(t, typeof e != "symbol" ? e + "" : e, n);
3
+ var l = (t, e, n) => f(t, typeof e != "symbol" ? e + "" : e, n);
4
4
  var a = (t, e, n) => new Promise((o, N) => {
5
5
  var w = (r) => {
6
6
  try {
7
- l(n.next(r));
7
+ c(n.next(r));
8
8
  } catch (d) {
9
9
  N(d);
10
10
  }
11
11
  }, C = (r) => {
12
12
  try {
13
- l(n.throw(r));
13
+ c(n.throw(r));
14
14
  } catch (d) {
15
15
  N(d);
16
16
  }
17
- }, l = (r) => r.done ? o(r.value) : Promise.resolve(r.value).then(w, C);
18
- l((n = n.apply(t, e)).next());
17
+ }, c = (r) => r.done ? o(r.value) : Promise.resolve(r.value).then(w, C);
18
+ c((n = n.apply(t, e)).next());
19
19
  });
20
- const c = "https://paynext-sdk.cbvcode.workers.dev/index.cdn.js", P = "1.0.0";
20
+ const u = "https://paynext-sdk.cbvcode.workers.dev/index.cdn.js", P = "1.0.0";
21
21
  let i = null, s = null;
22
22
  function y() {
23
23
  return a(this, null, function* () {
@@ -30,13 +30,12 @@ function y() {
30
30
  console.log("[PayNext CDN] SDK already loaded from cache"), s = window.PayNextSDK, t(s);
31
31
  return;
32
32
  }
33
- console.log("[PayNext CDN] Fetching SDK from:", c);
34
33
  const n = document.createElement("script");
35
- n.src = c, n.crossOrigin = "anonymous", n.async = !0, n.onload = () => {
34
+ n.src = u, n.crossOrigin = "anonymous", n.async = !0, n.onload = () => {
36
35
  console.log("[PayNext CDN] Script loaded, checking global..."), setTimeout(() => {
37
36
  const o = window.PayNextSDK;
38
37
  if (!o) {
39
- console.error("[PayNext CDN 77777777] PayNextSDK not found in window after load"), i = null, document.head.removeChild(n), e(new Error("PayNextSDK not found in global scope after loading"));
38
+ console.error("[PayNext CDN] PayNextSDK not found in window after load"), i = null, document.head.removeChild(n), e(new Error("PayNextSDK not found in global scope after loading"));
40
39
  return;
41
40
  }
42
41
  console.log("[PayNext CDN] SDK fetched successfully, exports:", Object.keys(o)), s = o, t(o);
@@ -49,13 +48,11 @@ function y() {
49
48
  }
50
49
  class D {
51
50
  constructor() {
52
- u(this, "cdnInstance", null);
53
- u(this, "initPromise", null);
51
+ l(this, "cdnInstance", null);
52
+ l(this, "initPromise", null);
54
53
  this.initPromise = this.initialize();
55
54
  }
56
- /**
57
- * Initialize SDK from CDN
58
- */
55
+ // initialize
59
56
  initialize() {
60
57
  return a(this, null, function* () {
61
58
  try {
@@ -69,9 +66,7 @@ class D {
69
66
  }
70
67
  });
71
68
  }
72
- /**
73
- * Wait for SDK to be ready
74
- */
69
+ // wait for ready
75
70
  waitForReady() {
76
71
  return a(this, null, function* () {
77
72
  if (!this.initPromise)
@@ -80,58 +75,39 @@ class D {
80
75
  throw new Error("SDK instance not created");
81
76
  });
82
77
  }
83
- /**
84
- * Mount checkout to DOM element
85
- *
86
- * @param containerId - DOM element ID
87
- * @param config - Checkout configuration
88
- */
78
+ // mount
89
79
  mount(e, n) {
90
80
  return a(this, null, function* () {
91
81
  return console.log("[PayNext CDN] mount() called, waiting for SDK..."), yield this.waitForReady(), console.log("[PayNext CDN] SDK ready, calling mount on CDN instance..."), this.cdnInstance.mount(e, n);
92
82
  });
93
83
  }
94
- /**
95
- * Unmount checkout from DOM
96
- */
84
+ // unmount
97
85
  unmount() {
98
86
  return a(this, null, function* () {
99
87
  if (yield this.waitForReady(), this.cdnInstance.unmount)
100
88
  return this.cdnInstance.unmount();
101
89
  });
102
90
  }
103
- /**
104
- * Update checkout configuration
105
- *
106
- * @param config - New configuration
107
- */
91
+ // update config
108
92
  updateConfig(e) {
109
93
  return a(this, null, function* () {
110
94
  if (yield this.waitForReady(), this.cdnInstance.updateConfig)
111
95
  return this.cdnInstance.updateConfig(e);
112
96
  });
113
97
  }
114
- /**
115
- * Get SDK version
116
- */
98
+ // get version
117
99
  static getVersion() {
118
100
  return P;
119
101
  }
120
- /**
121
- * Get CDN URL
122
- */
102
+ // get CDN url
123
103
  static getCDNUrl() {
124
- return c;
104
+ return u;
125
105
  }
126
- /**
127
- * Check if SDK is loaded
128
- */
106
+ // check if loaded
129
107
  static isLoaded() {
130
108
  return s !== null;
131
109
  }
132
- /**
133
- * Preload SDK (optional optimization)
134
- */
110
+ // preload (optional optimization)
135
111
  static preload() {
136
112
  return a(this, null, function* () {
137
113
  yield y();
@@ -140,7 +116,7 @@ class D {
140
116
  }
141
117
  const g = {
142
118
  version: P,
143
- cdnUrl: c,
119
+ cdnUrl: u,
144
120
  preload: D.preload,
145
121
  isLoaded: D.isLoaded
146
122
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../src/app/cdn/sdk.ts","../src/pkg/checkout-api/constants/enums.ts"],"sourcesContent":["/**\n * PayNext SDK - CDN Loader\n * \n * This file provides a smart wrapper that automatically loads the SDK from CDN.\n * When users install via npm, they get the latest version from CDN automatically.\n * \n * Benefits:\n * - Always up-to-date (loads from CDN)\n * - Smaller npm package size\n * - Automatic CSS injection\n * - Browser caching benefits\n */\n\nimport { PayNextConfig } from \"@/core/modules/checkout/checkout.interface\"\n\n// CDN configuration\nconst CDN_URL = 'https://paynext-sdk.cbvcode.workers.dev/index.cdn.js'\nconst CDN_VERSION = '1.0.0'\n\n// Cache for loaded SDK\nlet sdkPromise: Promise<any> | null = null\nlet sdkModule: any = null\n\n/**\n * Dynamically load SDK from CDN\n */\nasync function loadSDKFromCDN(): Promise<any> {\n // Return cached module if already loaded\n if (sdkModule) {\n return sdkModule\n }\n\n // Return existing promise if loading in progress\n if (sdkPromise) {\n return sdkPromise\n }\n\n // Create new loading promise\n sdkPromise = new Promise((resolve, reject) => {\n // Check if we're in browser environment\n if (typeof window === 'undefined') {\n reject(new Error('PayNext SDK can only be loaded in browser environment'))\n return\n }\n\n // Check if SDK already loaded globally\n if ((window as any).PayNextSDK) {\n console.log('[PayNext CDN] SDK already loaded from cache')\n sdkModule = (window as any).PayNextSDK\n resolve(sdkModule)\n return\n }\n\n // Load SDK via script tag (works better with CDN + CORS)\n console.log('[PayNext CDN] Fetching SDK from:', CDN_URL)\n \n const script = document.createElement('script')\n script.src = CDN_URL\n script.crossOrigin = 'anonymous'\n script.async = true\n \n script.onload = () => {\n console.log('[PayNext CDN] Script loaded, checking global...')\n \n // Wait a tick for UMD to register globally\n setTimeout(() => {\n const module = (window as any).PayNextSDK\n \n if (!module) {\n console.error('[PayNext CDN 77777777] PayNextSDK not found in window after load')\n sdkPromise = null\n document.head.removeChild(script)\n reject(new Error('PayNextSDK not found in global scope after loading'))\n return\n }\n \n console.log('[PayNext CDN] SDK fetched successfully, exports:', Object.keys(module))\n sdkModule = module\n resolve(module)\n }, 1)\n }\n \n script.onerror = (error) => {\n console.error('[PayNext CDN] Failed to load script:', error)\n sdkPromise = null\n document.head.removeChild(script)\n reject(new Error('Failed to load PayNext SDK script from CDN'))\n }\n \n document.head.appendChild(script)\n })\n\n return sdkPromise\n}\n\n/**\n * PayNextCheckout Proxy Class\n * \n * This class acts as a proxy that loads the actual implementation from CDN.\n * Users can use it immediately, and the CDN version will be loaded on demand.\n */\nexport class PayNextCheckout {\n private cdnInstance: any = null\n private initPromise: Promise<void> | null = null\n\n constructor() {\n // Start loading SDK immediately\n this.initPromise = this.initialize()\n }\n\n /**\n * Initialize SDK from CDN\n */\n private async initialize(): Promise<void> {\n try {\n console.log('[PayNext CDN] Loading SDK from CDN...')\n const sdk = await loadSDKFromCDN()\n console.log('[PayNext CDN] SDK loaded, exports:', Object.keys(sdk))\n \n if (!sdk.PayNextCheckout) {\n throw new Error('PayNextCheckout not found in CDN module')\n }\n \n this.cdnInstance = new sdk.PayNextCheckout()\n console.log('[PayNext CDN] Instance created successfully')\n } catch (error) {\n console.error('[PayNext CDN] Failed to initialize:', error)\n throw error\n }\n }\n\n /**\n * Wait for SDK to be ready\n */\n private async waitForReady(): Promise<void> {\n if (!this.initPromise) {\n throw new Error('SDK initialization not started')\n }\n await this.initPromise\n if (!this.cdnInstance) {\n throw new Error('SDK instance not created')\n }\n }\n\n /**\n * Mount checkout to DOM element\n * \n * @param containerId - DOM element ID\n * @param config - Checkout configuration\n */\n async mount(containerId: string, config: PayNextConfig): Promise<void> {\n console.log('[PayNext CDN] mount() called, waiting for SDK...')\n await this.waitForReady()\n console.log('[PayNext CDN] SDK ready, calling mount on CDN instance...')\n return this.cdnInstance.mount(containerId, config)\n }\n\n /**\n * Unmount checkout from DOM\n */\n async unmount(): Promise<void> {\n await this.waitForReady()\n if (this.cdnInstance.unmount) {\n return this.cdnInstance.unmount()\n }\n }\n\n /**\n * Update checkout configuration\n * \n * @param config - New configuration\n */\n async updateConfig(config: any): Promise<void> {\n await this.waitForReady()\n if (this.cdnInstance.updateConfig) {\n return this.cdnInstance.updateConfig(config)\n }\n }\n\n /**\n * Get SDK version\n */\n static getVersion(): string {\n return CDN_VERSION\n }\n\n /**\n * Get CDN URL\n */\n static getCDNUrl(): string {\n return CDN_URL\n }\n\n /**\n * Check if SDK is loaded\n */\n static isLoaded(): boolean {\n return sdkModule !== null\n }\n\n /**\n * Preload SDK (optional optimization)\n */\n static async preload(): Promise<void> {\n await loadSDKFromCDN()\n }\n}\n\n/**\n * Export utilities\n */\nexport const PayNextSDK = {\n version: CDN_VERSION,\n cdnUrl: CDN_URL,\n preload: PayNextCheckout.preload,\n isLoaded: PayNextCheckout.isLoaded,\n}\n\n// Export default\nexport default PayNextCheckout\n\n","export enum PaymentMethod {\n PAYPAL = 'PAYPAL',\n APPLE_PAY = 'APPLEPAY',\n GOOGLE_PAY = 'GPAY',\n CARD = 'CARD',\n VENMO = 'VENMO',\n}\n\nexport enum PaymentStatus {\n PENDING = 'PENDING',\n FAILED = 'FAILED',\n AUTHORIZED = 'AUTHORIZED',\n SETTLING = 'SETTLING',\n SETTLED = 'SETTLED',\n DECLINED = 'DECLINED',\n CANCELLED = 'CANCELLED',\n}\n\nexport enum DeclineCode {\n INSUFFICIENT_FUNDS = 'insufficient_funds',\n AUTHENTICATION_REQUIRED = 'authentication_required',\n CARD_ISSUER_DECLINE = 'card_issuer_decline',\n GENERIC_DECLINE = 'generic_decline',\n WITHDRAWAL_LIMIT_EXCEEDED = 'withdrawal_limit_exceeded',\n DO_NOT_HONOR = 'do_not_honor',\n EXPIRED_CARD = 'expired_card',\n SUSPECTED_FRAUD = 'suspected_fraud',\n INCORRECT_CVC = 'incorrect_cvc',\n INVALID_CARD_NUMBER = 'invalid_card_number',\n ISSUER_UNAVAILABLE = 'issuer_unavailable',\n CARD_LOST_OR_STOLEN = 'card_lost_or_stolen',\n CARD_DECLINED = 'card_declined',\n}\n"],"names":["CDN_URL","CDN_VERSION","sdkPromise","sdkModule","loadSDKFromCDN","__async","resolve","reject","script","module","error","PayNextCheckout","__publicField","sdk","containerId","config","PayNextSDK","PaymentMethod"],"mappings":"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"}
1
+ {"version":3,"file":"index.es.js","sources":["../src/app/sdk-pkg/sdk.pkg.ts","../src/pkg/checkout-api/constants/enums.ts"],"sourcesContent":["import type { PayNextConfig } from \"@/core/modules/checkout/checkout.interface\"\n\n// CDN configuration\nconst CDN_URL_DEV = 'https://paynext-sdk.cbvcode.workers.dev/index.cdn.js'\n// const CDN_URL_PROD = 'https://paynext-sdk.cbvcode.workers.dev/index.cdn.js'\nconst CDN_VERSION = '1.0.0'\n\n// cache for loaded SDK\nlet sdkPromise: Promise<any> | null = null\nlet sdkModule: any = null\n\n// dynamically load SDK from CDN\nasync function loadSDKFromCDN(): Promise<any> {\n if (sdkModule) {\n return sdkModule\n }\n\n if (sdkPromise) {\n return sdkPromise\n }\n\n sdkPromise = new Promise((resolve, reject) => {\n if (typeof window === 'undefined') {\n reject(new Error('PayNext SDK can only be loaded in browser environment'))\n return\n }\n\n if ((window as any).PayNextSDK) {\n console.log('[PayNext CDN] SDK already loaded from cache')\n sdkModule = (window as any).PayNextSDK\n resolve(sdkModule)\n return\n }\n \n const script = document.createElement('script')\n script.src = CDN_URL_DEV\n script.crossOrigin = 'anonymous'\n script.async = true\n \n script.onload = () => {\n console.log('[PayNext CDN] Script loaded, checking global...')\n \n setTimeout(() => {\n const module = (window as any).PayNextSDK\n \n if (!module) {\n console.error('[PayNext CDN] PayNextSDK not found in window after load')\n sdkPromise = null\n document.head.removeChild(script)\n reject(new Error('PayNextSDK not found in global scope after loading'))\n return\n }\n \n console.log('[PayNext CDN] SDK fetched successfully, exports:', Object.keys(module))\n sdkModule = module\n resolve(module)\n }, 1)\n }\n \n script.onerror = (error) => {\n console.error('[PayNext CDN] Failed to load script:', error)\n sdkPromise = null\n document.head.removeChild(script)\n reject(new Error('Failed to load PayNext SDK script from CDN'))\n }\n \n document.head.appendChild(script)\n })\n\n return sdkPromise\n}\n\n// checkout proxy class\nexport class PayNextCheckout {\n private cdnInstance: any = null\n private initPromise: Promise<void> | null = null\n\n constructor() {\n this.initPromise = this.initialize()\n }\n\n // initialize\n private async initialize(): Promise<void> {\n try {\n console.log('[PayNext CDN] Loading SDK from CDN...')\n const sdk = await loadSDKFromCDN()\n console.log('[PayNext CDN] SDK loaded, exports:', Object.keys(sdk))\n \n if (!sdk.PayNextCheckout) {\n throw new Error('PayNextCheckout not found in CDN module')\n }\n \n this.cdnInstance = new sdk.PayNextCheckout()\n console.log('[PayNext CDN] Instance created successfully')\n } catch (error) {\n console.error('[PayNext CDN] Failed to initialize:', error)\n throw error\n }\n }\n\n // wait for ready\n private async waitForReady(): Promise<void> {\n if (!this.initPromise) {\n throw new Error('SDK initialization not started')\n }\n await this.initPromise\n if (!this.cdnInstance) {\n throw new Error('SDK instance not created')\n }\n }\n\n // mount\n async mount(containerId: string, config: PayNextConfig): Promise<void> {\n console.log('[PayNext CDN] mount() called, waiting for SDK...')\n await this.waitForReady()\n console.log('[PayNext CDN] SDK ready, calling mount on CDN instance...')\n return this.cdnInstance.mount(containerId, config)\n }\n\n // unmount\n async unmount(): Promise<void> {\n await this.waitForReady()\n if (this.cdnInstance.unmount) {\n return this.cdnInstance.unmount()\n }\n }\n\n // update config\n async updateConfig(config: any): Promise<void> {\n await this.waitForReady()\n if (this.cdnInstance.updateConfig) {\n return this.cdnInstance.updateConfig(config)\n }\n }\n\n // get version\n static getVersion(): string {\n return CDN_VERSION\n }\n\n // get CDN url\n static getCDNUrl(): string {\n return CDN_URL_DEV\n }\n\n // check if loaded\n static isLoaded(): boolean {\n return sdkModule !== null\n }\n\n // preload (optional optimization)\n static async preload(): Promise<void> {\n await loadSDKFromCDN()\n }\n}\n\n// export\nexport const PayNextSDK = {\n version: CDN_VERSION,\n cdnUrl: CDN_URL_DEV,\n preload: PayNextCheckout.preload,\n isLoaded: PayNextCheckout.isLoaded,\n}\n\nexport default PayNextCheckout\n\n","export enum PaymentMethod {\n PAYPAL = 'PAYPAL',\n APPLE_PAY = 'APPLEPAY',\n GOOGLE_PAY = 'GPAY',\n CARD = 'CARD',\n VENMO = 'VENMO',\n}\n\nexport enum PaymentStatus {\n PENDING = 'PENDING',\n FAILED = 'FAILED',\n AUTHORIZED = 'AUTHORIZED',\n SETTLING = 'SETTLING',\n SETTLED = 'SETTLED',\n DECLINED = 'DECLINED',\n CANCELLED = 'CANCELLED',\n}\n\nexport enum DeclineCode {\n INSUFFICIENT_FUNDS = 'insufficient_funds',\n AUTHENTICATION_REQUIRED = 'authentication_required',\n CARD_ISSUER_DECLINE = 'card_issuer_decline',\n GENERIC_DECLINE = 'generic_decline',\n WITHDRAWAL_LIMIT_EXCEEDED = 'withdrawal_limit_exceeded',\n DO_NOT_HONOR = 'do_not_honor',\n EXPIRED_CARD = 'expired_card',\n SUSPECTED_FRAUD = 'suspected_fraud',\n INCORRECT_CVC = 'incorrect_cvc',\n INVALID_CARD_NUMBER = 'invalid_card_number',\n ISSUER_UNAVAILABLE = 'issuer_unavailable',\n CARD_LOST_OR_STOLEN = 'card_lost_or_stolen',\n CARD_DECLINED = 'card_declined',\n}\n"],"names":["CDN_URL_DEV","CDN_VERSION","sdkPromise","sdkModule","loadSDKFromCDN","__async","resolve","reject","script","module","error","PayNextCheckout","__publicField","sdk","containerId","config","PayNextSDK","PaymentMethod"],"mappings":"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"}
package/dist/index.umd.js CHANGED
@@ -1,2 +1,2 @@
1
- (function(t,e){typeof exports=="object"&&typeof module!="undefined"?e(exports):typeof define=="function"&&define.amd?define(["exports"],e):(t=typeof globalThis!="undefined"?globalThis:t||self,e(t["PayNext SDK"]={}))})(this,function(t){"use strict";var D=Object.defineProperty;var f=(t,e,i)=>e in t?D(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i;var P=(t,e,i)=>f(t,typeof e!="symbol"?e+"":e,i);var d=(t,e,i)=>new Promise((c,s)=>{var N=a=>{try{y(i.next(a))}catch(n){s(n)}},u=a=>{try{y(i.throw(a))}catch(n){s(n)}},y=a=>a.done?c(a.value):Promise.resolve(a.value).then(N,u);y((i=i.apply(t,e)).next())});const e="https://paynext-sdk.cbvcode.workers.dev/index.cdn.js",i="1.0.0";let c=null,s=null;function N(){return d(this,null,function*(){return s||c||(c=new Promise((n,o)=>{if(typeof window=="undefined"){o(new Error("PayNext SDK can only be loaded in browser environment"));return}if(window.PayNextSDK){console.log("[PayNext CDN] SDK already loaded from cache"),s=window.PayNextSDK,n(s);return}console.log("[PayNext CDN] Fetching SDK from:",e);const r=document.createElement("script");r.src=e,r.crossOrigin="anonymous",r.async=!0,r.onload=()=>{console.log("[PayNext CDN] Script loaded, checking global..."),setTimeout(()=>{const l=window.PayNextSDK;if(!l){console.error("[PayNext CDN 77777777] PayNextSDK not found in window after load"),c=null,document.head.removeChild(r),o(new Error("PayNextSDK not found in global scope after loading"));return}console.log("[PayNext CDN] SDK fetched successfully, exports:",Object.keys(l)),s=l,n(l)},1)},r.onerror=l=>{console.error("[PayNext CDN] Failed to load script:",l),c=null,document.head.removeChild(r),o(new Error("Failed to load PayNext SDK script from CDN"))},document.head.appendChild(r)}),c)})}class u{constructor(){P(this,"cdnInstance",null);P(this,"initPromise",null);this.initPromise=this.initialize()}initialize(){return d(this,null,function*(){try{console.log("[PayNext CDN] Loading SDK from CDN...");const o=yield N();if(console.log("[PayNext CDN] SDK loaded, exports:",Object.keys(o)),!o.PayNextCheckout)throw new Error("PayNextCheckout not found in CDN module");this.cdnInstance=new o.PayNextCheckout,console.log("[PayNext CDN] Instance created successfully")}catch(o){throw console.error("[PayNext CDN] Failed to initialize:",o),o}})}waitForReady(){return d(this,null,function*(){if(!this.initPromise)throw new Error("SDK initialization not started");if(yield this.initPromise,!this.cdnInstance)throw new Error("SDK instance not created")})}mount(o,r){return d(this,null,function*(){return console.log("[PayNext CDN] mount() called, waiting for SDK..."),yield this.waitForReady(),console.log("[PayNext CDN] SDK ready, calling mount on CDN instance..."),this.cdnInstance.mount(o,r)})}unmount(){return d(this,null,function*(){if(yield this.waitForReady(),this.cdnInstance.unmount)return this.cdnInstance.unmount()})}updateConfig(o){return d(this,null,function*(){if(yield this.waitForReady(),this.cdnInstance.updateConfig)return this.cdnInstance.updateConfig(o)})}static getVersion(){return i}static getCDNUrl(){return e}static isLoaded(){return s!==null}static preload(){return d(this,null,function*(){yield N()})}}const y={version:i,cdnUrl:e,preload:u.preload,isLoaded:u.isLoaded};var a=(n=>(n.PAYPAL="PAYPAL",n.APPLE_PAY="APPLEPAY",n.GOOGLE_PAY="GPAY",n.CARD="CARD",n.VENMO="VENMO",n))(a||{});t.PayNextCheckout=u,t.PayNextSDK=y,t.PaymentMethod=a,Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})});
1
+ (function(t,e){typeof exports=="object"&&typeof module!="undefined"?e(exports):typeof define=="function"&&define.amd?define(["exports"],e):(t=typeof globalThis!="undefined"?globalThis:t||self,e(t["PayNext SDK"]={}))})(this,function(t){"use strict";var D=Object.defineProperty;var f=(t,e,i)=>e in t?D(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i;var P=(t,e,i)=>f(t,typeof e!="symbol"?e+"":e,i);var d=(t,e,i)=>new Promise((c,s)=>{var N=a=>{try{y(i.next(a))}catch(n){s(n)}},u=a=>{try{y(i.throw(a))}catch(n){s(n)}},y=a=>a.done?c(a.value):Promise.resolve(a.value).then(N,u);y((i=i.apply(t,e)).next())});const e="https://paynext-sdk.cbvcode.workers.dev/index.cdn.js",i="1.0.0";let c=null,s=null;function N(){return d(this,null,function*(){return s||c||(c=new Promise((n,o)=>{if(typeof window=="undefined"){o(new Error("PayNext SDK can only be loaded in browser environment"));return}if(window.PayNextSDK){console.log("[PayNext CDN] SDK already loaded from cache"),s=window.PayNextSDK,n(s);return}const r=document.createElement("script");r.src=e,r.crossOrigin="anonymous",r.async=!0,r.onload=()=>{console.log("[PayNext CDN] Script loaded, checking global..."),setTimeout(()=>{const l=window.PayNextSDK;if(!l){console.error("[PayNext CDN] PayNextSDK not found in window after load"),c=null,document.head.removeChild(r),o(new Error("PayNextSDK not found in global scope after loading"));return}console.log("[PayNext CDN] SDK fetched successfully, exports:",Object.keys(l)),s=l,n(l)},1)},r.onerror=l=>{console.error("[PayNext CDN] Failed to load script:",l),c=null,document.head.removeChild(r),o(new Error("Failed to load PayNext SDK script from CDN"))},document.head.appendChild(r)}),c)})}class u{constructor(){P(this,"cdnInstance",null);P(this,"initPromise",null);this.initPromise=this.initialize()}initialize(){return d(this,null,function*(){try{console.log("[PayNext CDN] Loading SDK from CDN...");const o=yield N();if(console.log("[PayNext CDN] SDK loaded, exports:",Object.keys(o)),!o.PayNextCheckout)throw new Error("PayNextCheckout not found in CDN module");this.cdnInstance=new o.PayNextCheckout,console.log("[PayNext CDN] Instance created successfully")}catch(o){throw console.error("[PayNext CDN] Failed to initialize:",o),o}})}waitForReady(){return d(this,null,function*(){if(!this.initPromise)throw new Error("SDK initialization not started");if(yield this.initPromise,!this.cdnInstance)throw new Error("SDK instance not created")})}mount(o,r){return d(this,null,function*(){return console.log("[PayNext CDN] mount() called, waiting for SDK..."),yield this.waitForReady(),console.log("[PayNext CDN] SDK ready, calling mount on CDN instance..."),this.cdnInstance.mount(o,r)})}unmount(){return d(this,null,function*(){if(yield this.waitForReady(),this.cdnInstance.unmount)return this.cdnInstance.unmount()})}updateConfig(o){return d(this,null,function*(){if(yield this.waitForReady(),this.cdnInstance.updateConfig)return this.cdnInstance.updateConfig(o)})}static getVersion(){return i}static getCDNUrl(){return e}static isLoaded(){return s!==null}static preload(){return d(this,null,function*(){yield N()})}}const y={version:i,cdnUrl:e,preload:u.preload,isLoaded:u.isLoaded};var a=(n=>(n.PAYPAL="PAYPAL",n.APPLE_PAY="APPLEPAY",n.GOOGLE_PAY="GPAY",n.CARD="CARD",n.VENMO="VENMO",n))(a||{});t.PayNextCheckout=u,t.PayNextSDK=y,t.PaymentMethod=a,Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})});
2
2
  //# sourceMappingURL=index.umd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.umd.js","sources":["../src/app/cdn/sdk.ts","../src/pkg/checkout-api/constants/enums.ts"],"sourcesContent":["/**\n * PayNext SDK - CDN Loader\n * \n * This file provides a smart wrapper that automatically loads the SDK from CDN.\n * When users install via npm, they get the latest version from CDN automatically.\n * \n * Benefits:\n * - Always up-to-date (loads from CDN)\n * - Smaller npm package size\n * - Automatic CSS injection\n * - Browser caching benefits\n */\n\nimport { PayNextConfig } from \"@/core/modules/checkout/checkout.interface\"\n\n// CDN configuration\nconst CDN_URL = 'https://paynext-sdk.cbvcode.workers.dev/index.cdn.js'\nconst CDN_VERSION = '1.0.0'\n\n// Cache for loaded SDK\nlet sdkPromise: Promise<any> | null = null\nlet sdkModule: any = null\n\n/**\n * Dynamically load SDK from CDN\n */\nasync function loadSDKFromCDN(): Promise<any> {\n // Return cached module if already loaded\n if (sdkModule) {\n return sdkModule\n }\n\n // Return existing promise if loading in progress\n if (sdkPromise) {\n return sdkPromise\n }\n\n // Create new loading promise\n sdkPromise = new Promise((resolve, reject) => {\n // Check if we're in browser environment\n if (typeof window === 'undefined') {\n reject(new Error('PayNext SDK can only be loaded in browser environment'))\n return\n }\n\n // Check if SDK already loaded globally\n if ((window as any).PayNextSDK) {\n console.log('[PayNext CDN] SDK already loaded from cache')\n sdkModule = (window as any).PayNextSDK\n resolve(sdkModule)\n return\n }\n\n // Load SDK via script tag (works better with CDN + CORS)\n console.log('[PayNext CDN] Fetching SDK from:', CDN_URL)\n \n const script = document.createElement('script')\n script.src = CDN_URL\n script.crossOrigin = 'anonymous'\n script.async = true\n \n script.onload = () => {\n console.log('[PayNext CDN] Script loaded, checking global...')\n \n // Wait a tick for UMD to register globally\n setTimeout(() => {\n const module = (window as any).PayNextSDK\n \n if (!module) {\n console.error('[PayNext CDN 77777777] PayNextSDK not found in window after load')\n sdkPromise = null\n document.head.removeChild(script)\n reject(new Error('PayNextSDK not found in global scope after loading'))\n return\n }\n \n console.log('[PayNext CDN] SDK fetched successfully, exports:', Object.keys(module))\n sdkModule = module\n resolve(module)\n }, 1)\n }\n \n script.onerror = (error) => {\n console.error('[PayNext CDN] Failed to load script:', error)\n sdkPromise = null\n document.head.removeChild(script)\n reject(new Error('Failed to load PayNext SDK script from CDN'))\n }\n \n document.head.appendChild(script)\n })\n\n return sdkPromise\n}\n\n/**\n * PayNextCheckout Proxy Class\n * \n * This class acts as a proxy that loads the actual implementation from CDN.\n * Users can use it immediately, and the CDN version will be loaded on demand.\n */\nexport class PayNextCheckout {\n private cdnInstance: any = null\n private initPromise: Promise<void> | null = null\n\n constructor() {\n // Start loading SDK immediately\n this.initPromise = this.initialize()\n }\n\n /**\n * Initialize SDK from CDN\n */\n private async initialize(): Promise<void> {\n try {\n console.log('[PayNext CDN] Loading SDK from CDN...')\n const sdk = await loadSDKFromCDN()\n console.log('[PayNext CDN] SDK loaded, exports:', Object.keys(sdk))\n \n if (!sdk.PayNextCheckout) {\n throw new Error('PayNextCheckout not found in CDN module')\n }\n \n this.cdnInstance = new sdk.PayNextCheckout()\n console.log('[PayNext CDN] Instance created successfully')\n } catch (error) {\n console.error('[PayNext CDN] Failed to initialize:', error)\n throw error\n }\n }\n\n /**\n * Wait for SDK to be ready\n */\n private async waitForReady(): Promise<void> {\n if (!this.initPromise) {\n throw new Error('SDK initialization not started')\n }\n await this.initPromise\n if (!this.cdnInstance) {\n throw new Error('SDK instance not created')\n }\n }\n\n /**\n * Mount checkout to DOM element\n * \n * @param containerId - DOM element ID\n * @param config - Checkout configuration\n */\n async mount(containerId: string, config: PayNextConfig): Promise<void> {\n console.log('[PayNext CDN] mount() called, waiting for SDK...')\n await this.waitForReady()\n console.log('[PayNext CDN] SDK ready, calling mount on CDN instance...')\n return this.cdnInstance.mount(containerId, config)\n }\n\n /**\n * Unmount checkout from DOM\n */\n async unmount(): Promise<void> {\n await this.waitForReady()\n if (this.cdnInstance.unmount) {\n return this.cdnInstance.unmount()\n }\n }\n\n /**\n * Update checkout configuration\n * \n * @param config - New configuration\n */\n async updateConfig(config: any): Promise<void> {\n await this.waitForReady()\n if (this.cdnInstance.updateConfig) {\n return this.cdnInstance.updateConfig(config)\n }\n }\n\n /**\n * Get SDK version\n */\n static getVersion(): string {\n return CDN_VERSION\n }\n\n /**\n * Get CDN URL\n */\n static getCDNUrl(): string {\n return CDN_URL\n }\n\n /**\n * Check if SDK is loaded\n */\n static isLoaded(): boolean {\n return sdkModule !== null\n }\n\n /**\n * Preload SDK (optional optimization)\n */\n static async preload(): Promise<void> {\n await loadSDKFromCDN()\n }\n}\n\n/**\n * Export utilities\n */\nexport const PayNextSDK = {\n version: CDN_VERSION,\n cdnUrl: CDN_URL,\n preload: PayNextCheckout.preload,\n isLoaded: PayNextCheckout.isLoaded,\n}\n\n// Export default\nexport default PayNextCheckout\n\n","export enum PaymentMethod {\n PAYPAL = 'PAYPAL',\n APPLE_PAY = 'APPLEPAY',\n GOOGLE_PAY = 'GPAY',\n CARD = 'CARD',\n VENMO = 'VENMO',\n}\n\nexport enum PaymentStatus {\n PENDING = 'PENDING',\n FAILED = 'FAILED',\n AUTHORIZED = 'AUTHORIZED',\n SETTLING = 'SETTLING',\n SETTLED = 'SETTLED',\n DECLINED = 'DECLINED',\n CANCELLED = 'CANCELLED',\n}\n\nexport enum DeclineCode {\n INSUFFICIENT_FUNDS = 'insufficient_funds',\n AUTHENTICATION_REQUIRED = 'authentication_required',\n CARD_ISSUER_DECLINE = 'card_issuer_decline',\n GENERIC_DECLINE = 'generic_decline',\n WITHDRAWAL_LIMIT_EXCEEDED = 'withdrawal_limit_exceeded',\n DO_NOT_HONOR = 'do_not_honor',\n EXPIRED_CARD = 'expired_card',\n SUSPECTED_FRAUD = 'suspected_fraud',\n INCORRECT_CVC = 'incorrect_cvc',\n INVALID_CARD_NUMBER = 'invalid_card_number',\n ISSUER_UNAVAILABLE = 'issuer_unavailable',\n CARD_LOST_OR_STOLEN = 'card_lost_or_stolen',\n CARD_DECLINED = 'card_declined',\n}\n"],"names":["CDN_URL","CDN_VERSION","sdkPromise","sdkModule","loadSDKFromCDN","__async","resolve","reject","script","module","error","PayNextCheckout","__publicField","sdk","containerId","config","PayNextSDK","PaymentMethod"],"mappings":"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"}
1
+ {"version":3,"file":"index.umd.js","sources":["../src/app/sdk-pkg/sdk.pkg.ts","../src/pkg/checkout-api/constants/enums.ts"],"sourcesContent":["import type { PayNextConfig } from \"@/core/modules/checkout/checkout.interface\"\n\n// CDN configuration\nconst CDN_URL_DEV = 'https://paynext-sdk.cbvcode.workers.dev/index.cdn.js'\n// const CDN_URL_PROD = 'https://paynext-sdk.cbvcode.workers.dev/index.cdn.js'\nconst CDN_VERSION = '1.0.0'\n\n// cache for loaded SDK\nlet sdkPromise: Promise<any> | null = null\nlet sdkModule: any = null\n\n// dynamically load SDK from CDN\nasync function loadSDKFromCDN(): Promise<any> {\n if (sdkModule) {\n return sdkModule\n }\n\n if (sdkPromise) {\n return sdkPromise\n }\n\n sdkPromise = new Promise((resolve, reject) => {\n if (typeof window === 'undefined') {\n reject(new Error('PayNext SDK can only be loaded in browser environment'))\n return\n }\n\n if ((window as any).PayNextSDK) {\n console.log('[PayNext CDN] SDK already loaded from cache')\n sdkModule = (window as any).PayNextSDK\n resolve(sdkModule)\n return\n }\n \n const script = document.createElement('script')\n script.src = CDN_URL_DEV\n script.crossOrigin = 'anonymous'\n script.async = true\n \n script.onload = () => {\n console.log('[PayNext CDN] Script loaded, checking global...')\n \n setTimeout(() => {\n const module = (window as any).PayNextSDK\n \n if (!module) {\n console.error('[PayNext CDN] PayNextSDK not found in window after load')\n sdkPromise = null\n document.head.removeChild(script)\n reject(new Error('PayNextSDK not found in global scope after loading'))\n return\n }\n \n console.log('[PayNext CDN] SDK fetched successfully, exports:', Object.keys(module))\n sdkModule = module\n resolve(module)\n }, 1)\n }\n \n script.onerror = (error) => {\n console.error('[PayNext CDN] Failed to load script:', error)\n sdkPromise = null\n document.head.removeChild(script)\n reject(new Error('Failed to load PayNext SDK script from CDN'))\n }\n \n document.head.appendChild(script)\n })\n\n return sdkPromise\n}\n\n// checkout proxy class\nexport class PayNextCheckout {\n private cdnInstance: any = null\n private initPromise: Promise<void> | null = null\n\n constructor() {\n this.initPromise = this.initialize()\n }\n\n // initialize\n private async initialize(): Promise<void> {\n try {\n console.log('[PayNext CDN] Loading SDK from CDN...')\n const sdk = await loadSDKFromCDN()\n console.log('[PayNext CDN] SDK loaded, exports:', Object.keys(sdk))\n \n if (!sdk.PayNextCheckout) {\n throw new Error('PayNextCheckout not found in CDN module')\n }\n \n this.cdnInstance = new sdk.PayNextCheckout()\n console.log('[PayNext CDN] Instance created successfully')\n } catch (error) {\n console.error('[PayNext CDN] Failed to initialize:', error)\n throw error\n }\n }\n\n // wait for ready\n private async waitForReady(): Promise<void> {\n if (!this.initPromise) {\n throw new Error('SDK initialization not started')\n }\n await this.initPromise\n if (!this.cdnInstance) {\n throw new Error('SDK instance not created')\n }\n }\n\n // mount\n async mount(containerId: string, config: PayNextConfig): Promise<void> {\n console.log('[PayNext CDN] mount() called, waiting for SDK...')\n await this.waitForReady()\n console.log('[PayNext CDN] SDK ready, calling mount on CDN instance...')\n return this.cdnInstance.mount(containerId, config)\n }\n\n // unmount\n async unmount(): Promise<void> {\n await this.waitForReady()\n if (this.cdnInstance.unmount) {\n return this.cdnInstance.unmount()\n }\n }\n\n // update config\n async updateConfig(config: any): Promise<void> {\n await this.waitForReady()\n if (this.cdnInstance.updateConfig) {\n return this.cdnInstance.updateConfig(config)\n }\n }\n\n // get version\n static getVersion(): string {\n return CDN_VERSION\n }\n\n // get CDN url\n static getCDNUrl(): string {\n return CDN_URL_DEV\n }\n\n // check if loaded\n static isLoaded(): boolean {\n return sdkModule !== null\n }\n\n // preload (optional optimization)\n static async preload(): Promise<void> {\n await loadSDKFromCDN()\n }\n}\n\n// export\nexport const PayNextSDK = {\n version: CDN_VERSION,\n cdnUrl: CDN_URL_DEV,\n preload: PayNextCheckout.preload,\n isLoaded: PayNextCheckout.isLoaded,\n}\n\nexport default PayNextCheckout\n\n","export enum PaymentMethod {\n PAYPAL = 'PAYPAL',\n APPLE_PAY = 'APPLEPAY',\n GOOGLE_PAY = 'GPAY',\n CARD = 'CARD',\n VENMO = 'VENMO',\n}\n\nexport enum PaymentStatus {\n PENDING = 'PENDING',\n FAILED = 'FAILED',\n AUTHORIZED = 'AUTHORIZED',\n SETTLING = 'SETTLING',\n SETTLED = 'SETTLED',\n DECLINED = 'DECLINED',\n CANCELLED = 'CANCELLED',\n}\n\nexport enum DeclineCode {\n INSUFFICIENT_FUNDS = 'insufficient_funds',\n AUTHENTICATION_REQUIRED = 'authentication_required',\n CARD_ISSUER_DECLINE = 'card_issuer_decline',\n GENERIC_DECLINE = 'generic_decline',\n WITHDRAWAL_LIMIT_EXCEEDED = 'withdrawal_limit_exceeded',\n DO_NOT_HONOR = 'do_not_honor',\n EXPIRED_CARD = 'expired_card',\n SUSPECTED_FRAUD = 'suspected_fraud',\n INCORRECT_CVC = 'incorrect_cvc',\n INVALID_CARD_NUMBER = 'invalid_card_number',\n ISSUER_UNAVAILABLE = 'issuer_unavailable',\n CARD_LOST_OR_STOLEN = 'card_lost_or_stolen',\n CARD_DECLINED = 'card_declined',\n}\n"],"names":["CDN_URL_DEV","CDN_VERSION","sdkPromise","sdkModule","loadSDKFromCDN","__async","resolve","reject","script","module","error","PayNextCheckout","__publicField","sdk","containerId","config","PayNextSDK","PaymentMethod"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paynext/sdk",
3
- "version": "0.0.144",
3
+ "version": "0.0.145",
4
4
  "description": "PayNext SDK - Payment processing with automatic CDN loading",
5
5
  "type": "module",
6
6
  "main": "dist/index.es.js",