@classytic/revenue 1.0.0 → 1.0.2

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.
@@ -1,4 +1,4 @@
1
- export { G as GATEWAY_TYPES, n as GATEWAY_TYPE_VALUES, x as HOLD_REASON, z as HOLD_REASON_VALUES, H as HOLD_STATUS, u as HOLD_STATUS_VALUES, y as HoldReason, a0 as HoldReasonValue, Z as HoldStatus, _ as HoldStatusValue, L as LIBRARY_CATEGORIES, h as LIBRARY_CATEGORY_VALUES, f as LibraryCategories, g as LibraryCategoryValue, M as MONETIZATION_TYPES, t as MONETIZATION_TYPE_VALUES, Y as MonetizationTypeValue, s as MonetizationTypes, k as PAYMENT_GATEWAY_TYPE, m as PAYMENT_GATEWAY_TYPE_VALUES, P as PAYMENT_STATUS, j as PAYMENT_STATUS_VALUES, I as PAYOUT_METHOD, K as PAYOUT_METHOD_VALUES, p as PLAN_KEYS, r as PLAN_KEY_VALUES, l as PaymentGatewayType, U as PaymentGatewayTypeValue, i as PaymentStatus, Q as PaymentStatusValue, J as PayoutMethod, a3 as PayoutMethodValue, X as PlanKeyValue, q as PlanKeys, R as RELEASE_REASON, w as RELEASE_REASON_VALUES, v as ReleaseReason, $ as ReleaseReasonValue, D as SPLIT_STATUS, F as SPLIT_STATUS_VALUES, A as SPLIT_TYPE, C as SPLIT_TYPE_VALUES, S as SUBSCRIPTION_STATUS, o as SUBSCRIPTION_STATUS_VALUES, E as SplitStatus, a2 as SplitStatusValue, B as SplitType, a1 as SplitTypeValue, V as SubscriptionStatus, W as SubscriptionStatusValue, c as TRANSACTION_STATUS, e as TRANSACTION_STATUS_VALUES, T as TRANSACTION_TYPE, b as TRANSACTION_TYPE_VALUES, d as TransactionStatus, O as TransactionStatusValue, a as TransactionType, N as TransactionTypeValue } from '../split.enums-DHdM1YAV.js';
1
+ export { G as GATEWAY_TYPES, n as GATEWAY_TYPE_VALUES, x as HOLD_REASON, z as HOLD_REASON_VALUES, H as HOLD_STATUS, u as HOLD_STATUS_VALUES, y as HoldReason, a0 as HoldReasonValue, Z as HoldStatus, _ as HoldStatusValue, L as LIBRARY_CATEGORIES, h as LIBRARY_CATEGORY_VALUES, f as LibraryCategories, g as LibraryCategoryValue, M as MONETIZATION_TYPES, t as MONETIZATION_TYPE_VALUES, Y as MonetizationTypeValue, s as MonetizationTypes, k as PAYMENT_GATEWAY_TYPE, m as PAYMENT_GATEWAY_TYPE_VALUES, P as PAYMENT_STATUS, j as PAYMENT_STATUS_VALUES, I as PAYOUT_METHOD, K as PAYOUT_METHOD_VALUES, p as PLAN_KEYS, r as PLAN_KEY_VALUES, l as PaymentGatewayType, U as PaymentGatewayTypeValue, i as PaymentStatus, Q as PaymentStatusValue, J as PayoutMethod, a3 as PayoutMethodValue, X as PlanKeyValue, q as PlanKeys, R as RELEASE_REASON, w as RELEASE_REASON_VALUES, v as ReleaseReason, $ as ReleaseReasonValue, D as SPLIT_STATUS, F as SPLIT_STATUS_VALUES, A as SPLIT_TYPE, C as SPLIT_TYPE_VALUES, S as SUBSCRIPTION_STATUS, o as SUBSCRIPTION_STATUS_VALUES, E as SplitStatus, a2 as SplitStatusValue, B as SplitType, a1 as SplitTypeValue, V as SubscriptionStatus, W as SubscriptionStatusValue, c as TRANSACTION_STATUS, e as TRANSACTION_STATUS_VALUES, T as TRANSACTION_TYPE, b as TRANSACTION_TYPE_VALUES, d as TransactionStatus, O as TransactionStatusValue, a as TransactionType, N as TransactionTypeValue } from '../split.enums-Bh24jw8p.js';
2
2
 
