@zendfi/sdk 0.7.2 → 0.7.3

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.mts CHANGED
@@ -1838,6 +1838,7 @@ declare class ZendFiEmbeddedCheckout {
1838
1838
  private checkoutData;
1839
1839
  private pollInterval;
1840
1840
  private mounted;
1841
+ private paymentProcessed;
1841
1842
  constructor(config: EmbeddedCheckoutConfig);
1842
1843
  private getDefaultApiUrl;
1843
1844
  /**
package/dist/index.d.ts CHANGED
@@ -1838,6 +1838,7 @@ declare class ZendFiEmbeddedCheckout {
1838
1838
  private checkoutData;
1839
1839
  private pollInterval;
1840
1840
  private mounted;
1841
+ private paymentProcessed;
1841
1842
  constructor(config: EmbeddedCheckoutConfig);
1842
1843
  private getDefaultApiUrl;
1843
1844
  /**
package/dist/index.js CHANGED
@@ -3498,6 +3498,8 @@ var ZendFiEmbeddedCheckout = class {
3498
3498
  checkoutData = null;
3499
3499
  pollInterval = null;
3500
3500
  mounted = false;
3501
+ paymentProcessed = false;
3502
+ // Prevent duplicate success callbacks
3501
3503
  constructor(config) {
3502
3504
  this.config = {
3503
3505
  linkCode: config.linkCode || "",
@@ -3601,7 +3603,7 @@ var ZendFiEmbeddedCheckout = class {
3601
3603
  */
3602
3604
  startPaymentPolling() {
3603
3605
  this.pollInterval = setInterval(async () => {
3604
- if (!this.checkoutData) return;
3606
+ if (!this.checkoutData || this.paymentProcessed) return;
3605
3607
  try {
3606
3608
  const response = await fetch(
3607
3609
  `${this.config.apiUrl}/api/v1/payments/${this.checkoutData.payment_id}/status`,
@@ -3614,7 +3616,7 @@ var ZendFiEmbeddedCheckout = class {
3614
3616
  );
3615
3617
  if (response.ok) {
3616
3618
  const data = await response.json();
3617
- if (data.status === "confirmed") {
3619
+ if (data.status === "confirmed" && !this.paymentProcessed) {
3618
3620
  this.handlePaymentSuccess(data);
3619
3621
  } else if (data.status === "failed") {
3620
3622
  this.handlePaymentFailure(data);
@@ -3631,6 +3633,8 @@ var ZendFiEmbeddedCheckout = class {
3631
3633
  * Handle successful payment
3632
3634
  */
3633
3635
  handlePaymentSuccess(statusData) {
3636
+ if (this.paymentProcessed) return;
3637
+ this.paymentProcessed = true;
3634
3638
  if (this.pollInterval) {
3635
3639
  clearInterval(this.pollInterval);
3636
3640
  this.pollInterval = null;
package/dist/index.mjs CHANGED
@@ -2442,6 +2442,8 @@ var ZendFiEmbeddedCheckout = class {
2442
2442
  checkoutData = null;
2443
2443
  pollInterval = null;
2444
2444
  mounted = false;
2445
+ paymentProcessed = false;
2446
+ // Prevent duplicate success callbacks
2445
2447
  constructor(config) {
2446
2448
  this.config = {
2447
2449
  linkCode: config.linkCode || "",
@@ -2545,7 +2547,7 @@ var ZendFiEmbeddedCheckout = class {
2545
2547
  */
2546
2548
  startPaymentPolling() {
2547
2549
  this.pollInterval = setInterval(async () => {
2548
- if (!this.checkoutData) return;
2550
+ if (!this.checkoutData || this.paymentProcessed) return;
2549
2551
  try {
2550
2552
  const response = await fetch(
2551
2553
  `${this.config.apiUrl}/api/v1/payments/${this.checkoutData.payment_id}/status`,
@@ -2558,7 +2560,7 @@ var ZendFiEmbeddedCheckout = class {
2558
2560
  );
2559
2561
  if (response.ok) {
2560
2562
  const data = await response.json();
2561
- if (data.status === "confirmed") {
2563
+ if (data.status === "confirmed" && !this.paymentProcessed) {
2562
2564
  this.handlePaymentSuccess(data);
2563
2565
  } else if (data.status === "failed") {
2564
2566
  this.handlePaymentFailure(data);
@@ -2575,6 +2577,8 @@ var ZendFiEmbeddedCheckout = class {
2575
2577
  * Handle successful payment
2576
2578
  */
2577
2579
  handlePaymentSuccess(statusData) {
2580
+ if (this.paymentProcessed) return;
2581
+ this.paymentProcessed = true;
2578
2582
  if (this.pollInterval) {
2579
2583
  clearInterval(this.pollInterval);
2580
2584
  this.pollInterval = null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zendfi/sdk",
3
- "version": "0.7.2",
3
+ "version": "0.7.3",
4
4
  "description": "Zero-config TypeScript SDK for ZendFi crypto payments",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",