@paynext/sdk 1.0.14 → 1.0.15

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
@@ -58,6 +58,21 @@ export declare interface CheckoutTranslate {
58
58
  button: string;
59
59
  };
60
60
  };
61
+ pix: {
62
+ button: string;
63
+ description: string;
64
+ taxId: {
65
+ label: string;
66
+ placeholder: string;
67
+ error: {
68
+ required: string;
69
+ invalid: string;
70
+ };
71
+ };
72
+ submit: {
73
+ button: string;
74
+ };
75
+ };
61
76
  savedPaymentMethod: {
62
77
  change: {
63
78
  button: string;
@@ -115,6 +130,21 @@ declare interface CheckoutTranslateOverrides {
115
130
  button?: string;
116
131
  };
117
132
  };
133
+ pix?: {
134
+ button?: string;
135
+ description?: string;
136
+ taxId?: {
137
+ label?: string;
138
+ placeholder?: string;
139
+ error?: {
140
+ required?: string;
141
+ invalid?: string;
142
+ };
143
+ };
144
+ submit?: {
145
+ button?: string;
146
+ };
147
+ };
118
148
  savedPaymentMethod?: {
119
149
  change?: {
120
150
  button?: string;
@@ -228,7 +258,9 @@ export declare enum PaymentMethod {
228
258
  GOOGLE_PAY = "GPAY",
229
259
  CARD = "CARD",
230
260
  VENMO = "VENMO",
231
- CASHAPP = "CASHAPP"
261
+ CASHAPP = "CASHAPP",
262
+ AMAZONPAY = "AMAZONPAY",
263
+ PIX_AUTOMATICO = "PIX_AUTOMATICO"
232
264
  }
233
265
 
234
266
  export declare interface PaymentResult {
@@ -337,6 +369,20 @@ export declare interface PaymentResult {
337
369
  };
338
370
  refunded_amount: number;
339
371
  status_reason: CheckoutError;
372
+ tax?: {
373
+ provider?: {
374
+ id?: string;
375
+ type?: string;
376
+ };
377
+ calculation_id?: string;
378
+ transaction_id?: string;
379
+ amount_subtotal?: number;
380
+ amount_subtotal_usd?: number;
381
+ amount_tax?: number;
382
+ amount_tax_usd?: number;
383
+ behavior?: string;
384
+ status?: string;
385
+ };
340
386
  subscription?: {
341
387
  id: string;
342
388
  created_at: string;
@@ -443,6 +489,8 @@ export declare interface StylesConfig {
443
489
  WalletButton?: HTMLStyles;
444
490
  BraintreeButton?: HTMLStyles;
445
491
  CashAppButton?: HTMLStyles;
492
+ AmazonPayButton?: HTMLStyles;
493
+ PixButton?: HTMLStyles;
446
494
  BackButton?: HTMLStyles;
447
495
  cssVariables?: CSSVariablesConfig;
448
496
  }
package/dist/index.es.js CHANGED
@@ -1,51 +1,51 @@
1
1
  var C = Object.defineProperty;
2
- var N = (t, e, n) => e in t ? C(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n;
3
- var d = (t, e, n) => N(t, typeof e != "symbol" ? e + "" : e, n);
4
- const k = "https://cdn-sdk-dev.paynext.com/index.cdn.js", x = "https://cdn-sdk.paynext.com/index.cdn.js";
2
+ var N = (n, e, t) => e in n ? C(n, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : n[e] = t;
3
+ var d = (n, e, t) => N(n, typeof e != "symbol" ? e + "" : e, t);
4
+ const T = "https://cdn-sdk-dev.paynext.com/index.cdn.js", k = "https://cdn-sdk.paynext.com/index.cdn.js";
5
5
  let h = null, y = null;
6
- function L() {
7
- const t = navigator.connection || navigator.mozConnection || navigator.webkitConnection, e = {
6
+ function x() {
7
+ const n = navigator.connection || navigator.mozConnection || navigator.webkitConnection, e = {
8
8
  online: navigator.onLine,
9
9
  documentHidden: document.hidden,
10
10
  userAgent: navigator.userAgent,
11
11
  timestamp: (/* @__PURE__ */ new Date()).toISOString()
12
12
  };
13
- return t && (e.connectionType = t.type, e.effectiveType = t.effectiveType, e.downlink = t.downlink, e.rtt = t.rtt, e.saveData = t.saveData), navigator.onLine ? document.hidden ? e.likelyCause = "background_tab" : t?.effectiveType === "slow-2g" || t?.effectiveType === "2g" ? e.likelyCause = "slow_connection" : t?.downlink !== void 0 && t.downlink < 0.5 && (e.likelyCause = "poor_bandwidth") : e.likelyCause = "offline", e;
13
+ return n && (e.connectionType = n.type, e.effectiveType = n.effectiveType, e.downlink = n.downlink, e.rtt = n.rtt, e.saveData = n.saveData), navigator.onLine ? document.hidden ? e.likelyCause = "background_tab" : n?.effectiveType === "slow-2g" || n?.effectiveType === "2g" ? e.likelyCause = "slow_connection" : n?.downlink !== void 0 && n.downlink < 0.5 && (e.likelyCause = "poor_bandwidth") : e.likelyCause = "offline", e;
14
14
  }
15
- function g(t) {
15
+ function L(n) {
16
16
  const e = [];
17
- return t.likelyCause && e.push(`cause=${t.likelyCause}`), e.push(`online=${t.online}`), e.push(`hidden=${t.documentHidden}`), t.effectiveType && e.push(`net=${t.effectiveType}`), t.downlink !== void 0 && e.push(`downlink=${t.downlink}Mbps`), t.rtt !== void 0 && e.push(`rtt=${t.rtt}ms`), e.join(", ");
17
+ return n.likelyCause && e.push(`cause=${n.likelyCause}`), e.push(`online=${n.online}`), e.push(`hidden=${n.documentHidden}`), n.effectiveType && e.push(`net=${n.effectiveType}`), n.downlink !== void 0 && e.push(`downlink=${n.downlink}Mbps`), n.rtt !== void 0 && e.push(`rtt=${n.rtt}ms`), e.join(", ");
18
18
  }
19
19
  class r extends Error {
20
- constructor(n, o = !0, i = !1) {
21
- const u = i && typeof window < "u" ? L() : null, c = u ? `${n} [${g(u)}]` : n;
20
+ constructor(t, o = !0, i = !1) {
21
+ const u = i && typeof window < "u" ? x() : null, c = u ? `${t} [${L(u)}]` : t;
22
22
  super(c);
23
23
  d(this, "diagnostics");
24
24
  this.retryable = o, this.name = "SDKLoadError", this.diagnostics = u;
25
25
  }
26
26
  }
27
- const v = "PayNextSDK";
27
+ const P = "PayNextSDK";
28
28
  function D() {
29
- return typeof window > "u" ? null : window[v];
29
+ return typeof window > "u" ? null : window[P];
30
30
  }
31
- function T(t) {
32
- typeof window > "u" || (window[v] = t);
31
+ function g(n) {
32
+ typeof window > "u" || (window[P] = n);
33
33
  }
34
- function P(t) {
35
- return new Promise((e) => setTimeout(e, t));
34
+ function v(n) {
35
+ return new Promise((e) => setTimeout(e, n));
36
36
  }
37
- async function K(t = 5e3) {
38
- const n = Math.ceil(t / 50);
39
- for (let o = 0; o < n; o++) {
37
+ async function _(n = 5e3) {
38
+ const t = Math.ceil(n / 50);
39
+ for (let o = 0; o < t; o++) {
40
40
  const i = D();
41
41
  if (i)
42
42
  return i;
43
- await P(50);
43
+ await v(50);
44
44
  }
45
45
  throw new r("PayNextSDK not found in window after waiting", !0, !0);
46
46
  }
47
- async function S(t, e = 1) {
48
- const o = (t?.toLowerCase()?.includes("develop") || t?.toLowerCase()?.includes("staging") ? "develop" : "production") === "develop" ? k : x;
47
+ async function S(n, e = 1) {
48
+ const o = (n?.toLowerCase()?.includes("develop") || n?.toLowerCase()?.includes("staging") ? "develop" : "production") === "develop" ? T : k;
49
49
  try {
50
50
  const i = D();
51
51
  return i || (await new Promise((c, f) => {
@@ -88,14 +88,14 @@ async function S(t, e = 1) {
88
88
  } catch {
89
89
  m(), f(new r("Failed to append script to document", !1));
90
90
  }
91
- }), await K(5e3));
91
+ }), await _(5e3));
92
92
  } catch (i) {
93
93
  if ((i instanceof r ? i.retryable : !0) && e < 5)
94
- return console.warn(`[PayNext CDN] Load attempt ${e} failed, retrying in 1500ms...`, i), await P(1500 * e), S(t, e + 1);
94
+ return console.warn(`[PayNext CDN] Load attempt ${e} failed, retrying in 1500ms...`, i), await v(1500 * e), S(n, e + 1);
95
95
  throw console.error(`[PayNext CDN] Failed to load SDK after ${e} attempts:`, i), i;
96
96
  }
97
97
  }
98
- async function E(t) {
98
+ async function E(n) {
99
99
  if (y)
100
100
  return y;
101
101
  if (h)
@@ -105,14 +105,14 @@ async function E(t) {
105
105
  const e = D();
106
106
  return e ? (y = e, y) : (h = (async () => {
107
107
  try {
108
- const n = await S(t);
109
- return y = n, T(n), n;
110
- } catch (n) {
111
- throw h = null, n;
108
+ const t = await S(n);
109
+ return y = t, g(t), t;
110
+ } catch (t) {
111
+ throw h = null, t;
112
112
  }
113
113
  })(), h);
114
114
  }
115
- class _ {
115
+ class K {
116
116
  constructor() {
117
117
  d(this, "cdnInstance", null);
118
118
  d(this, "initPromise", null);
@@ -124,8 +124,8 @@ class _ {
124
124
  this.errorBoundary = e;
125
125
  }
126
126
  // handle error
127
- handleError(e, n) {
128
- const o = `[PayNext SDK Error - ${n}]: ${e.message}`;
127
+ handleError(e, t) {
128
+ const o = `[PayNext SDK Error - ${t}]: ${e.message}`;
129
129
  if (console.error(o, e), this.errorBoundary)
130
130
  try {
131
131
  this.errorBoundary(e);
@@ -139,19 +139,19 @@ class _ {
139
139
  throw new r("Cannot initialize destroyed SDK instance", !1);
140
140
  return this.initPromise ? this.initPromise : (this.initPromise = (async () => {
141
141
  try {
142
- const n = await E(e);
143
- if (!n || !n.PayNextCheckout)
142
+ const t = await E(e);
143
+ if (!t || !t.PayNextCheckout)
144
144
  throw new r("PayNextCheckout not found in loaded SDK module", !1);
145
145
  try {
146
- this.cdnInstance = new n.PayNextCheckout();
146
+ this.cdnInstance = new t.PayNextCheckout();
147
147
  } catch (o) {
148
148
  throw new r(
149
149
  `Failed to instantiate PayNextCheckout: ${o instanceof Error ? o.message : "Unknown error"}`,
150
150
  !1
151
151
  );
152
152
  }
153
- } catch (n) {
154
- throw this.initPromise = null, n;
153
+ } catch (t) {
154
+ throw this.initPromise = null, t;
155
155
  }
156
156
  })(), this.initPromise);
157
157
  }
@@ -165,15 +165,15 @@ class _ {
165
165
  throw new r("SDK instance not created", !1);
166
166
  }
167
167
  // mount
168
- async mount(e, n) {
168
+ async mount(e, t) {
169
169
  try {
170
170
  if (!e || typeof e != "string")
171
171
  throw new r("Invalid containerId provided", !1);
172
- if (!n || !n.environment)
172
+ if (!t || !t.environment)
173
173
  throw new r("Invalid config provided", !1);
174
174
  if (!document.getElementById(e))
175
175
  throw new r(`Container element with id "${e}" not found`, !1);
176
- await this.initialize(n.environment), this.assertReady(), await this.cdnInstance.mount(e, n);
176
+ await this.initialize(t.environment), this.assertReady(), await this.cdnInstance.mount(e, t);
177
177
  } catch (o) {
178
178
  const i = o instanceof r ? o : new r(
179
179
  o instanceof Error ? o.message : "Unknown mount error",
@@ -196,30 +196,30 @@ class _ {
196
196
  try {
197
197
  typeof this.cdnInstance.unmount == "function" && await this.cdnInstance.unmount();
198
198
  } catch (e) {
199
- const n = e instanceof Error ? e : new Error(String(e));
200
- this.handleError(n, "unmount");
199
+ const t = e instanceof Error ? e : new Error(String(e));
200
+ this.handleError(t, "unmount");
201
201
  }
202
202
  this.cdnInstance = null, this.initPromise = null;
203
203
  } catch (e) {
204
- const n = e instanceof Error ? e : new Error(String(e));
205
- this.handleError(n, "unmount");
204
+ const t = e instanceof Error ? e : new Error(String(e));
205
+ this.handleError(t, "unmount");
206
206
  }
207
207
  }
208
208
  // preload SDK
209
209
  static async preload(e) {
210
210
  try {
211
211
  await E(e);
212
- } catch (n) {
213
- throw console.error("[PayNext SDK] Preload failed:", n), n;
212
+ } catch (t) {
213
+ throw console.error("[PayNext SDK] Preload failed:", t), t;
214
214
  }
215
215
  }
216
216
  }
217
- const I = {
218
- preload: _.preload
217
+ const R = {
218
+ preload: K.preload
219
219
  };
220
- var R = /* @__PURE__ */ ((t) => (t.PAYPAL = "PAYPAL", t.APPLE_PAY = "APPLEPAY", t.GOOGLE_PAY = "GPAY", t.CARD = "CARD", t.VENMO = "VENMO", t.CASHAPP = "CASHAPP", t))(R || {});
220
+ var I = /* @__PURE__ */ ((n) => (n.PAYPAL = "PAYPAL", n.APPLE_PAY = "APPLEPAY", n.GOOGLE_PAY = "GPAY", n.CARD = "CARD", n.VENMO = "VENMO", n.CASHAPP = "CASHAPP", n.AMAZONPAY = "AMAZONPAY", n.PIX_AUTOMATICO = "PIX_AUTOMATICO", n))(I || {});
221
221
  export {
222
- _ as PayNextCheckout,
223
- I as PayNextSDK,
224
- R as PaymentMethod
222
+ K as PayNextCheckout,
223
+ R as PayNextSDK,
224
+ I as PaymentMethod
225
225
  };
package/dist/index.umd.js CHANGED
@@ -1 +1 @@
1
- (function(s,a){typeof exports=="object"&&typeof module<"u"?a(exports):typeof define=="function"&&define.amd?define(["exports"],a):(s=typeof globalThis<"u"?globalThis:s||self,a(s["PayNext SDK"]={}))})(this,(function(s){"use strict";var R=Object.defineProperty;var I=(s,a,l)=>a in s?R(s,a,{enumerable:!0,configurable:!0,writable:!0,value:l}):s[a]=l;var y=(s,a,l)=>I(s,typeof a!="symbol"?a+"":a,l);const a="https://cdn-sdk-dev.paynext.com/index.cdn.js",l="https://cdn-sdk.paynext.com/index.cdn.js";let h=null,w=null;function T(){const t=navigator.connection||navigator.mozConnection||navigator.webkitConnection,e={online:navigator.onLine,documentHidden:document.hidden,userAgent:navigator.userAgent,timestamp:new Date().toISOString()};return t&&(e.connectionType=t.type,e.effectiveType=t.effectiveType,e.downlink=t.downlink,e.rtt=t.rtt,e.saveData=t.saveData),navigator.onLine?document.hidden?e.likelyCause="background_tab":t?.effectiveType==="slow-2g"||t?.effectiveType==="2g"?e.likelyCause="slow_connection":t?.downlink!==void 0&&t.downlink<.5&&(e.likelyCause="poor_bandwidth"):e.likelyCause="offline",e}function g(t){const e=[];return t.likelyCause&&e.push(`cause=${t.likelyCause}`),e.push(`online=${t.online}`),e.push(`hidden=${t.documentHidden}`),t.effectiveType&&e.push(`net=${t.effectiveType}`),t.downlink!==void 0&&e.push(`downlink=${t.downlink}Mbps`),t.rtt!==void 0&&e.push(`rtt=${t.rtt}ms`),e.join(", ")}class o extends Error{constructor(n,r=!0,i=!1){const m=i&&typeof window<"u"?T():null,u=m?`${n} [${g(m)}]`:n;super(u);y(this,"diagnostics");this.retryable=r,this.name="SDKLoadError",this.diagnostics=m}}const v="PayNextSDK";function E(){return typeof window>"u"?null:window[v]}function K(t){typeof window>"u"||(window[v]=t)}function N(t){return new Promise(e=>setTimeout(e,t))}async function L(t=5e3){const n=Math.ceil(t/50);for(let r=0;r<n;r++){const i=E();if(i)return i;await N(50)}throw new o("PayNextSDK not found in window after waiting",!0,!0)}async function x(t,e=1){const r=(t?.toLowerCase()?.includes("develop")||t?.toLowerCase()?.includes("staging")?"develop":"production")==="develop"?a:l;try{const i=E();return i||(await new Promise((u,p)=>{const d=document.querySelector(`script[src="${r}"]`);if(d){if(E()){u();return}const D=setTimeout(()=>{d.removeEventListener("load",f),d.removeEventListener("error",S),p(new o("Existing SDK script loading timeout",!0,!0))},15e3),f=()=>{clearTimeout(D),d.removeEventListener("load",f),d.removeEventListener("error",S),u()},S=()=>{clearTimeout(D),d.removeEventListener("load",f),d.removeEventListener("error",S),p(new o("Existing SDK script failed to load",!0,!0))};d.addEventListener("load",f),d.addEventListener("error",S);return}const M=setTimeout(()=>{P(),p(new o("SDK script loading timeout",!0,!0))},15e3),c=document.createElement("script");c.src=r,c.crossOrigin="anonymous",c.async=!0,c.setAttribute("data-paynext-sdk","true");const P=()=>{clearTimeout(M),c.onload=null,c.onerror=null};c.onload=()=>{P(),u()},c.onerror=D=>{console.error("[PayNext CDN] Script load error:",D),P();try{c.parentNode&&c.parentNode.removeChild(c)}catch(f){console.warn("[PayNext CDN] Failed to remove script:",f)}p(new o("Failed to load SDK script from CDN",!0,!0))};try{document.head.appendChild(c)}catch{P(),p(new o("Failed to append script to document",!1))}}),await L(5e3))}catch(i){if((i instanceof o?i.retryable:!0)&&e<5)return console.warn(`[PayNext CDN] Load attempt ${e} failed, retrying in 1500ms...`,i),await N(1500*e),x(t,e+1);throw console.error(`[PayNext CDN] Failed to load SDK after ${e} attempts:`,i),i}}async function C(t){if(w)return w;if(h)return h;if(typeof window>"u")throw new o("PayNext SDK can only be loaded in browser environment",!1);const e=E();return e?(w=e,w):(h=(async()=>{try{const n=await x(t);return w=n,K(n),n}catch(n){throw h=null,n}})(),h)}class k{constructor(){y(this,"cdnInstance",null);y(this,"initPromise",null);y(this,"isDestroyed",!1);y(this,"errorBoundary",null)}setErrorHandler(e){this.errorBoundary=e}handleError(e,n){const r=`[PayNext SDK Error - ${n}]: ${e.message}`;if(console.error(r,e),this.errorBoundary)try{this.errorBoundary(e)}catch(i){console.error("[PayNext SDK] Error in custom error handler:",i)}}async initialize(e){if(this.isDestroyed)throw new o("Cannot initialize destroyed SDK instance",!1);return this.initPromise?this.initPromise:(this.initPromise=(async()=>{try{const n=await C(e);if(!n||!n.PayNextCheckout)throw new o("PayNextCheckout not found in loaded SDK module",!1);try{this.cdnInstance=new n.PayNextCheckout}catch(r){throw new o(`Failed to instantiate PayNextCheckout: ${r instanceof Error?r.message:"Unknown error"}`,!1)}}catch(n){throw this.initPromise=null,n}})(),this.initPromise)}assertReady(){if(this.isDestroyed)throw new o("SDK instance has been destroyed",!1);if(!this.initPromise)throw new o("SDK initialization not started",!1);if(!this.cdnInstance)throw new o("SDK instance not created",!1)}async mount(e,n){try{if(!e||typeof e!="string")throw new o("Invalid containerId provided",!1);if(!n||!n.environment)throw new o("Invalid config provided",!1);if(!document.getElementById(e))throw new o(`Container element with id "${e}" not found`,!1);await this.initialize(n.environment),this.assertReady(),await this.cdnInstance.mount(e,n)}catch(r){const i=r instanceof o?r:new o(r instanceof Error?r.message:"Unknown mount error",!0);throw this.handleError(i,"mount"),i}}async unmount(){try{if(this.isDestroyed){console.warn("[PayNext SDK] Instance already destroyed");return}if(!this.cdnInstance){console.warn("[PayNext SDK] No instance to unmount");return}try{typeof this.cdnInstance.unmount=="function"&&await this.cdnInstance.unmount()}catch(e){const n=e instanceof Error?e:new Error(String(e));this.handleError(n,"unmount")}this.cdnInstance=null,this.initPromise=null}catch(e){const n=e instanceof Error?e:new Error(String(e));this.handleError(n,"unmount")}}static async preload(e){try{await C(e)}catch(n){throw console.error("[PayNext SDK] Preload failed:",n),n}}}const _={preload:k.preload};var A=(t=>(t.PAYPAL="PAYPAL",t.APPLE_PAY="APPLEPAY",t.GOOGLE_PAY="GPAY",t.CARD="CARD",t.VENMO="VENMO",t.CASHAPP="CASHAPP",t))(A||{});s.PayNextCheckout=k,s.PayNextSDK=_,s.PaymentMethod=A,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})}));
1
+ (function(s,a){typeof exports=="object"&&typeof module<"u"?a(exports):typeof define=="function"&&define.amd?define(["exports"],a):(s=typeof globalThis<"u"?globalThis:s||self,a(s["PayNext SDK"]={}))})(this,(function(s){"use strict";var I=Object.defineProperty;var R=(s,a,l)=>a in s?I(s,a,{enumerable:!0,configurable:!0,writable:!0,value:l}):s[a]=l;var y=(s,a,l)=>R(s,typeof a!="symbol"?a+"":a,l);const a="https://cdn-sdk-dev.paynext.com/index.cdn.js",l="https://cdn-sdk.paynext.com/index.cdn.js";let w=null,h=null;function k(){const t=navigator.connection||navigator.mozConnection||navigator.webkitConnection,e={online:navigator.onLine,documentHidden:document.hidden,userAgent:navigator.userAgent,timestamp:new Date().toISOString()};return t&&(e.connectionType=t.type,e.effectiveType=t.effectiveType,e.downlink=t.downlink,e.rtt=t.rtt,e.saveData=t.saveData),navigator.onLine?document.hidden?e.likelyCause="background_tab":t?.effectiveType==="slow-2g"||t?.effectiveType==="2g"?e.likelyCause="slow_connection":t?.downlink!==void 0&&t.downlink<.5&&(e.likelyCause="poor_bandwidth"):e.likelyCause="offline",e}function g(t){const e=[];return t.likelyCause&&e.push(`cause=${t.likelyCause}`),e.push(`online=${t.online}`),e.push(`hidden=${t.documentHidden}`),t.effectiveType&&e.push(`net=${t.effectiveType}`),t.downlink!==void 0&&e.push(`downlink=${t.downlink}Mbps`),t.rtt!==void 0&&e.push(`rtt=${t.rtt}ms`),e.join(", ")}class o extends Error{constructor(n,r=!0,i=!1){const m=i&&typeof window<"u"?k():null,u=m?`${n} [${g(m)}]`:n;super(u);y(this,"diagnostics");this.retryable=r,this.name="SDKLoadError",this.diagnostics=m}}const v="PayNextSDK";function E(){return typeof window>"u"?null:window[v]}function K(t){typeof window>"u"||(window[v]=t)}function A(t){return new Promise(e=>setTimeout(e,t))}async function L(t=5e3){const n=Math.ceil(t/50);for(let r=0;r<n;r++){const i=E();if(i)return i;await A(50)}throw new o("PayNextSDK not found in window after waiting",!0,!0)}async function N(t,e=1){const r=(t?.toLowerCase()?.includes("develop")||t?.toLowerCase()?.includes("staging")?"develop":"production")==="develop"?a:l;try{const i=E();return i||(await new Promise((u,p)=>{const d=document.querySelector(`script[src="${r}"]`);if(d){if(E()){u();return}const D=setTimeout(()=>{d.removeEventListener("load",f),d.removeEventListener("error",S),p(new o("Existing SDK script loading timeout",!0,!0))},15e3),f=()=>{clearTimeout(D),d.removeEventListener("load",f),d.removeEventListener("error",S),u()},S=()=>{clearTimeout(D),d.removeEventListener("load",f),d.removeEventListener("error",S),p(new o("Existing SDK script failed to load",!0,!0))};d.addEventListener("load",f),d.addEventListener("error",S);return}const M=setTimeout(()=>{P(),p(new o("SDK script loading timeout",!0,!0))},15e3),c=document.createElement("script");c.src=r,c.crossOrigin="anonymous",c.async=!0,c.setAttribute("data-paynext-sdk","true");const P=()=>{clearTimeout(M),c.onload=null,c.onerror=null};c.onload=()=>{P(),u()},c.onerror=D=>{console.error("[PayNext CDN] Script load error:",D),P();try{c.parentNode&&c.parentNode.removeChild(c)}catch(f){console.warn("[PayNext CDN] Failed to remove script:",f)}p(new o("Failed to load SDK script from CDN",!0,!0))};try{document.head.appendChild(c)}catch{P(),p(new o("Failed to append script to document",!1))}}),await L(5e3))}catch(i){if((i instanceof o?i.retryable:!0)&&e<5)return console.warn(`[PayNext CDN] Load attempt ${e} failed, retrying in 1500ms...`,i),await A(1500*e),N(t,e+1);throw console.error(`[PayNext CDN] Failed to load SDK after ${e} attempts:`,i),i}}async function C(t){if(h)return h;if(w)return w;if(typeof window>"u")throw new o("PayNext SDK can only be loaded in browser environment",!1);const e=E();return e?(h=e,h):(w=(async()=>{try{const n=await N(t);return h=n,K(n),n}catch(n){throw w=null,n}})(),w)}class T{constructor(){y(this,"cdnInstance",null);y(this,"initPromise",null);y(this,"isDestroyed",!1);y(this,"errorBoundary",null)}setErrorHandler(e){this.errorBoundary=e}handleError(e,n){const r=`[PayNext SDK Error - ${n}]: ${e.message}`;if(console.error(r,e),this.errorBoundary)try{this.errorBoundary(e)}catch(i){console.error("[PayNext SDK] Error in custom error handler:",i)}}async initialize(e){if(this.isDestroyed)throw new o("Cannot initialize destroyed SDK instance",!1);return this.initPromise?this.initPromise:(this.initPromise=(async()=>{try{const n=await C(e);if(!n||!n.PayNextCheckout)throw new o("PayNextCheckout not found in loaded SDK module",!1);try{this.cdnInstance=new n.PayNextCheckout}catch(r){throw new o(`Failed to instantiate PayNextCheckout: ${r instanceof Error?r.message:"Unknown error"}`,!1)}}catch(n){throw this.initPromise=null,n}})(),this.initPromise)}assertReady(){if(this.isDestroyed)throw new o("SDK instance has been destroyed",!1);if(!this.initPromise)throw new o("SDK initialization not started",!1);if(!this.cdnInstance)throw new o("SDK instance not created",!1)}async mount(e,n){try{if(!e||typeof e!="string")throw new o("Invalid containerId provided",!1);if(!n||!n.environment)throw new o("Invalid config provided",!1);if(!document.getElementById(e))throw new o(`Container element with id "${e}" not found`,!1);await this.initialize(n.environment),this.assertReady(),await this.cdnInstance.mount(e,n)}catch(r){const i=r instanceof o?r:new o(r instanceof Error?r.message:"Unknown mount error",!0);throw this.handleError(i,"mount"),i}}async unmount(){try{if(this.isDestroyed){console.warn("[PayNext SDK] Instance already destroyed");return}if(!this.cdnInstance){console.warn("[PayNext SDK] No instance to unmount");return}try{typeof this.cdnInstance.unmount=="function"&&await this.cdnInstance.unmount()}catch(e){const n=e instanceof Error?e:new Error(String(e));this.handleError(n,"unmount")}this.cdnInstance=null,this.initPromise=null}catch(e){const n=e instanceof Error?e:new Error(String(e));this.handleError(n,"unmount")}}static async preload(e){try{await C(e)}catch(n){throw console.error("[PayNext SDK] Preload failed:",n),n}}}const _={preload:T.preload};var x=(t=>(t.PAYPAL="PAYPAL",t.APPLE_PAY="APPLEPAY",t.GOOGLE_PAY="GPAY",t.CARD="CARD",t.VENMO="VENMO",t.CASHAPP="CASHAPP",t.AMAZONPAY="AMAZONPAY",t.PIX_AUTOMATICO="PIX_AUTOMATICO",t))(x||{});s.PayNextCheckout=T,s.PayNextSDK=_,s.PaymentMethod=x,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paynext/sdk",
3
- "version": "1.0.14",
3
+ "version": "1.0.15",
4
4
  "description": "PayNext SDK - Payment processing with automatic CDN loading",
5
5
  "type": "module",
6
6
  "main": "dist/index.es.js",
@@ -66,7 +66,7 @@
66
66
  "@paypal/paypal-js": "^8.4.2",
67
67
  "@paypal/react-paypal-js": "^8.9.2",
68
68
  "@sentry/browser": "^10.24.0",
69
- "@stripe/stripe-js": "^8.3.0",
69
+ "@stripe/stripe-js": "^8.7.0",
70
70
  "@types/braintree-web": "^3.96.17",
71
71
  "@types/node": "^22",
72
72
  "@types/react": "^19.2.2",