3
3
  /**
4
4
  * @classytic/revenue - Centralized Enums
@@ -34,7 +34,7 @@ declare const _default: {
34
34
  readonly SUBSCRIPTION: "subscription";
35
35
  readonly PURCHASE: "purchase";
36
36
  };
37
- readonly LIBRARY_CATEGORY_VALUES: ("purchase" | "subscription")[];
37
+ readonly LIBRARY_CATEGORY_VALUES: ("subscription" | "purchase")[];
38
38
  readonly PAYMENT_STATUS: {
39
39
  readonly PENDING: "pending";
40
40
  readonly VERIFIED: "verified";
@@ -75,7 +75,7 @@ declare const _default: {
75
75
  readonly PURCHASE: "purchase";
76
76
  readonly SUBSCRIPTION: "subscription";
77
77
  };
78
- readonly MONETIZATION_TYPE_VALUES: ("free" | "purchase" | "subscription")[];
78
+ readonly MONETIZATION_TYPE_VALUES: ("subscription" | "purchase" | "free")[];
79
79
  readonly HOLD_STATUS: {
80
80
  readonly PENDING: "pending";
81
81
  readonly HELD: "held";
@@ -115,7 +115,7 @@ declare const _default: {
115
115
  readonly WAIVED: "waived";
116
116
  readonly CANCELLED: "cancelled";
117
117
  };
118
- readonly SPLIT_STATUS_VALUES: ("pending" | "cancelled" | "paid" | "waived" | "due")[];
118
+ readonly SPLIT_STATUS_VALUES: ("pending" | "cancelled" | "due" | "paid" | "waived")[];
119
119
  readonly PAYOUT_METHOD: {
120
120
  readonly BANK_TRANSFER: "bank_transfer";
121
121
  readonly MOBILE_WALLET: "mobile_wallet";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/enums/transaction.enums.ts","../../src/enums/payment.enums.ts","../../src/enums/subscription.enums.ts","../../src/enums/monetization.enums.ts","../../src/enums/escrow.enums.ts","../../src/enums/split.enums.ts","../../src/enums/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["/**\r\n * Transaction Enums\r\n * @classytic/revenue\r\n *\r\n * Library-managed transaction enums only.\r\n * Users should define their own categories and merge with these.\r\n */\r\n\r\n// ============ TRANSACTION TYPE ============\r\n/**\r\n * Transaction Type - Income vs Expense\r\n *\r\n * INCOME: Money coming in (payments, subscriptions, purchases)\r\n * EXPENSE: Money going out (refunds, payouts)\r\n *\r\n * Users can map these in their config via transactionTypeMapping\r\n */\r\nexport const TRANSACTION_TYPE = {\r\n INCOME: 'income',\r\n EXPENSE: 'expense',\r\n} as const;\r\n\r\nexport type TransactionType = typeof TRANSACTION_TYPE;\r\nexport type TransactionTypeValue = TransactionType[keyof TransactionType];\r\nexport const TRANSACTION_TYPE_VALUES = Object.values(TRANSACTION_TYPE);\r\n\r\n// ============ TRANSACTION STATUS ============\r\n/**\r\n * Transaction Status - Library-managed states\r\n */\r\nexport const TRANSACTION_STATUS = {\r\n PENDING: 'pending',\r\n PAYMENT_INITIATED: 'payment_initiated',\r\n PROCESSING: 'processing',\r\n REQUIRES_ACTION: 'requires_action',\r\n VERIFIED: 'verified',\r\n COMPLETED: 'completed',\r\n FAILED: 'failed',\r\n CANCELLED: 'cancelled',\r\n EXPIRED: 'expired',\r\n REFUNDED: 'refunded',\r\n PARTIALLY_REFUNDED: 'partially_refunded',\r\n} as const;\r\n\r\nexport type TransactionStatus = typeof TRANSACTION_STATUS;\r\nexport type TransactionStatusValue = TransactionStatus[keyof TransactionStatus];\r\nexport const TRANSACTION_STATUS_VALUES = Object.values(TRANSACTION_STATUS);\r\n\r\n// ============ LIBRARY CATEGORIES ============\r\n/**\r\n * Categories managed by this library\r\n *\r\n * SUBSCRIPTION: Recurring subscription payments\r\n * PURCHASE: One-time purchases\r\n *\r\n * Users should spread these into their own category enums:\r\n *\r\n * @example\r\n * import { LIBRARY_CATEGORIES } from '@classytic/revenue';\r\n *\r\n * export const MY_CATEGORIES = {\r\n * ...LIBRARY_CATEGORIES,\r\n * SALARY: 'salary',\r\n * RENT: 'rent',\r\n * EQUIPMENT: 'equipment',\r\n * } as const;\r\n */\r\nexport const LIBRARY_CATEGORIES = {\r\n SUBSCRIPTION: 'subscription',\r\n PURCHASE: 'purchase',\r\n} as const;\r\n\r\nexport type LibraryCategories = typeof LIBRARY_CATEGORIES;\r\nexport type LibraryCategoryValue = LibraryCategories[keyof LibraryCategories];\r\nexport const LIBRARY_CATEGORY_VALUES = Object.values(LIBRARY_CATEGORIES);\r\n\r\n","/**\r\n * Payment Enums\r\n * @classytic/revenue\r\n *\r\n * Library-managed payment enums only.\r\n * Users define their own payment methods in their schema.\r\n */\r\n\r\n// ============ PAYMENT STATUS ============\r\n/**\r\n * Payment Status - Library-managed states\r\n */\r\nexport const PAYMENT_STATUS = {\r\n PENDING: 'pending',\r\n VERIFIED: 'verified',\r\n FAILED: 'failed',\r\n REFUNDED: 'refunded',\r\n CANCELLED: 'cancelled',\r\n} as const;\r\n\r\nexport type PaymentStatus = typeof PAYMENT_STATUS;\r\nexport type PaymentStatusValue = PaymentStatus[keyof PaymentStatus];\r\nexport const PAYMENT_STATUS_VALUES = Object.values(PAYMENT_STATUS);\r\n\r\n// ============ PAYMENT GATEWAY TYPES ============\r\n/**\r\n * Common gateway type constants for convenience\r\n *\r\n * ⚠️ IMPORTANT: These are NOT restrictions - just common reference values\r\n *\r\n * You can register ANY custom gateway provider by passing it to createRevenue():\r\n *\r\n * @example\r\n * ```typescript\r\n * const revenue = createRevenue({\r\n * providers: {\r\n * manual: new ManualProvider(),\r\n * bkash: new BkashProvider(), // ✅ Custom gateway\r\n * nagad: new NagadProvider(), // ✅ Custom gateway\r\n * stripe: new StripeProvider(), // ✅ Custom gateway\r\n * paypal: new PaypalProvider(), // ✅ Any gateway you want\r\n * }\r\n * });\r\n *\r\n * // Use by name\r\n * await revenue.monetization.create({ gateway: 'bkash', ... });\r\n * ```\r\n *\r\n * Reference values:\r\n * - MANUAL: Built-in manual provider (@classytic/revenue-manual)\r\n * - STRIPE: Stripe provider (build with @classytic/revenue-stripe)\r\n * - SSLCOMMERZ: SSLCommerz provider (build with @classytic/revenue-sslcommerz)\r\n *\r\n * Add your own: bkash, nagad, rocket, paypal, razorpay, flutterwave, etc.\r\n */\r\nexport const PAYMENT_GATEWAY_TYPE = {\r\n MANUAL: 'manual',\r\n STRIPE: 'stripe',\r\n SSLCOMMERZ: 'sslcommerz',\r\n} as const;\r\n\r\nexport type PaymentGatewayType = typeof PAYMENT_GATEWAY_TYPE;\r\nexport type PaymentGatewayTypeValue = PaymentGatewayType[keyof PaymentGatewayType];\r\nexport const PAYMENT_GATEWAY_TYPE_VALUES = Object.values(PAYMENT_GATEWAY_TYPE);\r\n\r\n// Backward compatibility alias\r\nexport const GATEWAY_TYPES = PAYMENT_GATEWAY_TYPE;\r\nexport const GATEWAY_TYPE_VALUES = PAYMENT_GATEWAY_TYPE_VALUES;\r\n\r\n","/**\r\n * Subscription Enums\r\n * @classytic/revenue\r\n *\r\n * All subscription-related enums and constants\r\n */\r\n\r\n// ============ SUBSCRIPTION STATUS ============\r\n/**\r\n * Subscription Status\r\n */\r\nexport const SUBSCRIPTION_STATUS = {\r\n ACTIVE: 'active',\r\n PAUSED: 'paused',\r\n CANCELLED: 'cancelled',\r\n EXPIRED: 'expired',\r\n PENDING: 'pending',\r\n INACTIVE: 'inactive',\r\n} as const;\r\n\r\nexport type SubscriptionStatus = typeof SUBSCRIPTION_STATUS;\r\nexport type SubscriptionStatusValue = SubscriptionStatus[keyof SubscriptionStatus];\r\nexport const SUBSCRIPTION_STATUS_VALUES = Object.values(SUBSCRIPTION_STATUS);\r\n\r\n// ============ PLAN KEYS ============\r\n/**\r\n * Supported plan intervals\r\n */\r\nexport const PLAN_KEYS = {\r\n MONTHLY: 'monthly',\r\n QUARTERLY: 'quarterly',\r\n YEARLY: 'yearly',\r\n} as const;\r\n\r\nexport type PlanKeys = typeof PLAN_KEYS;\r\nexport type PlanKeyValue = PlanKeys[keyof PlanKeys];\r\nexport const PLAN_KEY_VALUES = Object.values(PLAN_KEYS);\r\n\r\n","/**\r\n * Monetization Enums\r\n * @classytic/revenue\r\n *\r\n * General monetization enums and constants\r\n */\r\n\r\n// ============ MONETIZATION TYPES ============\r\nexport const MONETIZATION_TYPES = {\r\n FREE: 'free',\r\n PURCHASE: 'purchase',\r\n SUBSCRIPTION: 'subscription',\r\n} as const;\r\n\r\nexport type MonetizationTypes = typeof MONETIZATION_TYPES;\r\nexport type MonetizationTypeValue = MonetizationTypes[keyof MonetizationTypes];\r\nexport const MONETIZATION_TYPE_VALUES = Object.values(MONETIZATION_TYPES);\r\n\r\n","/**\r\n * Escrow/Hold Enums\r\n * @classytic/revenue\r\n *\r\n * Enums for platform-as-intermediary payment flow\r\n */\r\n\r\nexport const HOLD_STATUS = {\r\n PENDING: 'pending',\r\n HELD: 'held',\r\n RELEASED: 'released',\r\n CANCELLED: 'cancelled',\r\n EXPIRED: 'expired',\r\n PARTIALLY_RELEASED: 'partially_released',\r\n} as const;\r\n\r\nexport type HoldStatus = typeof HOLD_STATUS;\r\nexport type HoldStatusValue = HoldStatus[keyof HoldStatus];\r\nexport const HOLD_STATUS_VALUES = Object.values(HOLD_STATUS);\r\n\r\nexport const RELEASE_REASON = {\r\n PAYMENT_VERIFIED: 'payment_verified',\r\n MANUAL_RELEASE: 'manual_release',\r\n AUTO_RELEASE: 'auto_release',\r\n DISPUTE_RESOLVED: 'dispute_resolved',\r\n} as const;\r\n\r\nexport type ReleaseReason = typeof RELEASE_REASON;\r\nexport type ReleaseReasonValue = ReleaseReason[keyof ReleaseReason];\r\nexport const RELEASE_REASON_VALUES = Object.values(RELEASE_REASON);\r\n\r\nexport const HOLD_REASON = {\r\n PAYMENT_VERIFICATION: 'payment_verification',\r\n FRAUD_CHECK: 'fraud_check',\r\n MANUAL_REVIEW: 'manual_review',\r\n DISPUTE: 'dispute',\r\n COMPLIANCE: 'compliance',\r\n} as const;\r\n\r\nexport type HoldReason = typeof HOLD_REASON;\r\nexport type HoldReasonValue = HoldReason[keyof HoldReason];\r\nexport const HOLD_REASON_VALUES = Object.values(HOLD_REASON);\r\n\r\n","/**\r\n * Split Payment Enums\r\n * @classytic/revenue\r\n *\r\n * Enums for multi-party commission splits\r\n */\r\n\r\nexport const SPLIT_TYPE = {\r\n PLATFORM_COMMISSION: 'platform_commission',\r\n AFFILIATE_COMMISSION: 'affiliate_commission',\r\n REFERRAL_COMMISSION: 'referral_commission',\r\n PARTNER_COMMISSION: 'partner_commission',\r\n CUSTOM: 'custom',\r\n} as const;\r\n\r\nexport type SplitType = typeof SPLIT_TYPE;\r\nexport type SplitTypeValue = SplitType[keyof SplitType];\r\nexport const SPLIT_TYPE_VALUES = Object.values(SPLIT_TYPE);\r\n\r\nexport const SPLIT_STATUS = {\r\n PENDING: 'pending',\r\n DUE: 'due',\r\n PAID: 'paid',\r\n WAIVED: 'waived',\r\n CANCELLED: 'cancelled',\r\n} as const;\r\n\r\nexport type SplitStatus = typeof SPLIT_STATUS;\r\nexport type SplitStatusValue = SplitStatus[keyof SplitStatus];\r\nexport const SPLIT_STATUS_VALUES = Object.values(SPLIT_STATUS);\r\n\r\nexport const PAYOUT_METHOD = {\r\n BANK_TRANSFER: 'bank_transfer',\r\n MOBILE_WALLET: 'mobile_wallet',\r\n PLATFORM_BALANCE: 'platform_balance',\r\n CRYPTO: 'crypto',\r\n CHECK: 'check',\r\n MANUAL: 'manual',\r\n} as const;\r\n\r\nexport type PayoutMethod = typeof PAYOUT_METHOD;\r\nexport type PayoutMethodValue = PayoutMethod[keyof PayoutMethod];\r\nexport const PAYOUT_METHOD_VALUES = Object.values(PAYOUT_METHOD);\r\n\r\n","/**\r\n * @classytic/revenue - Centralized Enums\r\n * All enums for the revenue management system\r\n *\r\n * This file serves as the single source of truth for all enum values\r\n * used across monetization and payment subsystems.\r\n *\r\n * @module @classytic/revenue/enums\r\n */\r\n\r\n// Re-export all enums\r\nexport * from './transaction.enums.js';\r\nexport * from './payment.enums.js';\r\nexport * from './subscription.enums.js';\r\nexport * from './monetization.enums.js';\r\nexport * from './escrow.enums.js';\r\nexport * from './split.enums.js';\r\n\r\n// Import for default export\r\nimport {\r\n TRANSACTION_TYPE,\r\n TRANSACTION_TYPE_VALUES,\r\n TRANSACTION_STATUS,\r\n TRANSACTION_STATUS_VALUES,\r\n LIBRARY_CATEGORIES,\r\n LIBRARY_CATEGORY_VALUES,\r\n} from './transaction.enums.js';\r\n\r\nimport {\r\n PAYMENT_STATUS,\r\n PAYMENT_STATUS_VALUES,\r\n PAYMENT_GATEWAY_TYPE,\r\n PAYMENT_GATEWAY_TYPE_VALUES,\r\n GATEWAY_TYPES,\r\n GATEWAY_TYPE_VALUES,\r\n} from './payment.enums.js';\r\n\r\nimport {\r\n SUBSCRIPTION_STATUS,\r\n SUBSCRIPTION_STATUS_VALUES,\r\n PLAN_KEYS,\r\n PLAN_KEY_VALUES,\r\n} from './subscription.enums.js';\r\n\r\nimport {\r\n MONETIZATION_TYPES,\r\n MONETIZATION_TYPE_VALUES,\r\n} from './monetization.enums.js';\r\n\r\nimport {\r\n HOLD_STATUS,\r\n HOLD_STATUS_VALUES,\r\n RELEASE_REASON,\r\n RELEASE_REASON_VALUES,\r\n HOLD_REASON,\r\n HOLD_REASON_VALUES,\r\n} from './escrow.enums.js';\r\n\r\nimport {\r\n SPLIT_TYPE,\r\n SPLIT_TYPE_VALUES,\r\n SPLIT_STATUS,\r\n SPLIT_STATUS_VALUES,\r\n PAYOUT_METHOD,\r\n PAYOUT_METHOD_VALUES,\r\n} from './split.enums.js';\r\n\r\nexport default {\r\n // Transaction enums\r\n TRANSACTION_TYPE,\r\n TRANSACTION_TYPE_VALUES,\r\n TRANSACTION_STATUS,\r\n TRANSACTION_STATUS_VALUES,\r\n LIBRARY_CATEGORIES,\r\n LIBRARY_CATEGORY_VALUES,\r\n\r\n // Payment enums\r\n PAYMENT_STATUS,\r\n PAYMENT_STATUS_VALUES,\r\n PAYMENT_GATEWAY_TYPE,\r\n PAYMENT_GATEWAY_TYPE_VALUES,\r\n GATEWAY_TYPES,\r\n GATEWAY_TYPE_VALUES,\r\n\r\n // Subscription enums\r\n SUBSCRIPTION_STATUS,\r\n SUBSCRIPTION_STATUS_VALUES,\r\n PLAN_KEYS,\r\n PLAN_KEY_VALUES,\r\n\r\n // Monetization enums\r\n MONETIZATION_TYPES,\r\n MONETIZATION_TYPE_VALUES,\r\n\r\n // Escrow enums\r\n HOLD_STATUS,\r\n HOLD_STATUS_VALUES,\r\n RELEASE_REASON,\r\n RELEASE_REASON_VALUES,\r\n HOLD_REASON,\r\n HOLD_REASON_VALUES,\r\n\r\n // Split enums\r\n SPLIT_TYPE,\r\n SPLIT_TYPE_VALUES,\r\n SPLIT_STATUS,\r\n SPLIT_STATUS_VALUES,\r\n PAYOUT_METHOD,\r\n PAYOUT_METHOD_VALUES,\r\n} as const;\r\n\r\n"]}
