# coding: utf-8

"""
    PAY.JP API v2

    No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)

    The version of the OpenAPI document: 2.0.0
    Contact: support@pay.jp
    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 StatementSubject(str, Enum):
    """
    StatementItemの科目  分類の増減は会計・経理の目線で行われる。 経理上取り扱いが違う数字は別のsubjectになる、もしくはその他の情報を組み合わせて区別できる必要がある。
    """

    """
    allowed enum values
    """
    GROSS_SALES = 'gross_sales'
    FEE = 'fee'
    PLATFORM_FEE = 'platform_fee'
    GROSS_REFUND = 'gross_refund'
    REFUND_FEE_OFFSET = 'refund_fee_offset'
    REFUND_PLATFORM_FEE_OFFSET = 'refund_platform_fee_offset'
    CHARGEBACK = 'chargeback'
    CHARGEBACK_FEE_OFFSET = 'chargeback_fee_offset'
    CHARGEBACK_PLATFORM_FEE_OFFSET = 'chargeback_platform_fee_offset'
    PROPLAN = 'proplan'
    PLAN_FEE = 'plan_fee'
    FORFEIT = 'forfeit'
    REALLOCATION = 'reallocation'
    YELL_BANK_COLLECTION = 'yell_bank_collection'
    PYB_EARLY_DEPOSIT_SERVICE_FEE = 'pyb_early_deposit_service_fee'
    TRANSFER_FEE = 'transfer_fee'
    OTHER = 'other'

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


