@classytic/revenue 1.1.4 → 2.0.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/CHANGELOG.md +90 -0
- package/README.md +638 -632
- package/dist/audit-B39B0Sdq.mjs +53 -0
- package/dist/audit-DZ0eTr9g.d.mts +89 -0
- package/dist/bridges/index.d.mts +2 -0
- package/dist/bridges/index.mjs +1 -0
- package/dist/context-DRqSeTPM.d.mts +35 -0
- package/dist/core/state-machines.d.mts +35 -0
- package/dist/core/state-machines.mjs +134 -0
- package/dist/engine-types-CcjIb4Fy.d.mts +611 -0
- package/dist/enums/index.d.mts +3 -157
- package/dist/enums/index.mjs +3 -55
- package/dist/errors-DHa8JVQ-.mjs +92 -0
- package/dist/escrow.schema-BBv9oVEW.mjs +322 -0
- package/dist/escrow.schema-CC8XuD46.d.mts +629 -0
- package/dist/event-constants-CEMitnIV.mjs +53 -0
- package/dist/events/index.d.mts +3 -0
- package/dist/events/index.mjs +4 -0
- package/dist/index.d.mts +77 -9
- package/dist/index.mjs +465 -29
- package/dist/monetization.enums-BtiU3t8o.mjs +39 -0
- package/dist/monetization.enums-D2xbxXJM.d.mts +34 -0
- package/dist/plugins/plugin.interface.d.mts +28 -0
- package/dist/plugins/plugin.interface.mjs +26 -0
- package/dist/providers/index.d.mts +2 -3
- package/dist/providers/index.mjs +2 -2
- package/dist/{base-DCoyIUj6.mjs → registry-DhFMsSn5.mjs} +34 -36
- package/dist/{base-CsTlVQJe.d.mts → registry-SvIGPAx_.d.mts} +73 -66
- package/dist/repositories/create-repositories.d.mts +21 -0
- package/dist/repositories/create-repositories.mjs +12 -0
- package/dist/revenue-bridges-sdlrR85c.d.mts +145 -0
- package/dist/revenue-event-catalog-BX3g7RUi.d.mts +823 -0
- package/dist/revenue-event-catalog-LqxPnsU_.mjs +388 -0
- package/dist/settlement.repository-Cy3mMWGH.mjs +771 -0
- package/dist/shared/index.d.mts +2 -0
- package/dist/shared/index.mjs +4 -0
- package/dist/split.enums-CQE3ekH1.mjs +172 -0
- package/dist/split.enums-Dw4zCrcZ.d.mts +154 -0
- package/dist/splits-BAfY-a9P.mjs +123 -0
- package/dist/validators/index.d.mts +2 -0
- package/dist/validators/index.mjs +3 -0
- package/package.json +33 -37
- package/dist/application/services/index.d.mts +0 -4
- package/dist/application/services/index.mjs +0 -3
- package/dist/category-resolver-DV83N8ok.mjs +0 -284
- package/dist/commission-split-BzB8cd39.mjs +0 -485
- package/dist/core/events.d.mts +0 -294
- package/dist/core/events.mjs +0 -100
- package/dist/core/index.d.mts +0 -9
- package/dist/core/index.mjs +0 -8
- package/dist/errors-rRdOqnWx.d.mts +0 -787
- package/dist/escrow.enums-CZGrrdg7.mjs +0 -101
- package/dist/escrow.enums-DwdLuuve.d.mts +0 -78
- package/dist/idempotency-DaYcUGY1.mjs +0 -172
- package/dist/index-Dsp7H5Wb.d.mts +0 -471
- package/dist/infrastructure/plugins/index.d.mts +0 -239
- package/dist/infrastructure/plugins/index.mjs +0 -345
- package/dist/money-CvrDOijQ.mjs +0 -271
- package/dist/money-DPG8AtJ8.d.mts +0 -112
- package/dist/payment.enums-HAuAS9Pp.d.mts +0 -70
- package/dist/payment.enums-tEFVa-Xp.mjs +0 -69
- package/dist/plugin-BbK0OVHy.d.mts +0 -327
- package/dist/plugin-Cd_V04Em.mjs +0 -210
- package/dist/reconciliation/index.d.mts +0 -193
- package/dist/reconciliation/index.mjs +0 -192
- package/dist/retry-HHCOXYdn.d.mts +0 -186
- package/dist/revenue-BhdS7nXh.mjs +0 -553
- package/dist/schemas/index.d.mts +0 -2665
- package/dist/schemas/index.mjs +0 -717
- package/dist/schemas/validation.d.mts +0 -375
- package/dist/schemas/validation.mjs +0 -325
- package/dist/settlement.enums-DFhkqZEY.d.mts +0 -132
- package/dist/settlement.schema-DnNSFpGd.d.mts +0 -344
- package/dist/settlement.service-DjzAjezU.d.mts +0 -594
- package/dist/settlement.service-DmdKv0Zu.mjs +0 -2511
- package/dist/split.enums-BrjabxIX.mjs +0 -86
- package/dist/split.enums-DmskfLOM.d.mts +0 -43
- package/dist/tax-BoCt5cEd.d.mts +0 -61
- package/dist/tax-EQ15DO81.mjs +0 -162
- package/dist/transaction.enums-pCyMFT4Z.mjs +0 -96
- package/dist/utils/index.d.mts +0 -428
- package/dist/utils/index.mjs +0 -346
package/dist/enums/index.d.mts
CHANGED
|
@@ -1,157 +1,3 @@
|
|
|
1
|
-
import { a as SPLIT_STATUS, c as SPLIT_TYPE_VALUES, d as SplitType, f as SplitTypeValue, h as isSplitType, i as PayoutMethodValue, l as SplitStatus, m as isSplitStatus, n as PAYOUT_METHOD_VALUES, o as SPLIT_STATUS_VALUES, p as isPayoutMethod, r as PayoutMethod, s as SPLIT_TYPE, t as PAYOUT_METHOD, u as SplitStatusValue } from "../split.enums-
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
import { a as PAYMENT_STATUS, c as PaymentGatewayTypeValue, d as isGatewayType, f as isPaymentGatewayType, i as PAYMENT_GATEWAY_TYPE_VALUES, l as PaymentStatus, n as GATEWAY_TYPE_VALUES, o as PAYMENT_STATUS_VALUES, p as isPaymentStatus, r as PAYMENT_GATEWAY_TYPE, s as PaymentGatewayType, t as GATEWAY_TYPES, u as PaymentStatusValue } from "../payment.enums-HAuAS9Pp.mjs";
|
|
5
|
-
|
|
6
|
-
//#region src/enums/monetization.enums.d.ts
|
|
7
|
-
/**
|
|
8
|
-
* Monetization Enums
|
|
9
|
-
* @classytic/revenue
|
|
10
|
-
*
|
|
11
|
-
* General monetization enums and constants
|
|
12
|
-
*/
|
|
13
|
-
declare const MONETIZATION_TYPES: {
|
|
14
|
-
readonly FREE: "free";
|
|
15
|
-
readonly PURCHASE: "purchase";
|
|
16
|
-
readonly SUBSCRIPTION: "subscription";
|
|
17
|
-
};
|
|
18
|
-
type MonetizationTypes = typeof MONETIZATION_TYPES;
|
|
19
|
-
type MonetizationTypeValue = MonetizationTypes[keyof MonetizationTypes];
|
|
20
|
-
declare const MONETIZATION_TYPE_VALUES: MonetizationTypeValue[];
|
|
21
|
-
declare function isMonetizationType(value: unknown): value is MonetizationTypeValue;
|
|
22
|
-
//#endregion
|
|
23
|
-
//#region src/enums/index.d.ts
|
|
24
|
-
declare const _default: {
|
|
25
|
-
readonly TRANSACTION_TYPE: {
|
|
26
|
-
readonly INFLOW: "inflow";
|
|
27
|
-
readonly OUTFLOW: "outflow";
|
|
28
|
-
};
|
|
29
|
-
readonly TRANSACTION_TYPE_VALUES: TransactionFlowValue[];
|
|
30
|
-
readonly TRANSACTION_STATUS: {
|
|
31
|
-
readonly PENDING: "pending";
|
|
32
|
-
readonly PAYMENT_INITIATED: "payment_initiated";
|
|
33
|
-
readonly PROCESSING: "processing";
|
|
34
|
-
readonly REQUIRES_ACTION: "requires_action";
|
|
35
|
-
readonly VERIFIED: "verified";
|
|
36
|
-
readonly COMPLETED: "completed";
|
|
37
|
-
readonly FAILED: "failed";
|
|
38
|
-
readonly CANCELLED: "cancelled";
|
|
39
|
-
readonly EXPIRED: "expired";
|
|
40
|
-
readonly REFUNDED: "refunded";
|
|
41
|
-
readonly PARTIALLY_REFUNDED: "partially_refunded";
|
|
42
|
-
};
|
|
43
|
-
readonly TRANSACTION_STATUS_VALUES: TransactionStatusValue[];
|
|
44
|
-
readonly LIBRARY_CATEGORIES: {
|
|
45
|
-
readonly SUBSCRIPTION: "subscription";
|
|
46
|
-
readonly PURCHASE: "purchase";
|
|
47
|
-
};
|
|
48
|
-
readonly LIBRARY_CATEGORY_VALUES: LibraryCategoryValue[];
|
|
49
|
-
readonly isLibraryCategory: typeof isLibraryCategory;
|
|
50
|
-
readonly isTransactionType: typeof isTransactionType;
|
|
51
|
-
readonly isTransactionStatus: typeof isTransactionStatus;
|
|
52
|
-
readonly PAYMENT_STATUS: {
|
|
53
|
-
readonly PENDING: "pending";
|
|
54
|
-
readonly VERIFIED: "verified";
|
|
55
|
-
readonly FAILED: "failed";
|
|
56
|
-
readonly REFUNDED: "refunded";
|
|
57
|
-
readonly CANCELLED: "cancelled";
|
|
58
|
-
};
|
|
59
|
-
readonly PAYMENT_STATUS_VALUES: PaymentStatusValue[];
|
|
60
|
-
readonly PAYMENT_GATEWAY_TYPE: {
|
|
61
|
-
readonly MANUAL: "manual";
|
|
62
|
-
readonly STRIPE: "stripe";
|
|
63
|
-
readonly SSLCOMMERZ: "sslcommerz";
|
|
64
|
-
};
|
|
65
|
-
readonly PAYMENT_GATEWAY_TYPE_VALUES: PaymentGatewayTypeValue[];
|
|
66
|
-
readonly GATEWAY_TYPES: {
|
|
67
|
-
readonly MANUAL: "manual";
|
|
68
|
-
readonly STRIPE: "stripe";
|
|
69
|
-
readonly SSLCOMMERZ: "sslcommerz";
|
|
70
|
-
};
|
|
71
|
-
readonly GATEWAY_TYPE_VALUES: PaymentGatewayTypeValue[];
|
|
72
|
-
readonly isPaymentStatus: typeof isPaymentStatus;
|
|
73
|
-
readonly isPaymentGatewayType: typeof isPaymentGatewayType;
|
|
74
|
-
readonly isGatewayType: typeof isPaymentGatewayType;
|
|
75
|
-
readonly SUBSCRIPTION_STATUS: {
|
|
76
|
-
readonly ACTIVE: "active";
|
|
77
|
-
readonly PAUSED: "paused";
|
|
78
|
-
readonly CANCELLED: "cancelled";
|
|
79
|
-
readonly EXPIRED: "expired";
|
|
80
|
-
readonly PENDING: "pending";
|
|
81
|
-
readonly PENDING_RENEWAL: "pending_renewal";
|
|
82
|
-
readonly INACTIVE: "inactive";
|
|
83
|
-
};
|
|
84
|
-
readonly SUBSCRIPTION_STATUS_VALUES: SubscriptionStatusValue[];
|
|
85
|
-
readonly PLAN_KEYS: {
|
|
86
|
-
readonly MONTHLY: "monthly";
|
|
87
|
-
readonly QUARTERLY: "quarterly";
|
|
88
|
-
readonly YEARLY: "yearly";
|
|
89
|
-
};
|
|
90
|
-
readonly PLAN_KEY_VALUES: PlanKeyValue[];
|
|
91
|
-
readonly isSubscriptionStatus: typeof isSubscriptionStatus;
|
|
92
|
-
readonly isPlanKey: typeof isPlanKey;
|
|
93
|
-
readonly MONETIZATION_TYPES: {
|
|
94
|
-
readonly FREE: "free";
|
|
95
|
-
readonly PURCHASE: "purchase";
|
|
96
|
-
readonly SUBSCRIPTION: "subscription";
|
|
97
|
-
};
|
|
98
|
-
readonly MONETIZATION_TYPE_VALUES: MonetizationTypeValue[];
|
|
99
|
-
readonly isMonetizationType: typeof isMonetizationType;
|
|
100
|
-
readonly HOLD_STATUS: {
|
|
101
|
-
readonly PENDING: "pending";
|
|
102
|
-
readonly HELD: "held";
|
|
103
|
-
readonly RELEASED: "released";
|
|
104
|
-
readonly CANCELLED: "cancelled";
|
|
105
|
-
readonly EXPIRED: "expired";
|
|
106
|
-
readonly PARTIALLY_RELEASED: "partially_released";
|
|
107
|
-
};
|
|
108
|
-
readonly HOLD_STATUS_VALUES: HoldStatusValue[];
|
|
109
|
-
readonly RELEASE_REASON: {
|
|
110
|
-
readonly PAYMENT_VERIFIED: "payment_verified";
|
|
111
|
-
readonly MANUAL_RELEASE: "manual_release";
|
|
112
|
-
readonly AUTO_RELEASE: "auto_release";
|
|
113
|
-
readonly DISPUTE_RESOLVED: "dispute_resolved";
|
|
114
|
-
};
|
|
115
|
-
readonly RELEASE_REASON_VALUES: ReleaseReasonValue[];
|
|
116
|
-
readonly HOLD_REASON: {
|
|
117
|
-
readonly PAYMENT_VERIFICATION: "payment_verification";
|
|
118
|
-
readonly FRAUD_CHECK: "fraud_check";
|
|
119
|
-
readonly MANUAL_REVIEW: "manual_review";
|
|
120
|
-
readonly DISPUTE: "dispute";
|
|
121
|
-
readonly COMPLIANCE: "compliance";
|
|
122
|
-
};
|
|
123
|
-
readonly HOLD_REASON_VALUES: HoldReasonValue[];
|
|
124
|
-
readonly isHoldStatus: typeof isHoldStatus;
|
|
125
|
-
readonly isReleaseReason: typeof isReleaseReason;
|
|
126
|
-
readonly isHoldReason: typeof isHoldReason;
|
|
127
|
-
readonly SPLIT_TYPE: {
|
|
128
|
-
readonly PLATFORM_COMMISSION: "platform_commission";
|
|
129
|
-
readonly AFFILIATE_COMMISSION: "affiliate_commission";
|
|
130
|
-
readonly REFERRAL_COMMISSION: "referral_commission";
|
|
131
|
-
readonly PARTNER_COMMISSION: "partner_commission";
|
|
132
|
-
readonly CUSTOM: "custom";
|
|
133
|
-
};
|
|
134
|
-
readonly SPLIT_TYPE_VALUES: SplitTypeValue[];
|
|
135
|
-
readonly SPLIT_STATUS: {
|
|
136
|
-
readonly PENDING: "pending";
|
|
137
|
-
readonly DUE: "due";
|
|
138
|
-
readonly PAID: "paid";
|
|
139
|
-
readonly WAIVED: "waived";
|
|
140
|
-
readonly CANCELLED: "cancelled";
|
|
141
|
-
};
|
|
142
|
-
readonly SPLIT_STATUS_VALUES: SplitStatusValue[];
|
|
143
|
-
readonly PAYOUT_METHOD: {
|
|
144
|
-
readonly BANK_TRANSFER: "bank_transfer";
|
|
145
|
-
readonly MOBILE_WALLET: "mobile_wallet";
|
|
146
|
-
readonly PLATFORM_BALANCE: "platform_balance";
|
|
147
|
-
readonly CRYPTO: "crypto";
|
|
148
|
-
readonly CHECK: "check";
|
|
149
|
-
readonly MANUAL: "manual";
|
|
150
|
-
};
|
|
151
|
-
readonly PAYOUT_METHOD_VALUES: PayoutMethodValue[];
|
|
152
|
-
readonly isSplitType: typeof isSplitType;
|
|
153
|
-
readonly isSplitStatus: typeof isSplitStatus;
|
|
154
|
-
readonly isPayoutMethod: typeof isPayoutMethod;
|
|
155
|
-
};
|
|
156
|
-
//#endregion
|
|
157
|
-
export { GATEWAY_TYPES, GATEWAY_TYPE_VALUES, HOLD_REASON, HOLD_REASON_VALUES, HOLD_STATUS, HOLD_STATUS_VALUES, HoldReason, HoldReasonValue, HoldStatus, HoldStatusValue, LIBRARY_CATEGORIES, LIBRARY_CATEGORY_VALUES, LibraryCategories, LibraryCategoryValue, MONETIZATION_TYPES, MONETIZATION_TYPE_VALUES, MonetizationTypeValue, MonetizationTypes, PAYMENT_GATEWAY_TYPE, PAYMENT_GATEWAY_TYPE_VALUES, PAYMENT_STATUS, PAYMENT_STATUS_VALUES, PAYOUT_METHOD, PAYOUT_METHOD_VALUES, PLAN_KEYS, PLAN_KEY_VALUES, PaymentGatewayType, PaymentGatewayTypeValue, PaymentStatus, PaymentStatusValue, PayoutMethod, PayoutMethodValue, PlanKeyValue, PlanKeys, RELEASE_REASON, RELEASE_REASON_VALUES, ReleaseReason, ReleaseReasonValue, SETTLEMENT_STATUS, SETTLEMENT_STATUS_VALUES, SETTLEMENT_TYPE, SETTLEMENT_TYPE_VALUES, SPLIT_STATUS, SPLIT_STATUS_VALUES, SPLIT_TYPE, SPLIT_TYPE_VALUES, SUBSCRIPTION_STATUS, SUBSCRIPTION_STATUS_VALUES, SettlementStatus, SettlementStatusValue, SettlementType, SettlementTypeValue, SplitStatus, SplitStatusValue, SplitType, SplitTypeValue, SubscriptionStatus, SubscriptionStatusValue, TRANSACTION_FLOW, TRANSACTION_FLOW_VALUES, TRANSACTION_STATUS, TRANSACTION_STATUS_VALUES, TRANSACTION_TYPE, TRANSACTION_TYPE_VALUES, TransactionFlow, TransactionFlowValue, TransactionStatus, TransactionStatusValue, TransactionType, TransactionTypeValue, _default as default, isGatewayType, isHoldReason, isHoldStatus, isLibraryCategory, isMonetizationType, isPaymentGatewayType, isPaymentStatus, isPayoutMethod, isPlanKey, isReleaseReason, isSettlementStatus, isSettlementType, isSplitStatus, isSplitType, isSubscriptionStatus, isTransactionFlow, isTransactionStatus, isTransactionType };
|
|
1
|
+
import { $ as LibraryCategories, A as isReleaseReason, B as isSettlementType, C as HoldStatusValue, D as ReleaseReasonValue, E as ReleaseReason, F as SettlementStatus, G as SUBSCRIPTION_STATUS, H as PLAN_KEY_VALUES, I as SettlementStatusValue, J as SubscriptionStatusValue, K as SUBSCRIPTION_STATUS_VALUES, L as SettlementType, M as SETTLEMENT_STATUS_VALUES, N as SETTLEMENT_TYPE, O as isHoldReason, P as SETTLEMENT_TYPE_VALUES, Q as LIBRARY_CATEGORY_VALUES, R as SettlementTypeValue, S as HoldStatus, T as RELEASE_REASON_VALUES, U as PlanKeyValue, V as PLAN_KEYS, W as PlanKeys, X as isSubscriptionStatus, Y as isPlanKey, Z as LIBRARY_CATEGORIES, _ as HOLD_REASON_VALUES, a as SPLIT_STATUS, at as TransactionFlow, b as HoldReason, c as SPLIT_TYPE_VALUES, ct as TransactionStatusValue, d as SplitType, dt as isTransactionStatus, et as LibraryCategoryValue, f as SplitTypeValue, g as HOLD_REASON, h as isSplitType, i as PayoutMethodValue, it as TRANSACTION_STATUS_VALUES, j as SETTLEMENT_STATUS, k as isHoldStatus, l as SplitStatus, lt as isLibraryCategory, m as isSplitStatus, n as PAYOUT_METHOD_VALUES, nt as TRANSACTION_FLOW_VALUES, o as SPLIT_STATUS_VALUES, ot as TransactionFlowValue, p as isPayoutMethod, q as SubscriptionStatus, r as PayoutMethod, rt as TRANSACTION_STATUS, s as SPLIT_TYPE, st as TransactionStatus, t as PAYOUT_METHOD, tt as TRANSACTION_FLOW, u as SplitStatusValue, ut as isTransactionFlow, v as HOLD_STATUS, w as RELEASE_REASON, x as HoldReasonValue, y as HOLD_STATUS_VALUES, z as isSettlementStatus } from "../split.enums-Dw4zCrcZ.mjs";
|
|
2
|
+
import { a as isMonetizationType, c as PAYMENT_STATUS, d as PaymentGatewayTypeValue, f as PaymentStatus, h as isPaymentStatus, i as MonetizationTypes, l as PAYMENT_STATUS_VALUES, m as isPaymentGatewayType, n as MONETIZATION_TYPE_VALUES, o as PAYMENT_GATEWAY_TYPE, p as PaymentStatusValue, r as MonetizationTypeValue, s as PAYMENT_GATEWAY_TYPE_VALUES, t as MONETIZATION_TYPES, u as PaymentGatewayType } from "../monetization.enums-D2xbxXJM.mjs";
|
|
3
|
+
export { HOLD_REASON, HOLD_REASON_VALUES, HOLD_STATUS, HOLD_STATUS_VALUES, HoldReason, HoldReasonValue, HoldStatus, HoldStatusValue, LIBRARY_CATEGORIES, LIBRARY_CATEGORY_VALUES, LibraryCategories, LibraryCategoryValue, MONETIZATION_TYPES, MONETIZATION_TYPE_VALUES, MonetizationTypeValue, MonetizationTypes, PAYMENT_GATEWAY_TYPE, PAYMENT_GATEWAY_TYPE_VALUES, PAYMENT_STATUS, PAYMENT_STATUS_VALUES, PAYOUT_METHOD, PAYOUT_METHOD_VALUES, PLAN_KEYS, PLAN_KEY_VALUES, PaymentGatewayType, PaymentGatewayTypeValue, PaymentStatus, PaymentStatusValue, PayoutMethod, PayoutMethodValue, PlanKeyValue, PlanKeys, RELEASE_REASON, RELEASE_REASON_VALUES, ReleaseReason, ReleaseReasonValue, SETTLEMENT_STATUS, SETTLEMENT_STATUS_VALUES, SETTLEMENT_TYPE, SETTLEMENT_TYPE_VALUES, SPLIT_STATUS, SPLIT_STATUS_VALUES, SPLIT_TYPE, SPLIT_TYPE_VALUES, SUBSCRIPTION_STATUS, SUBSCRIPTION_STATUS_VALUES, SettlementStatus, SettlementStatusValue, SettlementType, SettlementTypeValue, SplitStatus, SplitStatusValue, SplitType, SplitTypeValue, SubscriptionStatus, SubscriptionStatusValue, TRANSACTION_FLOW, TRANSACTION_FLOW_VALUES, TRANSACTION_STATUS, TRANSACTION_STATUS_VALUES, TransactionFlow, TransactionFlowValue, TransactionStatus, TransactionStatusValue, isHoldReason, isHoldStatus, isLibraryCategory, isMonetizationType, isPaymentGatewayType, isPaymentStatus, isPayoutMethod, isPlanKey, isReleaseReason, isSettlementStatus, isSettlementType, isSplitStatus, isSplitType, isSubscriptionStatus, isTransactionFlow, isTransactionStatus };
|
package/dist/enums/index.mjs
CHANGED
|
@@ -1,56 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { a as SPLIT_TYPE, c as isSplitStatus, d as PLAN_KEY_VALUES, f as SUBSCRIPTION_STATUS, h as isSubscriptionStatus, i as SPLIT_STATUS_VALUES, l as isSplitType, m as isPlanKey, n as PAYOUT_METHOD_VALUES, o as SPLIT_TYPE_VALUES, p as SUBSCRIPTION_STATUS_VALUES, r as SPLIT_STATUS, s as isPayoutMethod, t as PAYOUT_METHOD, u as PLAN_KEYS } from "../split.enums-BrjabxIX.mjs";
|
|
4
|
-
import { a as PAYMENT_STATUS, c as isPaymentGatewayType, i as PAYMENT_GATEWAY_TYPE_VALUES, l as isPaymentStatus, n as GATEWAY_TYPE_VALUES, o as PAYMENT_STATUS_VALUES, r as PAYMENT_GATEWAY_TYPE, s as isGatewayType, t as GATEWAY_TYPES } from "../payment.enums-tEFVa-Xp.mjs";
|
|
1
|
+
import { A as isReleaseReason, C as HOLD_REASON_VALUES, D as RELEASE_REASON_VALUES, E as RELEASE_REASON, F as TRANSACTION_STATUS, I as TRANSACTION_STATUS_VALUES, L as isLibraryCategory, M as LIBRARY_CATEGORY_VALUES, N as TRANSACTION_FLOW, O as isHoldReason, P as TRANSACTION_FLOW_VALUES, R as isTransactionFlow, S as HOLD_REASON, T as HOLD_STATUS_VALUES, _ as PLAN_KEY_VALUES, a as SPLIT_TYPE, b as isPlanKey, c as isSplitStatus, d as SETTLEMENT_STATUS_VALUES, f as SETTLEMENT_TYPE, g as PLAN_KEYS, h as isSettlementType, i as SPLIT_STATUS_VALUES, j as LIBRARY_CATEGORIES, k as isHoldStatus, l as isSplitType, m as isSettlementStatus, n as PAYOUT_METHOD_VALUES, o as SPLIT_TYPE_VALUES, p as SETTLEMENT_TYPE_VALUES, r as SPLIT_STATUS, s as isPayoutMethod, t as PAYOUT_METHOD, u as SETTLEMENT_STATUS, v as SUBSCRIPTION_STATUS, w as HOLD_STATUS, x as isSubscriptionStatus, y as SUBSCRIPTION_STATUS_VALUES, z as isTransactionStatus } from "../split.enums-CQE3ekH1.mjs";
|
|
2
|
+
import { a as PAYMENT_GATEWAY_TYPE_VALUES, c as isPaymentGatewayType, i as PAYMENT_GATEWAY_TYPE, l as isPaymentStatus, n as MONETIZATION_TYPE_VALUES, o as PAYMENT_STATUS, r as isMonetizationType, s as PAYMENT_STATUS_VALUES, t as MONETIZATION_TYPES } from "../monetization.enums-BtiU3t8o.mjs";
|
|
5
3
|
|
|
6
|
-
|
|
7
|
-
var enums_default = {
|
|
8
|
-
TRANSACTION_TYPE,
|
|
9
|
-
TRANSACTION_TYPE_VALUES,
|
|
10
|
-
TRANSACTION_STATUS,
|
|
11
|
-
TRANSACTION_STATUS_VALUES,
|
|
12
|
-
LIBRARY_CATEGORIES,
|
|
13
|
-
LIBRARY_CATEGORY_VALUES,
|
|
14
|
-
isLibraryCategory,
|
|
15
|
-
isTransactionType,
|
|
16
|
-
isTransactionStatus,
|
|
17
|
-
PAYMENT_STATUS,
|
|
18
|
-
PAYMENT_STATUS_VALUES,
|
|
19
|
-
PAYMENT_GATEWAY_TYPE,
|
|
20
|
-
PAYMENT_GATEWAY_TYPE_VALUES,
|
|
21
|
-
GATEWAY_TYPES,
|
|
22
|
-
GATEWAY_TYPE_VALUES,
|
|
23
|
-
isPaymentStatus,
|
|
24
|
-
isPaymentGatewayType,
|
|
25
|
-
isGatewayType,
|
|
26
|
-
SUBSCRIPTION_STATUS,
|
|
27
|
-
SUBSCRIPTION_STATUS_VALUES,
|
|
28
|
-
PLAN_KEYS,
|
|
29
|
-
PLAN_KEY_VALUES,
|
|
30
|
-
isSubscriptionStatus,
|
|
31
|
-
isPlanKey,
|
|
32
|
-
MONETIZATION_TYPES,
|
|
33
|
-
MONETIZATION_TYPE_VALUES,
|
|
34
|
-
isMonetizationType,
|
|
35
|
-
HOLD_STATUS,
|
|
36
|
-
HOLD_STATUS_VALUES,
|
|
37
|
-
RELEASE_REASON,
|
|
38
|
-
RELEASE_REASON_VALUES,
|
|
39
|
-
HOLD_REASON,
|
|
40
|
-
HOLD_REASON_VALUES,
|
|
41
|
-
isHoldStatus,
|
|
42
|
-
isReleaseReason,
|
|
43
|
-
isHoldReason,
|
|
44
|
-
SPLIT_TYPE,
|
|
45
|
-
SPLIT_TYPE_VALUES,
|
|
46
|
-
SPLIT_STATUS,
|
|
47
|
-
SPLIT_STATUS_VALUES,
|
|
48
|
-
PAYOUT_METHOD,
|
|
49
|
-
PAYOUT_METHOD_VALUES,
|
|
50
|
-
isSplitType,
|
|
51
|
-
isSplitStatus,
|
|
52
|
-
isPayoutMethod
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
//#endregion
|
|
56
|
-
export { GATEWAY_TYPES, GATEWAY_TYPE_VALUES, HOLD_REASON, HOLD_REASON_VALUES, HOLD_STATUS, HOLD_STATUS_VALUES, LIBRARY_CATEGORIES, LIBRARY_CATEGORY_VALUES, MONETIZATION_TYPES, MONETIZATION_TYPE_VALUES, PAYMENT_GATEWAY_TYPE, PAYMENT_GATEWAY_TYPE_VALUES, PAYMENT_STATUS, PAYMENT_STATUS_VALUES, PAYOUT_METHOD, PAYOUT_METHOD_VALUES, PLAN_KEYS, PLAN_KEY_VALUES, RELEASE_REASON, RELEASE_REASON_VALUES, SETTLEMENT_STATUS, SETTLEMENT_STATUS_VALUES, SETTLEMENT_TYPE, SETTLEMENT_TYPE_VALUES, SPLIT_STATUS, SPLIT_STATUS_VALUES, SPLIT_TYPE, SPLIT_TYPE_VALUES, SUBSCRIPTION_STATUS, SUBSCRIPTION_STATUS_VALUES, TRANSACTION_FLOW, TRANSACTION_FLOW_VALUES, TRANSACTION_STATUS, TRANSACTION_STATUS_VALUES, TRANSACTION_TYPE, TRANSACTION_TYPE_VALUES, enums_default as default, isGatewayType, isHoldReason, isHoldStatus, isLibraryCategory, isMonetizationType, isPaymentGatewayType, isPaymentStatus, isPayoutMethod, isPlanKey, isReleaseReason, isSettlementStatus, isSettlementType, isSplitStatus, isSplitType, isSubscriptionStatus, isTransactionFlow, isTransactionStatus, isTransactionType };
|
|
4
|
+
export { HOLD_REASON, HOLD_REASON_VALUES, HOLD_STATUS, HOLD_STATUS_VALUES, LIBRARY_CATEGORIES, LIBRARY_CATEGORY_VALUES, MONETIZATION_TYPES, MONETIZATION_TYPE_VALUES, PAYMENT_GATEWAY_TYPE, PAYMENT_GATEWAY_TYPE_VALUES, PAYMENT_STATUS, PAYMENT_STATUS_VALUES, PAYOUT_METHOD, PAYOUT_METHOD_VALUES, PLAN_KEYS, PLAN_KEY_VALUES, RELEASE_REASON, RELEASE_REASON_VALUES, SETTLEMENT_STATUS, SETTLEMENT_STATUS_VALUES, SETTLEMENT_TYPE, SETTLEMENT_TYPE_VALUES, SPLIT_STATUS, SPLIT_STATUS_VALUES, SPLIT_TYPE, SPLIT_TYPE_VALUES, SUBSCRIPTION_STATUS, SUBSCRIPTION_STATUS_VALUES, TRANSACTION_FLOW, TRANSACTION_FLOW_VALUES, TRANSACTION_STATUS, TRANSACTION_STATUS_VALUES, isHoldReason, isHoldStatus, isLibraryCategory, isMonetizationType, isPaymentGatewayType, isPaymentStatus, isPayoutMethod, isPlanKey, isReleaseReason, isSettlementStatus, isSettlementType, isSplitStatus, isSplitType, isSubscriptionStatus, isTransactionFlow, isTransactionStatus };
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
//#region src/core/errors.ts
|
|
2
|
+
var RevenueError = class extends Error {
|
|
3
|
+
constructor(message, code, details) {
|
|
4
|
+
super(message);
|
|
5
|
+
this.code = code;
|
|
6
|
+
this.details = details;
|
|
7
|
+
this.name = "RevenueError";
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
var ValidationError = class extends RevenueError {
|
|
11
|
+
constructor(message, details) {
|
|
12
|
+
super(message, "VALIDATION_ERROR", details);
|
|
13
|
+
this.name = "ValidationError";
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
var ConfigurationError = class extends RevenueError {
|
|
17
|
+
constructor(message, details) {
|
|
18
|
+
super(message, "CONFIGURATION_ERROR", details);
|
|
19
|
+
this.name = "ConfigurationError";
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
var ProviderNotFoundError = class extends RevenueError {
|
|
23
|
+
constructor(providerName) {
|
|
24
|
+
super(`Payment provider '${providerName}' not found`, "PROVIDER_NOT_FOUND", { providerName });
|
|
25
|
+
this.name = "ProviderNotFoundError";
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
var TransactionNotFoundError = class extends RevenueError {
|
|
29
|
+
constructor(transactionId) {
|
|
30
|
+
super(`Transaction '${transactionId}' not found`, "TRANSACTION_NOT_FOUND", { transactionId });
|
|
31
|
+
this.name = "TransactionNotFoundError";
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
var SubscriptionNotFoundError = class extends RevenueError {
|
|
35
|
+
constructor(subscriptionId) {
|
|
36
|
+
super(`Subscription '${subscriptionId}' not found`, "SUBSCRIPTION_NOT_FOUND", { subscriptionId });
|
|
37
|
+
this.name = "SubscriptionNotFoundError";
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
var SettlementNotFoundError = class extends RevenueError {
|
|
41
|
+
constructor(settlementId) {
|
|
42
|
+
super(`Settlement '${settlementId}' not found`, "SETTLEMENT_NOT_FOUND", { settlementId });
|
|
43
|
+
this.name = "SettlementNotFoundError";
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
var PaymentIntentCreationError = class extends RevenueError {
|
|
47
|
+
constructor(message, details) {
|
|
48
|
+
super(message, "PAYMENT_INTENT_CREATION_ERROR", details);
|
|
49
|
+
this.name = "PaymentIntentCreationError";
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
var ProviderCapabilityError = class extends RevenueError {
|
|
53
|
+
constructor(provider, capability) {
|
|
54
|
+
super(`Provider '${provider}' does not support '${capability}'`, "PROVIDER_CAPABILITY_ERROR", {
|
|
55
|
+
provider,
|
|
56
|
+
capability
|
|
57
|
+
});
|
|
58
|
+
this.name = "ProviderCapabilityError";
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
var InvalidStateTransitionError = class extends RevenueError {
|
|
62
|
+
constructor(resourceType, resourceId, from, to) {
|
|
63
|
+
super(`Invalid ${resourceType} state transition: ${from} → ${to} (resource: ${resourceId})`, "INVALID_STATE_TRANSITION", {
|
|
64
|
+
resourceType,
|
|
65
|
+
resourceId,
|
|
66
|
+
from,
|
|
67
|
+
to
|
|
68
|
+
});
|
|
69
|
+
this.name = "InvalidStateTransitionError";
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
var AlreadyVerifiedError = class extends RevenueError {
|
|
73
|
+
constructor(transactionId) {
|
|
74
|
+
super(`Transaction '${transactionId}' is already verified`, "ALREADY_VERIFIED", { transactionId });
|
|
75
|
+
this.name = "AlreadyVerifiedError";
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
var RefundNotSupportedError = class extends RevenueError {
|
|
79
|
+
constructor(provider) {
|
|
80
|
+
super(`Provider '${provider}' does not support refunds`, "REFUND_NOT_SUPPORTED", { provider });
|
|
81
|
+
this.name = "RefundNotSupportedError";
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
var PaymentVerificationError = class extends RevenueError {
|
|
85
|
+
constructor(message, details) {
|
|
86
|
+
super(message, "PAYMENT_VERIFICATION_ERROR", details);
|
|
87
|
+
this.name = "PaymentVerificationError";
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
//#endregion
|
|
92
|
+
export { PaymentVerificationError as a, RefundNotSupportedError as c, SubscriptionNotFoundError as d, TransactionNotFoundError as f, PaymentIntentCreationError as i, RevenueError as l, ConfigurationError as n, ProviderCapabilityError as o, ValidationError as p, InvalidStateTransitionError as r, ProviderNotFoundError as s, AlreadyVerifiedError as t, SettlementNotFoundError as u };
|
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
//#region src/validators/transaction.schema.ts
|
|
4
|
+
const commissionSchema = z.object({
|
|
5
|
+
rate: z.number().min(0).max(1),
|
|
6
|
+
grossAmount: z.number().int(),
|
|
7
|
+
gatewayFeeRate: z.number().min(0).max(1),
|
|
8
|
+
gatewayFeeAmount: z.number().int(),
|
|
9
|
+
netAmount: z.number().int(),
|
|
10
|
+
status: z.string()
|
|
11
|
+
});
|
|
12
|
+
const holdReleaseSchema = z.object({
|
|
13
|
+
amount: z.number().int(),
|
|
14
|
+
recipientId: z.string(),
|
|
15
|
+
recipientType: z.string(),
|
|
16
|
+
releasedAt: z.coerce.date(),
|
|
17
|
+
releasedBy: z.string().optional(),
|
|
18
|
+
reason: z.string().optional(),
|
|
19
|
+
metadata: z.record(z.string(), z.unknown()).optional()
|
|
20
|
+
});
|
|
21
|
+
const holdSchema = z.object({
|
|
22
|
+
status: z.string(),
|
|
23
|
+
heldAmount: z.number().int(),
|
|
24
|
+
releasedAmount: z.number().int().default(0),
|
|
25
|
+
reason: z.string(),
|
|
26
|
+
heldAt: z.coerce.date(),
|
|
27
|
+
holdUntil: z.coerce.date().optional(),
|
|
28
|
+
releasedAt: z.coerce.date().optional(),
|
|
29
|
+
cancelledAt: z.coerce.date().optional(),
|
|
30
|
+
releases: z.array(holdReleaseSchema).default([]),
|
|
31
|
+
metadata: z.record(z.string(), z.unknown()).optional()
|
|
32
|
+
});
|
|
33
|
+
const gatewaySchema = z.object({
|
|
34
|
+
type: z.string(),
|
|
35
|
+
sessionId: z.string().optional(),
|
|
36
|
+
paymentIntentId: z.string().optional(),
|
|
37
|
+
chargeId: z.string().optional(),
|
|
38
|
+
metadata: z.record(z.string(), z.unknown()).optional(),
|
|
39
|
+
verificationData: z.record(z.string(), z.unknown()).optional()
|
|
40
|
+
});
|
|
41
|
+
const splitInfoSchema = z.object({
|
|
42
|
+
type: z.string(),
|
|
43
|
+
recipientId: z.string(),
|
|
44
|
+
recipientType: z.string(),
|
|
45
|
+
rate: z.number(),
|
|
46
|
+
grossAmount: z.number().int(),
|
|
47
|
+
gatewayFeeRate: z.number(),
|
|
48
|
+
gatewayFeeAmount: z.number().int(),
|
|
49
|
+
netAmount: z.number().int(),
|
|
50
|
+
status: z.string()
|
|
51
|
+
});
|
|
52
|
+
const webhookSchema = z.object({
|
|
53
|
+
eventId: z.string(),
|
|
54
|
+
eventType: z.string(),
|
|
55
|
+
receivedAt: z.coerce.date(),
|
|
56
|
+
processedAt: z.coerce.date(),
|
|
57
|
+
data: z.record(z.string(), z.unknown())
|
|
58
|
+
});
|
|
59
|
+
const transactionBaseSchema = z.object({
|
|
60
|
+
publicId: z.string().optional(),
|
|
61
|
+
organizationId: z.string().optional(),
|
|
62
|
+
customerId: z.string().nullish(),
|
|
63
|
+
type: z.string(),
|
|
64
|
+
flow: z.enum(["inflow", "outflow"]),
|
|
65
|
+
tags: z.array(z.string()).default([]),
|
|
66
|
+
amount: z.number().int().min(0),
|
|
67
|
+
currency: z.string().min(3).max(3),
|
|
68
|
+
fee: z.number().int().default(0),
|
|
69
|
+
tax: z.number().int().default(0),
|
|
70
|
+
net: z.number().int().default(0),
|
|
71
|
+
taxDetails: z.object({
|
|
72
|
+
type: z.enum([
|
|
73
|
+
"sales_tax",
|
|
74
|
+
"vat",
|
|
75
|
+
"none"
|
|
76
|
+
]).optional(),
|
|
77
|
+
rate: z.number().min(0).max(1).optional(),
|
|
78
|
+
isInclusive: z.boolean().optional()
|
|
79
|
+
}).optional(),
|
|
80
|
+
method: z.string(),
|
|
81
|
+
status: z.string().default("pending"),
|
|
82
|
+
gateway: gatewaySchema.optional(),
|
|
83
|
+
paymentDetails: z.record(z.string(), z.unknown()).optional(),
|
|
84
|
+
commission: commissionSchema.optional(),
|
|
85
|
+
splits: z.array(splitInfoSchema).optional(),
|
|
86
|
+
hold: holdSchema.optional(),
|
|
87
|
+
sourceId: z.string().optional(),
|
|
88
|
+
sourceModel: z.string().optional(),
|
|
89
|
+
relatedTransactionId: z.string().optional(),
|
|
90
|
+
refundedAmount: z.number().int().optional(),
|
|
91
|
+
refundedAt: z.coerce.date().optional(),
|
|
92
|
+
failureReason: z.string().optional(),
|
|
93
|
+
failedAt: z.coerce.date().optional(),
|
|
94
|
+
verifiedAt: z.coerce.date().optional(),
|
|
95
|
+
verifiedBy: z.string().optional(),
|
|
96
|
+
webhook: webhookSchema.optional(),
|
|
97
|
+
idempotencyKey: z.string().optional(),
|
|
98
|
+
metadata: z.record(z.string(), z.unknown()).optional()
|
|
99
|
+
});
|
|
100
|
+
const transactionCreateSchema = transactionBaseSchema.omit({
|
|
101
|
+
publicId: true,
|
|
102
|
+
refundedAmount: true,
|
|
103
|
+
refundedAt: true,
|
|
104
|
+
failureReason: true,
|
|
105
|
+
failedAt: true,
|
|
106
|
+
verifiedAt: true,
|
|
107
|
+
verifiedBy: true,
|
|
108
|
+
webhook: true
|
|
109
|
+
});
|
|
110
|
+
const transactionUpdateSchema = transactionBaseSchema.partial();
|
|
111
|
+
const transactionListFilterSchema = z.object({
|
|
112
|
+
organizationId: z.string().optional(),
|
|
113
|
+
customerId: z.string().optional(),
|
|
114
|
+
type: z.string().optional(),
|
|
115
|
+
flow: z.enum(["inflow", "outflow"]).optional(),
|
|
116
|
+
status: z.string().optional(),
|
|
117
|
+
method: z.string().optional(),
|
|
118
|
+
sourceId: z.string().optional(),
|
|
119
|
+
sourceModel: z.string().optional(),
|
|
120
|
+
minAmount: z.number().int().optional(),
|
|
121
|
+
maxAmount: z.number().int().optional(),
|
|
122
|
+
fromDate: z.coerce.date().optional(),
|
|
123
|
+
toDate: z.coerce.date().optional(),
|
|
124
|
+
page: z.number().int().positive().optional(),
|
|
125
|
+
limit: z.number().int().positive().max(200).optional(),
|
|
126
|
+
sort: z.record(z.string(), z.union([z.literal(1), z.literal(-1)])).optional()
|
|
127
|
+
});
|
|
128
|
+
|
|
129
|
+
//#endregion
|
|
130
|
+
//#region src/validators/subscription.schema.ts
|
|
131
|
+
const subscriptionBaseSchema = z.object({
|
|
132
|
+
publicId: z.string().optional(),
|
|
133
|
+
organizationId: z.string().optional(),
|
|
134
|
+
customerId: z.string().nullish(),
|
|
135
|
+
planKey: z.string(),
|
|
136
|
+
amount: z.number().int().min(0),
|
|
137
|
+
currency: z.string().min(3).max(3).optional(),
|
|
138
|
+
status: z.string().default("pending"),
|
|
139
|
+
isActive: z.boolean().default(false),
|
|
140
|
+
transactionId: z.string().nullish(),
|
|
141
|
+
paymentIntentId: z.string().nullish(),
|
|
142
|
+
startDate: z.coerce.date().optional(),
|
|
143
|
+
endDate: z.coerce.date().optional(),
|
|
144
|
+
activatedAt: z.coerce.date().optional(),
|
|
145
|
+
pausedAt: z.coerce.date().optional(),
|
|
146
|
+
pauseReason: z.string().optional(),
|
|
147
|
+
canceledAt: z.coerce.date().optional(),
|
|
148
|
+
cancelAt: z.coerce.date().optional(),
|
|
149
|
+
cancellationReason: z.string().optional(),
|
|
150
|
+
renewalTransactionId: z.string().optional(),
|
|
151
|
+
renewalCount: z.number().int().default(0),
|
|
152
|
+
metadata: z.record(z.string(), z.unknown()).optional()
|
|
153
|
+
});
|
|
154
|
+
const subscriptionCreateSchema = subscriptionBaseSchema.omit({
|
|
155
|
+
publicId: true,
|
|
156
|
+
status: true,
|
|
157
|
+
isActive: true,
|
|
158
|
+
activatedAt: true,
|
|
159
|
+
pausedAt: true,
|
|
160
|
+
canceledAt: true,
|
|
161
|
+
renewalCount: true
|
|
162
|
+
});
|
|
163
|
+
const subscriptionUpdateSchema = subscriptionBaseSchema.partial();
|
|
164
|
+
const subscriptionListFilterSchema = z.object({
|
|
165
|
+
organizationId: z.string().optional(),
|
|
166
|
+
customerId: z.string().optional(),
|
|
167
|
+
planKey: z.string().optional(),
|
|
168
|
+
status: z.string().optional(),
|
|
169
|
+
isActive: z.boolean().optional(),
|
|
170
|
+
page: z.number().int().positive().optional(),
|
|
171
|
+
limit: z.number().int().positive().max(200).optional(),
|
|
172
|
+
sort: z.record(z.string(), z.union([z.literal(1), z.literal(-1)])).optional()
|
|
173
|
+
});
|
|
174
|
+
|
|
175
|
+
//#endregion
|
|
176
|
+
//#region src/validators/settlement.schema.ts
|
|
177
|
+
const settlementBaseSchema = z.object({
|
|
178
|
+
publicId: z.string().optional(),
|
|
179
|
+
organizationId: z.string(),
|
|
180
|
+
recipientId: z.string(),
|
|
181
|
+
recipientType: z.enum([
|
|
182
|
+
"platform",
|
|
183
|
+
"organization",
|
|
184
|
+
"user",
|
|
185
|
+
"affiliate",
|
|
186
|
+
"partner"
|
|
187
|
+
]),
|
|
188
|
+
type: z.enum([
|
|
189
|
+
"split_payout",
|
|
190
|
+
"platform_withdrawal",
|
|
191
|
+
"manual_payout",
|
|
192
|
+
"escrow_release"
|
|
193
|
+
]),
|
|
194
|
+
status: z.string().default("pending"),
|
|
195
|
+
payoutMethod: z.enum([
|
|
196
|
+
"bank_transfer",
|
|
197
|
+
"mobile_wallet",
|
|
198
|
+
"platform_balance",
|
|
199
|
+
"crypto",
|
|
200
|
+
"check",
|
|
201
|
+
"manual"
|
|
202
|
+
]),
|
|
203
|
+
amount: z.number().int().min(0),
|
|
204
|
+
currency: z.string().min(3).max(3),
|
|
205
|
+
sourceTransactionIds: z.array(z.string()).default([]),
|
|
206
|
+
sourceSplitIds: z.array(z.string()).default([]),
|
|
207
|
+
bankTransferDetails: z.object({
|
|
208
|
+
accountNumber: z.string().optional(),
|
|
209
|
+
accountName: z.string().optional(),
|
|
210
|
+
bankName: z.string().optional(),
|
|
211
|
+
routingNumber: z.string().optional(),
|
|
212
|
+
swiftCode: z.string().optional(),
|
|
213
|
+
iban: z.string().optional(),
|
|
214
|
+
transferReference: z.string().optional(),
|
|
215
|
+
transferredAt: z.coerce.date().optional()
|
|
216
|
+
}).optional(),
|
|
217
|
+
mobileWalletDetails: z.object({
|
|
218
|
+
provider: z.string().optional(),
|
|
219
|
+
phoneNumber: z.string().optional(),
|
|
220
|
+
accountNumber: z.string().optional(),
|
|
221
|
+
transactionId: z.string().optional(),
|
|
222
|
+
transferredAt: z.coerce.date().optional()
|
|
223
|
+
}).optional(),
|
|
224
|
+
cryptoDetails: z.object({
|
|
225
|
+
network: z.string().optional(),
|
|
226
|
+
walletAddress: z.string().optional(),
|
|
227
|
+
transactionHash: z.string().optional(),
|
|
228
|
+
transferredAt: z.coerce.date().optional()
|
|
229
|
+
}).optional(),
|
|
230
|
+
scheduledAt: z.coerce.date().default(() => /* @__PURE__ */ new Date()),
|
|
231
|
+
processedAt: z.coerce.date().optional(),
|
|
232
|
+
completedAt: z.coerce.date().optional(),
|
|
233
|
+
failedAt: z.coerce.date().optional(),
|
|
234
|
+
cancelledAt: z.coerce.date().optional(),
|
|
235
|
+
failureReason: z.string().optional(),
|
|
236
|
+
failureCode: z.string().optional(),
|
|
237
|
+
retryCount: z.number().int().default(0),
|
|
238
|
+
notes: z.string().optional(),
|
|
239
|
+
metadata: z.record(z.string(), z.unknown()).optional()
|
|
240
|
+
});
|
|
241
|
+
const settlementCreateSchema = settlementBaseSchema.omit({
|
|
242
|
+
publicId: true,
|
|
243
|
+
status: true,
|
|
244
|
+
processedAt: true,
|
|
245
|
+
completedAt: true,
|
|
246
|
+
failedAt: true,
|
|
247
|
+
cancelledAt: true,
|
|
248
|
+
failureReason: true,
|
|
249
|
+
failureCode: true,
|
|
250
|
+
retryCount: true
|
|
251
|
+
});
|
|
252
|
+
const settlementUpdateSchema = settlementBaseSchema.partial();
|
|
253
|
+
const settlementListFilterSchema = z.object({
|
|
254
|
+
organizationId: z.string().optional(),
|
|
255
|
+
recipientId: z.string().optional(),
|
|
256
|
+
recipientType: z.string().optional(),
|
|
257
|
+
status: z.string().optional(),
|
|
258
|
+
payoutMethod: z.string().optional(),
|
|
259
|
+
fromDate: z.coerce.date().optional(),
|
|
260
|
+
toDate: z.coerce.date().optional(),
|
|
261
|
+
page: z.number().int().positive().optional(),
|
|
262
|
+
limit: z.number().int().positive().max(200).optional(),
|
|
263
|
+
sort: z.record(z.string(), z.union([z.literal(1), z.literal(-1)])).optional()
|
|
264
|
+
});
|
|
265
|
+
|
|
266
|
+
//#endregion
|
|
267
|
+
//#region src/validators/payment.schema.ts
|
|
268
|
+
const paymentIntentSchema = z.object({
|
|
269
|
+
amount: z.number().int().min(1),
|
|
270
|
+
currency: z.string().min(3).max(3),
|
|
271
|
+
gateway: z.string(),
|
|
272
|
+
customerId: z.string().optional(),
|
|
273
|
+
sourceId: z.string().optional(),
|
|
274
|
+
sourceModel: z.string().optional(),
|
|
275
|
+
monetizationType: z.enum([
|
|
276
|
+
"purchase",
|
|
277
|
+
"subscription",
|
|
278
|
+
"free"
|
|
279
|
+
]).default("purchase"),
|
|
280
|
+
planKey: z.string().optional(),
|
|
281
|
+
paymentData: z.record(z.string(), z.unknown()).optional(),
|
|
282
|
+
metadata: z.record(z.string(), z.unknown()).optional(),
|
|
283
|
+
idempotencyKey: z.string().optional()
|
|
284
|
+
});
|
|
285
|
+
const paymentVerifySchema = z.object({
|
|
286
|
+
paymentIntentId: z.string(),
|
|
287
|
+
verifiedBy: z.string().optional()
|
|
288
|
+
});
|
|
289
|
+
const refundSchema = z.object({
|
|
290
|
+
transactionId: z.string(),
|
|
291
|
+
amount: z.number().int().min(1).optional(),
|
|
292
|
+
reason: z.string().optional()
|
|
293
|
+
});
|
|
294
|
+
|
|
295
|
+
//#endregion
|
|
296
|
+
//#region src/validators/escrow.schema.ts
|
|
297
|
+
const escrowHoldSchema = z.object({
|
|
298
|
+
transactionId: z.string(),
|
|
299
|
+
amount: z.number().int().min(1).optional(),
|
|
300
|
+
reason: z.string().optional(),
|
|
301
|
+
holdUntil: z.coerce.date().optional(),
|
|
302
|
+
metadata: z.record(z.string(), z.unknown()).optional()
|
|
303
|
+
});
|
|
304
|
+
const escrowReleaseSchema = z.object({
|
|
305
|
+
transactionId: z.string(),
|
|
306
|
+
amount: z.number().int().min(1).optional(),
|
|
307
|
+
recipientId: z.string(),
|
|
308
|
+
recipientType: z.string(),
|
|
309
|
+
reason: z.string().optional(),
|
|
310
|
+
releasedBy: z.string().optional(),
|
|
311
|
+
createTransaction: z.boolean().default(true),
|
|
312
|
+
metadata: z.record(z.string(), z.unknown()).optional()
|
|
313
|
+
});
|
|
314
|
+
const splitRuleSchema = z.object({
|
|
315
|
+
type: z.string(),
|
|
316
|
+
recipientId: z.string(),
|
|
317
|
+
recipientType: z.string(),
|
|
318
|
+
rate: z.number().min(0).max(1)
|
|
319
|
+
});
|
|
320
|
+
|
|
321
|
+
//#endregion
|
|
322
|
+
export { transactionListFilterSchema as _, paymentVerifySchema as a, settlementCreateSchema as c, subscriptionBaseSchema as d, subscriptionCreateSchema as f, transactionCreateSchema as g, transactionBaseSchema as h, paymentIntentSchema as i, settlementListFilterSchema as l, subscriptionUpdateSchema as m, escrowReleaseSchema as n, refundSchema as o, subscriptionListFilterSchema as p, splitRuleSchema as r, settlementBaseSchema as s, escrowHoldSchema as t, settlementUpdateSchema as u, transactionUpdateSchema as v };
|