1
+ {"version":3,"sources":["../../src/enums/transaction.enums.ts","../../src/enums/payment.enums.ts","../../src/enums/subscription.enums.ts","../../src/enums/monetization.enums.ts","../../src/enums/escrow.enums.ts","../../src/enums/split.enums.ts","../../src/enums/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["/**\n * Transaction Enums\n * @classytic/revenue\n *\n * Library-managed transaction enums only.\n * Users should define their own categories and merge with these.\n */\n\n// ============ TRANSACTION TYPE ============\n/**\n * Transaction Type - Income vs Expense\n *\n * INCOME: Money coming in (payments, subscriptions, purchases)\n * EXPENSE: Money going out (refunds, payouts)\n *\n * Users can map these in their config via transactionTypeMapping\n */\nexport const TRANSACTION_TYPE = {\n INCOME: 'income',\n EXPENSE: 'expense',\n} as const;\n\nexport type TransactionType = typeof TRANSACTION_TYPE;\nexport type TransactionTypeValue = TransactionType[keyof TransactionType];\nexport const TRANSACTION_TYPE_VALUES = Object.values(TRANSACTION_TYPE);\n\n// ============ TRANSACTION STATUS ============\n/**\n * Transaction Status - Library-managed states\n */\nexport const TRANSACTION_STATUS = {\n PENDING: 'pending',\n PAYMENT_INITIATED: 'payment_initiated',\n PROCESSING: 'processing',\n REQUIRES_ACTION: 'requires_action',\n VERIFIED: 'verified',\n COMPLETED: 'completed',\n FAILED: 'failed',\n CANCELLED: 'cancelled',\n EXPIRED: 'expired',\n REFUNDED: 'refunded',\n PARTIALLY_REFUNDED: 'partially_refunded',\n} as const;\n\nexport type TransactionStatus = typeof TRANSACTION_STATUS;\nexport type TransactionStatusValue = TransactionStatus[keyof TransactionStatus];\nexport const TRANSACTION_STATUS_VALUES = Object.values(TRANSACTION_STATUS);\n\n// ============ LIBRARY CATEGORIES ============\n/**\n * Categories managed by this library\n *\n * SUBSCRIPTION: Recurring subscription payments\n * PURCHASE: One-time purchases\n *\n * Users should spread these into their own category enums:\n *\n * @example\n * import { LIBRARY_CATEGORIES } from '@classytic/revenue';\n *\n * export const MY_CATEGORIES = {\n * ...LIBRARY_CATEGORIES,\n * SALARY: 'salary',\n * RENT: 'rent',\n * EQUIPMENT: 'equipment',\n * } as const;\n */\nexport const LIBRARY_CATEGORIES = {\n SUBSCRIPTION: 'subscription',\n PURCHASE: 'purchase',\n} as const;\n\nexport type LibraryCategories = typeof LIBRARY_CATEGORIES;\nexport type LibraryCategoryValue = LibraryCategories[keyof LibraryCategories];\nexport const LIBRARY_CATEGORY_VALUES = Object.values(LIBRARY_CATEGORIES);\n\n","/**\n * Payment Enums\n * @classytic/revenue\n *\n * Library-managed payment enums only.\n * Users define their own payment methods in their schema.\n */\n\n// ============ PAYMENT STATUS ============\n/**\n * Payment Status - Library-managed states\n */\nexport const PAYMENT_STATUS = {\n PENDING: 'pending',\n VERIFIED: 'verified',\n FAILED: 'failed',\n REFUNDED: 'refunded',\n CANCELLED: 'cancelled',\n} as const;\n\nexport type PaymentStatus = typeof PAYMENT_STATUS;\nexport type PaymentStatusValue = PaymentStatus[keyof PaymentStatus];\nexport const PAYMENT_STATUS_VALUES = Object.values(PAYMENT_STATUS);\n\n// ============ PAYMENT GATEWAY TYPES ============\n/**\n * Common gateway type constants for convenience\n *\n * ⚠️ IMPORTANT: These are NOT restrictions - just common reference values\n *\n * You can register ANY custom gateway provider by passing it to createRevenue():\n *\n * @example\n * ```typescript\n * const revenue = createRevenue({\n * providers: {\n * manual: new ManualProvider(),\n * bkash: new BkashProvider(), // ✅ Custom gateway\n * nagad: new NagadProvider(), // ✅ Custom gateway\n * stripe: new StripeProvider(), // ✅ Custom gateway\n * paypal: new PaypalProvider(), // ✅ Any gateway you want\n * }\n * });\n *\n * // Use by name\n * await revenue.monetization.create({ gateway: 'bkash', ... });\n * ```\n *\n * Reference values:\n * - MANUAL: Built-in manual provider (@classytic/revenue-manual)\n * - STRIPE: Stripe provider (build with @classytic/revenue-stripe)\n * - SSLCOMMERZ: SSLCommerz provider (build with @classytic/revenue-sslcommerz)\n *\n * Add your own: bkash, nagad, rocket, paypal, razorpay, flutterwave, etc.\n */\nexport const PAYMENT_GATEWAY_TYPE = {\n MANUAL: 'manual',\n STRIPE: 'stripe',\n SSLCOMMERZ: 'sslcommerz',\n} as const;\n\nexport type PaymentGatewayType = typeof PAYMENT_GATEWAY_TYPE;\nexport type PaymentGatewayTypeValue = PaymentGatewayType[keyof PaymentGatewayType];\nexport const PAYMENT_GATEWAY_TYPE_VALUES = Object.values(PAYMENT_GATEWAY_TYPE);\n\n// Backward compatibility alias\nexport const GATEWAY_TYPES = PAYMENT_GATEWAY_TYPE;\nexport const GATEWAY_TYPE_VALUES = PAYMENT_GATEWAY_TYPE_VALUES;\n\n","/**\n * Subscription Enums\n * @classytic/revenue\n *\n * All subscription-related enums and constants\n */\n\n// ============ SUBSCRIPTION STATUS ============\n/**\n * Subscription Status\n */\nexport const SUBSCRIPTION_STATUS = {\n ACTIVE: 'active',\n PAUSED: 'paused',\n CANCELLED: 'cancelled',\n EXPIRED: 'expired',\n PENDING: 'pending',\n INACTIVE: 'inactive',\n} as const;\n\nexport type SubscriptionStatus = typeof SUBSCRIPTION_STATUS;\nexport type SubscriptionStatusValue = SubscriptionStatus[keyof SubscriptionStatus];\nexport const SUBSCRIPTION_STATUS_VALUES = Object.values(SUBSCRIPTION_STATUS);\n\n// ============ PLAN KEYS ============\n/**\n * Supported plan intervals\n */\nexport const PLAN_KEYS = {\n MONTHLY: 'monthly',\n QUARTERLY: 'quarterly',\n YEARLY: 'yearly',\n} as const;\n\nexport type PlanKeys = typeof PLAN_KEYS;\nexport type PlanKeyValue = PlanKeys[keyof PlanKeys];\nexport const PLAN_KEY_VALUES = Object.values(PLAN_KEYS);\n\n","/**\n * Monetization Enums\n * @classytic/revenue\n *\n * General monetization enums and constants\n */\n\n// ============ MONETIZATION TYPES ============\nexport const MONETIZATION_TYPES = {\n FREE: 'free',\n PURCHASE: 'purchase',\n SUBSCRIPTION: 'subscription',\n} as const;\n\nexport type MonetizationTypes = typeof MONETIZATION_TYPES;\nexport type MonetizationTypeValue = MonetizationTypes[keyof MonetizationTypes];\nexport const MONETIZATION_TYPE_VALUES = Object.values(MONETIZATION_TYPES);\n\n","/**\n * Escrow/Hold Enums\n * @classytic/revenue\n *\n * Enums for platform-as-intermediary payment flow\n */\n\nexport const HOLD_STATUS = {\n PENDING: 'pending',\n HELD: 'held',\n RELEASED: 'released',\n CANCELLED: 'cancelled',\n EXPIRED: 'expired',\n PARTIALLY_RELEASED: 'partially_released',\n} as const;\n\nexport type HoldStatus = typeof HOLD_STATUS;\nexport type HoldStatusValue = HoldStatus[keyof HoldStatus];\nexport const HOLD_STATUS_VALUES = Object.values(HOLD_STATUS);\n\nexport const RELEASE_REASON = {\n PAYMENT_VERIFIED: 'payment_verified',\n MANUAL_RELEASE: 'manual_release',\n AUTO_RELEASE: 'auto_release',\n DISPUTE_RESOLVED: 'dispute_resolved',\n} as const;\n\nexport type ReleaseReason = typeof RELEASE_REASON;\nexport type ReleaseReasonValue = ReleaseReason[keyof ReleaseReason];\nexport const RELEASE_REASON_VALUES = Object.values(RELEASE_REASON);\n\nexport const HOLD_REASON = {\n PAYMENT_VERIFICATION: 'payment_verification',\n FRAUD_CHECK: 'fraud_check',\n MANUAL_REVIEW: 'manual_review',\n DISPUTE: 'dispute',\n COMPLIANCE: 'compliance',\n} as const;\n\nexport type HoldReason = typeof HOLD_REASON;\nexport type HoldReasonValue = HoldReason[keyof HoldReason];\nexport const HOLD_REASON_VALUES = Object.values(HOLD_REASON);\n\n","/**\n * Split Payment Enums\n * @classytic/revenue\n *\n * Enums for multi-party commission splits\n */\n\nexport const SPLIT_TYPE = {\n PLATFORM_COMMISSION: 'platform_commission',\n AFFILIATE_COMMISSION: 'affiliate_commission',\n REFERRAL_COMMISSION: 'referral_commission',\n PARTNER_COMMISSION: 'partner_commission',\n CUSTOM: 'custom',\n} as const;\n\nexport type SplitType = typeof SPLIT_TYPE;\nexport type SplitTypeValue = SplitType[keyof SplitType];\nexport const SPLIT_TYPE_VALUES = Object.values(SPLIT_TYPE);\n\nexport const SPLIT_STATUS = {\n PENDING: 'pending',\n DUE: 'due',\n PAID: 'paid',\n WAIVED: 'waived',\n CANCELLED: 'cancelled',\n} as const;\n\nexport type SplitStatus = typeof SPLIT_STATUS;\nexport type SplitStatusValue = SplitStatus[keyof SplitStatus];\nexport const SPLIT_STATUS_VALUES = Object.values(SPLIT_STATUS);\n\nexport const PAYOUT_METHOD = {\n BANK_TRANSFER: 'bank_transfer',\n MOBILE_WALLET: 'mobile_wallet',\n PLATFORM_BALANCE: 'platform_balance',\n CRYPTO: 'crypto',\n CHECK: 'check',\n MANUAL: 'manual',\n} as const;\n\nexport type PayoutMethod = typeof PAYOUT_METHOD;\nexport type PayoutMethodValue = PayoutMethod[keyof PayoutMethod];\nexport const PAYOUT_METHOD_VALUES = Object.values(PAYOUT_METHOD);\n\n","/**\n * @classytic/revenue - Centralized Enums\n * All enums for the revenue management system\n *\n * This file serves as the single source of truth for all enum values\n * used across monetization and payment subsystems.\n *\n * @module @classytic/revenue/enums\n */\n\n// Re-export all enums\nexport * from './transaction.enums.js';\nexport * from './payment.enums.js';\nexport * from './subscription.enums.js';\nexport * from './monetization.enums.js';\nexport * from './escrow.enums.js';\nexport * from './split.enums.js';\n\n// Import for default export\nimport {\n TRANSACTION_TYPE,\n TRANSACTION_TYPE_VALUES,\n TRANSACTION_STATUS,\n TRANSACTION_STATUS_VALUES,\n LIBRARY_CATEGORIES,\n LIBRARY_CATEGORY_VALUES,\n} from './transaction.enums.js';\n\nimport {\n PAYMENT_STATUS,\n PAYMENT_STATUS_VALUES,\n PAYMENT_GATEWAY_TYPE,\n PAYMENT_GATEWAY_TYPE_VALUES,\n GATEWAY_TYPES,\n GATEWAY_TYPE_VALUES,\n} from './payment.enums.js';\n\nimport {\n SUBSCRIPTION_STATUS,\n SUBSCRIPTION_STATUS_VALUES,\n PLAN_KEYS,\n PLAN_KEY_VALUES,\n} from './subscription.enums.js';\n\nimport {\n MONETIZATION_TYPES,\n MONETIZATION_TYPE_VALUES,\n} from './monetization.enums.js';\n\nimport {\n HOLD_STATUS,\n HOLD_STATUS_VALUES,\n RELEASE_REASON,\n RELEASE_REASON_VALUES,\n HOLD_REASON,\n HOLD_REASON_VALUES,\n} from './escrow.enums.js';\n\nimport {\n SPLIT_TYPE,\n SPLIT_TYPE_VALUES,\n SPLIT_STATUS,\n SPLIT_STATUS_VALUES,\n PAYOUT_METHOD,\n PAYOUT_METHOD_VALUES,\n} from './split.enums.js';\n\nexport default {\n // Transaction enums\n TRANSACTION_TYPE,\n TRANSACTION_TYPE_VALUES,\n TRANSACTION_STATUS,\n TRANSACTION_STATUS_VALUES,\n LIBRARY_CATEGORIES,\n LIBRARY_CATEGORY_VALUES,\n\n // Payment enums\n PAYMENT_STATUS,\n PAYMENT_STATUS_VALUES,\n PAYMENT_GATEWAY_TYPE,\n PAYMENT_GATEWAY_TYPE_VALUES,\n GATEWAY_TYPES,\n GATEWAY_TYPE_VALUES,\n\n // Subscription enums\n SUBSCRIPTION_STATUS,\n SUBSCRIPTION_STATUS_VALUES,\n PLAN_KEYS,\n PLAN_KEY_VALUES,\n\n // Monetization enums\n MONETIZATION_TYPES,\n MONETIZATION_TYPE_VALUES,\n\n // Escrow enums\n HOLD_STATUS,\n HOLD_STATUS_VALUES,\n RELEASE_REASON,\n RELEASE_REASON_VALUES,\n HOLD_REASON,\n HOLD_REASON_VALUES,\n\n // Split enums\n SPLIT_TYPE,\n SPLIT_TYPE_VALUES,\n SPLIT_STATUS,\n SPLIT_STATUS_VALUES,\n PAYOUT_METHOD,\n PAYOUT_METHOD_VALUES,\n} as const;\n\n"]}
package/dist/index.d.ts CHANGED
@@ -8,8 +8,8 @@ export { E as EDITABLE_MONETIZATION_FIELDS_PRE_VERIFICATION, h as IdempotencyCon
8
8
  export { CancelSubscriptionInput, CancelSubscriptionSchema, CommissionConfig, CommissionConfigSchema, CreateHoldInput, CreateHoldSchema, CreateMonetizationSchema, CreatePaymentInput, CreatePaymentSchema, CreateSubscriptionInput, CreateSubscriptionSchema, CurrencySchema, EmailSchema, HoldStatus, HoldStatusSchema, IdempotencyKeySchema, Interval, IntervalSchema, MetadataSchema, MonetizationType, MonetizationTypeSchema, MoneyAmountSchema, MoneySchema, ObjectIdSchema, ProviderConfigSchema, RefundInput, RefundSchema, ReleaseHoldInput, ReleaseHoldSchema, RetryConfig, RetryConfigSchema, RevenueConfigInput, RevenueConfigSchema, SplitRecipient, SplitRecipientSchema, SubscriptionStatus, SubscriptionStatusSchema, VerifyPaymentInput, VerifyPaymentSchema, formatZodError, safeValidate, validate } from './schemas/validation.js';
9
9
  import { PaymentProvider } from './providers/index.js';
10
10
  export { PaymentIntent, PaymentResult, RefundResult, WebhookEvent } from './providers/index.js';
11
- export { G as GATEWAY_TYPES, n as GATEWAY_TYPE_VALUES, x as HOLD_REASON, z as HOLD_REASON_VALUES, H as HOLD_STATUS, u as HOLD_STATUS_VALUES, y as HoldReason, L as LIBRARY_CATEGORIES, h as LIBRARY_CATEGORY_VALUES, f as LibraryCategories, g as LibraryCategoryValue, M as MONETIZATION_TYPES, t as MONETIZATION_TYPE_VALUES, s as MonetizationTypes, k as PAYMENT_GATEWAY_TYPE, m as PAYMENT_GATEWAY_TYPE_VALUES, P as PAYMENT_STATUS, j as PAYMENT_STATUS_VALUES, I as PAYOUT_METHOD, K as PAYOUT_METHOD_VALUES, p as PLAN_KEYS, r as PLAN_KEY_VALUES, l as PaymentGatewayType, i as PaymentStatus, J as PayoutMethod, q as PlanKeys, R as RELEASE_REASON, w as RELEASE_REASON_VALUES, v as ReleaseReason, D as SPLIT_STATUS, F as SPLIT_STATUS_VALUES, A as SPLIT_TYPE, C as SPLIT_TYPE_VALUES, S as SUBSCRIPTION_STATUS, o as SUBSCRIPTION_STATUS_VALUES, E as SplitStatus, B as SplitType, c as TRANSACTION_STATUS, e as TRANSACTION_STATUS_VALUES, T as TRANSACTION_TYPE, b as TRANSACTION_TYPE_VALUES, d as TransactionStatus, a as TransactionType } from './split.enums-DHdM1YAV.js';
12
- export { b as baseMetadataSchema, d as commissionSchema, c as currentPaymentSchema, g as gatewaySchema, h as holdSchema, a as paymentDetailsSchema, p as paymentSummarySchema, e as planSchema, r as referenceSchema, f as splitSchema, s as subscriptionInfoSchema, t as tenantSnapshotSchema } from './split.schema-BPdFZMbU.js';
11
+ export { G as GATEWAY_TYPES, n as GATEWAY_TYPE_VALUES, x as HOLD_REASON, z as HOLD_REASON_VALUES, H as HOLD_STATUS, u as HOLD_STATUS_VALUES, y as HoldReason, L as LIBRARY_CATEGORIES, h as LIBRARY_CATEGORY_VALUES, f as LibraryCategories, g as LibraryCategoryValue, M as MONETIZATION_TYPES, t as MONETIZATION_TYPE_VALUES, s as MonetizationTypes, k as PAYMENT_GATEWAY_TYPE, m as PAYMENT_GATEWAY_TYPE_VALUES, P as PAYMENT_STATUS, j as PAYMENT_STATUS_VALUES, I as PAYOUT_METHOD, K as PAYOUT_METHOD_VALUES, p as PLAN_KEYS, r as PLAN_KEY_VALUES, l as PaymentGatewayType, i as PaymentStatus, J as PayoutMethod, q as PlanKeys, R as RELEASE_REASON, w as RELEASE_REASON_VALUES, v as ReleaseReason, D as SPLIT_STATUS, F as SPLIT_STATUS_VALUES, A as SPLIT_TYPE, C as SPLIT_TYPE_VALUES, S as SUBSCRIPTION_STATUS, o as SUBSCRIPTION_STATUS_VALUES, E as SplitStatus, B as SplitType, c as TRANSACTION_STATUS, e as TRANSACTION_STATUS_VALUES, T as TRANSACTION_TYPE, b as TRANSACTION_TYPE_VALUES, d as TransactionStatus, a as TransactionType } from './split.enums-Bh24jw8p.js';
12
+ export { b as baseMetadataSchema, d as commissionSchema, c as currentPaymentSchema, g as gatewaySchema, h as holdSchema, a as paymentDetailsSchema, p as paymentSummarySchema, e as planSchema, r as referenceSchema, f as splitSchema, s as subscriptionInfoSchema, t as tenantSnapshotSchema } from './split.schema-DYVP7Wu2.js';
13
13
  export { G as ActivateOptions, a3 as CancelHoldOptions, J as CancelOptions, C as CommissionInfo, ab as CommissionWithSplitsOptions, q as CreateIntentParams, B as CreateRevenueOptions, a9 as DurationResult, a5 as EscrowStatusResult, ad as FieldUpdateValidationResult, H as HoldInfo, a0 as HoldOptions, j as HoldReasonValue, i as HoldStatusValue, z as HooksRegistry, Q as ListOptions, L as Logger, x as ModelsRegistry, E as MonetizationCreateParams, F as MonetizationCreateResult, D as MonetizationData, h as MonetizationTypeValue, M as MongooseDoc, a as MongooseModel, O as ObjectId, K as PauseOptions, g as PaymentGatewayTypeValue, r as PaymentIntentData, w as PaymentProviderInterface, Z as PaymentRefundResult, s as PaymentResultData, X as PaymentStatusResult, f as PaymentStatusValue, U as PaymentVerifyOptions, V as PaymentVerifyResult, n as PayoutMethodValue, a6 as PeriodRangeParams, a7 as PeriodRangeResult, P as PlanKeyValue, a8 as ProratedAmountParams, v as ProviderCapabilities, y as ProvidersRegistry, Y as RefundOptions, t as RefundResultData, a1 as ReleaseOptions, k as ReleaseReasonValue, R as ReleaseRecord, a2 as ReleaseResult, I as RenewalParams, N as ResumeOptions, A as RevenueConfig, p as SplitInfo, a4 as SplitResult, o as SplitRule, m as SplitStatusValue, l as SplitTypeValue, e as SubscriptionDocument, aa as SubscriptionEntity, S as SubscriptionStatusValue, d as TransactionDocument, c as TransactionGateway, $ as TransactionListResult, T as TransactionStatusValue, ac as TransactionTypeOptions, b as TransactionTypeValue, u as WebhookEventData, W as WebhookInfo, _ as WebhookResult } from './index-ChVD3P9k.js';
14
14
  import * as z from 'zod';
15
15
  export { z };
package/dist/index.js CHANGED
@@ -3029,19 +3029,13 @@ var RevenueBuilder = class {
3029
3029
  this.plugins.push(...plugins);
3030
3030
  return this;
3031
3031
  }
3032
- /**
3033
- * Register event hooks (for backward compatibility)
3034
- *
3035
- * @example
3036
- * ```typescript
3037
- * .withHooks({
3038
- * onPaymentVerified: async (tx) => { ... },
3039
- * onSubscriptionRenewed: async (sub) => { ... },
3040
- * })
3041
- * ```
3042
- */
3043
3032
  withHooks(hooks) {
3044
- this.hooks = { ...this.hooks, ...hooks };
3033
+ const normalized = {};
3034
+ for (const [event, handlerOrHandlers] of Object.entries(hooks)) {
3035
+ if (!handlerOrHandlers) continue;
3036
+ normalized[event] = Array.isArray(handlerOrHandlers) ? handlerOrHandlers : [handlerOrHandlers];
3037
+ }
3038
+ this.hooks = { ...this.hooks, ...normalized };
3045
3039
  return this;
3046
3040
  }
3047
3041
  /**