from decimal import Decimal

# Payment A: 10 – 20,000 | Payment B: 100 – 50,000
RECHARGE_PAYMENT_METHODS = {
    "a": {
        "id": "a",
        "label": "Payment A",
        "min": Decimal("10.00"),
        "max": Decimal("20000.00"),
        "quick_amounts": [10, 50, 100, 200, 500, 1000, 2000, 5000, 10000, 20000],
    },
    "b": {
        "id": "b",
        "label": "Payment B",
        "min": Decimal("100.00"),
        "max": Decimal("50000.00"),
        "quick_amounts": [100, 200, 500, 1000, 2000, 5000, 10000, 25000, 50000],
    },
}

RECHARGE_MIN_AMOUNT = RECHARGE_PAYMENT_METHODS["a"]["min"]
RECHARGE_MAX_AMOUNT = RECHARGE_PAYMENT_METHODS["b"]["max"]
RECHARGE_QUICK_AMOUNTS = sorted(
    {
        amount
        for method in RECHARGE_PAYMENT_METHODS.values()
        for amount in method["quick_amounts"]
    }
)
WELCOME_BONUS_AMOUNT = Decimal("10.00")
WELCOME_ENVELOPE_MIN = Decimal("35.00")
WELCOME_ENVELOPE_MAX = Decimal("40.00")


def get_recharge_payment_method(method_id):
    key = (method_id or "").strip().lower()
    return RECHARGE_PAYMENT_METHODS.get(key)
