@plyaz/types 1.14.9 → 1.14.11
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/api/index.cjs +622 -1
- package/dist/api/index.cjs.map +1 -1
- package/dist/api/index.js +622 -1
- package/dist/api/index.js.map +1 -1
- package/dist/errors/codes.d.ts +213 -0
- package/dist/errors/enums.d.ts +21 -0
- package/dist/errors/index.cjs +772 -1
- package/dist/errors/index.cjs.map +1 -1
- package/dist/errors/index.js +771 -2
- package/dist/errors/index.js.map +1 -1
- package/dist/index.cjs +768 -20
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +767 -20
- package/dist/index.js.map +1 -1
- package/dist/payments/base-error/enum.d.ts +0 -20
- package/dist/payments/base-error/types.d.ts +4 -5
- package/dist/payments/index.cjs +0 -19
- package/dist/payments/index.cjs.map +1 -1
- package/dist/payments/index.js +1 -19
- package/dist/payments/index.js.map +1 -1
- package/package.json +1 -1
package/dist/api/index.js
CHANGED
|
@@ -557,6 +557,20 @@ var ERROR_CATEGORY = {
|
|
|
557
557
|
Template: "template",
|
|
558
558
|
/** Configuration-related error (e.g., invalid or missing configuration). */
|
|
559
559
|
Configuration: "configuration",
|
|
560
|
+
/** Payment processing-related error (e.g., capture or settlement failure). */
|
|
561
|
+
Processing: "processing",
|
|
562
|
+
/** Fraud detection or prevention failure. */
|
|
563
|
+
Fraud: "fraud",
|
|
564
|
+
/** Compliance-related error (e.g., AML/KYC validation failure). */
|
|
565
|
+
Compliance: "compliance",
|
|
566
|
+
/** Limits or quota-related error (e.g., exceeded transaction limit). */
|
|
567
|
+
Limits: "limits",
|
|
568
|
+
/** System-level error (unexpected internal issue). */
|
|
569
|
+
System: "system",
|
|
570
|
+
/** Refund-related error (e.g., duplicate or failed refund). */
|
|
571
|
+
Refund: "refund",
|
|
572
|
+
/** Security-related error (e.g., encryption or signature failure). */
|
|
573
|
+
Security: "security",
|
|
560
574
|
/** Unknown or unclassified error. */
|
|
561
575
|
Unknown: "unknown"
|
|
562
576
|
};
|
|
@@ -615,6 +629,13 @@ var INTERNAL_STATUS_CODES = {
|
|
|
615
629
|
[ERROR_CATEGORY.Webhook]: "webhook",
|
|
616
630
|
[ERROR_CATEGORY.Template]: "template",
|
|
617
631
|
[ERROR_CATEGORY.Configuration]: "configuration",
|
|
632
|
+
[ERROR_CATEGORY.Processing]: "processing",
|
|
633
|
+
[ERROR_CATEGORY.Fraud]: "fraud",
|
|
634
|
+
[ERROR_CATEGORY.Compliance]: "compliance",
|
|
635
|
+
[ERROR_CATEGORY.Limits]: "limits",
|
|
636
|
+
[ERROR_CATEGORY.System]: "system",
|
|
637
|
+
[ERROR_CATEGORY.Refund]: "refund",
|
|
638
|
+
[ERROR_CATEGORY.Security]: "security",
|
|
618
639
|
[ERROR_CATEGORY.Unknown]: "unknown"
|
|
619
640
|
});
|
|
620
641
|
var COMMON_OPERATIONS = {
|
|
@@ -738,6 +759,10 @@ var HTTP_STATUS = {
|
|
|
738
759
|
* 409 Conflict - The request conflicts with the current state of the server
|
|
739
760
|
*/
|
|
740
761
|
CONFLICT: 409,
|
|
762
|
+
/**
|
|
763
|
+
* 422 Unprocessable Entity - The request was well-formed but was unable to be followed due to semantic errors
|
|
764
|
+
*/
|
|
765
|
+
UNPROCESSABLE_ENTITY: 422,
|
|
741
766
|
/**
|
|
742
767
|
* 429 Too Many Requests - The user has sent too many requests in a given amount of time
|
|
743
768
|
*/
|
|
@@ -984,7 +1009,86 @@ var ERROR_CODES = {
|
|
|
984
1009
|
DB_INVALID_SHELL_ARG: "DB_INVALID_SHELL_ARG",
|
|
985
1010
|
DB_INVALID_BETWEEN_OPERATOR: "DB_INVALID_BETWEEN_OPERATOR",
|
|
986
1011
|
DB_INVALID_IN_OPERATOR: "DB_INVALID_IN_OPERATOR",
|
|
987
|
-
DB_INVALID_COUNT: "DB_INVALID_COUNT"
|
|
1012
|
+
DB_INVALID_COUNT: "DB_INVALID_COUNT",
|
|
1013
|
+
// ===== Payments Package Errors =====
|
|
1014
|
+
// Refund
|
|
1015
|
+
PAYMENT_REFUND_FAILED: "payment.refund.failed",
|
|
1016
|
+
PAYMENT_REFUND_NOT_FOUND: "payment.refund.not.found",
|
|
1017
|
+
PAYMENT_REFUND_ALREADY_PROCESSED: "payment.refund.already.processed",
|
|
1018
|
+
PAYMENT_REFUND_AMOUNT_INVALID: "payment.refund.amount.invalid",
|
|
1019
|
+
PAYMENT_REFUND_VALIDATION_FAILED: "payment.refund.validation.failed",
|
|
1020
|
+
PAYMENT_REFUND_TIMEOUT: "payment.refund.timeout",
|
|
1021
|
+
// Provider
|
|
1022
|
+
PAYMENT_PROVIDER_ERROR: "payment.provider.error",
|
|
1023
|
+
PAYMENT_PROVIDER_UNAVAILABLE: "payment.provider.unavailable",
|
|
1024
|
+
PAYMENT_PROVIDER_CONFIGURATION_INVALID: "payment.provider.configuration.invalid",
|
|
1025
|
+
PAYMENT_PROVIDER_RESPONSE_INVALID: "payment.provider.response.invalid",
|
|
1026
|
+
PAYMENT_PROVIDER_TIMEOUT: "payment.provider.timeout",
|
|
1027
|
+
PAYMENT_PROVIDER_AUTH_FAILED: "payment.provider.auth.failed",
|
|
1028
|
+
// Compliance
|
|
1029
|
+
PAYMENT_COMPLIANCE_VIOLATION: "payment.compliance.violation",
|
|
1030
|
+
PAYMENT_COMPLIANCE_CHECK_FAILED: "payment.compliance.check.failed",
|
|
1031
|
+
PAYMENT_COMPLIANCE_LIMIT_EXCEEDED: "payment.compliance.limit.exceeded",
|
|
1032
|
+
PAYMENT_COMPLIANCE_POLICY_MISSING: "payment.compliance.policy.missing",
|
|
1033
|
+
// Processing
|
|
1034
|
+
PAYMENT_PROCESSING_FAILED: "payment.processing.failed",
|
|
1035
|
+
PAYMENT_PROCESSING_TIMEOUT: "payment.processing.timeout",
|
|
1036
|
+
PAYMENT_PROCESSING_GATEWAY_ERROR: "payment.processing.gateway.error",
|
|
1037
|
+
PAYMENT_PROCESSING_DUPLICATE: "payment.processing.duplicate",
|
|
1038
|
+
PAYMENT_PROCESSING_UNEXPECTED_STATE: "payment.processing.unexpected.state",
|
|
1039
|
+
// Security
|
|
1040
|
+
PAYMENT_SECURITY_VIOLATION: "payment.security.violation",
|
|
1041
|
+
PAYMENT_SECURITY_SIGNATURE_INVALID: "payment.security.signature.invalid",
|
|
1042
|
+
PAYMENT_SECURITY_ENCRYPTION_FAILED: "payment.security.encryption.failed",
|
|
1043
|
+
PAYMENT_SECURITY_FRAUD_DETECTED: "payment.security.fraud.detected",
|
|
1044
|
+
PAYMENT_SECURITY_TOKEN_INVALID: "payment.security.token.invalid",
|
|
1045
|
+
// Validation
|
|
1046
|
+
PAYMENT_VALIDATION_FAILED: "payment.validation.failed",
|
|
1047
|
+
PAYMENT_VALIDATION_AMOUNT_INVALID: "payment.validation.amount.invalid",
|
|
1048
|
+
PAYMENT_VALIDATION_CURRENCY_UNSUPPORTED: "payment.validation.currency.unsupported",
|
|
1049
|
+
PAYMENT_VALIDATION_METADATA_INVALID: "payment.validation.metadata.invalid",
|
|
1050
|
+
PAYMENT_VALIDATION_MISSING_REQUIRED_FIELD: "payment.validation.field.required",
|
|
1051
|
+
// Webhook
|
|
1052
|
+
PAYMENT_WEBHOOK_SIGNATURE_INVALID: "payment.webhook.signature.invalid",
|
|
1053
|
+
PAYMENT_WEBHOOK_PROCESSING_FAILED: "payment.webhook.processing.failed",
|
|
1054
|
+
PAYMENT_WEBHOOK_VALIDATION_FAILED: "payment.webhook.validation.failed",
|
|
1055
|
+
PAYMENT_WEBHOOK_EVENT_TYPE_UNSUPPORTED: "payment.webhook.event.type.unsupported",
|
|
1056
|
+
PAYMENT_WEBHOOK_HANDLER_NOT_FOUND: "payment.webhook.handler.not.found",
|
|
1057
|
+
// ===== Payment Adapter & Core Errors =====
|
|
1058
|
+
PAYMENT_ADAPTER_INIT_FAILED: "payment.adapter.init.failed",
|
|
1059
|
+
PAYMENT_ADAPTER_SHUTDOWN_ERROR: "payment.adapter.shutdown.error",
|
|
1060
|
+
PAYMENT_ADAPTER_HMAC_COMPUTATION_FAILED: "payment.adapter.hmac.computation.failed",
|
|
1061
|
+
PAYMENT_ADAPTER_MISSING_PROVIDER: "payment.adapter.missing.provider",
|
|
1062
|
+
PAYMENT_ADAPTER_MISSING_ENVIRONMENT: "payment.adapter.missing.environment",
|
|
1063
|
+
PAYMENT_ADAPTER_MISSING_CREDENTIALS: "payment.adapter.missing.credentials",
|
|
1064
|
+
PAYMENT_ADAPTER_MISSING_WEBHOOK_URL: "payment.adapter.missing.webhook.url",
|
|
1065
|
+
PAYMENT_ADAPTER_MISSING_UNREGISTER_ENDPOINT: "payment.adapter.missing.unregister.endpoint",
|
|
1066
|
+
PAYMENT_ADAPTER_UNSUPPORTED_OPERATION: "payment.adapter.unsupported.operation",
|
|
1067
|
+
PAYMENT_ADAPTER_RESPONSE_MAPPING_FAILED: "payment.adapter.response.mapping.failed",
|
|
1068
|
+
// Idempotency & State Management
|
|
1069
|
+
PAYMENT_IDEMPOTENCY_VIOLATION: "payment.idempotency.violation",
|
|
1070
|
+
PAYMENT_IDEMPOTENCY_KEY_MISSING: "payment.idempotency.key.missing",
|
|
1071
|
+
PAYMENT_IDEMPOTENCY_STORE_ERROR: "payment.idempotency.store.error",
|
|
1072
|
+
// Routing & Strategy
|
|
1073
|
+
PAYMENT_ROUTING_FAILED: "payment.routing.failed",
|
|
1074
|
+
PAYMENT_ROUTING_CONFIGURATION_INVALID: "payment.routing.configuration.invalid",
|
|
1075
|
+
PAYMENT_ROUTING_PROVIDER_UNAVAILABLE: "payment.routing.provider.unavailable",
|
|
1076
|
+
PAYMENT_ROUTING_RETRY_EXCEEDED: "payment.routing.retry.exceeded",
|
|
1077
|
+
// General Payment Framework Errors
|
|
1078
|
+
PAYMENT_SYSTEM_NOT_INITIALIZED: "payment.system.not.initialized",
|
|
1079
|
+
PAYMENT_CONTEXT_OPERATION_FAILED: "payment.context.operation.failed",
|
|
1080
|
+
PAYMENT_INTERNAL_ERROR: "payment.internal.error",
|
|
1081
|
+
PAYMENT_UNKNOWN_ERROR: "payment.unknown.error",
|
|
1082
|
+
/**
|
|
1083
|
+
* Thrown when an event could not be emitted due to internal state or creation errors.
|
|
1084
|
+
* Typically non-retryable, indicates a logic or validation fault.
|
|
1085
|
+
*/
|
|
1086
|
+
PAYMENT_EVENT_EMIT_FAILED: "PAYMENT_EVENT_EMIT_FAILED",
|
|
1087
|
+
PAYMENT_EVENT_INVALID_TYPE: "PAYMENT_EVENT_INVALID_TYPE",
|
|
1088
|
+
PAYMENT_EVENT_CREATION_FAILED: "PAYMENT_EVENT_CREATION_FAILED",
|
|
1089
|
+
PAYMENT_EVENT_HANDLER_TIMEOUT: "PAYMENT_EVENT_HANDLER_TIMEOUT",
|
|
1090
|
+
PAYMENT_EVENT_HANDLER_INVALID_RESULT: "PAYMENT_EVENT_HANDLER_INVALID_RESULT",
|
|
1091
|
+
PAYMENT_EVENT_LIFECYCLE_FAILURE: "PAYMENT_EVENT_LIFECYCLE_FAILURE"
|
|
988
1092
|
};
|
|
989
1093
|
var API_ERROR_CODES = {
|
|
990
1094
|
CLIENT_INITIALIZATION_FAILED: ERROR_CODES.CLIENT_INITIALIZATION_FAILED,
|
|
@@ -2440,6 +2544,433 @@ var ERROR_DEFINITIONS = {
|
|
|
2440
2544
|
category: ERROR_CATEGORY.Server,
|
|
2441
2545
|
userMessage: "db.file.s3_upload_failed",
|
|
2442
2546
|
severity: ERROR_SEVERITY.High,
|
|
2547
|
+
retryable: false
|
|
2548
|
+
},
|
|
2549
|
+
// ===== Payments Package Error Definitions =====
|
|
2550
|
+
// ===== Refund Errors =====
|
|
2551
|
+
[ERROR_CODES.PAYMENT_REFUND_FAILED]: {
|
|
2552
|
+
code: ERROR_CODES.PAYMENT_REFUND_FAILED,
|
|
2553
|
+
status: HTTP_STATUS.BAD_REQUEST,
|
|
2554
|
+
category: ERROR_CATEGORY.Refund,
|
|
2555
|
+
userMessage: "errors.payment.refund.failed",
|
|
2556
|
+
severity: ERROR_SEVERITY.High,
|
|
2557
|
+
retryable: false
|
|
2558
|
+
},
|
|
2559
|
+
[ERROR_CODES.PAYMENT_REFUND_NOT_FOUND]: {
|
|
2560
|
+
code: ERROR_CODES.PAYMENT_REFUND_NOT_FOUND,
|
|
2561
|
+
status: HTTP_STATUS.NOT_FOUND,
|
|
2562
|
+
category: ERROR_CATEGORY.Refund,
|
|
2563
|
+
userMessage: "errors.payment.refund.not_found",
|
|
2564
|
+
severity: ERROR_SEVERITY.Medium,
|
|
2565
|
+
retryable: false
|
|
2566
|
+
},
|
|
2567
|
+
[ERROR_CODES.PAYMENT_REFUND_ALREADY_PROCESSED]: {
|
|
2568
|
+
code: ERROR_CODES.PAYMENT_REFUND_ALREADY_PROCESSED,
|
|
2569
|
+
status: HTTP_STATUS.CONFLICT,
|
|
2570
|
+
category: ERROR_CATEGORY.Refund,
|
|
2571
|
+
userMessage: "errors.payment.refund.already_processed",
|
|
2572
|
+
severity: ERROR_SEVERITY.Low,
|
|
2573
|
+
retryable: false
|
|
2574
|
+
},
|
|
2575
|
+
[ERROR_CODES.PAYMENT_REFUND_AMOUNT_INVALID]: {
|
|
2576
|
+
code: ERROR_CODES.PAYMENT_REFUND_AMOUNT_INVALID,
|
|
2577
|
+
status: HTTP_STATUS.BAD_REQUEST,
|
|
2578
|
+
category: ERROR_CATEGORY.Validation,
|
|
2579
|
+
userMessage: "errors.payment.refund.amount_invalid",
|
|
2580
|
+
severity: ERROR_SEVERITY.Medium,
|
|
2581
|
+
retryable: false
|
|
2582
|
+
},
|
|
2583
|
+
[ERROR_CODES.PAYMENT_REFUND_VALIDATION_FAILED]: {
|
|
2584
|
+
code: ERROR_CODES.PAYMENT_REFUND_VALIDATION_FAILED,
|
|
2585
|
+
status: HTTP_STATUS.UNPROCESSABLE_ENTITY,
|
|
2586
|
+
category: ERROR_CATEGORY.Validation,
|
|
2587
|
+
userMessage: "errors.payment.refund.validation_failed",
|
|
2588
|
+
severity: ERROR_SEVERITY.Medium,
|
|
2589
|
+
retryable: false
|
|
2590
|
+
},
|
|
2591
|
+
[ERROR_CODES.PAYMENT_REFUND_TIMEOUT]: {
|
|
2592
|
+
code: ERROR_CODES.PAYMENT_REFUND_TIMEOUT,
|
|
2593
|
+
status: HTTP_STATUS.REQUEST_TIMEOUT,
|
|
2594
|
+
category: ERROR_CATEGORY.Timeout,
|
|
2595
|
+
userMessage: "errors.payment.refund.timeout",
|
|
2596
|
+
severity: ERROR_SEVERITY.High,
|
|
2597
|
+
retryable: true
|
|
2598
|
+
},
|
|
2599
|
+
// ===== Provider Errors =====
|
|
2600
|
+
[ERROR_CODES.PAYMENT_PROVIDER_ERROR]: {
|
|
2601
|
+
code: ERROR_CODES.PAYMENT_PROVIDER_ERROR,
|
|
2602
|
+
status: HTTP_STATUS.BAD_GATEWAY,
|
|
2603
|
+
category: ERROR_CATEGORY.Provider,
|
|
2604
|
+
userMessage: "errors.payment.provider.generic",
|
|
2605
|
+
severity: ERROR_SEVERITY.High,
|
|
2606
|
+
retryable: true
|
|
2607
|
+
},
|
|
2608
|
+
[ERROR_CODES.PAYMENT_PROVIDER_UNAVAILABLE]: {
|
|
2609
|
+
code: ERROR_CODES.PAYMENT_PROVIDER_UNAVAILABLE,
|
|
2610
|
+
status: HTTP_STATUS.SERVICE_UNAVAILABLE,
|
|
2611
|
+
category: ERROR_CATEGORY.Provider,
|
|
2612
|
+
userMessage: "errors.payment.provider.unavailable",
|
|
2613
|
+
severity: ERROR_SEVERITY.Critical,
|
|
2614
|
+
retryable: true
|
|
2615
|
+
},
|
|
2616
|
+
[ERROR_CODES.PAYMENT_PROVIDER_CONFIGURATION_INVALID]: {
|
|
2617
|
+
code: ERROR_CODES.PAYMENT_PROVIDER_CONFIGURATION_INVALID,
|
|
2618
|
+
status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
|
|
2619
|
+
category: ERROR_CATEGORY.Configuration,
|
|
2620
|
+
userMessage: "errors.payment.provider.invalid_config",
|
|
2621
|
+
severity: ERROR_SEVERITY.Critical,
|
|
2622
|
+
retryable: false
|
|
2623
|
+
},
|
|
2624
|
+
[ERROR_CODES.PAYMENT_PROVIDER_RESPONSE_INVALID]: {
|
|
2625
|
+
code: ERROR_CODES.PAYMENT_PROVIDER_RESPONSE_INVALID,
|
|
2626
|
+
status: HTTP_STATUS.BAD_GATEWAY,
|
|
2627
|
+
category: ERROR_CATEGORY.Provider,
|
|
2628
|
+
userMessage: "errors.payment.provider.invalid_response",
|
|
2629
|
+
severity: ERROR_SEVERITY.High,
|
|
2630
|
+
retryable: false
|
|
2631
|
+
},
|
|
2632
|
+
[ERROR_CODES.PAYMENT_PROVIDER_TIMEOUT]: {
|
|
2633
|
+
code: ERROR_CODES.PAYMENT_PROVIDER_TIMEOUT,
|
|
2634
|
+
status: HTTP_STATUS.GATEWAY_TIMEOUT,
|
|
2635
|
+
category: ERROR_CATEGORY.Timeout,
|
|
2636
|
+
userMessage: "errors.payment.provider.timeout",
|
|
2637
|
+
severity: ERROR_SEVERITY.High,
|
|
2638
|
+
retryable: true
|
|
2639
|
+
},
|
|
2640
|
+
[ERROR_CODES.PAYMENT_PROVIDER_AUTH_FAILED]: {
|
|
2641
|
+
code: ERROR_CODES.PAYMENT_PROVIDER_AUTH_FAILED,
|
|
2642
|
+
status: HTTP_STATUS.UNAUTHORIZED,
|
|
2643
|
+
category: ERROR_CATEGORY.Authentication,
|
|
2644
|
+
userMessage: "errors.payment.provider.auth_failed",
|
|
2645
|
+
severity: ERROR_SEVERITY.Medium,
|
|
2646
|
+
retryable: false
|
|
2647
|
+
},
|
|
2648
|
+
// ===== Compliance Errors =====
|
|
2649
|
+
[ERROR_CODES.PAYMENT_COMPLIANCE_VIOLATION]: {
|
|
2650
|
+
code: ERROR_CODES.PAYMENT_COMPLIANCE_VIOLATION,
|
|
2651
|
+
status: HTTP_STATUS.FORBIDDEN,
|
|
2652
|
+
category: ERROR_CATEGORY.Compliance,
|
|
2653
|
+
userMessage: "errors.payment.compliance.violation",
|
|
2654
|
+
severity: ERROR_SEVERITY.High,
|
|
2655
|
+
retryable: false
|
|
2656
|
+
},
|
|
2657
|
+
[ERROR_CODES.PAYMENT_COMPLIANCE_CHECK_FAILED]: {
|
|
2658
|
+
code: ERROR_CODES.PAYMENT_COMPLIANCE_CHECK_FAILED,
|
|
2659
|
+
status: HTTP_STATUS.UNPROCESSABLE_ENTITY,
|
|
2660
|
+
category: ERROR_CATEGORY.Compliance,
|
|
2661
|
+
userMessage: "errors.payment.compliance.check_failed",
|
|
2662
|
+
severity: ERROR_SEVERITY.Medium,
|
|
2663
|
+
retryable: false
|
|
2664
|
+
},
|
|
2665
|
+
[ERROR_CODES.PAYMENT_COMPLIANCE_LIMIT_EXCEEDED]: {
|
|
2666
|
+
code: ERROR_CODES.PAYMENT_COMPLIANCE_LIMIT_EXCEEDED,
|
|
2667
|
+
status: HTTP_STATUS.TOO_MANY_REQUESTS,
|
|
2668
|
+
category: ERROR_CATEGORY.Limits,
|
|
2669
|
+
userMessage: "errors.payment.compliance.limit_exceeded",
|
|
2670
|
+
severity: ERROR_SEVERITY.Medium,
|
|
2671
|
+
retryable: false
|
|
2672
|
+
},
|
|
2673
|
+
[ERROR_CODES.PAYMENT_COMPLIANCE_POLICY_MISSING]: {
|
|
2674
|
+
code: ERROR_CODES.PAYMENT_COMPLIANCE_POLICY_MISSING,
|
|
2675
|
+
status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
|
|
2676
|
+
category: ERROR_CATEGORY.Configuration,
|
|
2677
|
+
userMessage: "errors.payment.compliance.policy_missing",
|
|
2678
|
+
severity: ERROR_SEVERITY.Critical,
|
|
2679
|
+
retryable: false
|
|
2680
|
+
},
|
|
2681
|
+
// ===== Processing Errors =====
|
|
2682
|
+
[ERROR_CODES.PAYMENT_PROCESSING_FAILED]: {
|
|
2683
|
+
code: ERROR_CODES.PAYMENT_PROCESSING_FAILED,
|
|
2684
|
+
status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
|
|
2685
|
+
category: ERROR_CATEGORY.Processing,
|
|
2686
|
+
userMessage: "errors.payment.processing.failed",
|
|
2687
|
+
severity: ERROR_SEVERITY.Critical,
|
|
2688
|
+
retryable: true
|
|
2689
|
+
},
|
|
2690
|
+
[ERROR_CODES.PAYMENT_PROCESSING_TIMEOUT]: {
|
|
2691
|
+
code: ERROR_CODES.PAYMENT_PROCESSING_TIMEOUT,
|
|
2692
|
+
status: HTTP_STATUS.GATEWAY_TIMEOUT,
|
|
2693
|
+
category: ERROR_CATEGORY.Timeout,
|
|
2694
|
+
userMessage: "errors.payment.processing.timeout",
|
|
2695
|
+
severity: ERROR_SEVERITY.High,
|
|
2696
|
+
retryable: true
|
|
2697
|
+
},
|
|
2698
|
+
[ERROR_CODES.PAYMENT_PROCESSING_GATEWAY_ERROR]: {
|
|
2699
|
+
code: ERROR_CODES.PAYMENT_PROCESSING_GATEWAY_ERROR,
|
|
2700
|
+
status: HTTP_STATUS.BAD_GATEWAY,
|
|
2701
|
+
category: ERROR_CATEGORY.Provider,
|
|
2702
|
+
userMessage: "errors.payment.processing.gateway_error",
|
|
2703
|
+
severity: ERROR_SEVERITY.High,
|
|
2704
|
+
retryable: true
|
|
2705
|
+
},
|
|
2706
|
+
[ERROR_CODES.PAYMENT_PROCESSING_DUPLICATE]: {
|
|
2707
|
+
code: ERROR_CODES.PAYMENT_PROCESSING_DUPLICATE,
|
|
2708
|
+
status: HTTP_STATUS.CONFLICT,
|
|
2709
|
+
category: ERROR_CATEGORY.Processing,
|
|
2710
|
+
userMessage: "errors.payment.processing.duplicate",
|
|
2711
|
+
severity: ERROR_SEVERITY.Low,
|
|
2712
|
+
retryable: false
|
|
2713
|
+
},
|
|
2714
|
+
[ERROR_CODES.PAYMENT_PROCESSING_UNEXPECTED_STATE]: {
|
|
2715
|
+
code: ERROR_CODES.PAYMENT_PROCESSING_UNEXPECTED_STATE,
|
|
2716
|
+
status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
|
|
2717
|
+
category: ERROR_CATEGORY.System,
|
|
2718
|
+
userMessage: "errors.payment.processing.unexpected_state",
|
|
2719
|
+
severity: ERROR_SEVERITY.Critical,
|
|
2720
|
+
retryable: false
|
|
2721
|
+
},
|
|
2722
|
+
// ===== Security Errors =====
|
|
2723
|
+
[ERROR_CODES.PAYMENT_SECURITY_VIOLATION]: {
|
|
2724
|
+
code: ERROR_CODES.PAYMENT_SECURITY_VIOLATION,
|
|
2725
|
+
status: HTTP_STATUS.FORBIDDEN,
|
|
2726
|
+
category: ERROR_CATEGORY.Security,
|
|
2727
|
+
userMessage: "errors.payment.security.violation",
|
|
2728
|
+
severity: ERROR_SEVERITY.Critical,
|
|
2729
|
+
retryable: false
|
|
2730
|
+
},
|
|
2731
|
+
[ERROR_CODES.PAYMENT_SECURITY_SIGNATURE_INVALID]: {
|
|
2732
|
+
code: ERROR_CODES.PAYMENT_SECURITY_SIGNATURE_INVALID,
|
|
2733
|
+
status: HTTP_STATUS.UNAUTHORIZED,
|
|
2734
|
+
category: ERROR_CATEGORY.Security,
|
|
2735
|
+
userMessage: "errors.payment.security.invalid_signature",
|
|
2736
|
+
severity: ERROR_SEVERITY.High,
|
|
2737
|
+
retryable: false
|
|
2738
|
+
},
|
|
2739
|
+
[ERROR_CODES.PAYMENT_SECURITY_ENCRYPTION_FAILED]: {
|
|
2740
|
+
code: ERROR_CODES.PAYMENT_SECURITY_ENCRYPTION_FAILED,
|
|
2741
|
+
status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
|
|
2742
|
+
category: ERROR_CATEGORY.Security,
|
|
2743
|
+
userMessage: "errors.payment.security.encryption_failed",
|
|
2744
|
+
severity: ERROR_SEVERITY.Critical,
|
|
2745
|
+
retryable: false
|
|
2746
|
+
},
|
|
2747
|
+
[ERROR_CODES.PAYMENT_SECURITY_FRAUD_DETECTED]: {
|
|
2748
|
+
code: ERROR_CODES.PAYMENT_SECURITY_FRAUD_DETECTED,
|
|
2749
|
+
status: HTTP_STATUS.FORBIDDEN,
|
|
2750
|
+
category: ERROR_CATEGORY.Fraud,
|
|
2751
|
+
userMessage: "errors.payment.security.fraud_detected",
|
|
2752
|
+
severity: ERROR_SEVERITY.Critical,
|
|
2753
|
+
retryable: false
|
|
2754
|
+
},
|
|
2755
|
+
[ERROR_CODES.PAYMENT_SECURITY_TOKEN_INVALID]: {
|
|
2756
|
+
code: ERROR_CODES.PAYMENT_SECURITY_TOKEN_INVALID,
|
|
2757
|
+
status: HTTP_STATUS.UNAUTHORIZED,
|
|
2758
|
+
category: ERROR_CATEGORY.Authentication,
|
|
2759
|
+
userMessage: "errors.payment.security.token_invalid",
|
|
2760
|
+
severity: ERROR_SEVERITY.Medium,
|
|
2761
|
+
retryable: false
|
|
2762
|
+
},
|
|
2763
|
+
// ===== Validation Errors =====
|
|
2764
|
+
[ERROR_CODES.PAYMENT_VALIDATION_FAILED]: {
|
|
2765
|
+
code: ERROR_CODES.PAYMENT_VALIDATION_FAILED,
|
|
2766
|
+
status: HTTP_STATUS.UNPROCESSABLE_ENTITY,
|
|
2767
|
+
category: ERROR_CATEGORY.Validation,
|
|
2768
|
+
userMessage: "errors.payment.validation.failed",
|
|
2769
|
+
severity: ERROR_SEVERITY.Medium,
|
|
2770
|
+
retryable: false
|
|
2771
|
+
},
|
|
2772
|
+
[ERROR_CODES.PAYMENT_VALIDATION_AMOUNT_INVALID]: {
|
|
2773
|
+
code: ERROR_CODES.PAYMENT_VALIDATION_AMOUNT_INVALID,
|
|
2774
|
+
status: HTTP_STATUS.BAD_REQUEST,
|
|
2775
|
+
category: ERROR_CATEGORY.Validation,
|
|
2776
|
+
userMessage: "errors.payment.validation.amount_invalid",
|
|
2777
|
+
severity: ERROR_SEVERITY.Medium,
|
|
2778
|
+
retryable: false
|
|
2779
|
+
},
|
|
2780
|
+
[ERROR_CODES.PAYMENT_VALIDATION_CURRENCY_UNSUPPORTED]: {
|
|
2781
|
+
code: ERROR_CODES.PAYMENT_VALIDATION_CURRENCY_UNSUPPORTED,
|
|
2782
|
+
status: HTTP_STATUS.BAD_REQUEST,
|
|
2783
|
+
category: ERROR_CATEGORY.Validation,
|
|
2784
|
+
userMessage: "errors.payment.validation.currency_unsupported",
|
|
2785
|
+
severity: ERROR_SEVERITY.Medium,
|
|
2786
|
+
retryable: false
|
|
2787
|
+
},
|
|
2788
|
+
[ERROR_CODES.PAYMENT_VALIDATION_METADATA_INVALID]: {
|
|
2789
|
+
code: ERROR_CODES.PAYMENT_VALIDATION_METADATA_INVALID,
|
|
2790
|
+
status: HTTP_STATUS.BAD_REQUEST,
|
|
2791
|
+
category: ERROR_CATEGORY.Validation,
|
|
2792
|
+
userMessage: "errors.payment.validation.metadata_invalid",
|
|
2793
|
+
severity: ERROR_SEVERITY.Low,
|
|
2794
|
+
retryable: false
|
|
2795
|
+
},
|
|
2796
|
+
[ERROR_CODES.PAYMENT_VALIDATION_MISSING_REQUIRED_FIELD]: {
|
|
2797
|
+
code: ERROR_CODES.PAYMENT_VALIDATION_MISSING_REQUIRED_FIELD,
|
|
2798
|
+
status: HTTP_STATUS.BAD_REQUEST,
|
|
2799
|
+
category: ERROR_CATEGORY.Validation,
|
|
2800
|
+
userMessage: "errors.payment.validation.required_field_missing",
|
|
2801
|
+
severity: ERROR_SEVERITY.Medium,
|
|
2802
|
+
retryable: false
|
|
2803
|
+
},
|
|
2804
|
+
// ===== Webhook Errors =====
|
|
2805
|
+
[ERROR_CODES.PAYMENT_WEBHOOK_SIGNATURE_INVALID]: {
|
|
2806
|
+
code: ERROR_CODES.PAYMENT_WEBHOOK_SIGNATURE_INVALID,
|
|
2807
|
+
status: HTTP_STATUS.UNAUTHORIZED,
|
|
2808
|
+
category: ERROR_CATEGORY.Webhook,
|
|
2809
|
+
userMessage: "errors.payment.webhook.signature_invalid",
|
|
2810
|
+
severity: ERROR_SEVERITY.High,
|
|
2811
|
+
retryable: false
|
|
2812
|
+
},
|
|
2813
|
+
[ERROR_CODES.PAYMENT_WEBHOOK_PROCESSING_FAILED]: {
|
|
2814
|
+
code: ERROR_CODES.PAYMENT_WEBHOOK_PROCESSING_FAILED,
|
|
2815
|
+
status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
|
|
2816
|
+
category: ERROR_CATEGORY.Webhook,
|
|
2817
|
+
userMessage: "errors.payment.webhook.processing_failed",
|
|
2818
|
+
severity: ERROR_SEVERITY.High,
|
|
2819
|
+
retryable: true
|
|
2820
|
+
},
|
|
2821
|
+
[ERROR_CODES.PAYMENT_WEBHOOK_VALIDATION_FAILED]: {
|
|
2822
|
+
code: ERROR_CODES.PAYMENT_WEBHOOK_VALIDATION_FAILED,
|
|
2823
|
+
status: HTTP_STATUS.BAD_REQUEST,
|
|
2824
|
+
category: ERROR_CATEGORY.Validation,
|
|
2825
|
+
userMessage: "errors.payment.webhook.validation_failed",
|
|
2826
|
+
severity: ERROR_SEVERITY.Medium,
|
|
2827
|
+
retryable: false
|
|
2828
|
+
},
|
|
2829
|
+
[ERROR_CODES.PAYMENT_WEBHOOK_EVENT_TYPE_UNSUPPORTED]: {
|
|
2830
|
+
code: ERROR_CODES.PAYMENT_WEBHOOK_EVENT_TYPE_UNSUPPORTED,
|
|
2831
|
+
status: HTTP_STATUS.BAD_REQUEST,
|
|
2832
|
+
category: ERROR_CATEGORY.Webhook,
|
|
2833
|
+
userMessage: "errors.payment.webhook.unsupported_event_type",
|
|
2834
|
+
severity: ERROR_SEVERITY.Medium,
|
|
2835
|
+
retryable: false
|
|
2836
|
+
},
|
|
2837
|
+
[ERROR_CODES.PAYMENT_WEBHOOK_HANDLER_NOT_FOUND]: {
|
|
2838
|
+
code: ERROR_CODES.PAYMENT_WEBHOOK_HANDLER_NOT_FOUND,
|
|
2839
|
+
status: HTTP_STATUS.NOT_FOUND,
|
|
2840
|
+
category: ERROR_CATEGORY.Webhook,
|
|
2841
|
+
userMessage: "errors.payment.webhook.handler_not_found",
|
|
2842
|
+
severity: ERROR_SEVERITY.Medium,
|
|
2843
|
+
retryable: false
|
|
2844
|
+
},
|
|
2845
|
+
// ===== Payment Adapter & Core Errors =====
|
|
2846
|
+
[ERROR_CODES.PAYMENT_ADAPTER_INIT_FAILED]: {
|
|
2847
|
+
code: ERROR_CODES.PAYMENT_ADAPTER_INIT_FAILED,
|
|
2848
|
+
status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
|
|
2849
|
+
category: ERROR_CATEGORY.Provider,
|
|
2850
|
+
userMessage: "errors.payment.adapter.init_failed",
|
|
2851
|
+
severity: ERROR_SEVERITY.High,
|
|
2852
|
+
retryable: false
|
|
2853
|
+
},
|
|
2854
|
+
[ERROR_CODES.PAYMENT_ADAPTER_SHUTDOWN_ERROR]: {
|
|
2855
|
+
code: ERROR_CODES.PAYMENT_ADAPTER_SHUTDOWN_ERROR,
|
|
2856
|
+
status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
|
|
2857
|
+
category: ERROR_CATEGORY.Provider,
|
|
2858
|
+
userMessage: "errors.payment.adapter.shutdown_error",
|
|
2859
|
+
severity: ERROR_SEVERITY.Medium,
|
|
2860
|
+
retryable: false
|
|
2861
|
+
},
|
|
2862
|
+
[ERROR_CODES.PAYMENT_ADAPTER_HMAC_COMPUTATION_FAILED]: {
|
|
2863
|
+
code: ERROR_CODES.PAYMENT_ADAPTER_HMAC_COMPUTATION_FAILED,
|
|
2864
|
+
status: HTTP_STATUS.BAD_REQUEST,
|
|
2865
|
+
category: ERROR_CATEGORY.Security,
|
|
2866
|
+
userMessage: "errors.payment.adapter.hmac_computation_failed",
|
|
2867
|
+
severity: ERROR_SEVERITY.High,
|
|
2868
|
+
retryable: false
|
|
2869
|
+
},
|
|
2870
|
+
[ERROR_CODES.PAYMENT_ADAPTER_MISSING_PROVIDER]: {
|
|
2871
|
+
code: ERROR_CODES.PAYMENT_ADAPTER_MISSING_PROVIDER,
|
|
2872
|
+
status: HTTP_STATUS.BAD_REQUEST,
|
|
2873
|
+
category: ERROR_CATEGORY.Configuration,
|
|
2874
|
+
userMessage: "errors.payment.adapter.missing_provider",
|
|
2875
|
+
severity: ERROR_SEVERITY.Medium,
|
|
2876
|
+
retryable: false
|
|
2877
|
+
},
|
|
2878
|
+
[ERROR_CODES.PAYMENT_ADAPTER_MISSING_ENVIRONMENT]: {
|
|
2879
|
+
code: ERROR_CODES.PAYMENT_ADAPTER_MISSING_ENVIRONMENT,
|
|
2880
|
+
status: HTTP_STATUS.BAD_REQUEST,
|
|
2881
|
+
category: ERROR_CATEGORY.Configuration,
|
|
2882
|
+
userMessage: "errors.payment.adapter.missing_environment",
|
|
2883
|
+
severity: ERROR_SEVERITY.Medium,
|
|
2884
|
+
retryable: false
|
|
2885
|
+
},
|
|
2886
|
+
[ERROR_CODES.PAYMENT_ADAPTER_MISSING_CREDENTIALS]: {
|
|
2887
|
+
code: ERROR_CODES.PAYMENT_ADAPTER_MISSING_CREDENTIALS,
|
|
2888
|
+
status: HTTP_STATUS.UNAUTHORIZED,
|
|
2889
|
+
category: ERROR_CATEGORY.Authentication,
|
|
2890
|
+
userMessage: "errors.payment.adapter.missing_credentials",
|
|
2891
|
+
severity: ERROR_SEVERITY.Medium,
|
|
2892
|
+
retryable: false
|
|
2893
|
+
},
|
|
2894
|
+
[ERROR_CODES.PAYMENT_ADAPTER_MISSING_WEBHOOK_URL]: {
|
|
2895
|
+
code: ERROR_CODES.PAYMENT_ADAPTER_MISSING_WEBHOOK_URL,
|
|
2896
|
+
status: HTTP_STATUS.BAD_REQUEST,
|
|
2897
|
+
category: ERROR_CATEGORY.Configuration,
|
|
2898
|
+
userMessage: "errors.payment.adapter.missing_webhook_url",
|
|
2899
|
+
severity: ERROR_SEVERITY.Medium,
|
|
2900
|
+
retryable: false
|
|
2901
|
+
},
|
|
2902
|
+
[ERROR_CODES.PAYMENT_ADAPTER_MISSING_UNREGISTER_ENDPOINT]: {
|
|
2903
|
+
code: ERROR_CODES.PAYMENT_ADAPTER_MISSING_UNREGISTER_ENDPOINT,
|
|
2904
|
+
status: HTTP_STATUS.BAD_REQUEST,
|
|
2905
|
+
category: ERROR_CATEGORY.Configuration,
|
|
2906
|
+
userMessage: "errors.payment.adapter.missing_unregister_endpoint",
|
|
2907
|
+
severity: ERROR_SEVERITY.Medium,
|
|
2908
|
+
retryable: false
|
|
2909
|
+
},
|
|
2910
|
+
[ERROR_CODES.PAYMENT_ADAPTER_UNSUPPORTED_OPERATION]: {
|
|
2911
|
+
code: ERROR_CODES.PAYMENT_ADAPTER_UNSUPPORTED_OPERATION,
|
|
2912
|
+
status: HTTP_STATUS.NOT_IMPLEMENTED,
|
|
2913
|
+
category: ERROR_CATEGORY.Provider,
|
|
2914
|
+
userMessage: "errors.payment.adapter.unsupported_operation",
|
|
2915
|
+
severity: ERROR_SEVERITY.Medium,
|
|
2916
|
+
retryable: false
|
|
2917
|
+
},
|
|
2918
|
+
[ERROR_CODES.PAYMENT_ADAPTER_RESPONSE_MAPPING_FAILED]: {
|
|
2919
|
+
code: ERROR_CODES.PAYMENT_ADAPTER_RESPONSE_MAPPING_FAILED,
|
|
2920
|
+
status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
|
|
2921
|
+
category: ERROR_CATEGORY.Provider,
|
|
2922
|
+
userMessage: "errors.payment.adapter.response_mapping_failed",
|
|
2923
|
+
severity: ERROR_SEVERITY.High,
|
|
2924
|
+
retryable: false
|
|
2925
|
+
},
|
|
2926
|
+
// ===== Idempotency & State Management =====
|
|
2927
|
+
[ERROR_CODES.PAYMENT_IDEMPOTENCY_VIOLATION]: {
|
|
2928
|
+
code: ERROR_CODES.PAYMENT_IDEMPOTENCY_VIOLATION,
|
|
2929
|
+
status: HTTP_STATUS.CONFLICT,
|
|
2930
|
+
category: ERROR_CATEGORY.Processing,
|
|
2931
|
+
userMessage: "errors.payment.idempotency.violation",
|
|
2932
|
+
severity: ERROR_SEVERITY.Medium,
|
|
2933
|
+
retryable: false
|
|
2934
|
+
},
|
|
2935
|
+
[ERROR_CODES.PAYMENT_IDEMPOTENCY_KEY_MISSING]: {
|
|
2936
|
+
code: ERROR_CODES.PAYMENT_IDEMPOTENCY_KEY_MISSING,
|
|
2937
|
+
status: HTTP_STATUS.BAD_REQUEST,
|
|
2938
|
+
category: ERROR_CATEGORY.Validation,
|
|
2939
|
+
userMessage: "errors.payment.idempotency.key_missing",
|
|
2940
|
+
severity: ERROR_SEVERITY.Low,
|
|
2941
|
+
retryable: false
|
|
2942
|
+
},
|
|
2943
|
+
[ERROR_CODES.PAYMENT_IDEMPOTENCY_STORE_ERROR]: {
|
|
2944
|
+
code: ERROR_CODES.PAYMENT_IDEMPOTENCY_STORE_ERROR,
|
|
2945
|
+
status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
|
|
2946
|
+
category: ERROR_CATEGORY.Cache,
|
|
2947
|
+
userMessage: "errors.payment.idempotency.store_error",
|
|
2948
|
+
severity: ERROR_SEVERITY.Medium,
|
|
2949
|
+
retryable: true
|
|
2950
|
+
},
|
|
2951
|
+
// ===== Routing & Strategy =====
|
|
2952
|
+
[ERROR_CODES.PAYMENT_ROUTING_FAILED]: {
|
|
2953
|
+
code: ERROR_CODES.PAYMENT_ROUTING_FAILED,
|
|
2954
|
+
status: HTTP_STATUS.BAD_REQUEST,
|
|
2955
|
+
category: ERROR_CATEGORY.Strategy,
|
|
2956
|
+
userMessage: "errors.payment.routing.failed",
|
|
2957
|
+
severity: ERROR_SEVERITY.High,
|
|
2958
|
+
retryable: false
|
|
2959
|
+
},
|
|
2960
|
+
[ERROR_CODES.PAYMENT_ROUTING_CONFIGURATION_INVALID]: {
|
|
2961
|
+
code: ERROR_CODES.PAYMENT_ROUTING_CONFIGURATION_INVALID,
|
|
2962
|
+
status: HTTP_STATUS.BAD_REQUEST,
|
|
2963
|
+
category: ERROR_CATEGORY.Configuration,
|
|
2964
|
+
userMessage: "errors.payment.routing.configuration_invalid",
|
|
2965
|
+
severity: ERROR_SEVERITY.Medium,
|
|
2966
|
+
retryable: false
|
|
2967
|
+
},
|
|
2968
|
+
[ERROR_CODES.PAYMENT_ROUTING_PROVIDER_UNAVAILABLE]: {
|
|
2969
|
+
code: ERROR_CODES.PAYMENT_ROUTING_PROVIDER_UNAVAILABLE,
|
|
2970
|
+
status: HTTP_STATUS.SERVICE_UNAVAILABLE,
|
|
2971
|
+
category: ERROR_CATEGORY.Provider,
|
|
2972
|
+
userMessage: "errors.payment.routing.provider_unavailable",
|
|
2973
|
+
severity: ERROR_SEVERITY.High,
|
|
2443
2974
|
retryable: true
|
|
2444
2975
|
},
|
|
2445
2976
|
// Misc
|
|
@@ -2490,6 +3021,96 @@ var ERROR_DEFINITIONS = {
|
|
|
2490
3021
|
userMessage: "db.misc.invalid_count",
|
|
2491
3022
|
severity: ERROR_SEVERITY.Medium,
|
|
2492
3023
|
retryable: false
|
|
3024
|
+
},
|
|
3025
|
+
[ERROR_CODES.PAYMENT_ROUTING_RETRY_EXCEEDED]: {
|
|
3026
|
+
code: ERROR_CODES.PAYMENT_ROUTING_RETRY_EXCEEDED,
|
|
3027
|
+
status: HTTP_STATUS.TOO_MANY_REQUESTS,
|
|
3028
|
+
category: ERROR_CATEGORY.Retry,
|
|
3029
|
+
userMessage: "errors.payment.routing.retry_exceeded",
|
|
3030
|
+
severity: ERROR_SEVERITY.Medium,
|
|
3031
|
+
retryable: false
|
|
3032
|
+
},
|
|
3033
|
+
// ===== General Payment Framework Errors =====
|
|
3034
|
+
[ERROR_CODES.PAYMENT_SYSTEM_NOT_INITIALIZED]: {
|
|
3035
|
+
code: ERROR_CODES.PAYMENT_SYSTEM_NOT_INITIALIZED,
|
|
3036
|
+
status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
|
|
3037
|
+
category: ERROR_CATEGORY.System,
|
|
3038
|
+
userMessage: "errors.payment.system.not_initialized",
|
|
3039
|
+
severity: ERROR_SEVERITY.High,
|
|
3040
|
+
retryable: false
|
|
3041
|
+
},
|
|
3042
|
+
[ERROR_CODES.PAYMENT_CONTEXT_OPERATION_FAILED]: {
|
|
3043
|
+
code: ERROR_CODES.PAYMENT_CONTEXT_OPERATION_FAILED,
|
|
3044
|
+
status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
|
|
3045
|
+
category: ERROR_CATEGORY.System,
|
|
3046
|
+
userMessage: "errors.payment.context.operation_failed",
|
|
3047
|
+
severity: ERROR_SEVERITY.High,
|
|
3048
|
+
retryable: false
|
|
3049
|
+
},
|
|
3050
|
+
[ERROR_CODES.PAYMENT_INTERNAL_ERROR]: {
|
|
3051
|
+
code: ERROR_CODES.PAYMENT_INTERNAL_ERROR,
|
|
3052
|
+
status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
|
|
3053
|
+
category: ERROR_CATEGORY.System,
|
|
3054
|
+
userMessage: "errors.payment.internal_error",
|
|
3055
|
+
severity: ERROR_SEVERITY.Critical,
|
|
3056
|
+
retryable: false
|
|
3057
|
+
},
|
|
3058
|
+
[ERROR_CODES.PAYMENT_UNKNOWN_ERROR]: {
|
|
3059
|
+
code: ERROR_CODES.PAYMENT_UNKNOWN_ERROR,
|
|
3060
|
+
status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
|
|
3061
|
+
category: ERROR_CATEGORY.Unknown,
|
|
3062
|
+
userMessage: "errors.payment.unknown_error",
|
|
3063
|
+
severity: ERROR_SEVERITY.Critical,
|
|
3064
|
+
retryable: false
|
|
3065
|
+
},
|
|
3066
|
+
// ===== Event Lifecycle Errors =====
|
|
3067
|
+
[ERROR_CODES.PAYMENT_EVENT_EMIT_FAILED]: {
|
|
3068
|
+
code: ERROR_CODES.PAYMENT_EVENT_EMIT_FAILED,
|
|
3069
|
+
status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
|
|
3070
|
+
category: ERROR_CATEGORY.Processing,
|
|
3071
|
+
userMessage: "errors.payment.event.emit_failed",
|
|
3072
|
+
severity: ERROR_SEVERITY.Medium,
|
|
3073
|
+
retryable: false
|
|
3074
|
+
},
|
|
3075
|
+
[ERROR_CODES.PAYMENT_EVENT_INVALID_TYPE]: {
|
|
3076
|
+
code: ERROR_CODES.PAYMENT_EVENT_INVALID_TYPE,
|
|
3077
|
+
status: HTTP_STATUS.BAD_REQUEST,
|
|
3078
|
+
category: ERROR_CATEGORY.Validation,
|
|
3079
|
+
userMessage: "errors.payment.event.invalid_type",
|
|
3080
|
+
severity: ERROR_SEVERITY.Medium,
|
|
3081
|
+
retryable: false
|
|
3082
|
+
},
|
|
3083
|
+
[ERROR_CODES.PAYMENT_EVENT_CREATION_FAILED]: {
|
|
3084
|
+
code: ERROR_CODES.PAYMENT_EVENT_CREATION_FAILED,
|
|
3085
|
+
status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
|
|
3086
|
+
category: ERROR_CATEGORY.System,
|
|
3087
|
+
userMessage: "errors.payment.event.creation_failed",
|
|
3088
|
+
severity: ERROR_SEVERITY.High,
|
|
3089
|
+
retryable: false
|
|
3090
|
+
},
|
|
3091
|
+
[ERROR_CODES.PAYMENT_EVENT_HANDLER_TIMEOUT]: {
|
|
3092
|
+
code: ERROR_CODES.PAYMENT_EVENT_HANDLER_TIMEOUT,
|
|
3093
|
+
status: HTTP_STATUS.GATEWAY_TIMEOUT,
|
|
3094
|
+
category: ERROR_CATEGORY.Timeout,
|
|
3095
|
+
userMessage: "errors.payment.event.handler_timeout",
|
|
3096
|
+
severity: ERROR_SEVERITY.Medium,
|
|
3097
|
+
retryable: true
|
|
3098
|
+
},
|
|
3099
|
+
[ERROR_CODES.PAYMENT_EVENT_HANDLER_INVALID_RESULT]: {
|
|
3100
|
+
code: ERROR_CODES.PAYMENT_EVENT_HANDLER_INVALID_RESULT,
|
|
3101
|
+
status: HTTP_STATUS.UNPROCESSABLE_ENTITY,
|
|
3102
|
+
category: ERROR_CATEGORY.Processing,
|
|
3103
|
+
userMessage: "errors.payment.event.handler_invalid_result",
|
|
3104
|
+
severity: ERROR_SEVERITY.Medium,
|
|
3105
|
+
retryable: false
|
|
3106
|
+
},
|
|
3107
|
+
[ERROR_CODES.PAYMENT_EVENT_LIFECYCLE_FAILURE]: {
|
|
3108
|
+
code: ERROR_CODES.PAYMENT_EVENT_LIFECYCLE_FAILURE,
|
|
3109
|
+
status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
|
|
3110
|
+
category: ERROR_CATEGORY.Processing,
|
|
3111
|
+
userMessage: "errors.payment.event.lifecycle_failure",
|
|
3112
|
+
severity: ERROR_SEVERITY.High,
|
|
3113
|
+
retryable: false
|
|
2493
3114
|
}
|
|
2494
3115
|
};
|
|
2495
3116
|
|