@plyaz/types 1.27.2 → 1.27.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +25 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +24 -1
- package/dist/index.js.map +1 -1
- package/dist/payments/gateways/provider/fee/enum.d.ts +25 -0
- package/dist/payments/gateways/provider/fee/index.d.ts +2 -0
- package/dist/payments/gateways/provider/fee/types.d.ts +1 -19
- package/dist/payments/gateways/provider/index.d.ts +1 -0
- package/dist/payments/gateways/provider/types.d.ts +1 -1
- package/dist/payments/index.cjs +25 -0
- package/dist/payments/index.cjs.map +1 -1
- package/dist/payments/index.js +24 -1
- package/dist/payments/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enum for fee types
|
|
3
|
+
*/
|
|
4
|
+
export declare enum FEE_TYPE {
|
|
5
|
+
Platform = "platform",
|
|
6
|
+
CrossBorder = "crossBorder",
|
|
7
|
+
Conversion = "currencyConversion",
|
|
8
|
+
Network = "network",
|
|
9
|
+
Gas = "gas",
|
|
10
|
+
Expedite = "expedite",
|
|
11
|
+
Risk = "risk",
|
|
12
|
+
Compliance = "compliance",
|
|
13
|
+
Chargeback = "chargeback",
|
|
14
|
+
Refund = "refund"
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Enum for transaction contexts
|
|
18
|
+
*/
|
|
19
|
+
export declare enum FEE_CONTEXT {
|
|
20
|
+
Payment = "payment",
|
|
21
|
+
Subscription = "subscription",
|
|
22
|
+
Withdrawal = "withdrawal",
|
|
23
|
+
Refund = "refund",
|
|
24
|
+
Dispute = "dispute"
|
|
25
|
+
}
|
|
@@ -1,13 +1,7 @@
|
|
|
1
1
|
import type { CurrencyCode } from '../../../../locale/types';
|
|
2
2
|
import type { PAYMENT_METHOD, PAYMENT_PROVIDER_TYPE } from '../../../provider';
|
|
3
3
|
import type { Money } from '../../../transaction';
|
|
4
|
-
|
|
5
|
-
Payment = "payment",
|
|
6
|
-
Subscription = "subscription",
|
|
7
|
-
Withdrawal = "withdrawal",
|
|
8
|
-
Refund = "refund",
|
|
9
|
-
Dispute = "dispute"
|
|
10
|
-
}
|
|
4
|
+
import type { FEE_CONTEXT, FEE_TYPE } from './enum';
|
|
11
5
|
export interface CalculateFeeParams {
|
|
12
6
|
amount: Money;
|
|
13
7
|
paymentMethod: PAYMENT_METHOD;
|
|
@@ -17,18 +11,6 @@ export interface CalculateFeeParams {
|
|
|
17
11
|
expedite?: boolean;
|
|
18
12
|
highRisk?: boolean;
|
|
19
13
|
}
|
|
20
|
-
export declare enum FEE_TYPE {
|
|
21
|
-
Platform = "platform",
|
|
22
|
-
CrossBorder = "crossBorder",
|
|
23
|
-
Conversion = "currencyConversion",
|
|
24
|
-
Network = "network",
|
|
25
|
-
Gas = "gas",
|
|
26
|
-
Expedite = "expedite",
|
|
27
|
-
Risk = "risk",
|
|
28
|
-
Compliance = "compliance",
|
|
29
|
-
Chargeback = "chargeback",
|
|
30
|
-
Refund = "refund"
|
|
31
|
-
}
|
|
32
14
|
export interface FeeMetadata {
|
|
33
15
|
processingRate?: number;
|
|
34
16
|
platformRate?: number;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { CurrencyCode } from '../../../locale/types';
|
|
2
2
|
import type { PAYMENT_METHOD, PAYMENT_PROVIDER_TYPE, USER_TYPE } from '../../provider';
|
|
3
3
|
import type { Money } from '../../transaction';
|
|
4
|
-
import type { FEE_CONTEXT } from './fee
|
|
4
|
+
import type { FEE_CONTEXT } from './fee';
|
|
5
5
|
/**
|
|
6
6
|
* Base configuration interface that all payment providers must implement.
|
|
7
7
|
* This ensures consistent configuration structure across all providers.
|
package/dist/payments/index.cjs
CHANGED
|
@@ -251,6 +251,29 @@ var PROVIDER_PRODUCT_STATUS = /* @__PURE__ */ ((PROVIDER_PRODUCT_STATUS2) => {
|
|
|
251
251
|
return PROVIDER_PRODUCT_STATUS2;
|
|
252
252
|
})(PROVIDER_PRODUCT_STATUS || {});
|
|
253
253
|
|
|
254
|
+
// src/payments/gateways/provider/fee/enum.ts
|
|
255
|
+
var FEE_TYPE = /* @__PURE__ */ ((FEE_TYPE2) => {
|
|
256
|
+
FEE_TYPE2["Platform"] = "platform";
|
|
257
|
+
FEE_TYPE2["CrossBorder"] = "crossBorder";
|
|
258
|
+
FEE_TYPE2["Conversion"] = "currencyConversion";
|
|
259
|
+
FEE_TYPE2["Network"] = "network";
|
|
260
|
+
FEE_TYPE2["Gas"] = "gas";
|
|
261
|
+
FEE_TYPE2["Expedite"] = "expedite";
|
|
262
|
+
FEE_TYPE2["Risk"] = "risk";
|
|
263
|
+
FEE_TYPE2["Compliance"] = "compliance";
|
|
264
|
+
FEE_TYPE2["Chargeback"] = "chargeback";
|
|
265
|
+
FEE_TYPE2["Refund"] = "refund";
|
|
266
|
+
return FEE_TYPE2;
|
|
267
|
+
})(FEE_TYPE || {});
|
|
268
|
+
var FEE_CONTEXT = /* @__PURE__ */ ((FEE_CONTEXT2) => {
|
|
269
|
+
FEE_CONTEXT2["Payment"] = "payment";
|
|
270
|
+
FEE_CONTEXT2["Subscription"] = "subscription";
|
|
271
|
+
FEE_CONTEXT2["Withdrawal"] = "withdrawal";
|
|
272
|
+
FEE_CONTEXT2["Refund"] = "refund";
|
|
273
|
+
FEE_CONTEXT2["Dispute"] = "dispute";
|
|
274
|
+
return FEE_CONTEXT2;
|
|
275
|
+
})(FEE_CONTEXT || {});
|
|
276
|
+
|
|
254
277
|
// src/payments/gateways/routings/enums.ts
|
|
255
278
|
var COST_OPTIMIZATION_STRATEGY = /* @__PURE__ */ ((COST_OPTIMIZATION_STRATEGY2) => {
|
|
256
279
|
COST_OPTIMIZATION_STRATEGY2["Aggressive"] = "aggressive";
|
|
@@ -489,6 +512,8 @@ exports.COST_OPTIMIZATION_STRATEGY = COST_OPTIMIZATION_STRATEGY;
|
|
|
489
512
|
exports.CUSTOM_RULE_FIELD = CUSTOM_RULE_FIELD;
|
|
490
513
|
exports.EVENT_PROCESSING_STATUS = EVENT_PROCESSING_STATUS;
|
|
491
514
|
exports.FAIL_OVER_STRATEGY = FAIL_OVER_STRATEGY;
|
|
515
|
+
exports.FEE_CONTEXT = FEE_CONTEXT;
|
|
516
|
+
exports.FEE_TYPE = FEE_TYPE;
|
|
492
517
|
exports.IDEMPOTENCY_SAFE_STATUSES = IDEMPOTENCY_SAFE_STATUSES;
|
|
493
518
|
exports.IDEMPOTENCY_STATUS = IDEMPOTENCY_STATUS;
|
|
494
519
|
exports.KYC_ENTITY_TYPE = KYC_ENTITY_TYPE;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/payments/events/enums.ts","../../src/payments/events/unified-event/enums.ts","../../src/payments/provider/provider-capability/enums.ts","../../src/payments/request/enums.ts","../../src/payments/gateways/provider/plans/enums.ts","../../src/payments/gateways/routings/enums.ts","../../src/payments/base-error/enum.ts","../../src/payments/idempotency/enum.ts","../../src/payments/kyc/enum.ts"],"names":["PAYMENT_EVENT_TYPE","PAYMENT_EVENT_CATEGORY","PAYMENT_EVENT_ERROR_CATEGORY","EVENT_PROCESSING_STATUS","PAYMENT_PROVIDER_TYPE","PAYMENT_METHOD","PAYMENT_STATUS","TRANSACTION_TYPE","USER_TYPE","PRODUCT_TYPE","REQUIREDACTIONTYPE","PROVIDER_PRODUCT_STATUS","COST_OPTIMIZATION_STRATEGY","FAIL_OVER_STRATEGY","REGULATORY_FRAMEWORK","LOAD_BALANCING_STRATEGY","PERFORMANCE_METRIC_TYPE","ROUTING_STRATEGY","ROUTER_RULE_NAME","REFUND_ERROR_TYPES","REFUND_NOT_ALLOWED_REASON","SECURITY_THREAT_TYPE","WEBHOOK_VERIFICATION_REASON","IDEMPOTENCY_STATUS","KYC_STATUS","KYC_TIER","KYC_PROVIDER","ONBOARD_STATUS","ONBOARD_LINK_TYPE","KYC_ENTITY_TYPE"],"mappings":"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","file":"index.cjs","sourcesContent":["/**\n * Comprehensive enumeration of all payment-related events that can occur\n * in the system. Events are organized by category and follow a hierarchical\n * naming convention for easy filtering and subscription.\n *\n * Naming Convention:\n * - Category.Action (e.g., payment.completed)\n * - Use present tense for ongoing events, past tense for completed events\n * - Include both success and failure events for complete audit trails\n */\nexport enum PAYMENT_EVENT_TYPE {\n // Payment lifecycle events\n PaymentInitiated = 'payment.initiated',\n PaymentProcessing = 'payment.processing',\n PaymentRequiresAction = 'payment.requires_action',\n PaymentCompleted = 'payment.completed',\n PaymentFailed = 'payment.failed',\n PaymentCancelled = 'payment.cancelled',\n PaymentExpired = 'payment.expired',\n PaymentAuthorized = 'payment.authorized',\n PaymentCaptured = 'payment.captured',\n PaymentHeld = 'payment.held',\n PaymentReleased = 'payment.released',\n\n // Refund lifecycle events\n RefundRequested = 'refund.requested',\n RefundApproved = 'refund.approved',\n RefundRejected = 'refund.rejected',\n RefundProcessing = 'refund.processing',\n RefundCompleted = 'refund.completed',\n RefundFailed = 'refund.failed',\n RefundCancelled = 'refund.cancelled',\n\n // Withdrawals / Payout events\n WithdrawalRequested = 'withdrawal.requested',\n WithdrawalProcessed = 'withdrawal.processed',\n WithdrawalFailed = 'withdrawal.failed',\n WithdrawalCancelled = 'withdrawal.cancelled',\n\n // Provider interaction events\n ProviderWebhookReceived = 'provider.webhook.received',\n ProviderWebhookProcessed = 'provider.webhook.processed',\n ProviderWebhookFailed = 'provider.webhook.failed',\n ProviderApiCalled = 'provider.api.called',\n ProviderApiSucceeded = 'provider.api.succeeded',\n ProviderApiFailed = 'provider.api.failed',\n ProviderTimeout = 'provider.timeout',\n ProviderHealthChanged = 'provider.health.changed',\n\n // Financial events\n SettlementInitiated = 'settlement.initiated',\n SettlementCompleted = 'settlement.completed',\n SettlementFailed = 'settlement.failed',\n PayoutRequested = 'payout.requested',\n PayoutProcessed = 'payout.processed',\n PayoutFailed = 'payout.failed',\n\n // Dispute and chargeback events\n ChargebackReceived = 'chargeback.received',\n ChargebackResponded = 'chargeback.responded',\n ChargebackWon = 'chargeback.won',\n ChargebackLost = 'chargeback.lost',\n DisputeCreated = 'dispute.created',\n DisputeUpdated = 'dispute.updated',\n DisputeResolved = 'dispute.resolved',\n DisputeEscalated = 'dispute.escalated',\n\n // Security and fraud events\n FraudDetected = 'fraud.detected',\n FraudReviewRequired = 'fraud.review_required',\n FraudCleared = 'fraud.cleared',\n SuspiciousActivity = 'suspicious.activity',\n PaymentBlocked = 'payment.blocked',\n SecurityCheckFailed = 'security.check_failed',\n VelocityLimitExceeded = 'velocity.limit_exceeded',\n\n // Payment method events\n PaymentMethodAdded = 'payment_method.added',\n PaymentMethodUpdated = 'payment_method.updated',\n PaymentMethodDeleted = 'payment_method.deleted',\n PaymentMethodVerified = 'payment_method.verified',\n PaymentMethodExpired = 'payment_method.expired',\n\n // Subscription events\n SubscriptionCreated = 'subscription.created',\n SubscriptionUpdated = 'subscription.updated',\n SubscriptionCancelled = 'subscription.cancelled',\n SubscriptionRenewed = 'subscription.renewed',\n SubscriptionFailed = 'subscription.failed',\n SubscriptionTrialStarted = 'subscription.trial_started',\n SubscriptionTrialEnded = 'subscription.trial_ended',\n\n // Product & Pricing events\n ProductCreated = 'product.created',\n ProductUpdated = 'product.updated',\n ProductDeleted = 'product.deleted',\n PriceCreated = 'price.created',\n PriceUpdated = 'price.updated',\n PriceDeleted = 'price.deleted',\n\n // System and operational events\n PaymentLimitsUpdated = 'payment_limits.updated',\n PaymentLimitsExceeded = 'payment_limits.exceeded',\n ProviderConfigUpdated = 'provider.config_updated',\n ProviderMaintenanceStarted = 'provider.maintenance_started',\n ProviderMaintenanceEnded = 'provider.maintenance_ended',\n\n // Compliance and KYC events\n ComplianceCheckRequired = 'compliance.check_required',\n ComplianceCheckPassed = 'compliance.check_passed',\n ComplianceCheckFailed = 'compliance.check_failed',\n\n // Audit events\n AuditTrailCreated = 'audit.trail_created',\n RegulatoryReportGenerated = 'regulatory.report_generated',\n}\n\n/**\n * Payment event categories for organization and routing.\n */\nexport enum PAYMENT_EVENT_CATEGORY {\n TRANSACTION = 'transaction',\n REFUND = 'refund',\n PROVIDER = 'provider',\n SECURITY = 'security',\n COMPLIANCE = 'compliance',\n FINANCIAL = 'financial',\n SUBSCRIPTION = 'subscription',\n SYSTEM = 'system',\n AUDIT = 'audit',\n}\n\n/**\n * Error categories for payment events.\n */\nexport enum PAYMENT_EVENT_ERROR_CATEGORY {\n UserError = 'user_error', // User input or action errors\n ProviderError = 'provider_error', // Payment provider errors\n SystemError = 'system_error', // Internal system errors\n NetworkError = 'network_error', // Network connectivity errors\n FraudError = 'fraud_error', // Fraud detection errors\n ComplianceError = 'compliance_error', // Regulatory compliance errors\n LimitError = 'limit_error', // Limit exceeded errors\n ConfigurationError = 'configuration_error', // Configuration errors\n TimeoutError = 'timeout_error', // Timeout errors\n ValidationError = 'validation_error', // Data validation errors\n}\n","/**\n * Event processing status enumeration.\n */\nexport enum EVENT_PROCESSING_STATUS {\n Received = 'received', // Event received from provider\n Validating = 'validating', // Signature and format validation\n Normalizing = 'normalizing', // Converting to unified format\n Normalized = 'normalized', // Successfully normalized\n Processing = 'processing', // Business logic processing\n Completed = 'completed', // Processing completed successfully\n Failed = 'failed', // Processing failed\n Retrying = 'retrying', // Retrying after failure\n Skipped = 'skipped', // Skipped due to filters/rules\n}\n","/**\n * Enumeration of all supported payment providers in the Plyaz ecosystem.\n */\nexport enum PAYMENT_PROVIDER_TYPE {\n // Traditional payment processors\n Stripe = 'stripe',\n Paypal = 'paypal',\n CheckoutCom = 'checkout_com',\n Adyen = 'adyen',\n\n // Cryptocurrency payment providers\n Moonpay = 'moonpay',\n CoinbaseCommerce = 'coinbase_commerce',\n BlockchainBridge = 'blockchain_bridge',\n\n // Regional payment providers\n Pix = 'pix',\n Boleto = 'boleto',\n Sepa = 'sepa',\n Ideal = 'ideal',\n Sofort = 'sofort',\n Alipay = 'alipay',\n WechatPay = 'wechat_pay',\n\n // Mock provider for testing\n MockProvider = 'mock_provider',\n}\n\n/**\n * Enumeration of payment methods supported across all providers.\n */\nexport enum PAYMENT_METHOD {\n // Traditional payment methods\n CreditCard = 'credit_card',\n DebitCard = 'debit_card',\n BankTransfer = 'bank_transfer',\n PaypalAccount = 'paypal_account',\n\n // Cryptocurrency payment methods\n CryptoBitcoin = 'crypto_bitcoin',\n CryptoEthereum = 'crypto_ethereum',\n CryptoPolygon = 'crypto_polygon',\n CryptoOptimism = 'crypto_optimism',\n CryptoUsdc = 'crypto_usdc',\n CryptoUsdt = 'crypto_usdt',\n CryptoNativeToken = 'crypto_native_token',\n\n // Regional payment methods\n PixInstant = 'pix_instant',\n BoletoBancario = 'boleto_bancario',\n SepaDirectDebit = 'sepa_direct_debit',\n IdealBank = 'ideal_bank',\n SofortBanking = 'sofort_banking',\n AlipayDigital = 'alipay_digital',\n WechatPayDigital = 'wechat_pay_digital',\n\n // Digital wallets\n ApplePay = 'apple_pay',\n GooglePay = 'google_pay',\n SamsungPay = 'samsung_pay',\n}\n\n/**\n * Comprehensive payment status enumeration.\n */\nexport enum PAYMENT_STATUS {\n // Initial states\n Initiated = 'initiated',\n Pending = 'pending',\n Processing = 'processing',\n\n // Action required states\n RequiresAction = 'requires_action',\n RequiresConfirmation = 'requires_confirmation',\n RequiresPaymentMethod = 'requires_payment_method',\n\n // Success states\n Completed = 'completed',\n Settled = 'settled',\n\n // Failure states\n Failed = 'failed',\n Declined = 'declined',\n Cancelled = 'cancelled',\n Expired = 'expired',\n\n // Refund states\n Refunded = 'refunded',\n PartiallyRefunded = 'partially_refunded',\n\n // Dispute states\n Disputed = 'disputed',\n Chargeback = 'chargeback',\n ChargebackResolved = 'chargeback_resolved',\n\n // Special states\n Held = 'held',\n Authorized = 'authorized',\n Captured = 'captured',\n}\n\n/**\n * Transaction type enumeration.\n */\nexport enum TRANSACTION_TYPE {\n Payment = 'payment',\n Refund = 'refund',\n PartialRefund = 'partial_refund',\n Withdrawal = 'withdrawal',\n Donation = 'donation',\n Subscription = 'subscription',\n SubscriptionRenewal = 'subscription_renewal',\n Fee = 'fee',\n Chargeback = 'chargeback',\n Adjustment = 'adjustment',\n Reward = 'reward',\n Penalty = 'penalty',\n Transfer = 'transfer',\n}\n\n/**\n * User type enumeration.\n */\nexport enum USER_TYPE {\n Fan = 'fan',\n Athlete = 'athlete',\n Club = 'club',\n Agent = 'agent',\n Scout = 'scout',\n Admin = 'admin',\n System = 'system',\n}\n\n/**\n * Product type enumeration.\n */\nexport enum PRODUCT_TYPE {\n Campaign = 'campaign',\n Subscription = 'subscription',\n Nft = 'nft',\n Merchandise = 'merchandise',\n EventTicket = 'event_ticket',\n PremiumContent = 'premium_content',\n TrainingSession = 'training_session',\n Consultation = 'consultation',\n DigitalProduct = 'digital_product',\n PhysicalProduct = 'physical_product',\n}\n","/**\n * Enumeration of action types that users might need to complete.\n */\nexport enum REQUIREDACTIONTYPE {\n /** Redirect to external page (3D Secure, bank auth, etc.) */\n Redirect = 'redirect',\n\n /** Enter SMS or email verification code */\n OtpVerification = 'otp_verification',\n\n /** Upload identity or financial documents */\n DocumentUpload = 'document_upload',\n\n /** Provide additional payment information */\n AdditionalPaymentInfo = 'additional_payment_info',\n\n /** Confirm payment via mobile app or email */\n PaymentConfirmation = 'payment_confirmation',\n\n /** Contact customer support for manual verification */\n ManualVerification = 'manual_verification',\n\n /** Wait for bank transfer or other delayed method */\n WaitForCompletion = 'wait_for_completion',\n}\n","export enum PROVIDER_PRODUCT_STATUS {\n Active = 'active',\n Inactive = 'inactive',\n Archived = 'archived',\n}\n","/**\n * Cost optimization strategies.\n */\nexport enum COST_OPTIMIZATION_STRATEGY {\n /** Always use cheapest option */\n Aggressive = 'aggressive',\n\n /** Balance cost with reliability */\n Balanced = 'balanced',\n\n /** Prefer reliability over cost */\n Conservative = 'conservative',\n\n /** Optimize for specific cost components */\n Targeted = 'targeted',\n}\n\n/**\n * Failover strategies.\n */\nexport enum FAIL_OVER_STRATEGY {\n /** Use predefined provider order */\n PriorityOrder = 'priority_order',\n\n /** Failover to next available provider */\n NextAvailable = 'next_available',\n\n /** Failover based on performance metrics */\n PerformanceBased = 'performance_based',\n\n /** Failover to least loaded provider */\n LoadBalanced = 'load_balanced',\n\n /** Geographic failover preference */\n Geographic = 'geographic',\n}\n\n/**\n * Regulatory frameworks.\n */\nexport enum REGULATORY_FRAMEWORK {\n PciDss = 'pci_dss',\n Gdpr = 'gdpr',\n Psd2 = 'psd2',\n Sox = 'sox',\n Aml = 'aml',\n Kyc = 'kyc',\n Ccpa = 'ccpa',\n LocalBanking = 'local_banking',\n}\n\n/**\n * Load balancing strategies.\n */\nexport enum LOAD_BALANCING_STRATEGY {\n /** Rotate through providers evenly */\n RoundRobin = 'round_robin',\n\n /** Use weighted distribution */\n Weighted = 'weighted',\n\n /** Choose provider with least active traffic */\n LeastConnections = 'least_connections',\n\n /** Choose based on best performance metrics */\n PerformanceBased = 'performance_based',\n\n /** Custom strategy defined by merchant */\n Custom = 'custom',\n}\n\n/**\n * Types of performance metrics.\n */\nexport enum PERFORMANCE_METRIC_TYPE {\n Latency = 'latency',\n SuccessRate = 'success_rate',\n ErrorRate = 'error_rate',\n Throughput = 'throughput',\n Retries = 'retries',\n Availability = 'availability',\n Cost = 'cost',\n}\n\n/**\n * Primary routing strategies.\n */\nexport enum ROUTING_STRATEGY {\n /** Optimize for lowest total cost */\n CostOptimized = 'cost_optimized',\n\n /** Optimize for highest reliability */\n ReliabilityFirst = 'reliability_first',\n\n /** Optimize for fastest processing */\n PerformanceFirst = 'performance_first',\n\n /** Balance cost, reliability, and performance */\n Balanced = 'balanced',\n\n /** Use user or region preferences */\n UserPreference = 'user_preference',\n\n /** Distribute load evenly */\n RoundRobin = 'round_robin',\n\n /** Custom routing logic */\n Custom = 'custom',\n}\n\n/**\n * Enumerates all routing rule identifiers used within RouterStrategy.\n *\n * Purpose:\n * - Avoid hardcoded strings for rule names\n * - Provide consistent naming for debugging and error contexts\n * - Improve developer experience via auto-completion\n */\nexport enum ROUTER_RULE_NAME {\n AmountBasedSelection = 'amountBasedSelection',\n CurrencySpecificProviders = 'currencySpecificProviders',\n RegionSelection = 'regionSelection',\n RegionCompliance = 'regionCompliance',\n UserTypeSelection = 'userTypeSelection',\n TimeBasedSelection = 'timeBasedSelection',\n CustomRuleEvaluation = 'customRuleEvaluation',\n ABTesting = 'abTesting',\n DefaultSelection = 'defaultSelection',\n}\n\nexport const CUSTOM_RULE_FIELD = {\n AMOUNT: 'request.amount',\n CURRENCY: 'request.currency',\n USER_TYPE: 'request.userType',\n REGION: 'request.metadata.geoInfo.region',\n} as const;\n\n// Type representing the **values** of CUSTOM_RULE_FIELD\nexport type CustomRuleField = (typeof CUSTOM_RULE_FIELD)[keyof typeof CUSTOM_RULE_FIELD];\n","/**\n * Payment-specific error categories\n */\n// TODO: check if this is correct\nexport const PAYMENT_ERROR_CATEGORY = {\n /** Payment method validation or processing error */\n PaymentMethod: 'payment.method',\n\n /** Transaction processing error */\n Transaction: 'transaction',\n\n /** Payment capture error */\n Capture: 'capture',\n\n /** Payment authorization error */\n Authorization: 'authorization',\n\n /** Payment settlement error */\n Settlement: 'settlement',\n\n /** Refund processing error */\n Refund: 'refund',\n\n /** Payment gateway or provider error */\n Gateway: 'gateway',\n\n /** Payment fraud detection error */\n Fraud: 'fraud',\n\n /** Payment compliance error (AML/KYC) */\n Compliance: 'compliance',\n\n /** Payment limits exceeded */\n Limits: 'limits',\n\n /** Payment webhook error */\n Webhook: 'webhook',\n\n /** Payment security error */\n Security: 'security',\n\n /** Payment processing timeout */\n Timeout: 'timeout',\n\n /** Payment configuration error */\n Configuration: 'configuration',\n} as const;\n\nexport enum REFUND_ERROR_TYPES {\n NotAllowed = 'not_allowed',\n Authorization = 'authorization',\n Processing = 'processing',\n}\n\n/**\n * Refund not allowed reasons.\n */\nexport enum REFUND_NOT_ALLOWED_REASON {\n AlreadyRefunded = 'already_refunded',\n PartialNotSupported = 'partial_not_supported',\n TimeLimitExceeded = 'time_limit_exceeded',\n InsufficientBalance = 'insufficient_balance',\n ProviderRestriction = 'provider_restriction',\n ComplianceRestriction = 'compliance_restriction',\n}\n\n/**\n * Security threat types.\n */\nexport enum SECURITY_THREAT_TYPE {\n FraudSuspected = 'fraud_suspected',\n VelocityExceeded = 'velocity_exceeded',\n SuspiciousPattern = 'suspicious_pattern',\n BlockedRegion = 'blocked_region',\n BlacklistedMethod = 'blacklisted_method',\n SystemThreat = 'system_threat',\n}\n\n/**\n * Webhook verification failure reasons.\n */\nexport enum WEBHOOK_VERIFICATION_REASON {\n InvalidSignature = 'invalid_signature',\n MissingSignature = 'missing_signature',\n ExpiredTimestamp = 'expired_timestamp',\n InvalidPayload = 'invalid_payload',\n UnknownEndpoint = 'unknown_endpoint',\n}\n\n/**\n * Central registry for all payment resolution translation keys.\n * Provides type safety and autocompletion for all PaymentError subclasses.\n */\n\nexport const PAYMENT_RESOLUTION_KEYS = {\n GENERIC: 'resolution.generic',\n PAYMENTS_PACKAGE_ERROR: 'resolution._package_error',\n\n // Validation\n PAYMENT_VALIDATION_ERROR: 'resolution.payment_validation_error',\n INVALID_AMOUNT_ERROR: 'resolution.invalid_amount_error',\n INVALID_PAYMENT_METHOD_ERROR: 'resolution.invalid_payment_method_error',\n\n // Processing\n PAYMENT_PROCESSING_ERROR: 'resolution.payment_processing_error',\n PAYMENT_DECLINED_ERROR: 'resolution.payment_declined_error',\n INSUFFICIENT_FUNDS_ERROR: 'resolution.insufficient_funds_error',\n\n // Provider\n PAYMENT_PROVIDER_ERROR: 'resolution.payment_provider_error',\n PROVIDER_TIMEOUT_ERROR: 'resolution.provider_timeout_error',\n PROVIDER_RATE_LIMIT_ERROR: 'resolution.provider_rate_limit_error',\n\n // Security\n PAYMENT_SECURITY_ERROR: 'resolution.payment_security_error',\n FRAUD_DETECTED_ERROR: 'resolution.fraud_detected_error',\n VELOCITY_LIMIT_EXCEEDED_ERROR: 'resolution.velocity_limit_exceeded_error',\n\n // Refund\n REFUND_ERROR: 'resolution.refund_error',\n REFUND_NOT_ALLOWED_ERROR: 'resolution.refund_not_allowed_error',\n REFUND_AUTHORIZATION_ERROR: 'resolution.refund_authorization_error',\n\n COMPLIANCE_ERROR: 'resolution.compliance_error',\n KYC_VERIFICATION_REQUIRED: 'resolution.kyc_verification_required',\n GEOGRAPHIC_RESTRICTION: 'resolution.geographic_restriction',\n\n PAYMENT_WEBHOOK_PACKAGE_ERROR: 'resolution.payment_webhook_package_error',\n PAYMENT_WEBHOOK_VERIFICATION_ERROR: 'resolution.payment_webhook_verification_error',\n PAYMENT_WEBHOOK_PROCESSING_ERROR: 'resolution.payment_webhook_processing_error',\n PAYMENT_WEBHOOK_REPLAY_ERROR: 'resolution.payment_webhook_replay_error',\n} as const;\n\n/** Union type of all available resolution keys */\nexport type PaymentResolutionKey =\n (typeof PAYMENT_RESOLUTION_KEYS)[keyof typeof PAYMENT_RESOLUTION_KEYS];\n\n/**\n * Central registry for all payment recommendation translation keys.\n * Provides type safety and autocompletion for analytics, alerts, and monitoring logic.\n */\n\nexport const PAYMENT_RECOMMENDATION_KEYS = {\n RETRY_LOGIC: 'recommendation.retry_logic',\n CHECK_PROVIDER: 'recommendation.check_provider',\n CRITICAL_ALERT: 'recommendation.critical_alert',\n USER_FACING: 'recommendation.user_facing',\n SYSTEM_STABLE: 'recommendation.system_stable',\n} as const;\n\n/** Union type of all available recommendation keys */\nexport type PaymentRecommendationKey =\n (typeof PAYMENT_RECOMMENDATION_KEYS)[keyof typeof PAYMENT_RECOMMENDATION_KEYS];\n","import { PAYMENT_STATUS } from '../provider';\n\nexport enum IDEMPOTENCY_STATUS {\n PENDING = 'PENDING',\n COMPLETED = 'COMPLETED',\n FAILED = 'FAILED',\n}\n\nexport const IDEMPOTENCY_SAFE_STATUSES: PAYMENT_STATUS[] = [\n PAYMENT_STATUS.Completed,\n PAYMENT_STATUS.Settled,\n PAYMENT_STATUS.Refunded,\n PAYMENT_STATUS.PartiallyRefunded,\n PAYMENT_STATUS.Disputed,\n];\n","// KYC Status\nexport enum KYC_STATUS {\n Pending = 'PENDING',\n Approved = 'APPROVED',\n Rejected = 'REJECTED',\n Expired = 'EXPIRED',\n}\n\n// KYC Tier\nexport enum KYC_TIER {\n Tier0 = 'TIER_0',\n Tier1 = 'TIER_1',\n Tier2 = 'TIER_2',\n Tier3 = 'TIER_3',\n}\n\n// KYC Provider\nexport enum KYC_PROVIDER {\n StripeIdentity = 'STRIPE_IDENTITY',\n Sumsub = 'SUMSUB',\n Onfido = 'ONFIDO',\n Jumio = 'JUMIO',\n Manual = 'MANUAL',\n}\n\nexport enum ONBOARD_STATUS {\n Pending = 'PENDING', // User needs to complete KYC\n Completed = 'COMPLETED', // KYC completed successfully\n Redirect = 'REJECTED', // KYC rejected\n Failed = 'FAILED', // Technical or unknown failure\n}\n\nexport enum ONBOARD_LINK_TYPE {\n Onboard = 'ONBOARD', // First-time onboarding\n Update = 'UPDATE', // Update missing info\n}\n\n/**\n * KYC entity type for onboarding and verification.\n */\nexport enum KYC_ENTITY_TYPE {\n Individual = 'individual', // Natural person\n Company = 'company', // Standard legal entity / corporation\n NonProfit = 'non_profit', // Non-profit organization / NGO\n GovernmentEntity = 'government_entity', // Government agency or public entity\n}\n\n/**\n * Configuration for KYC per user type.\n */\nexport interface UserTypeKycConfig {\n kycRequired: boolean;\n entityType: KYC_ENTITY_TYPE | null;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/payments/events/enums.ts","../../src/payments/events/unified-event/enums.ts","../../src/payments/provider/provider-capability/enums.ts","../../src/payments/request/enums.ts","../../src/payments/gateways/provider/plans/enums.ts","../../src/payments/gateways/provider/fee/enum.ts","../../src/payments/gateways/routings/enums.ts","../../src/payments/base-error/enum.ts","../../src/payments/idempotency/enum.ts","../../src/payments/kyc/enum.ts"],"names":["PAYMENT_EVENT_TYPE","PAYMENT_EVENT_CATEGORY","PAYMENT_EVENT_ERROR_CATEGORY","EVENT_PROCESSING_STATUS","PAYMENT_PROVIDER_TYPE","PAYMENT_METHOD","PAYMENT_STATUS","TRANSACTION_TYPE","USER_TYPE","PRODUCT_TYPE","REQUIREDACTIONTYPE","PROVIDER_PRODUCT_STATUS","FEE_TYPE","FEE_CONTEXT","COST_OPTIMIZATION_STRATEGY","FAIL_OVER_STRATEGY","REGULATORY_FRAMEWORK","LOAD_BALANCING_STRATEGY","PERFORMANCE_METRIC_TYPE","ROUTING_STRATEGY","ROUTER_RULE_NAME","REFUND_ERROR_TYPES","REFUND_NOT_ALLOWED_REASON","SECURITY_THREAT_TYPE","WEBHOOK_VERIFICATION_REASON","IDEMPOTENCY_STATUS","KYC_STATUS","KYC_TIER","KYC_PROVIDER","ONBOARD_STATUS","ONBOARD_LINK_TYPE","KYC_ENTITY_TYPE"],"mappings":"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","file":"index.cjs","sourcesContent":["/**\n * Comprehensive enumeration of all payment-related events that can occur\n * in the system. Events are organized by category and follow a hierarchical\n * naming convention for easy filtering and subscription.\n *\n * Naming Convention:\n * - Category.Action (e.g., payment.completed)\n * - Use present tense for ongoing events, past tense for completed events\n * - Include both success and failure events for complete audit trails\n */\nexport enum PAYMENT_EVENT_TYPE {\n // Payment lifecycle events\n PaymentInitiated = 'payment.initiated',\n PaymentProcessing = 'payment.processing',\n PaymentRequiresAction = 'payment.requires_action',\n PaymentCompleted = 'payment.completed',\n PaymentFailed = 'payment.failed',\n PaymentCancelled = 'payment.cancelled',\n PaymentExpired = 'payment.expired',\n PaymentAuthorized = 'payment.authorized',\n PaymentCaptured = 'payment.captured',\n PaymentHeld = 'payment.held',\n PaymentReleased = 'payment.released',\n\n // Refund lifecycle events\n RefundRequested = 'refund.requested',\n RefundApproved = 'refund.approved',\n RefundRejected = 'refund.rejected',\n RefundProcessing = 'refund.processing',\n RefundCompleted = 'refund.completed',\n RefundFailed = 'refund.failed',\n RefundCancelled = 'refund.cancelled',\n\n // Withdrawals / Payout events\n WithdrawalRequested = 'withdrawal.requested',\n WithdrawalProcessed = 'withdrawal.processed',\n WithdrawalFailed = 'withdrawal.failed',\n WithdrawalCancelled = 'withdrawal.cancelled',\n\n // Provider interaction events\n ProviderWebhookReceived = 'provider.webhook.received',\n ProviderWebhookProcessed = 'provider.webhook.processed',\n ProviderWebhookFailed = 'provider.webhook.failed',\n ProviderApiCalled = 'provider.api.called',\n ProviderApiSucceeded = 'provider.api.succeeded',\n ProviderApiFailed = 'provider.api.failed',\n ProviderTimeout = 'provider.timeout',\n ProviderHealthChanged = 'provider.health.changed',\n\n // Financial events\n SettlementInitiated = 'settlement.initiated',\n SettlementCompleted = 'settlement.completed',\n SettlementFailed = 'settlement.failed',\n PayoutRequested = 'payout.requested',\n PayoutProcessed = 'payout.processed',\n PayoutFailed = 'payout.failed',\n\n // Dispute and chargeback events\n ChargebackReceived = 'chargeback.received',\n ChargebackResponded = 'chargeback.responded',\n ChargebackWon = 'chargeback.won',\n ChargebackLost = 'chargeback.lost',\n DisputeCreated = 'dispute.created',\n DisputeUpdated = 'dispute.updated',\n DisputeResolved = 'dispute.resolved',\n DisputeEscalated = 'dispute.escalated',\n\n // Security and fraud events\n FraudDetected = 'fraud.detected',\n FraudReviewRequired = 'fraud.review_required',\n FraudCleared = 'fraud.cleared',\n SuspiciousActivity = 'suspicious.activity',\n PaymentBlocked = 'payment.blocked',\n SecurityCheckFailed = 'security.check_failed',\n VelocityLimitExceeded = 'velocity.limit_exceeded',\n\n // Payment method events\n PaymentMethodAdded = 'payment_method.added',\n PaymentMethodUpdated = 'payment_method.updated',\n PaymentMethodDeleted = 'payment_method.deleted',\n PaymentMethodVerified = 'payment_method.verified',\n PaymentMethodExpired = 'payment_method.expired',\n\n // Subscription events\n SubscriptionCreated = 'subscription.created',\n SubscriptionUpdated = 'subscription.updated',\n SubscriptionCancelled = 'subscription.cancelled',\n SubscriptionRenewed = 'subscription.renewed',\n SubscriptionFailed = 'subscription.failed',\n SubscriptionTrialStarted = 'subscription.trial_started',\n SubscriptionTrialEnded = 'subscription.trial_ended',\n\n // Product & Pricing events\n ProductCreated = 'product.created',\n ProductUpdated = 'product.updated',\n ProductDeleted = 'product.deleted',\n PriceCreated = 'price.created',\n PriceUpdated = 'price.updated',\n PriceDeleted = 'price.deleted',\n\n // System and operational events\n PaymentLimitsUpdated = 'payment_limits.updated',\n PaymentLimitsExceeded = 'payment_limits.exceeded',\n ProviderConfigUpdated = 'provider.config_updated',\n ProviderMaintenanceStarted = 'provider.maintenance_started',\n ProviderMaintenanceEnded = 'provider.maintenance_ended',\n\n // Compliance and KYC events\n ComplianceCheckRequired = 'compliance.check_required',\n ComplianceCheckPassed = 'compliance.check_passed',\n ComplianceCheckFailed = 'compliance.check_failed',\n\n // Audit events\n AuditTrailCreated = 'audit.trail_created',\n RegulatoryReportGenerated = 'regulatory.report_generated',\n}\n\n/**\n * Payment event categories for organization and routing.\n */\nexport enum PAYMENT_EVENT_CATEGORY {\n TRANSACTION = 'transaction',\n REFUND = 'refund',\n PROVIDER = 'provider',\n SECURITY = 'security',\n COMPLIANCE = 'compliance',\n FINANCIAL = 'financial',\n SUBSCRIPTION = 'subscription',\n SYSTEM = 'system',\n AUDIT = 'audit',\n}\n\n/**\n * Error categories for payment events.\n */\nexport enum PAYMENT_EVENT_ERROR_CATEGORY {\n UserError = 'user_error', // User input or action errors\n ProviderError = 'provider_error', // Payment provider errors\n SystemError = 'system_error', // Internal system errors\n NetworkError = 'network_error', // Network connectivity errors\n FraudError = 'fraud_error', // Fraud detection errors\n ComplianceError = 'compliance_error', // Regulatory compliance errors\n LimitError = 'limit_error', // Limit exceeded errors\n ConfigurationError = 'configuration_error', // Configuration errors\n TimeoutError = 'timeout_error', // Timeout errors\n ValidationError = 'validation_error', // Data validation errors\n}\n","/**\n * Event processing status enumeration.\n */\nexport enum EVENT_PROCESSING_STATUS {\n Received = 'received', // Event received from provider\n Validating = 'validating', // Signature and format validation\n Normalizing = 'normalizing', // Converting to unified format\n Normalized = 'normalized', // Successfully normalized\n Processing = 'processing', // Business logic processing\n Completed = 'completed', // Processing completed successfully\n Failed = 'failed', // Processing failed\n Retrying = 'retrying', // Retrying after failure\n Skipped = 'skipped', // Skipped due to filters/rules\n}\n","/**\n * Enumeration of all supported payment providers in the Plyaz ecosystem.\n */\nexport enum PAYMENT_PROVIDER_TYPE {\n // Traditional payment processors\n Stripe = 'stripe',\n Paypal = 'paypal',\n CheckoutCom = 'checkout_com',\n Adyen = 'adyen',\n\n // Cryptocurrency payment providers\n Moonpay = 'moonpay',\n CoinbaseCommerce = 'coinbase_commerce',\n BlockchainBridge = 'blockchain_bridge',\n\n // Regional payment providers\n Pix = 'pix',\n Boleto = 'boleto',\n Sepa = 'sepa',\n Ideal = 'ideal',\n Sofort = 'sofort',\n Alipay = 'alipay',\n WechatPay = 'wechat_pay',\n\n // Mock provider for testing\n MockProvider = 'mock_provider',\n}\n\n/**\n * Enumeration of payment methods supported across all providers.\n */\nexport enum PAYMENT_METHOD {\n // Traditional payment methods\n CreditCard = 'credit_card',\n DebitCard = 'debit_card',\n BankTransfer = 'bank_transfer',\n PaypalAccount = 'paypal_account',\n\n // Cryptocurrency payment methods\n CryptoBitcoin = 'crypto_bitcoin',\n CryptoEthereum = 'crypto_ethereum',\n CryptoPolygon = 'crypto_polygon',\n CryptoOptimism = 'crypto_optimism',\n CryptoUsdc = 'crypto_usdc',\n CryptoUsdt = 'crypto_usdt',\n CryptoNativeToken = 'crypto_native_token',\n\n // Regional payment methods\n PixInstant = 'pix_instant',\n BoletoBancario = 'boleto_bancario',\n SepaDirectDebit = 'sepa_direct_debit',\n IdealBank = 'ideal_bank',\n SofortBanking = 'sofort_banking',\n AlipayDigital = 'alipay_digital',\n WechatPayDigital = 'wechat_pay_digital',\n\n // Digital wallets\n ApplePay = 'apple_pay',\n GooglePay = 'google_pay',\n SamsungPay = 'samsung_pay',\n}\n\n/**\n * Comprehensive payment status enumeration.\n */\nexport enum PAYMENT_STATUS {\n // Initial states\n Initiated = 'initiated',\n Pending = 'pending',\n Processing = 'processing',\n\n // Action required states\n RequiresAction = 'requires_action',\n RequiresConfirmation = 'requires_confirmation',\n RequiresPaymentMethod = 'requires_payment_method',\n\n // Success states\n Completed = 'completed',\n Settled = 'settled',\n\n // Failure states\n Failed = 'failed',\n Declined = 'declined',\n Cancelled = 'cancelled',\n Expired = 'expired',\n\n // Refund states\n Refunded = 'refunded',\n PartiallyRefunded = 'partially_refunded',\n\n // Dispute states\n Disputed = 'disputed',\n Chargeback = 'chargeback',\n ChargebackResolved = 'chargeback_resolved',\n\n // Special states\n Held = 'held',\n Authorized = 'authorized',\n Captured = 'captured',\n}\n\n/**\n * Transaction type enumeration.\n */\nexport enum TRANSACTION_TYPE {\n Payment = 'payment',\n Refund = 'refund',\n PartialRefund = 'partial_refund',\n Withdrawal = 'withdrawal',\n Donation = 'donation',\n Subscription = 'subscription',\n SubscriptionRenewal = 'subscription_renewal',\n Fee = 'fee',\n Chargeback = 'chargeback',\n Adjustment = 'adjustment',\n Reward = 'reward',\n Penalty = 'penalty',\n Transfer = 'transfer',\n}\n\n/**\n * User type enumeration.\n */\nexport enum USER_TYPE {\n Fan = 'fan',\n Athlete = 'athlete',\n Club = 'club',\n Agent = 'agent',\n Scout = 'scout',\n Admin = 'admin',\n System = 'system',\n}\n\n/**\n * Product type enumeration.\n */\nexport enum PRODUCT_TYPE {\n Campaign = 'campaign',\n Subscription = 'subscription',\n Nft = 'nft',\n Merchandise = 'merchandise',\n EventTicket = 'event_ticket',\n PremiumContent = 'premium_content',\n TrainingSession = 'training_session',\n Consultation = 'consultation',\n DigitalProduct = 'digital_product',\n PhysicalProduct = 'physical_product',\n}\n","/**\n * Enumeration of action types that users might need to complete.\n */\nexport enum REQUIREDACTIONTYPE {\n /** Redirect to external page (3D Secure, bank auth, etc.) */\n Redirect = 'redirect',\n\n /** Enter SMS or email verification code */\n OtpVerification = 'otp_verification',\n\n /** Upload identity or financial documents */\n DocumentUpload = 'document_upload',\n\n /** Provide additional payment information */\n AdditionalPaymentInfo = 'additional_payment_info',\n\n /** Confirm payment via mobile app or email */\n PaymentConfirmation = 'payment_confirmation',\n\n /** Contact customer support for manual verification */\n ManualVerification = 'manual_verification',\n\n /** Wait for bank transfer or other delayed method */\n WaitForCompletion = 'wait_for_completion',\n}\n","export enum PROVIDER_PRODUCT_STATUS {\n Active = 'active',\n Inactive = 'inactive',\n Archived = 'archived',\n}\n","/**\n * Enum for fee types\n */\nexport enum FEE_TYPE {\n Platform = 'platform',\n CrossBorder = 'crossBorder',\n Conversion = 'currencyConversion',\n Network = 'network',\n Gas = 'gas',\n Expedite = 'expedite',\n Risk = 'risk',\n Compliance = 'compliance',\n Chargeback = 'chargeback',\n Refund = 'refund',\n}\n\n/**\n * Enum for transaction contexts\n */\nexport enum FEE_CONTEXT {\n Payment = 'payment',\n Subscription = 'subscription',\n Withdrawal = 'withdrawal',\n Refund = 'refund',\n Dispute = 'dispute',\n}\n","/**\n * Cost optimization strategies.\n */\nexport enum COST_OPTIMIZATION_STRATEGY {\n /** Always use cheapest option */\n Aggressive = 'aggressive',\n\n /** Balance cost with reliability */\n Balanced = 'balanced',\n\n /** Prefer reliability over cost */\n Conservative = 'conservative',\n\n /** Optimize for specific cost components */\n Targeted = 'targeted',\n}\n\n/**\n * Failover strategies.\n */\nexport enum FAIL_OVER_STRATEGY {\n /** Use predefined provider order */\n PriorityOrder = 'priority_order',\n\n /** Failover to next available provider */\n NextAvailable = 'next_available',\n\n /** Failover based on performance metrics */\n PerformanceBased = 'performance_based',\n\n /** Failover to least loaded provider */\n LoadBalanced = 'load_balanced',\n\n /** Geographic failover preference */\n Geographic = 'geographic',\n}\n\n/**\n * Regulatory frameworks.\n */\nexport enum REGULATORY_FRAMEWORK {\n PciDss = 'pci_dss',\n Gdpr = 'gdpr',\n Psd2 = 'psd2',\n Sox = 'sox',\n Aml = 'aml',\n Kyc = 'kyc',\n Ccpa = 'ccpa',\n LocalBanking = 'local_banking',\n}\n\n/**\n * Load balancing strategies.\n */\nexport enum LOAD_BALANCING_STRATEGY {\n /** Rotate through providers evenly */\n RoundRobin = 'round_robin',\n\n /** Use weighted distribution */\n Weighted = 'weighted',\n\n /** Choose provider with least active traffic */\n LeastConnections = 'least_connections',\n\n /** Choose based on best performance metrics */\n PerformanceBased = 'performance_based',\n\n /** Custom strategy defined by merchant */\n Custom = 'custom',\n}\n\n/**\n * Types of performance metrics.\n */\nexport enum PERFORMANCE_METRIC_TYPE {\n Latency = 'latency',\n SuccessRate = 'success_rate',\n ErrorRate = 'error_rate',\n Throughput = 'throughput',\n Retries = 'retries',\n Availability = 'availability',\n Cost = 'cost',\n}\n\n/**\n * Primary routing strategies.\n */\nexport enum ROUTING_STRATEGY {\n /** Optimize for lowest total cost */\n CostOptimized = 'cost_optimized',\n\n /** Optimize for highest reliability */\n ReliabilityFirst = 'reliability_first',\n\n /** Optimize for fastest processing */\n PerformanceFirst = 'performance_first',\n\n /** Balance cost, reliability, and performance */\n Balanced = 'balanced',\n\n /** Use user or region preferences */\n UserPreference = 'user_preference',\n\n /** Distribute load evenly */\n RoundRobin = 'round_robin',\n\n /** Custom routing logic */\n Custom = 'custom',\n}\n\n/**\n * Enumerates all routing rule identifiers used within RouterStrategy.\n *\n * Purpose:\n * - Avoid hardcoded strings for rule names\n * - Provide consistent naming for debugging and error contexts\n * - Improve developer experience via auto-completion\n */\nexport enum ROUTER_RULE_NAME {\n AmountBasedSelection = 'amountBasedSelection',\n CurrencySpecificProviders = 'currencySpecificProviders',\n RegionSelection = 'regionSelection',\n RegionCompliance = 'regionCompliance',\n UserTypeSelection = 'userTypeSelection',\n TimeBasedSelection = 'timeBasedSelection',\n CustomRuleEvaluation = 'customRuleEvaluation',\n ABTesting = 'abTesting',\n DefaultSelection = 'defaultSelection',\n}\n\nexport const CUSTOM_RULE_FIELD = {\n AMOUNT: 'request.amount',\n CURRENCY: 'request.currency',\n USER_TYPE: 'request.userType',\n REGION: 'request.metadata.geoInfo.region',\n} as const;\n\n// Type representing the **values** of CUSTOM_RULE_FIELD\nexport type CustomRuleField = (typeof CUSTOM_RULE_FIELD)[keyof typeof CUSTOM_RULE_FIELD];\n","/**\n * Payment-specific error categories\n */\n// TODO: check if this is correct\nexport const PAYMENT_ERROR_CATEGORY = {\n /** Payment method validation or processing error */\n PaymentMethod: 'payment.method',\n\n /** Transaction processing error */\n Transaction: 'transaction',\n\n /** Payment capture error */\n Capture: 'capture',\n\n /** Payment authorization error */\n Authorization: 'authorization',\n\n /** Payment settlement error */\n Settlement: 'settlement',\n\n /** Refund processing error */\n Refund: 'refund',\n\n /** Payment gateway or provider error */\n Gateway: 'gateway',\n\n /** Payment fraud detection error */\n Fraud: 'fraud',\n\n /** Payment compliance error (AML/KYC) */\n Compliance: 'compliance',\n\n /** Payment limits exceeded */\n Limits: 'limits',\n\n /** Payment webhook error */\n Webhook: 'webhook',\n\n /** Payment security error */\n Security: 'security',\n\n /** Payment processing timeout */\n Timeout: 'timeout',\n\n /** Payment configuration error */\n Configuration: 'configuration',\n} as const;\n\nexport enum REFUND_ERROR_TYPES {\n NotAllowed = 'not_allowed',\n Authorization = 'authorization',\n Processing = 'processing',\n}\n\n/**\n * Refund not allowed reasons.\n */\nexport enum REFUND_NOT_ALLOWED_REASON {\n AlreadyRefunded = 'already_refunded',\n PartialNotSupported = 'partial_not_supported',\n TimeLimitExceeded = 'time_limit_exceeded',\n InsufficientBalance = 'insufficient_balance',\n ProviderRestriction = 'provider_restriction',\n ComplianceRestriction = 'compliance_restriction',\n}\n\n/**\n * Security threat types.\n */\nexport enum SECURITY_THREAT_TYPE {\n FraudSuspected = 'fraud_suspected',\n VelocityExceeded = 'velocity_exceeded',\n SuspiciousPattern = 'suspicious_pattern',\n BlockedRegion = 'blocked_region',\n BlacklistedMethod = 'blacklisted_method',\n SystemThreat = 'system_threat',\n}\n\n/**\n * Webhook verification failure reasons.\n */\nexport enum WEBHOOK_VERIFICATION_REASON {\n InvalidSignature = 'invalid_signature',\n MissingSignature = 'missing_signature',\n ExpiredTimestamp = 'expired_timestamp',\n InvalidPayload = 'invalid_payload',\n UnknownEndpoint = 'unknown_endpoint',\n}\n\n/**\n * Central registry for all payment resolution translation keys.\n * Provides type safety and autocompletion for all PaymentError subclasses.\n */\n\nexport const PAYMENT_RESOLUTION_KEYS = {\n GENERIC: 'resolution.generic',\n PAYMENTS_PACKAGE_ERROR: 'resolution._package_error',\n\n // Validation\n PAYMENT_VALIDATION_ERROR: 'resolution.payment_validation_error',\n INVALID_AMOUNT_ERROR: 'resolution.invalid_amount_error',\n INVALID_PAYMENT_METHOD_ERROR: 'resolution.invalid_payment_method_error',\n\n // Processing\n PAYMENT_PROCESSING_ERROR: 'resolution.payment_processing_error',\n PAYMENT_DECLINED_ERROR: 'resolution.payment_declined_error',\n INSUFFICIENT_FUNDS_ERROR: 'resolution.insufficient_funds_error',\n\n // Provider\n PAYMENT_PROVIDER_ERROR: 'resolution.payment_provider_error',\n PROVIDER_TIMEOUT_ERROR: 'resolution.provider_timeout_error',\n PROVIDER_RATE_LIMIT_ERROR: 'resolution.provider_rate_limit_error',\n\n // Security\n PAYMENT_SECURITY_ERROR: 'resolution.payment_security_error',\n FRAUD_DETECTED_ERROR: 'resolution.fraud_detected_error',\n VELOCITY_LIMIT_EXCEEDED_ERROR: 'resolution.velocity_limit_exceeded_error',\n\n // Refund\n REFUND_ERROR: 'resolution.refund_error',\n REFUND_NOT_ALLOWED_ERROR: 'resolution.refund_not_allowed_error',\n REFUND_AUTHORIZATION_ERROR: 'resolution.refund_authorization_error',\n\n COMPLIANCE_ERROR: 'resolution.compliance_error',\n KYC_VERIFICATION_REQUIRED: 'resolution.kyc_verification_required',\n GEOGRAPHIC_RESTRICTION: 'resolution.geographic_restriction',\n\n PAYMENT_WEBHOOK_PACKAGE_ERROR: 'resolution.payment_webhook_package_error',\n PAYMENT_WEBHOOK_VERIFICATION_ERROR: 'resolution.payment_webhook_verification_error',\n PAYMENT_WEBHOOK_PROCESSING_ERROR: 'resolution.payment_webhook_processing_error',\n PAYMENT_WEBHOOK_REPLAY_ERROR: 'resolution.payment_webhook_replay_error',\n} as const;\n\n/** Union type of all available resolution keys */\nexport type PaymentResolutionKey =\n (typeof PAYMENT_RESOLUTION_KEYS)[keyof typeof PAYMENT_RESOLUTION_KEYS];\n\n/**\n * Central registry for all payment recommendation translation keys.\n * Provides type safety and autocompletion for analytics, alerts, and monitoring logic.\n */\n\nexport const PAYMENT_RECOMMENDATION_KEYS = {\n RETRY_LOGIC: 'recommendation.retry_logic',\n CHECK_PROVIDER: 'recommendation.check_provider',\n CRITICAL_ALERT: 'recommendation.critical_alert',\n USER_FACING: 'recommendation.user_facing',\n SYSTEM_STABLE: 'recommendation.system_stable',\n} as const;\n\n/** Union type of all available recommendation keys */\nexport type PaymentRecommendationKey =\n (typeof PAYMENT_RECOMMENDATION_KEYS)[keyof typeof PAYMENT_RECOMMENDATION_KEYS];\n","import { PAYMENT_STATUS } from '../provider';\n\nexport enum IDEMPOTENCY_STATUS {\n PENDING = 'PENDING',\n COMPLETED = 'COMPLETED',\n FAILED = 'FAILED',\n}\n\nexport const IDEMPOTENCY_SAFE_STATUSES: PAYMENT_STATUS[] = [\n PAYMENT_STATUS.Completed,\n PAYMENT_STATUS.Settled,\n PAYMENT_STATUS.Refunded,\n PAYMENT_STATUS.PartiallyRefunded,\n PAYMENT_STATUS.Disputed,\n];\n","// KYC Status\nexport enum KYC_STATUS {\n Pending = 'PENDING',\n Approved = 'APPROVED',\n Rejected = 'REJECTED',\n Expired = 'EXPIRED',\n}\n\n// KYC Tier\nexport enum KYC_TIER {\n Tier0 = 'TIER_0',\n Tier1 = 'TIER_1',\n Tier2 = 'TIER_2',\n Tier3 = 'TIER_3',\n}\n\n// KYC Provider\nexport enum KYC_PROVIDER {\n StripeIdentity = 'STRIPE_IDENTITY',\n Sumsub = 'SUMSUB',\n Onfido = 'ONFIDO',\n Jumio = 'JUMIO',\n Manual = 'MANUAL',\n}\n\nexport enum ONBOARD_STATUS {\n Pending = 'PENDING', // User needs to complete KYC\n Completed = 'COMPLETED', // KYC completed successfully\n Redirect = 'REJECTED', // KYC rejected\n Failed = 'FAILED', // Technical or unknown failure\n}\n\nexport enum ONBOARD_LINK_TYPE {\n Onboard = 'ONBOARD', // First-time onboarding\n Update = 'UPDATE', // Update missing info\n}\n\n/**\n * KYC entity type for onboarding and verification.\n */\nexport enum KYC_ENTITY_TYPE {\n Individual = 'individual', // Natural person\n Company = 'company', // Standard legal entity / corporation\n NonProfit = 'non_profit', // Non-profit organization / NGO\n GovernmentEntity = 'government_entity', // Government agency or public entity\n}\n\n/**\n * Configuration for KYC per user type.\n */\nexport interface UserTypeKycConfig {\n kycRequired: boolean;\n entityType: KYC_ENTITY_TYPE | null;\n}\n"]}
|
package/dist/payments/index.js
CHANGED
|
@@ -249,6 +249,29 @@ var PROVIDER_PRODUCT_STATUS = /* @__PURE__ */ ((PROVIDER_PRODUCT_STATUS2) => {
|
|
|
249
249
|
return PROVIDER_PRODUCT_STATUS2;
|
|
250
250
|
})(PROVIDER_PRODUCT_STATUS || {});
|
|
251
251
|
|
|
252
|
+
// src/payments/gateways/provider/fee/enum.ts
|
|
253
|
+
var FEE_TYPE = /* @__PURE__ */ ((FEE_TYPE2) => {
|
|
254
|
+
FEE_TYPE2["Platform"] = "platform";
|
|
255
|
+
FEE_TYPE2["CrossBorder"] = "crossBorder";
|
|
256
|
+
FEE_TYPE2["Conversion"] = "currencyConversion";
|
|
257
|
+
FEE_TYPE2["Network"] = "network";
|
|
258
|
+
FEE_TYPE2["Gas"] = "gas";
|
|
259
|
+
FEE_TYPE2["Expedite"] = "expedite";
|
|
260
|
+
FEE_TYPE2["Risk"] = "risk";
|
|
261
|
+
FEE_TYPE2["Compliance"] = "compliance";
|
|
262
|
+
FEE_TYPE2["Chargeback"] = "chargeback";
|
|
263
|
+
FEE_TYPE2["Refund"] = "refund";
|
|
264
|
+
return FEE_TYPE2;
|
|
265
|
+
})(FEE_TYPE || {});
|
|
266
|
+
var FEE_CONTEXT = /* @__PURE__ */ ((FEE_CONTEXT2) => {
|
|
267
|
+
FEE_CONTEXT2["Payment"] = "payment";
|
|
268
|
+
FEE_CONTEXT2["Subscription"] = "subscription";
|
|
269
|
+
FEE_CONTEXT2["Withdrawal"] = "withdrawal";
|
|
270
|
+
FEE_CONTEXT2["Refund"] = "refund";
|
|
271
|
+
FEE_CONTEXT2["Dispute"] = "dispute";
|
|
272
|
+
return FEE_CONTEXT2;
|
|
273
|
+
})(FEE_CONTEXT || {});
|
|
274
|
+
|
|
252
275
|
// src/payments/gateways/routings/enums.ts
|
|
253
276
|
var COST_OPTIMIZATION_STRATEGY = /* @__PURE__ */ ((COST_OPTIMIZATION_STRATEGY2) => {
|
|
254
277
|
COST_OPTIMIZATION_STRATEGY2["Aggressive"] = "aggressive";
|
|
@@ -483,6 +506,6 @@ var KYC_ENTITY_TYPE = /* @__PURE__ */ ((KYC_ENTITY_TYPE2) => {
|
|
|
483
506
|
return KYC_ENTITY_TYPE2;
|
|
484
507
|
})(KYC_ENTITY_TYPE || {});
|
|
485
508
|
|
|
486
|
-
export { COST_OPTIMIZATION_STRATEGY, CUSTOM_RULE_FIELD, EVENT_PROCESSING_STATUS, FAIL_OVER_STRATEGY, IDEMPOTENCY_SAFE_STATUSES, IDEMPOTENCY_STATUS, KYC_ENTITY_TYPE, KYC_PROVIDER, KYC_STATUS, KYC_TIER, LOAD_BALANCING_STRATEGY, ONBOARD_LINK_TYPE, ONBOARD_STATUS, PAYMENT_ERROR_CATEGORY, PAYMENT_EVENT_CATEGORY, PAYMENT_EVENT_ERROR_CATEGORY, PAYMENT_EVENT_TYPE, PAYMENT_METHOD, PAYMENT_PROVIDER_TYPE, PAYMENT_RECOMMENDATION_KEYS, PAYMENT_RESOLUTION_KEYS, PAYMENT_STATUS, PERFORMANCE_METRIC_TYPE, PRODUCT_TYPE, PROVIDER_PRODUCT_STATUS, REFUND_ERROR_TYPES, REFUND_NOT_ALLOWED_REASON, REGULATORY_FRAMEWORK, REQUIREDACTIONTYPE, ROUTER_RULE_NAME, ROUTING_STRATEGY, SECURITY_THREAT_TYPE, TRANSACTION_TYPE, USER_TYPE, WEBHOOK_VERIFICATION_REASON };
|
|
509
|
+
export { COST_OPTIMIZATION_STRATEGY, CUSTOM_RULE_FIELD, EVENT_PROCESSING_STATUS, FAIL_OVER_STRATEGY, FEE_CONTEXT, FEE_TYPE, IDEMPOTENCY_SAFE_STATUSES, IDEMPOTENCY_STATUS, KYC_ENTITY_TYPE, KYC_PROVIDER, KYC_STATUS, KYC_TIER, LOAD_BALANCING_STRATEGY, ONBOARD_LINK_TYPE, ONBOARD_STATUS, PAYMENT_ERROR_CATEGORY, PAYMENT_EVENT_CATEGORY, PAYMENT_EVENT_ERROR_CATEGORY, PAYMENT_EVENT_TYPE, PAYMENT_METHOD, PAYMENT_PROVIDER_TYPE, PAYMENT_RECOMMENDATION_KEYS, PAYMENT_RESOLUTION_KEYS, PAYMENT_STATUS, PERFORMANCE_METRIC_TYPE, PRODUCT_TYPE, PROVIDER_PRODUCT_STATUS, REFUND_ERROR_TYPES, REFUND_NOT_ALLOWED_REASON, REGULATORY_FRAMEWORK, REQUIREDACTIONTYPE, ROUTER_RULE_NAME, ROUTING_STRATEGY, SECURITY_THREAT_TYPE, TRANSACTION_TYPE, USER_TYPE, WEBHOOK_VERIFICATION_REASON };
|
|
487
510
|
//# sourceMappingURL=index.js.map
|
|
488
511
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/payments/events/enums.ts","../../src/payments/events/unified-event/enums.ts","../../src/payments/provider/provider-capability/enums.ts","../../src/payments/request/enums.ts","../../src/payments/gateways/provider/plans/enums.ts","../../src/payments/gateways/routings/enums.ts","../../src/payments/base-error/enum.ts","../../src/payments/idempotency/enum.ts","../../src/payments/kyc/enum.ts"],"names":["PAYMENT_EVENT_TYPE","PAYMENT_EVENT_CATEGORY","PAYMENT_EVENT_ERROR_CATEGORY","EVENT_PROCESSING_STATUS","PAYMENT_PROVIDER_TYPE","PAYMENT_METHOD","PAYMENT_STATUS","TRANSACTION_TYPE","USER_TYPE","PRODUCT_TYPE","REQUIREDACTIONTYPE","PROVIDER_PRODUCT_STATUS","COST_OPTIMIZATION_STRATEGY","FAIL_OVER_STRATEGY","REGULATORY_FRAMEWORK","LOAD_BALANCING_STRATEGY","PERFORMANCE_METRIC_TYPE","ROUTING_STRATEGY","ROUTER_RULE_NAME","REFUND_ERROR_TYPES","REFUND_NOT_ALLOWED_REASON","SECURITY_THREAT_TYPE","WEBHOOK_VERIFICATION_REASON","IDEMPOTENCY_STATUS","KYC_STATUS","KYC_TIER","KYC_PROVIDER","ONBOARD_STATUS","ONBOARD_LINK_TYPE","KYC_ENTITY_TYPE"],"mappings":"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","file":"index.js","sourcesContent":["/**\n * Comprehensive enumeration of all payment-related events that can occur\n * in the system. Events are organized by category and follow a hierarchical\n * naming convention for easy filtering and subscription.\n *\n * Naming Convention:\n * - Category.Action (e.g., payment.completed)\n * - Use present tense for ongoing events, past tense for completed events\n * - Include both success and failure events for complete audit trails\n */\nexport enum PAYMENT_EVENT_TYPE {\n // Payment lifecycle events\n PaymentInitiated = 'payment.initiated',\n PaymentProcessing = 'payment.processing',\n PaymentRequiresAction = 'payment.requires_action',\n PaymentCompleted = 'payment.completed',\n PaymentFailed = 'payment.failed',\n PaymentCancelled = 'payment.cancelled',\n PaymentExpired = 'payment.expired',\n PaymentAuthorized = 'payment.authorized',\n PaymentCaptured = 'payment.captured',\n PaymentHeld = 'payment.held',\n PaymentReleased = 'payment.released',\n\n // Refund lifecycle events\n RefundRequested = 'refund.requested',\n RefundApproved = 'refund.approved',\n RefundRejected = 'refund.rejected',\n RefundProcessing = 'refund.processing',\n RefundCompleted = 'refund.completed',\n RefundFailed = 'refund.failed',\n RefundCancelled = 'refund.cancelled',\n\n // Withdrawals / Payout events\n WithdrawalRequested = 'withdrawal.requested',\n WithdrawalProcessed = 'withdrawal.processed',\n WithdrawalFailed = 'withdrawal.failed',\n WithdrawalCancelled = 'withdrawal.cancelled',\n\n // Provider interaction events\n ProviderWebhookReceived = 'provider.webhook.received',\n ProviderWebhookProcessed = 'provider.webhook.processed',\n ProviderWebhookFailed = 'provider.webhook.failed',\n ProviderApiCalled = 'provider.api.called',\n ProviderApiSucceeded = 'provider.api.succeeded',\n ProviderApiFailed = 'provider.api.failed',\n ProviderTimeout = 'provider.timeout',\n ProviderHealthChanged = 'provider.health.changed',\n\n // Financial events\n SettlementInitiated = 'settlement.initiated',\n SettlementCompleted = 'settlement.completed',\n SettlementFailed = 'settlement.failed',\n PayoutRequested = 'payout.requested',\n PayoutProcessed = 'payout.processed',\n PayoutFailed = 'payout.failed',\n\n // Dispute and chargeback events\n ChargebackReceived = 'chargeback.received',\n ChargebackResponded = 'chargeback.responded',\n ChargebackWon = 'chargeback.won',\n ChargebackLost = 'chargeback.lost',\n DisputeCreated = 'dispute.created',\n DisputeUpdated = 'dispute.updated',\n DisputeResolved = 'dispute.resolved',\n DisputeEscalated = 'dispute.escalated',\n\n // Security and fraud events\n FraudDetected = 'fraud.detected',\n FraudReviewRequired = 'fraud.review_required',\n FraudCleared = 'fraud.cleared',\n SuspiciousActivity = 'suspicious.activity',\n PaymentBlocked = 'payment.blocked',\n SecurityCheckFailed = 'security.check_failed',\n VelocityLimitExceeded = 'velocity.limit_exceeded',\n\n // Payment method events\n PaymentMethodAdded = 'payment_method.added',\n PaymentMethodUpdated = 'payment_method.updated',\n PaymentMethodDeleted = 'payment_method.deleted',\n PaymentMethodVerified = 'payment_method.verified',\n PaymentMethodExpired = 'payment_method.expired',\n\n // Subscription events\n SubscriptionCreated = 'subscription.created',\n SubscriptionUpdated = 'subscription.updated',\n SubscriptionCancelled = 'subscription.cancelled',\n SubscriptionRenewed = 'subscription.renewed',\n SubscriptionFailed = 'subscription.failed',\n SubscriptionTrialStarted = 'subscription.trial_started',\n SubscriptionTrialEnded = 'subscription.trial_ended',\n\n // Product & Pricing events\n ProductCreated = 'product.created',\n ProductUpdated = 'product.updated',\n ProductDeleted = 'product.deleted',\n PriceCreated = 'price.created',\n PriceUpdated = 'price.updated',\n PriceDeleted = 'price.deleted',\n\n // System and operational events\n PaymentLimitsUpdated = 'payment_limits.updated',\n PaymentLimitsExceeded = 'payment_limits.exceeded',\n ProviderConfigUpdated = 'provider.config_updated',\n ProviderMaintenanceStarted = 'provider.maintenance_started',\n ProviderMaintenanceEnded = 'provider.maintenance_ended',\n\n // Compliance and KYC events\n ComplianceCheckRequired = 'compliance.check_required',\n ComplianceCheckPassed = 'compliance.check_passed',\n ComplianceCheckFailed = 'compliance.check_failed',\n\n // Audit events\n AuditTrailCreated = 'audit.trail_created',\n RegulatoryReportGenerated = 'regulatory.report_generated',\n}\n\n/**\n * Payment event categories for organization and routing.\n */\nexport enum PAYMENT_EVENT_CATEGORY {\n TRANSACTION = 'transaction',\n REFUND = 'refund',\n PROVIDER = 'provider',\n SECURITY = 'security',\n COMPLIANCE = 'compliance',\n FINANCIAL = 'financial',\n SUBSCRIPTION = 'subscription',\n SYSTEM = 'system',\n AUDIT = 'audit',\n}\n\n/**\n * Error categories for payment events.\n */\nexport enum PAYMENT_EVENT_ERROR_CATEGORY {\n UserError = 'user_error', // User input or action errors\n ProviderError = 'provider_error', // Payment provider errors\n SystemError = 'system_error', // Internal system errors\n NetworkError = 'network_error', // Network connectivity errors\n FraudError = 'fraud_error', // Fraud detection errors\n ComplianceError = 'compliance_error', // Regulatory compliance errors\n LimitError = 'limit_error', // Limit exceeded errors\n ConfigurationError = 'configuration_error', // Configuration errors\n TimeoutError = 'timeout_error', // Timeout errors\n ValidationError = 'validation_error', // Data validation errors\n}\n","/**\n * Event processing status enumeration.\n */\nexport enum EVENT_PROCESSING_STATUS {\n Received = 'received', // Event received from provider\n Validating = 'validating', // Signature and format validation\n Normalizing = 'normalizing', // Converting to unified format\n Normalized = 'normalized', // Successfully normalized\n Processing = 'processing', // Business logic processing\n Completed = 'completed', // Processing completed successfully\n Failed = 'failed', // Processing failed\n Retrying = 'retrying', // Retrying after failure\n Skipped = 'skipped', // Skipped due to filters/rules\n}\n","/**\n * Enumeration of all supported payment providers in the Plyaz ecosystem.\n */\nexport enum PAYMENT_PROVIDER_TYPE {\n // Traditional payment processors\n Stripe = 'stripe',\n Paypal = 'paypal',\n CheckoutCom = 'checkout_com',\n Adyen = 'adyen',\n\n // Cryptocurrency payment providers\n Moonpay = 'moonpay',\n CoinbaseCommerce = 'coinbase_commerce',\n BlockchainBridge = 'blockchain_bridge',\n\n // Regional payment providers\n Pix = 'pix',\n Boleto = 'boleto',\n Sepa = 'sepa',\n Ideal = 'ideal',\n Sofort = 'sofort',\n Alipay = 'alipay',\n WechatPay = 'wechat_pay',\n\n // Mock provider for testing\n MockProvider = 'mock_provider',\n}\n\n/**\n * Enumeration of payment methods supported across all providers.\n */\nexport enum PAYMENT_METHOD {\n // Traditional payment methods\n CreditCard = 'credit_card',\n DebitCard = 'debit_card',\n BankTransfer = 'bank_transfer',\n PaypalAccount = 'paypal_account',\n\n // Cryptocurrency payment methods\n CryptoBitcoin = 'crypto_bitcoin',\n CryptoEthereum = 'crypto_ethereum',\n CryptoPolygon = 'crypto_polygon',\n CryptoOptimism = 'crypto_optimism',\n CryptoUsdc = 'crypto_usdc',\n CryptoUsdt = 'crypto_usdt',\n CryptoNativeToken = 'crypto_native_token',\n\n // Regional payment methods\n PixInstant = 'pix_instant',\n BoletoBancario = 'boleto_bancario',\n SepaDirectDebit = 'sepa_direct_debit',\n IdealBank = 'ideal_bank',\n SofortBanking = 'sofort_banking',\n AlipayDigital = 'alipay_digital',\n WechatPayDigital = 'wechat_pay_digital',\n\n // Digital wallets\n ApplePay = 'apple_pay',\n GooglePay = 'google_pay',\n SamsungPay = 'samsung_pay',\n}\n\n/**\n * Comprehensive payment status enumeration.\n */\nexport enum PAYMENT_STATUS {\n // Initial states\n Initiated = 'initiated',\n Pending = 'pending',\n Processing = 'processing',\n\n // Action required states\n RequiresAction = 'requires_action',\n RequiresConfirmation = 'requires_confirmation',\n RequiresPaymentMethod = 'requires_payment_method',\n\n // Success states\n Completed = 'completed',\n Settled = 'settled',\n\n // Failure states\n Failed = 'failed',\n Declined = 'declined',\n Cancelled = 'cancelled',\n Expired = 'expired',\n\n // Refund states\n Refunded = 'refunded',\n PartiallyRefunded = 'partially_refunded',\n\n // Dispute states\n Disputed = 'disputed',\n Chargeback = 'chargeback',\n ChargebackResolved = 'chargeback_resolved',\n\n // Special states\n Held = 'held',\n Authorized = 'authorized',\n Captured = 'captured',\n}\n\n/**\n * Transaction type enumeration.\n */\nexport enum TRANSACTION_TYPE {\n Payment = 'payment',\n Refund = 'refund',\n PartialRefund = 'partial_refund',\n Withdrawal = 'withdrawal',\n Donation = 'donation',\n Subscription = 'subscription',\n SubscriptionRenewal = 'subscription_renewal',\n Fee = 'fee',\n Chargeback = 'chargeback',\n Adjustment = 'adjustment',\n Reward = 'reward',\n Penalty = 'penalty',\n Transfer = 'transfer',\n}\n\n/**\n * User type enumeration.\n */\nexport enum USER_TYPE {\n Fan = 'fan',\n Athlete = 'athlete',\n Club = 'club',\n Agent = 'agent',\n Scout = 'scout',\n Admin = 'admin',\n System = 'system',\n}\n\n/**\n * Product type enumeration.\n */\nexport enum PRODUCT_TYPE {\n Campaign = 'campaign',\n Subscription = 'subscription',\n Nft = 'nft',\n Merchandise = 'merchandise',\n EventTicket = 'event_ticket',\n PremiumContent = 'premium_content',\n TrainingSession = 'training_session',\n Consultation = 'consultation',\n DigitalProduct = 'digital_product',\n PhysicalProduct = 'physical_product',\n}\n","/**\n * Enumeration of action types that users might need to complete.\n */\nexport enum REQUIREDACTIONTYPE {\n /** Redirect to external page (3D Secure, bank auth, etc.) */\n Redirect = 'redirect',\n\n /** Enter SMS or email verification code */\n OtpVerification = 'otp_verification',\n\n /** Upload identity or financial documents */\n DocumentUpload = 'document_upload',\n\n /** Provide additional payment information */\n AdditionalPaymentInfo = 'additional_payment_info',\n\n /** Confirm payment via mobile app or email */\n PaymentConfirmation = 'payment_confirmation',\n\n /** Contact customer support for manual verification */\n ManualVerification = 'manual_verification',\n\n /** Wait for bank transfer or other delayed method */\n WaitForCompletion = 'wait_for_completion',\n}\n","export enum PROVIDER_PRODUCT_STATUS {\n Active = 'active',\n Inactive = 'inactive',\n Archived = 'archived',\n}\n","/**\n * Cost optimization strategies.\n */\nexport enum COST_OPTIMIZATION_STRATEGY {\n /** Always use cheapest option */\n Aggressive = 'aggressive',\n\n /** Balance cost with reliability */\n Balanced = 'balanced',\n\n /** Prefer reliability over cost */\n Conservative = 'conservative',\n\n /** Optimize for specific cost components */\n Targeted = 'targeted',\n}\n\n/**\n * Failover strategies.\n */\nexport enum FAIL_OVER_STRATEGY {\n /** Use predefined provider order */\n PriorityOrder = 'priority_order',\n\n /** Failover to next available provider */\n NextAvailable = 'next_available',\n\n /** Failover based on performance metrics */\n PerformanceBased = 'performance_based',\n\n /** Failover to least loaded provider */\n LoadBalanced = 'load_balanced',\n\n /** Geographic failover preference */\n Geographic = 'geographic',\n}\n\n/**\n * Regulatory frameworks.\n */\nexport enum REGULATORY_FRAMEWORK {\n PciDss = 'pci_dss',\n Gdpr = 'gdpr',\n Psd2 = 'psd2',\n Sox = 'sox',\n Aml = 'aml',\n Kyc = 'kyc',\n Ccpa = 'ccpa',\n LocalBanking = 'local_banking',\n}\n\n/**\n * Load balancing strategies.\n */\nexport enum LOAD_BALANCING_STRATEGY {\n /** Rotate through providers evenly */\n RoundRobin = 'round_robin',\n\n /** Use weighted distribution */\n Weighted = 'weighted',\n\n /** Choose provider with least active traffic */\n LeastConnections = 'least_connections',\n\n /** Choose based on best performance metrics */\n PerformanceBased = 'performance_based',\n\n /** Custom strategy defined by merchant */\n Custom = 'custom',\n}\n\n/**\n * Types of performance metrics.\n */\nexport enum PERFORMANCE_METRIC_TYPE {\n Latency = 'latency',\n SuccessRate = 'success_rate',\n ErrorRate = 'error_rate',\n Throughput = 'throughput',\n Retries = 'retries',\n Availability = 'availability',\n Cost = 'cost',\n}\n\n/**\n * Primary routing strategies.\n */\nexport enum ROUTING_STRATEGY {\n /** Optimize for lowest total cost */\n CostOptimized = 'cost_optimized',\n\n /** Optimize for highest reliability */\n ReliabilityFirst = 'reliability_first',\n\n /** Optimize for fastest processing */\n PerformanceFirst = 'performance_first',\n\n /** Balance cost, reliability, and performance */\n Balanced = 'balanced',\n\n /** Use user or region preferences */\n UserPreference = 'user_preference',\n\n /** Distribute load evenly */\n RoundRobin = 'round_robin',\n\n /** Custom routing logic */\n Custom = 'custom',\n}\n\n/**\n * Enumerates all routing rule identifiers used within RouterStrategy.\n *\n * Purpose:\n * - Avoid hardcoded strings for rule names\n * - Provide consistent naming for debugging and error contexts\n * - Improve developer experience via auto-completion\n */\nexport enum ROUTER_RULE_NAME {\n AmountBasedSelection = 'amountBasedSelection',\n CurrencySpecificProviders = 'currencySpecificProviders',\n RegionSelection = 'regionSelection',\n RegionCompliance = 'regionCompliance',\n UserTypeSelection = 'userTypeSelection',\n TimeBasedSelection = 'timeBasedSelection',\n CustomRuleEvaluation = 'customRuleEvaluation',\n ABTesting = 'abTesting',\n DefaultSelection = 'defaultSelection',\n}\n\nexport const CUSTOM_RULE_FIELD = {\n AMOUNT: 'request.amount',\n CURRENCY: 'request.currency',\n USER_TYPE: 'request.userType',\n REGION: 'request.metadata.geoInfo.region',\n} as const;\n\n// Type representing the **values** of CUSTOM_RULE_FIELD\nexport type CustomRuleField = (typeof CUSTOM_RULE_FIELD)[keyof typeof CUSTOM_RULE_FIELD];\n","/**\n * Payment-specific error categories\n */\n// TODO: check if this is correct\nexport const PAYMENT_ERROR_CATEGORY = {\n /** Payment method validation or processing error */\n PaymentMethod: 'payment.method',\n\n /** Transaction processing error */\n Transaction: 'transaction',\n\n /** Payment capture error */\n Capture: 'capture',\n\n /** Payment authorization error */\n Authorization: 'authorization',\n\n /** Payment settlement error */\n Settlement: 'settlement',\n\n /** Refund processing error */\n Refund: 'refund',\n\n /** Payment gateway or provider error */\n Gateway: 'gateway',\n\n /** Payment fraud detection error */\n Fraud: 'fraud',\n\n /** Payment compliance error (AML/KYC) */\n Compliance: 'compliance',\n\n /** Payment limits exceeded */\n Limits: 'limits',\n\n /** Payment webhook error */\n Webhook: 'webhook',\n\n /** Payment security error */\n Security: 'security',\n\n /** Payment processing timeout */\n Timeout: 'timeout',\n\n /** Payment configuration error */\n Configuration: 'configuration',\n} as const;\n\nexport enum REFUND_ERROR_TYPES {\n NotAllowed = 'not_allowed',\n Authorization = 'authorization',\n Processing = 'processing',\n}\n\n/**\n * Refund not allowed reasons.\n */\nexport enum REFUND_NOT_ALLOWED_REASON {\n AlreadyRefunded = 'already_refunded',\n PartialNotSupported = 'partial_not_supported',\n TimeLimitExceeded = 'time_limit_exceeded',\n InsufficientBalance = 'insufficient_balance',\n ProviderRestriction = 'provider_restriction',\n ComplianceRestriction = 'compliance_restriction',\n}\n\n/**\n * Security threat types.\n */\nexport enum SECURITY_THREAT_TYPE {\n FraudSuspected = 'fraud_suspected',\n VelocityExceeded = 'velocity_exceeded',\n SuspiciousPattern = 'suspicious_pattern',\n BlockedRegion = 'blocked_region',\n BlacklistedMethod = 'blacklisted_method',\n SystemThreat = 'system_threat',\n}\n\n/**\n * Webhook verification failure reasons.\n */\nexport enum WEBHOOK_VERIFICATION_REASON {\n InvalidSignature = 'invalid_signature',\n MissingSignature = 'missing_signature',\n ExpiredTimestamp = 'expired_timestamp',\n InvalidPayload = 'invalid_payload',\n UnknownEndpoint = 'unknown_endpoint',\n}\n\n/**\n * Central registry for all payment resolution translation keys.\n * Provides type safety and autocompletion for all PaymentError subclasses.\n */\n\nexport const PAYMENT_RESOLUTION_KEYS = {\n GENERIC: 'resolution.generic',\n PAYMENTS_PACKAGE_ERROR: 'resolution._package_error',\n\n // Validation\n PAYMENT_VALIDATION_ERROR: 'resolution.payment_validation_error',\n INVALID_AMOUNT_ERROR: 'resolution.invalid_amount_error',\n INVALID_PAYMENT_METHOD_ERROR: 'resolution.invalid_payment_method_error',\n\n // Processing\n PAYMENT_PROCESSING_ERROR: 'resolution.payment_processing_error',\n PAYMENT_DECLINED_ERROR: 'resolution.payment_declined_error',\n INSUFFICIENT_FUNDS_ERROR: 'resolution.insufficient_funds_error',\n\n // Provider\n PAYMENT_PROVIDER_ERROR: 'resolution.payment_provider_error',\n PROVIDER_TIMEOUT_ERROR: 'resolution.provider_timeout_error',\n PROVIDER_RATE_LIMIT_ERROR: 'resolution.provider_rate_limit_error',\n\n // Security\n PAYMENT_SECURITY_ERROR: 'resolution.payment_security_error',\n FRAUD_DETECTED_ERROR: 'resolution.fraud_detected_error',\n VELOCITY_LIMIT_EXCEEDED_ERROR: 'resolution.velocity_limit_exceeded_error',\n\n // Refund\n REFUND_ERROR: 'resolution.refund_error',\n REFUND_NOT_ALLOWED_ERROR: 'resolution.refund_not_allowed_error',\n REFUND_AUTHORIZATION_ERROR: 'resolution.refund_authorization_error',\n\n COMPLIANCE_ERROR: 'resolution.compliance_error',\n KYC_VERIFICATION_REQUIRED: 'resolution.kyc_verification_required',\n GEOGRAPHIC_RESTRICTION: 'resolution.geographic_restriction',\n\n PAYMENT_WEBHOOK_PACKAGE_ERROR: 'resolution.payment_webhook_package_error',\n PAYMENT_WEBHOOK_VERIFICATION_ERROR: 'resolution.payment_webhook_verification_error',\n PAYMENT_WEBHOOK_PROCESSING_ERROR: 'resolution.payment_webhook_processing_error',\n PAYMENT_WEBHOOK_REPLAY_ERROR: 'resolution.payment_webhook_replay_error',\n} as const;\n\n/** Union type of all available resolution keys */\nexport type PaymentResolutionKey =\n (typeof PAYMENT_RESOLUTION_KEYS)[keyof typeof PAYMENT_RESOLUTION_KEYS];\n\n/**\n * Central registry for all payment recommendation translation keys.\n * Provides type safety and autocompletion for analytics, alerts, and monitoring logic.\n */\n\nexport const PAYMENT_RECOMMENDATION_KEYS = {\n RETRY_LOGIC: 'recommendation.retry_logic',\n CHECK_PROVIDER: 'recommendation.check_provider',\n CRITICAL_ALERT: 'recommendation.critical_alert',\n USER_FACING: 'recommendation.user_facing',\n SYSTEM_STABLE: 'recommendation.system_stable',\n} as const;\n\n/** Union type of all available recommendation keys */\nexport type PaymentRecommendationKey =\n (typeof PAYMENT_RECOMMENDATION_KEYS)[keyof typeof PAYMENT_RECOMMENDATION_KEYS];\n","import { PAYMENT_STATUS } from '../provider';\n\nexport enum IDEMPOTENCY_STATUS {\n PENDING = 'PENDING',\n COMPLETED = 'COMPLETED',\n FAILED = 'FAILED',\n}\n\nexport const IDEMPOTENCY_SAFE_STATUSES: PAYMENT_STATUS[] = [\n PAYMENT_STATUS.Completed,\n PAYMENT_STATUS.Settled,\n PAYMENT_STATUS.Refunded,\n PAYMENT_STATUS.PartiallyRefunded,\n PAYMENT_STATUS.Disputed,\n];\n","// KYC Status\nexport enum KYC_STATUS {\n Pending = 'PENDING',\n Approved = 'APPROVED',\n Rejected = 'REJECTED',\n Expired = 'EXPIRED',\n}\n\n// KYC Tier\nexport enum KYC_TIER {\n Tier0 = 'TIER_0',\n Tier1 = 'TIER_1',\n Tier2 = 'TIER_2',\n Tier3 = 'TIER_3',\n}\n\n// KYC Provider\nexport enum KYC_PROVIDER {\n StripeIdentity = 'STRIPE_IDENTITY',\n Sumsub = 'SUMSUB',\n Onfido = 'ONFIDO',\n Jumio = 'JUMIO',\n Manual = 'MANUAL',\n}\n\nexport enum ONBOARD_STATUS {\n Pending = 'PENDING', // User needs to complete KYC\n Completed = 'COMPLETED', // KYC completed successfully\n Redirect = 'REJECTED', // KYC rejected\n Failed = 'FAILED', // Technical or unknown failure\n}\n\nexport enum ONBOARD_LINK_TYPE {\n Onboard = 'ONBOARD', // First-time onboarding\n Update = 'UPDATE', // Update missing info\n}\n\n/**\n * KYC entity type for onboarding and verification.\n */\nexport enum KYC_ENTITY_TYPE {\n Individual = 'individual', // Natural person\n Company = 'company', // Standard legal entity / corporation\n NonProfit = 'non_profit', // Non-profit organization / NGO\n GovernmentEntity = 'government_entity', // Government agency or public entity\n}\n\n/**\n * Configuration for KYC per user type.\n */\nexport interface UserTypeKycConfig {\n kycRequired: boolean;\n entityType: KYC_ENTITY_TYPE | null;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/payments/events/enums.ts","../../src/payments/events/unified-event/enums.ts","../../src/payments/provider/provider-capability/enums.ts","../../src/payments/request/enums.ts","../../src/payments/gateways/provider/plans/enums.ts","../../src/payments/gateways/provider/fee/enum.ts","../../src/payments/gateways/routings/enums.ts","../../src/payments/base-error/enum.ts","../../src/payments/idempotency/enum.ts","../../src/payments/kyc/enum.ts"],"names":["PAYMENT_EVENT_TYPE","PAYMENT_EVENT_CATEGORY","PAYMENT_EVENT_ERROR_CATEGORY","EVENT_PROCESSING_STATUS","PAYMENT_PROVIDER_TYPE","PAYMENT_METHOD","PAYMENT_STATUS","TRANSACTION_TYPE","USER_TYPE","PRODUCT_TYPE","REQUIREDACTIONTYPE","PROVIDER_PRODUCT_STATUS","FEE_TYPE","FEE_CONTEXT","COST_OPTIMIZATION_STRATEGY","FAIL_OVER_STRATEGY","REGULATORY_FRAMEWORK","LOAD_BALANCING_STRATEGY","PERFORMANCE_METRIC_TYPE","ROUTING_STRATEGY","ROUTER_RULE_NAME","REFUND_ERROR_TYPES","REFUND_NOT_ALLOWED_REASON","SECURITY_THREAT_TYPE","WEBHOOK_VERIFICATION_REASON","IDEMPOTENCY_STATUS","KYC_STATUS","KYC_TIER","KYC_PROVIDER","ONBOARD_STATUS","ONBOARD_LINK_TYPE","KYC_ENTITY_TYPE"],"mappings":"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","file":"index.js","sourcesContent":["/**\n * Comprehensive enumeration of all payment-related events that can occur\n * in the system. Events are organized by category and follow a hierarchical\n * naming convention for easy filtering and subscription.\n *\n * Naming Convention:\n * - Category.Action (e.g., payment.completed)\n * - Use present tense for ongoing events, past tense for completed events\n * - Include both success and failure events for complete audit trails\n */\nexport enum PAYMENT_EVENT_TYPE {\n // Payment lifecycle events\n PaymentInitiated = 'payment.initiated',\n PaymentProcessing = 'payment.processing',\n PaymentRequiresAction = 'payment.requires_action',\n PaymentCompleted = 'payment.completed',\n PaymentFailed = 'payment.failed',\n PaymentCancelled = 'payment.cancelled',\n PaymentExpired = 'payment.expired',\n PaymentAuthorized = 'payment.authorized',\n PaymentCaptured = 'payment.captured',\n PaymentHeld = 'payment.held',\n PaymentReleased = 'payment.released',\n\n // Refund lifecycle events\n RefundRequested = 'refund.requested',\n RefundApproved = 'refund.approved',\n RefundRejected = 'refund.rejected',\n RefundProcessing = 'refund.processing',\n RefundCompleted = 'refund.completed',\n RefundFailed = 'refund.failed',\n RefundCancelled = 'refund.cancelled',\n\n // Withdrawals / Payout events\n WithdrawalRequested = 'withdrawal.requested',\n WithdrawalProcessed = 'withdrawal.processed',\n WithdrawalFailed = 'withdrawal.failed',\n WithdrawalCancelled = 'withdrawal.cancelled',\n\n // Provider interaction events\n ProviderWebhookReceived = 'provider.webhook.received',\n ProviderWebhookProcessed = 'provider.webhook.processed',\n ProviderWebhookFailed = 'provider.webhook.failed',\n ProviderApiCalled = 'provider.api.called',\n ProviderApiSucceeded = 'provider.api.succeeded',\n ProviderApiFailed = 'provider.api.failed',\n ProviderTimeout = 'provider.timeout',\n ProviderHealthChanged = 'provider.health.changed',\n\n // Financial events\n SettlementInitiated = 'settlement.initiated',\n SettlementCompleted = 'settlement.completed',\n SettlementFailed = 'settlement.failed',\n PayoutRequested = 'payout.requested',\n PayoutProcessed = 'payout.processed',\n PayoutFailed = 'payout.failed',\n\n // Dispute and chargeback events\n ChargebackReceived = 'chargeback.received',\n ChargebackResponded = 'chargeback.responded',\n ChargebackWon = 'chargeback.won',\n ChargebackLost = 'chargeback.lost',\n DisputeCreated = 'dispute.created',\n DisputeUpdated = 'dispute.updated',\n DisputeResolved = 'dispute.resolved',\n DisputeEscalated = 'dispute.escalated',\n\n // Security and fraud events\n FraudDetected = 'fraud.detected',\n FraudReviewRequired = 'fraud.review_required',\n FraudCleared = 'fraud.cleared',\n SuspiciousActivity = 'suspicious.activity',\n PaymentBlocked = 'payment.blocked',\n SecurityCheckFailed = 'security.check_failed',\n VelocityLimitExceeded = 'velocity.limit_exceeded',\n\n // Payment method events\n PaymentMethodAdded = 'payment_method.added',\n PaymentMethodUpdated = 'payment_method.updated',\n PaymentMethodDeleted = 'payment_method.deleted',\n PaymentMethodVerified = 'payment_method.verified',\n PaymentMethodExpired = 'payment_method.expired',\n\n // Subscription events\n SubscriptionCreated = 'subscription.created',\n SubscriptionUpdated = 'subscription.updated',\n SubscriptionCancelled = 'subscription.cancelled',\n SubscriptionRenewed = 'subscription.renewed',\n SubscriptionFailed = 'subscription.failed',\n SubscriptionTrialStarted = 'subscription.trial_started',\n SubscriptionTrialEnded = 'subscription.trial_ended',\n\n // Product & Pricing events\n ProductCreated = 'product.created',\n ProductUpdated = 'product.updated',\n ProductDeleted = 'product.deleted',\n PriceCreated = 'price.created',\n PriceUpdated = 'price.updated',\n PriceDeleted = 'price.deleted',\n\n // System and operational events\n PaymentLimitsUpdated = 'payment_limits.updated',\n PaymentLimitsExceeded = 'payment_limits.exceeded',\n ProviderConfigUpdated = 'provider.config_updated',\n ProviderMaintenanceStarted = 'provider.maintenance_started',\n ProviderMaintenanceEnded = 'provider.maintenance_ended',\n\n // Compliance and KYC events\n ComplianceCheckRequired = 'compliance.check_required',\n ComplianceCheckPassed = 'compliance.check_passed',\n ComplianceCheckFailed = 'compliance.check_failed',\n\n // Audit events\n AuditTrailCreated = 'audit.trail_created',\n RegulatoryReportGenerated = 'regulatory.report_generated',\n}\n\n/**\n * Payment event categories for organization and routing.\n */\nexport enum PAYMENT_EVENT_CATEGORY {\n TRANSACTION = 'transaction',\n REFUND = 'refund',\n PROVIDER = 'provider',\n SECURITY = 'security',\n COMPLIANCE = 'compliance',\n FINANCIAL = 'financial',\n SUBSCRIPTION = 'subscription',\n SYSTEM = 'system',\n AUDIT = 'audit',\n}\n\n/**\n * Error categories for payment events.\n */\nexport enum PAYMENT_EVENT_ERROR_CATEGORY {\n UserError = 'user_error', // User input or action errors\n ProviderError = 'provider_error', // Payment provider errors\n SystemError = 'system_error', // Internal system errors\n NetworkError = 'network_error', // Network connectivity errors\n FraudError = 'fraud_error', // Fraud detection errors\n ComplianceError = 'compliance_error', // Regulatory compliance errors\n LimitError = 'limit_error', // Limit exceeded errors\n ConfigurationError = 'configuration_error', // Configuration errors\n TimeoutError = 'timeout_error', // Timeout errors\n ValidationError = 'validation_error', // Data validation errors\n}\n","/**\n * Event processing status enumeration.\n */\nexport enum EVENT_PROCESSING_STATUS {\n Received = 'received', // Event received from provider\n Validating = 'validating', // Signature and format validation\n Normalizing = 'normalizing', // Converting to unified format\n Normalized = 'normalized', // Successfully normalized\n Processing = 'processing', // Business logic processing\n Completed = 'completed', // Processing completed successfully\n Failed = 'failed', // Processing failed\n Retrying = 'retrying', // Retrying after failure\n Skipped = 'skipped', // Skipped due to filters/rules\n}\n","/**\n * Enumeration of all supported payment providers in the Plyaz ecosystem.\n */\nexport enum PAYMENT_PROVIDER_TYPE {\n // Traditional payment processors\n Stripe = 'stripe',\n Paypal = 'paypal',\n CheckoutCom = 'checkout_com',\n Adyen = 'adyen',\n\n // Cryptocurrency payment providers\n Moonpay = 'moonpay',\n CoinbaseCommerce = 'coinbase_commerce',\n BlockchainBridge = 'blockchain_bridge',\n\n // Regional payment providers\n Pix = 'pix',\n Boleto = 'boleto',\n Sepa = 'sepa',\n Ideal = 'ideal',\n Sofort = 'sofort',\n Alipay = 'alipay',\n WechatPay = 'wechat_pay',\n\n // Mock provider for testing\n MockProvider = 'mock_provider',\n}\n\n/**\n * Enumeration of payment methods supported across all providers.\n */\nexport enum PAYMENT_METHOD {\n // Traditional payment methods\n CreditCard = 'credit_card',\n DebitCard = 'debit_card',\n BankTransfer = 'bank_transfer',\n PaypalAccount = 'paypal_account',\n\n // Cryptocurrency payment methods\n CryptoBitcoin = 'crypto_bitcoin',\n CryptoEthereum = 'crypto_ethereum',\n CryptoPolygon = 'crypto_polygon',\n CryptoOptimism = 'crypto_optimism',\n CryptoUsdc = 'crypto_usdc',\n CryptoUsdt = 'crypto_usdt',\n CryptoNativeToken = 'crypto_native_token',\n\n // Regional payment methods\n PixInstant = 'pix_instant',\n BoletoBancario = 'boleto_bancario',\n SepaDirectDebit = 'sepa_direct_debit',\n IdealBank = 'ideal_bank',\n SofortBanking = 'sofort_banking',\n AlipayDigital = 'alipay_digital',\n WechatPayDigital = 'wechat_pay_digital',\n\n // Digital wallets\n ApplePay = 'apple_pay',\n GooglePay = 'google_pay',\n SamsungPay = 'samsung_pay',\n}\n\n/**\n * Comprehensive payment status enumeration.\n */\nexport enum PAYMENT_STATUS {\n // Initial states\n Initiated = 'initiated',\n Pending = 'pending',\n Processing = 'processing',\n\n // Action required states\n RequiresAction = 'requires_action',\n RequiresConfirmation = 'requires_confirmation',\n RequiresPaymentMethod = 'requires_payment_method',\n\n // Success states\n Completed = 'completed',\n Settled = 'settled',\n\n // Failure states\n Failed = 'failed',\n Declined = 'declined',\n Cancelled = 'cancelled',\n Expired = 'expired',\n\n // Refund states\n Refunded = 'refunded',\n PartiallyRefunded = 'partially_refunded',\n\n // Dispute states\n Disputed = 'disputed',\n Chargeback = 'chargeback',\n ChargebackResolved = 'chargeback_resolved',\n\n // Special states\n Held = 'held',\n Authorized = 'authorized',\n Captured = 'captured',\n}\n\n/**\n * Transaction type enumeration.\n */\nexport enum TRANSACTION_TYPE {\n Payment = 'payment',\n Refund = 'refund',\n PartialRefund = 'partial_refund',\n Withdrawal = 'withdrawal',\n Donation = 'donation',\n Subscription = 'subscription',\n SubscriptionRenewal = 'subscription_renewal',\n Fee = 'fee',\n Chargeback = 'chargeback',\n Adjustment = 'adjustment',\n Reward = 'reward',\n Penalty = 'penalty',\n Transfer = 'transfer',\n}\n\n/**\n * User type enumeration.\n */\nexport enum USER_TYPE {\n Fan = 'fan',\n Athlete = 'athlete',\n Club = 'club',\n Agent = 'agent',\n Scout = 'scout',\n Admin = 'admin',\n System = 'system',\n}\n\n/**\n * Product type enumeration.\n */\nexport enum PRODUCT_TYPE {\n Campaign = 'campaign',\n Subscription = 'subscription',\n Nft = 'nft',\n Merchandise = 'merchandise',\n EventTicket = 'event_ticket',\n PremiumContent = 'premium_content',\n TrainingSession = 'training_session',\n Consultation = 'consultation',\n DigitalProduct = 'digital_product',\n PhysicalProduct = 'physical_product',\n}\n","/**\n * Enumeration of action types that users might need to complete.\n */\nexport enum REQUIREDACTIONTYPE {\n /** Redirect to external page (3D Secure, bank auth, etc.) */\n Redirect = 'redirect',\n\n /** Enter SMS or email verification code */\n OtpVerification = 'otp_verification',\n\n /** Upload identity or financial documents */\n DocumentUpload = 'document_upload',\n\n /** Provide additional payment information */\n AdditionalPaymentInfo = 'additional_payment_info',\n\n /** Confirm payment via mobile app or email */\n PaymentConfirmation = 'payment_confirmation',\n\n /** Contact customer support for manual verification */\n ManualVerification = 'manual_verification',\n\n /** Wait for bank transfer or other delayed method */\n WaitForCompletion = 'wait_for_completion',\n}\n","export enum PROVIDER_PRODUCT_STATUS {\n Active = 'active',\n Inactive = 'inactive',\n Archived = 'archived',\n}\n","/**\n * Enum for fee types\n */\nexport enum FEE_TYPE {\n Platform = 'platform',\n CrossBorder = 'crossBorder',\n Conversion = 'currencyConversion',\n Network = 'network',\n Gas = 'gas',\n Expedite = 'expedite',\n Risk = 'risk',\n Compliance = 'compliance',\n Chargeback = 'chargeback',\n Refund = 'refund',\n}\n\n/**\n * Enum for transaction contexts\n */\nexport enum FEE_CONTEXT {\n Payment = 'payment',\n Subscription = 'subscription',\n Withdrawal = 'withdrawal',\n Refund = 'refund',\n Dispute = 'dispute',\n}\n","/**\n * Cost optimization strategies.\n */\nexport enum COST_OPTIMIZATION_STRATEGY {\n /** Always use cheapest option */\n Aggressive = 'aggressive',\n\n /** Balance cost with reliability */\n Balanced = 'balanced',\n\n /** Prefer reliability over cost */\n Conservative = 'conservative',\n\n /** Optimize for specific cost components */\n Targeted = 'targeted',\n}\n\n/**\n * Failover strategies.\n */\nexport enum FAIL_OVER_STRATEGY {\n /** Use predefined provider order */\n PriorityOrder = 'priority_order',\n\n /** Failover to next available provider */\n NextAvailable = 'next_available',\n\n /** Failover based on performance metrics */\n PerformanceBased = 'performance_based',\n\n /** Failover to least loaded provider */\n LoadBalanced = 'load_balanced',\n\n /** Geographic failover preference */\n Geographic = 'geographic',\n}\n\n/**\n * Regulatory frameworks.\n */\nexport enum REGULATORY_FRAMEWORK {\n PciDss = 'pci_dss',\n Gdpr = 'gdpr',\n Psd2 = 'psd2',\n Sox = 'sox',\n Aml = 'aml',\n Kyc = 'kyc',\n Ccpa = 'ccpa',\n LocalBanking = 'local_banking',\n}\n\n/**\n * Load balancing strategies.\n */\nexport enum LOAD_BALANCING_STRATEGY {\n /** Rotate through providers evenly */\n RoundRobin = 'round_robin',\n\n /** Use weighted distribution */\n Weighted = 'weighted',\n\n /** Choose provider with least active traffic */\n LeastConnections = 'least_connections',\n\n /** Choose based on best performance metrics */\n PerformanceBased = 'performance_based',\n\n /** Custom strategy defined by merchant */\n Custom = 'custom',\n}\n\n/**\n * Types of performance metrics.\n */\nexport enum PERFORMANCE_METRIC_TYPE {\n Latency = 'latency',\n SuccessRate = 'success_rate',\n ErrorRate = 'error_rate',\n Throughput = 'throughput',\n Retries = 'retries',\n Availability = 'availability',\n Cost = 'cost',\n}\n\n/**\n * Primary routing strategies.\n */\nexport enum ROUTING_STRATEGY {\n /** Optimize for lowest total cost */\n CostOptimized = 'cost_optimized',\n\n /** Optimize for highest reliability */\n ReliabilityFirst = 'reliability_first',\n\n /** Optimize for fastest processing */\n PerformanceFirst = 'performance_first',\n\n /** Balance cost, reliability, and performance */\n Balanced = 'balanced',\n\n /** Use user or region preferences */\n UserPreference = 'user_preference',\n\n /** Distribute load evenly */\n RoundRobin = 'round_robin',\n\n /** Custom routing logic */\n Custom = 'custom',\n}\n\n/**\n * Enumerates all routing rule identifiers used within RouterStrategy.\n *\n * Purpose:\n * - Avoid hardcoded strings for rule names\n * - Provide consistent naming for debugging and error contexts\n * - Improve developer experience via auto-completion\n */\nexport enum ROUTER_RULE_NAME {\n AmountBasedSelection = 'amountBasedSelection',\n CurrencySpecificProviders = 'currencySpecificProviders',\n RegionSelection = 'regionSelection',\n RegionCompliance = 'regionCompliance',\n UserTypeSelection = 'userTypeSelection',\n TimeBasedSelection = 'timeBasedSelection',\n CustomRuleEvaluation = 'customRuleEvaluation',\n ABTesting = 'abTesting',\n DefaultSelection = 'defaultSelection',\n}\n\nexport const CUSTOM_RULE_FIELD = {\n AMOUNT: 'request.amount',\n CURRENCY: 'request.currency',\n USER_TYPE: 'request.userType',\n REGION: 'request.metadata.geoInfo.region',\n} as const;\n\n// Type representing the **values** of CUSTOM_RULE_FIELD\nexport type CustomRuleField = (typeof CUSTOM_RULE_FIELD)[keyof typeof CUSTOM_RULE_FIELD];\n","/**\n * Payment-specific error categories\n */\n// TODO: check if this is correct\nexport const PAYMENT_ERROR_CATEGORY = {\n /** Payment method validation or processing error */\n PaymentMethod: 'payment.method',\n\n /** Transaction processing error */\n Transaction: 'transaction',\n\n /** Payment capture error */\n Capture: 'capture',\n\n /** Payment authorization error */\n Authorization: 'authorization',\n\n /** Payment settlement error */\n Settlement: 'settlement',\n\n /** Refund processing error */\n Refund: 'refund',\n\n /** Payment gateway or provider error */\n Gateway: 'gateway',\n\n /** Payment fraud detection error */\n Fraud: 'fraud',\n\n /** Payment compliance error (AML/KYC) */\n Compliance: 'compliance',\n\n /** Payment limits exceeded */\n Limits: 'limits',\n\n /** Payment webhook error */\n Webhook: 'webhook',\n\n /** Payment security error */\n Security: 'security',\n\n /** Payment processing timeout */\n Timeout: 'timeout',\n\n /** Payment configuration error */\n Configuration: 'configuration',\n} as const;\n\nexport enum REFUND_ERROR_TYPES {\n NotAllowed = 'not_allowed',\n Authorization = 'authorization',\n Processing = 'processing',\n}\n\n/**\n * Refund not allowed reasons.\n */\nexport enum REFUND_NOT_ALLOWED_REASON {\n AlreadyRefunded = 'already_refunded',\n PartialNotSupported = 'partial_not_supported',\n TimeLimitExceeded = 'time_limit_exceeded',\n InsufficientBalance = 'insufficient_balance',\n ProviderRestriction = 'provider_restriction',\n ComplianceRestriction = 'compliance_restriction',\n}\n\n/**\n * Security threat types.\n */\nexport enum SECURITY_THREAT_TYPE {\n FraudSuspected = 'fraud_suspected',\n VelocityExceeded = 'velocity_exceeded',\n SuspiciousPattern = 'suspicious_pattern',\n BlockedRegion = 'blocked_region',\n BlacklistedMethod = 'blacklisted_method',\n SystemThreat = 'system_threat',\n}\n\n/**\n * Webhook verification failure reasons.\n */\nexport enum WEBHOOK_VERIFICATION_REASON {\n InvalidSignature = 'invalid_signature',\n MissingSignature = 'missing_signature',\n ExpiredTimestamp = 'expired_timestamp',\n InvalidPayload = 'invalid_payload',\n UnknownEndpoint = 'unknown_endpoint',\n}\n\n/**\n * Central registry for all payment resolution translation keys.\n * Provides type safety and autocompletion for all PaymentError subclasses.\n */\n\nexport const PAYMENT_RESOLUTION_KEYS = {\n GENERIC: 'resolution.generic',\n PAYMENTS_PACKAGE_ERROR: 'resolution._package_error',\n\n // Validation\n PAYMENT_VALIDATION_ERROR: 'resolution.payment_validation_error',\n INVALID_AMOUNT_ERROR: 'resolution.invalid_amount_error',\n INVALID_PAYMENT_METHOD_ERROR: 'resolution.invalid_payment_method_error',\n\n // Processing\n PAYMENT_PROCESSING_ERROR: 'resolution.payment_processing_error',\n PAYMENT_DECLINED_ERROR: 'resolution.payment_declined_error',\n INSUFFICIENT_FUNDS_ERROR: 'resolution.insufficient_funds_error',\n\n // Provider\n PAYMENT_PROVIDER_ERROR: 'resolution.payment_provider_error',\n PROVIDER_TIMEOUT_ERROR: 'resolution.provider_timeout_error',\n PROVIDER_RATE_LIMIT_ERROR: 'resolution.provider_rate_limit_error',\n\n // Security\n PAYMENT_SECURITY_ERROR: 'resolution.payment_security_error',\n FRAUD_DETECTED_ERROR: 'resolution.fraud_detected_error',\n VELOCITY_LIMIT_EXCEEDED_ERROR: 'resolution.velocity_limit_exceeded_error',\n\n // Refund\n REFUND_ERROR: 'resolution.refund_error',\n REFUND_NOT_ALLOWED_ERROR: 'resolution.refund_not_allowed_error',\n REFUND_AUTHORIZATION_ERROR: 'resolution.refund_authorization_error',\n\n COMPLIANCE_ERROR: 'resolution.compliance_error',\n KYC_VERIFICATION_REQUIRED: 'resolution.kyc_verification_required',\n GEOGRAPHIC_RESTRICTION: 'resolution.geographic_restriction',\n\n PAYMENT_WEBHOOK_PACKAGE_ERROR: 'resolution.payment_webhook_package_error',\n PAYMENT_WEBHOOK_VERIFICATION_ERROR: 'resolution.payment_webhook_verification_error',\n PAYMENT_WEBHOOK_PROCESSING_ERROR: 'resolution.payment_webhook_processing_error',\n PAYMENT_WEBHOOK_REPLAY_ERROR: 'resolution.payment_webhook_replay_error',\n} as const;\n\n/** Union type of all available resolution keys */\nexport type PaymentResolutionKey =\n (typeof PAYMENT_RESOLUTION_KEYS)[keyof typeof PAYMENT_RESOLUTION_KEYS];\n\n/**\n * Central registry for all payment recommendation translation keys.\n * Provides type safety and autocompletion for analytics, alerts, and monitoring logic.\n */\n\nexport const PAYMENT_RECOMMENDATION_KEYS = {\n RETRY_LOGIC: 'recommendation.retry_logic',\n CHECK_PROVIDER: 'recommendation.check_provider',\n CRITICAL_ALERT: 'recommendation.critical_alert',\n USER_FACING: 'recommendation.user_facing',\n SYSTEM_STABLE: 'recommendation.system_stable',\n} as const;\n\n/** Union type of all available recommendation keys */\nexport type PaymentRecommendationKey =\n (typeof PAYMENT_RECOMMENDATION_KEYS)[keyof typeof PAYMENT_RECOMMENDATION_KEYS];\n","import { PAYMENT_STATUS } from '../provider';\n\nexport enum IDEMPOTENCY_STATUS {\n PENDING = 'PENDING',\n COMPLETED = 'COMPLETED',\n FAILED = 'FAILED',\n}\n\nexport const IDEMPOTENCY_SAFE_STATUSES: PAYMENT_STATUS[] = [\n PAYMENT_STATUS.Completed,\n PAYMENT_STATUS.Settled,\n PAYMENT_STATUS.Refunded,\n PAYMENT_STATUS.PartiallyRefunded,\n PAYMENT_STATUS.Disputed,\n];\n","// KYC Status\nexport enum KYC_STATUS {\n Pending = 'PENDING',\n Approved = 'APPROVED',\n Rejected = 'REJECTED',\n Expired = 'EXPIRED',\n}\n\n// KYC Tier\nexport enum KYC_TIER {\n Tier0 = 'TIER_0',\n Tier1 = 'TIER_1',\n Tier2 = 'TIER_2',\n Tier3 = 'TIER_3',\n}\n\n// KYC Provider\nexport enum KYC_PROVIDER {\n StripeIdentity = 'STRIPE_IDENTITY',\n Sumsub = 'SUMSUB',\n Onfido = 'ONFIDO',\n Jumio = 'JUMIO',\n Manual = 'MANUAL',\n}\n\nexport enum ONBOARD_STATUS {\n Pending = 'PENDING', // User needs to complete KYC\n Completed = 'COMPLETED', // KYC completed successfully\n Redirect = 'REJECTED', // KYC rejected\n Failed = 'FAILED', // Technical or unknown failure\n}\n\nexport enum ONBOARD_LINK_TYPE {\n Onboard = 'ONBOARD', // First-time onboarding\n Update = 'UPDATE', // Update missing info\n}\n\n/**\n * KYC entity type for onboarding and verification.\n */\nexport enum KYC_ENTITY_TYPE {\n Individual = 'individual', // Natural person\n Company = 'company', // Standard legal entity / corporation\n NonProfit = 'non_profit', // Non-profit organization / NGO\n GovernmentEntity = 'government_entity', // Government agency or public entity\n}\n\n/**\n * Configuration for KYC per user type.\n */\nexport interface UserTypeKycConfig {\n kycRequired: boolean;\n entityType: KYC_ENTITY_TYPE | null;\n}\n"]}
|
package/package.json
CHANGED