@moneybar.online/moneybar 3.2.0 → 3.4.0

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
@@ -21,13 +21,13 @@ import { MoneyBarConfig, DownloadStatus, MoneyBarEvents, UserContext } from './t
21
21
  *
22
22
  * const moneyBar = new MoneyBar({
23
23
  * appId: 'my-pdf-app',
24
- * freeDownloadLimit: 3,
24
+ * freeAttemptLimit: 3,
25
25
  * supabase: { url: 'https://xyz.supabase.co', anonKey: 'anon_key' },
26
26
  * payment: { productId: 'prod_xyz' }
27
27
  * });
28
28
  *
29
29
  * // Single button - handles all monetization automatically
30
- * moneyBar.attachToButton('#download-btn', (userContext) => {
30
+ * moneyBar.attachToButton('#action-btn', (userContext) => {
31
31
  * // Your action logic here - with user context for personalization
32
32
  * if (userContext.isPremium) {
33
33
  * generatePremiumPDF();
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,QAAQ,CAAM;IACtB,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,cAAc,CAAoD;IAC1E,OAAO,CAAC,wBAAwB,CAAkB;IAClD,OAAO,CAAC,uBAAuB,CAAkB;IACjD,OAAO,CAAC,YAAY,CAA+B;IACnD,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAQ;IAC9C,OAAO,CAAC,qBAAqB,CAAwC;IACrE,OAAO,CAAC,mBAAmB,CAAwB;IACnD,OAAO,CAAC,sBAAsB,CAAa;IAE3C,OAAO,CAAC,YAAY;gBAyBR,MAAM,CAAC,EAAE,cAAc;IAenC;;;OAGG;IACU,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAuD5C;;OAEG;IACU,iBAAiB,CAAC,YAAY,GAAE,OAAe,GAAG,OAAO,CAAC,cAAc,CAAC;YAiCxE,gBAAgB;IAkE9B;;OAEG;YACW,cAAc;IAe5B;;OAEG;IACU,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAcpC;;OAEG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAUrC;;OAEG;IACU,aAAa,IAAI,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAmFtE;;;OAGG;IACI,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC,GAAG,IAAI;IAiCpH;;;OAGG;IACI,eAAe,CAAC,MAAM,EAAE;QAC7B,OAAO,EAAE,KAAK,CAAC;YACb,QAAQ,EAAE,MAAM,CAAC;YACjB,gBAAgB,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC,CAAC;YACtE,SAAS,CAAC,EAAE,OAAO,CAAC;YACpB,YAAY,CAAC,EAAE,MAAM,CAAC;SACvB,CAAC,CAAC;KACJ,GAAG,IAAI;YAiCM,iBAAiB;YAwBjB,yBAAyB;IA0HvC,OAAO,CAAC,gBAAgB;IAu9CxB,OAAO,CAAC,aAAa;IAgCrB,OAAO,CAAC,kBAAkB;IA+E1B,OAAO,CAAC,kBAAkB;IA6B1B,OAAO,CAAC,gBAAgB;IA0BxB,OAAO,CAAC,mBAAmB;YAuHb,cAAc;YAqCd,iBAAiB;IA2D/B,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,yBAAyB;IAKjC,OAAO,CAAC,kBAAkB;YAsDZ,WAAW;IAMzB,OAAO,CAAC,qBAAqB;IA0D7B,OAAO,CAAC,WAAW;IAenB,OAAO,CAAC,SAAS;IA2CjB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,sBAAsB;IAO9B,OAAO,CAAC,sBAAsB;YA4ChB,oBAAoB;IAmBlC,OAAO,CAAC,cAAc;IA4CtB,OAAO,CAAC,iBAAiB;IA2DzB,OAAO,CAAC,cAAc;IAyCtB,OAAO,CAAC,oBAAoB;IAkB5B;;OAEG;IACI,EAAE,CAAC,CAAC,SAAS,MAAM,cAAc,EACtC,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,GAC1C,IAAI;IAOA,GAAG,CAAC,CAAC,SAAS,MAAM,cAAc,EACvC,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,GAC1C,IAAI;IAUP,OAAO,CAAC,IAAI;IAgBZ,OAAO,CAAC,cAAc;YASR,kBAAkB;YAelB,iBAAiB;YA8BjB,qBAAqB;YAWrB,mBAAmB;YAanB,iBAAiB;YA8DjB,gBAAgB;YA0ChB,sBAAsB;YA0DtB,kBAAkB;IA6BhC,OAAO,CAAC,qBAAqB;IAM7B,OAAO,CAAC,2BAA2B;IAOnC,OAAO,CAAC,WAAW;YAeL,kBAAkB;CAuBjC;AAGD,cAAc,YAAY,CAAC"}
package/dist/index.esm.js CHANGED
@@ -22,13 +22,13 @@ import { createClient } from '@supabase/supabase-js';
22
22
  *
23
23
  * const moneyBar = new MoneyBar({
24
24
  * appId: 'my-pdf-app',
25
- * freeDownloadLimit: 3,
25
+ * freeAttemptLimit: 3,
26
26
  * supabase: { url: 'https://xyz.supabase.co', anonKey: 'anon_key' },
27
27
  * payment: { productId: 'prod_xyz' }
28
28
  * });
29
29
  *
30
30
  * // Single button - handles all monetization automatically
31
- * moneyBar.attachToButton('#download-btn', (userContext) => {
31
+ * moneyBar.attachToButton('#action-btn', (userContext) => {
32
32
  * // Your action logic here - with user context for personalization
33
33
  * if (userContext.isPremium) {
34
34
  * generatePremiumPDF();
@@ -214,10 +214,10 @@ class MoneyBar {
214
214
  }
215
215
  const status = {
216
216
  currentCount: count,
217
- limit: this.config.freeDownloadLimit,
217
+ limit: this.config.freeAttemptLimit,
218
218
  isPremium,
219
219
  isAuthenticated: !!this.currentUser,
220
- remaining: Math.max(0, this.config.freeDownloadLimit - count)
220
+ remaining: Math.max(0, this.config.freeAttemptLimit - count)
221
221
  };
222
222
  // Cache the status
223
223
  this.cachedStatus = status;
@@ -229,10 +229,10 @@ class MoneyBar {
229
229
  // Return safe defaults on error
230
230
  const errorStatus = {
231
231
  currentCount: 0,
232
- limit: this.config.freeDownloadLimit,
232
+ limit: this.config.freeAttemptLimit,
233
233
  isPremium: false,
234
234
  isAuthenticated: false,
235
- remaining: this.config.freeDownloadLimit
235
+ remaining: this.config.freeAttemptLimit
236
236
  };
237
237
  // Cache error status for short time to avoid repeated failures
238
238
  this.cachedStatus = errorStatus;
@@ -297,24 +297,35 @@ class MoneyBar {
297
297
  if (!this.config.payment) {
298
298
  throw new Error('Payment configuration not provided');
299
299
  }
300
+ const payment = this.config.payment?.find(p => p.provider === 'dodo');
301
+ if (!payment) {
302
+ throw new Error('No dodo payment provider configured');
303
+ }
300
304
  const requestBody = {
301
305
  email: this.currentUser.email,
302
- product_id: this.config.payment.productId,
303
- mode: this.config.payment.mode || 'test',
306
+ product_id: payment.productId,
307
+ mode: payment.mode || 'test',
304
308
  app_id: this.config.appId,
305
309
  return_url: `${window.location.origin}${window.location.pathname}?payment=success`
306
310
  };
307
- console.log(`🔥 [SUPABASE API] createPayment called for email: ${this.currentUser.email} | Time: ${new Date().toISOString()}`);
311
+ console.log(`🔥 [PAYMENT API] createPayment called for provider: ${payment.provider}, email: ${this.currentUser.email} | Time: ${new Date().toISOString()}`);
308
312
  try {
309
- const response = await fetch(`${this.config.supabase.url}/functions/v1/create-payment`, {
310
- method: 'POST',
311
- headers: {
312
- 'Content-Type': 'application/json',
313
- 'Authorization': `Bearer ${this.config.supabase.anonKey}`
314
- },
315
- body: JSON.stringify(requestBody)
316
- });
317
- console.log(`🔥 [SUPABASE API] createPayment response: ${response.status}`);
313
+ // Route to appropriate payment API based on provider
314
+ let response;
315
+ if (payment.provider === 'dodo') {
316
+ response = await fetch(`${this.config.supabase.url}/functions/v1/create-payment`, {
317
+ method: 'POST',
318
+ headers: {
319
+ 'Content-Type': 'application/json',
320
+ 'Authorization': `Bearer ${this.config.supabase.anonKey}`
321
+ },
322
+ body: JSON.stringify(requestBody)
323
+ });
324
+ }
325
+ else {
326
+ throw new Error(`Payment provider '${payment.provider}' is not yet supported`);
327
+ }
328
+ console.log(`🔥 [PAYMENT API] createPayment response for ${payment.provider}: ${response.status}`);
318
329
  if (this.config.options?.debug) {
319
330
  //console.log('🔍 DEBUG: createPayment response status:', response.status);
320
331
  }
@@ -517,8 +528,8 @@ class MoneyBar {
517
528
  // Only increment count after successful execution - with limit check
518
529
  const newCount = await this.incrementDownloadCount();
519
530
  // Double-check: if server returned count exceeding limit, something went wrong
520
- if (newCount > this.config.freeDownloadLimit) {
521
- console.error(`⚠️ Server returned count (${newCount}) exceeding limit (${this.config.freeDownloadLimit})`);
531
+ if (newCount > this.config.freeAttemptLimit) {
532
+ console.error(`⚠️ Server returned count (${newCount}) exceeding limit (${this.config.freeAttemptLimit})`);
522
533
  // Don't update UI with invalid state
523
534
  return;
524
535
  }
@@ -2318,7 +2329,26 @@ class MoneyBar {
2318
2329
  }
2319
2330
  }
2320
2331
  async sendFeedbackEmail(feedbackData) {
2321
- const emailConfig = this.config.feedback?.email || this.config.email;
2332
+ // Get email config - handle both new array format and legacy format
2333
+ let emailConfig;
2334
+ if (this.config.feedback?.email) {
2335
+ // New array format - use first provider (typically resend)
2336
+ if (Array.isArray(this.config.feedback.email)) {
2337
+ emailConfig = this.config.feedback.email[0];
2338
+ }
2339
+ else {
2340
+ // Legacy format fallback
2341
+ emailConfig = this.config.feedback.email;
2342
+ }
2343
+ }
2344
+ else if (this.config.email) {
2345
+ // Deprecated legacy email config
2346
+ emailConfig = {
2347
+ provider: 'resend',
2348
+ apiKey: this.config.email.resendApiKey,
2349
+ fromEmail: this.config.email.fromEmail
2350
+ };
2351
+ }
2322
2352
  if (!emailConfig) {
2323
2353
  throw new Error('Email configuration not available');
2324
2354
  }
@@ -2331,19 +2361,26 @@ User Email: ${feedbackData.email || 'Not provided'}
2331
2361
  Timestamp: ${feedbackData.timestamp}
2332
2362
  User Agent: ${feedbackData.userAgent}
2333
2363
  `.trim();
2334
- const response = await fetch('https://api.resend.com/emails', {
2335
- method: 'POST',
2336
- headers: {
2337
- 'Content-Type': 'application/json',
2338
- 'Authorization': `Bearer ${emailConfig.resendApiKey}`
2339
- },
2340
- body: JSON.stringify({
2341
- from: emailConfig.fromEmail,
2342
- to: [emailConfig.fromEmail], // Send feedback to yourself
2343
- subject: `Feedback from ${this.config.appId}`,
2344
- text: emailBody
2345
- })
2346
- });
2364
+ // Handle different email providers
2365
+ let response;
2366
+ if (emailConfig.provider === 'resend' || !emailConfig.provider) {
2367
+ response = await fetch('https://api.resend.com/emails', {
2368
+ method: 'POST',
2369
+ headers: {
2370
+ 'Content-Type': 'application/json',
2371
+ 'Authorization': `Bearer ${emailConfig.apiKey || emailConfig.resendApiKey}`
2372
+ },
2373
+ body: JSON.stringify({
2374
+ from: emailConfig.fromEmail,
2375
+ to: [emailConfig.fromEmail], // Send feedback to yourself
2376
+ subject: `Feedback from ${this.config.appId}`,
2377
+ text: emailBody
2378
+ })
2379
+ });
2380
+ }
2381
+ else {
2382
+ throw new Error(`Unsupported email provider: ${emailConfig.provider}`);
2383
+ }
2347
2384
  if (!response.ok) {
2348
2385
  throw new Error(`Email API error: ${response.status}`);
2349
2386
  }
@@ -2765,8 +2802,8 @@ User Agent: ${feedbackData.userAgent}
2765
2802
  throw new Error('supabase.url is required');
2766
2803
  if (!this.config.supabase?.anonKey)
2767
2804
  throw new Error('supabase.anonKey is required');
2768
- if (typeof this.config.freeDownloadLimit !== 'number' || this.config.freeDownloadLimit < 0) {
2769
- throw new Error('freeDownloadLimit must be a non-negative number');
2805
+ if (typeof this.config.freeAttemptLimit !== 'number' || this.config.freeAttemptLimit < 0) {
2806
+ throw new Error('freeAttemptLimit must be a non-negative number');
2770
2807
  }
2771
2808
  }
2772
2809
  async initializeSupabase() {
@@ -2786,7 +2823,15 @@ User Agent: ${feedbackData.userAgent}
2786
2823
  return;
2787
2824
  }
2788
2825
  // Validate product ID format
2789
- const productId = this.config.payment.productId;
2826
+ const payment = this.config.payment?.find(p => p.provider === 'dodo');
2827
+ if (!payment) {
2828
+ this.paymentConnectionFailed = true;
2829
+ if (this.config.options?.debug) {
2830
+ console.warn('No dodo payment provider configured');
2831
+ }
2832
+ return;
2833
+ }
2834
+ const productId = payment.productId;
2790
2835
  if (!productId || !productId.startsWith('pdt_') || productId.length < 10) {
2791
2836
  this.paymentConnectionFailed = true;
2792
2837
  if (this.config.options?.debug) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/index.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../src/index.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -21,13 +21,13 @@ import { createClient } from '@supabase/supabase-js';
21
21
  *
22
22
  * const moneyBar = new MoneyBar({
23
23
  * appId: 'my-pdf-app',
24
- * freeDownloadLimit: 3,
24
+ * freeAttemptLimit: 3,
25
25
  * supabase: { url: 'https://xyz.supabase.co', anonKey: 'anon_key' },
26
26
  * payment: { productId: 'prod_xyz' }
27
27
  * });
28
28
  *
29
29
  * // Single button - handles all monetization automatically
30
- * moneyBar.attachToButton('#download-btn', (userContext) => {
30
+ * moneyBar.attachToButton('#action-btn', (userContext) => {
31
31
  * // Your action logic here - with user context for personalization
32
32
  * if (userContext.isPremium) {
33
33
  * generatePremiumPDF();
@@ -216,10 +216,10 @@ export class MoneyBar {
216
216
  }
217
217
  const status = {
218
218
  currentCount: count,
219
- limit: this.config.freeDownloadLimit,
219
+ limit: this.config.freeAttemptLimit,
220
220
  isPremium,
221
221
  isAuthenticated: !!this.currentUser,
222
- remaining: Math.max(0, this.config.freeDownloadLimit - count)
222
+ remaining: Math.max(0, this.config.freeAttemptLimit - count)
223
223
  };
224
224
  // Cache the status
225
225
  this.cachedStatus = status;
@@ -231,10 +231,10 @@ export class MoneyBar {
231
231
  // Return safe defaults on error
232
232
  const errorStatus = {
233
233
  currentCount: 0,
234
- limit: this.config.freeDownloadLimit,
234
+ limit: this.config.freeAttemptLimit,
235
235
  isPremium: false,
236
236
  isAuthenticated: false,
237
- remaining: this.config.freeDownloadLimit
237
+ remaining: this.config.freeAttemptLimit
238
238
  };
239
239
  // Cache error status for short time to avoid repeated failures
240
240
  this.cachedStatus = errorStatus;
@@ -299,24 +299,35 @@ export class MoneyBar {
299
299
  if (!this.config.payment) {
300
300
  throw new Error('Payment configuration not provided');
301
301
  }
302
+ const payment = this.config.payment?.find(p => p.provider === 'dodo');
303
+ if (!payment) {
304
+ throw new Error('No dodo payment provider configured');
305
+ }
302
306
  const requestBody = {
303
307
  email: this.currentUser.email,
304
- product_id: this.config.payment.productId,
305
- mode: this.config.payment.mode || 'test',
308
+ product_id: payment.productId,
309
+ mode: payment.mode || 'test',
306
310
  app_id: this.config.appId,
307
311
  return_url: `${window.location.origin}${window.location.pathname}?payment=success`
308
312
  };
309
- console.log(`🔥 [SUPABASE API] createPayment called for email: ${this.currentUser.email} | Time: ${new Date().toISOString()}`);
313
+ console.log(`🔥 [PAYMENT API] createPayment called for provider: ${payment.provider}, email: ${this.currentUser.email} | Time: ${new Date().toISOString()}`);
310
314
  try {
311
- const response = await fetch(`${this.config.supabase.url}/functions/v1/create-payment`, {
312
- method: 'POST',
313
- headers: {
314
- 'Content-Type': 'application/json',
315
- 'Authorization': `Bearer ${this.config.supabase.anonKey}`
316
- },
317
- body: JSON.stringify(requestBody)
318
- });
319
- console.log(`🔥 [SUPABASE API] createPayment response: ${response.status}`);
315
+ // Route to appropriate payment API based on provider
316
+ let response;
317
+ if (payment.provider === 'dodo') {
318
+ response = await fetch(`${this.config.supabase.url}/functions/v1/create-payment`, {
319
+ method: 'POST',
320
+ headers: {
321
+ 'Content-Type': 'application/json',
322
+ 'Authorization': `Bearer ${this.config.supabase.anonKey}`
323
+ },
324
+ body: JSON.stringify(requestBody)
325
+ });
326
+ }
327
+ else {
328
+ throw new Error(`Payment provider '${payment.provider}' is not yet supported`);
329
+ }
330
+ console.log(`🔥 [PAYMENT API] createPayment response for ${payment.provider}: ${response.status}`);
320
331
  if (this.config.options?.debug) {
321
332
  //console.log('🔍 DEBUG: createPayment response status:', response.status);
322
333
  }
@@ -519,8 +530,8 @@ export class MoneyBar {
519
530
  // Only increment count after successful execution - with limit check
520
531
  const newCount = await this.incrementDownloadCount();
521
532
  // Double-check: if server returned count exceeding limit, something went wrong
522
- if (newCount > this.config.freeDownloadLimit) {
523
- console.error(`⚠️ Server returned count (${newCount}) exceeding limit (${this.config.freeDownloadLimit})`);
533
+ if (newCount > this.config.freeAttemptLimit) {
534
+ console.error(`⚠️ Server returned count (${newCount}) exceeding limit (${this.config.freeAttemptLimit})`);
524
535
  // Don't update UI with invalid state
525
536
  return;
526
537
  }
@@ -2326,7 +2337,26 @@ export class MoneyBar {
2326
2337
  }
2327
2338
  }
2328
2339
  async sendFeedbackEmail(feedbackData) {
2329
- const emailConfig = this.config.feedback?.email || this.config.email;
2340
+ // Get email config - handle both new array format and legacy format
2341
+ let emailConfig;
2342
+ if (this.config.feedback?.email) {
2343
+ // New array format - use first provider (typically resend)
2344
+ if (Array.isArray(this.config.feedback.email)) {
2345
+ emailConfig = this.config.feedback.email[0];
2346
+ }
2347
+ else {
2348
+ // Legacy format fallback
2349
+ emailConfig = this.config.feedback.email;
2350
+ }
2351
+ }
2352
+ else if (this.config.email) {
2353
+ // Deprecated legacy email config
2354
+ emailConfig = {
2355
+ provider: 'resend',
2356
+ apiKey: this.config.email.resendApiKey,
2357
+ fromEmail: this.config.email.fromEmail
2358
+ };
2359
+ }
2330
2360
  if (!emailConfig) {
2331
2361
  throw new Error('Email configuration not available');
2332
2362
  }
@@ -2339,19 +2369,26 @@ User Email: ${feedbackData.email || 'Not provided'}
2339
2369
  Timestamp: ${feedbackData.timestamp}
2340
2370
  User Agent: ${feedbackData.userAgent}
2341
2371
  `.trim();
2342
- const response = await fetch('https://api.resend.com/emails', {
2343
- method: 'POST',
2344
- headers: {
2345
- 'Content-Type': 'application/json',
2346
- 'Authorization': `Bearer ${emailConfig.resendApiKey}`
2347
- },
2348
- body: JSON.stringify({
2349
- from: emailConfig.fromEmail,
2350
- to: [emailConfig.fromEmail], // Send feedback to yourself
2351
- subject: `Feedback from ${this.config.appId}`,
2352
- text: emailBody
2353
- })
2354
- });
2372
+ // Handle different email providers
2373
+ let response;
2374
+ if (emailConfig.provider === 'resend' || !emailConfig.provider) {
2375
+ response = await fetch('https://api.resend.com/emails', {
2376
+ method: 'POST',
2377
+ headers: {
2378
+ 'Content-Type': 'application/json',
2379
+ 'Authorization': `Bearer ${emailConfig.apiKey || emailConfig.resendApiKey}`
2380
+ },
2381
+ body: JSON.stringify({
2382
+ from: emailConfig.fromEmail,
2383
+ to: [emailConfig.fromEmail], // Send feedback to yourself
2384
+ subject: `Feedback from ${this.config.appId}`,
2385
+ text: emailBody
2386
+ })
2387
+ });
2388
+ }
2389
+ else {
2390
+ throw new Error(`Unsupported email provider: ${emailConfig.provider}`);
2391
+ }
2355
2392
  if (!response.ok) {
2356
2393
  throw new Error(`Email API error: ${response.status}`);
2357
2394
  }
@@ -2776,8 +2813,8 @@ User Agent: ${feedbackData.userAgent}
2776
2813
  throw new Error('supabase.url is required');
2777
2814
  if (!this.config.supabase?.anonKey)
2778
2815
  throw new Error('supabase.anonKey is required');
2779
- if (typeof this.config.freeDownloadLimit !== 'number' || this.config.freeDownloadLimit < 0) {
2780
- throw new Error('freeDownloadLimit must be a non-negative number');
2816
+ if (typeof this.config.freeAttemptLimit !== 'number' || this.config.freeAttemptLimit < 0) {
2817
+ throw new Error('freeAttemptLimit must be a non-negative number');
2781
2818
  }
2782
2819
  }
2783
2820
  async initializeSupabase() {
@@ -2797,7 +2834,15 @@ User Agent: ${feedbackData.userAgent}
2797
2834
  return;
2798
2835
  }
2799
2836
  // Validate product ID format
2800
- const productId = this.config.payment.productId;
2837
+ const payment = this.config.payment?.find(p => p.provider === 'dodo');
2838
+ if (!payment) {
2839
+ this.paymentConnectionFailed = true;
2840
+ if (this.config.options?.debug) {
2841
+ console.warn('No dodo payment provider configured');
2842
+ }
2843
+ return;
2844
+ }
2845
+ const productId = payment.productId;
2801
2846
  if (!productId || !productId.startsWith('pdt_') || productId.length < 10) {
2802
2847
  this.paymentConnectionFailed = true;
2803
2848
  if (this.config.options?.debug) {