# coding: utf-8

"""
    FlexPrice API

    FlexPrice API Service

    The version of the OpenAPI document: 1.0
    Generated by OpenAPI Generator (https://openapi-generator.tech)

    Do not edit the class manually.
"""  # noqa: E501


from __future__ import annotations
import json
from enum import Enum
from typing_extensions import Self


class TypesTransactionReason(str, Enum):
    """
    TypesTransactionReason
    """

    """
    allowed enum values
    """
    INVOICE_PAYMENT = 'INVOICE_PAYMENT'
    FREE_CREDIT_GRANT = 'FREE_CREDIT_GRANT'
    SUBSCRIPTION_CREDIT_GRANT = 'SUBSCRIPTION_CREDIT_GRANT'
    PURCHASED_CREDIT_INVOICED = 'PURCHASED_CREDIT_INVOICED'
    PURCHASED_CREDIT_DIRECT = 'PURCHASED_CREDIT_DIRECT'
    INVOICE_REFUND = 'INVOICE_REFUND'
    CREDIT_EXPIRED = 'CREDIT_EXPIRED'
    WALLET_TERMINATION = 'WALLET_TERMINATION'

    @classmethod
    def from_json(cls, json_str: str) -> Self:
        """Create an instance of TypesTransactionReason from a JSON string"""
        return cls(json.loads(json_str))


