@zendfi/sdk 0.7.2 → 0.7.4

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
@@ -2454,6 +2454,8 @@ var SessionKeysAPI = class {
2454
2454
  async create(request) {
2455
2455
  return this.request("POST", "/api/v1/ai/session-keys/create", {
2456
2456
  user_wallet: request.user_wallet,
2457
+ agent_id: request.agent_id,
2458
+ agent_name: request.agent_name,
2457
2459
  limit_usdc: request.limit_usdc,
2458
2460
  duration_days: request.duration_days ?? 7,
2459
2461
  device_fingerprint: request.device_fingerprint,
@@ -3498,6 +3500,8 @@ var ZendFiEmbeddedCheckout = class {
3498
3500
  checkoutData = null;
3499
3501
  pollInterval = null;
3500
3502
  mounted = false;
3503
+ paymentProcessed = false;
3504
+ // Prevent duplicate success callbacks
3501
3505
  constructor(config) {
3502
3506
  this.config = {
3503
3507
  linkCode: config.linkCode || "",
@@ -3601,7 +3605,7 @@ var ZendFiEmbeddedCheckout = class {
3601
3605
  */
3602
3606
  startPaymentPolling() {
3603
3607
  this.pollInterval = setInterval(async () => {
3604
- if (!this.checkoutData) return;
3608
+ if (!this.checkoutData || this.paymentProcessed) return;
3605
3609
  try {
3606
3610
  const response = await fetch(
3607
3611
  `${this.config.apiUrl}/api/v1/payments/${this.checkoutData.payment_id}/status`,
@@ -3614,7 +3618,7 @@ var ZendFiEmbeddedCheckout = class {
3614
3618
  );
3615
3619
  if (response.ok) {
3616
3620
  const data = await response.json();
3617
- if (data.status === "confirmed") {
3621
+ if (data.status === "confirmed" && !this.paymentProcessed) {
3618
3622
  this.handlePaymentSuccess(data);
3619
3623
  } else if (data.status === "failed") {
3620
3624
  this.handlePaymentFailure(data);
@@ -3631,6 +3635,8 @@ var ZendFiEmbeddedCheckout = class {
3631
3635
  * Handle successful payment
3632
3636
  */
3633
3637
  handlePaymentSuccess(statusData) {
3638
+ if (this.paymentProcessed) return;
3639
+ this.paymentProcessed = true;
3634
3640
  if (this.pollInterval) {
3635
3641
  clearInterval(this.pollInterval);
3636
3642
  this.pollInterval = null;
package/dist/index.mjs CHANGED
@@ -1398,6 +1398,8 @@ var SessionKeysAPI = class {
1398
1398
  async create(request) {
1399
1399
  return this.request("POST", "/api/v1/ai/session-keys/create", {
1400
1400
  user_wallet: request.user_wallet,
1401
+ agent_id: request.agent_id,
1402
+ agent_name: request.agent_name,
1401
1403
  limit_usdc: request.limit_usdc,
1402
1404
  duration_days: request.duration_days ?? 7,
1403
1405
  device_fingerprint: request.device_fingerprint,
@@ -2442,6 +2444,8 @@ var ZendFiEmbeddedCheckout = class {
2442
2444
  checkoutData = null;
2443
2445
  pollInterval = null;
2444
2446
  mounted = false;
2447
+ paymentProcessed = false;
2448
+ // Prevent duplicate success callbacks
2445
2449
  constructor(config) {
2446
2450
  this.config = {
2447
2451
  linkCode: config.linkCode || "",
@@ -2545,7 +2549,7 @@ var ZendFiEmbeddedCheckout = class {
2545
2549
  */
2546
2550
  startPaymentPolling() {
2547
2551
  this.pollInterval = setInterval(async () => {
2548
- if (!this.checkoutData) return;
2552
+ if (!this.checkoutData || this.paymentProcessed) return;
2549
2553
  try {
2550
2554
  const response = await fetch(
2551
2555
  `${this.config.apiUrl}/api/v1/payments/${this.checkoutData.payment_id}/status`,
@@ -2558,7 +2562,7 @@ var ZendFiEmbeddedCheckout = class {
2558
2562
  );
2559
2563
  if (response.ok) {
2560
2564
  const data = await response.json();
2561
- if (data.status === "confirmed") {
2565
+ if (data.status === "confirmed" && !this.paymentProcessed) {
2562
2566
  this.handlePaymentSuccess(data);
2563
2567
  } else if (data.status === "failed") {
2564
2568
  this.handlePaymentFailure(data);
@@ -2575,6 +2579,8 @@ var ZendFiEmbeddedCheckout = class {
2575
2579
  * Handle successful payment
2576
2580
  */
2577
2581
  handlePaymentSuccess(statusData) {
2582
+ if (this.paymentProcessed) return;
2583
+ this.paymentProcessed = true;
2578
2584
  if (this.pollInterval) {
2579
2585
  clearInterval(this.pollInterval);
2580
2586
  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.4",
4
4
  "description": "Zero-config TypeScript SDK for ZendFi crypto payments",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",