Files
eamco_authorize/app/constants.py
Edwin Eames 97261f6c51 Refactor payment service, fix DB session, and consolidate endpoints
- Fix critical NameError in database.py by restoring Session factory
- Refactor payment_service.py and crud.py to use shared constants.py and utils.py
- Deduplicate state mapping and input sanitization logic
- Move transaction amount calculation logic from CRUD to Router layer
- Enforce type safety in schemas using IntEnum for TransactionType/Status
- Move capture endpoint from transaction.py to payment.py (now /payments/capture)
- Update create_customer_profile signature for clarity
2026-02-01 12:31:42 -05:00

29 lines
639 B
Python

"""
Constants shared across the EAMCO Authorize service.
"""
import enum
class TransactionStatus(enum.IntEnum):
"""Transaction status codes used throughout the payment system."""
APPROVED = 0
DECLINED = 1
class TransactionType(enum.IntEnum):
"""Transaction type codes for different payment operations."""
CHARGE = 0
AUTHORIZE = 1
CAPTURE = 2
# State ID to abbreviation mapping for Authorize.net billing address
# This maps the integer state IDs from the database to state abbreviations
STATE_ID_TO_ABBREVIATION = {
0: "MA",
1: "RI",
2: "NH",
3: "ME",
4: "VT",
5: "CT",
6: "NY"
}