# coding: utf-8

"""
    elepay API リファレンス

    elepay APIはRESTをベースに構成された決済APIです。支払い処理、返金処理など、決済に関わる運用における様々なことができます。  # noqa: E501

    The version of the OpenAPI document: 1.2.0
    Contact: support@elestyle.jp
    Generated by: https://openapi-generator.tech
"""

from datetime import date, datetime  # noqa: F401
import decimal  # noqa: F401
import functools  # noqa: F401
import io  # noqa: F401
import re  # noqa: F401
import typing  # noqa: F401
import typing_extensions  # noqa: F401
import uuid  # noqa: F401

import frozendict  # noqa: F401

from elepay import schemas  # noqa: F401


class PaymentMethodType(
    schemas.EnumBase,
    schemas.StrSchema
):
    """NOTE: This class is auto generated by OpenAPI Generator.
    Ref: https://openapi-generator.tech

    Do not edit the class manually.

    決済方法
- auto 自動識別(CPM決済のみ利用可能)
- alipay アリペイ
- alipayhk アリペイHK
- alipayplus Alipay+
- amazonpay Amazon Pay
- applepay Apple Pay
- applepay_cn Apple Pay(中国)
- atone atone(コンビニで翌月払い)
- aupay au Pay
- creditcard クレジットカード
- dana DANA
- docomopay d払い
- ezlink EZ-Link
- felica_id iD
- felica_quickpay QUICPay
- felica_transport_ic 交通系ICカード
- gcash GCash
- ginkopay 銀行Pay
- googlepay Google Pay
- jcoinpay J-Coin Pay
- jkopay JKOPAY
- kakaopay Kakao Pay
- linepay LINE Pay
- merpay メルペイ
- origamipay Origami Pay
- paidy Paidy 翌月払い
- paypal PayPal
- paypay PayPay
- rakutenpay 楽天ペイ
- tng Touch 'n Go eWallet
- truemoney TrueMoney
- unionpay 雲閃付
- wechatpay Wechat Pay

    """


    class MetaOapg:
        enum_value_to_name = {
            "alipay": "ALIPAY",
            "alipayhk": "ALIPAYHK",
            "alipayplus": "ALIPAYPLUS",
            "amazonpay": "AMAZONPAY",
            "applepay": "APPLEPAY",
            "applepay_cn": "APPLEPAY_CN",
            "atone": "ATONE",
            "aupay": "AUPAY",
            "creditcard": "CREDITCARD",
            "dana": "DANA",
            "docomopay": "DOCOMOPAY",
            "ezlink": "EZLINK",
            "felica_id": "FELICA_ID",
            "felica_quickpay": "FELICA_QUICKPAY",
            "felica_transport_ic": "FELICA_TRANSPORT_IC",
            "gcash": "GCASH",
            "ginkopay": "GINKOPAY",
            "googlepay": "GOOGLEPAY",
            "jcoinpay": "JCOINPAY",
            "jkopay": "JKOPAY",
            "kakaopay": "KAKAOPAY",
            "linepay": "LINEPAY",
            "merpay": "MERPAY",
            "origamipay": "ORIGAMIPAY",
            "paidy": "PAIDY",
            "paypal": "PAYPAL",
            "paypay": "PAYPAY",
            "rakutenpay": "RAKUTENPAY",
            "tng": "TNG",
            "truemoney": "TRUEMONEY",
            "unionpay": "UNIONPAY",
            "wechatpay": "WECHATPAY",
            "auto": "AUTO",
        }
    
    @schemas.classproperty
    def ALIPAY(cls):
        return cls("alipay")
    
    @schemas.classproperty
    def ALIPAYHK(cls):
        return cls("alipayhk")
    
    @schemas.classproperty
    def ALIPAYPLUS(cls):
        return cls("alipayplus")
    
    @schemas.classproperty
    def AMAZONPAY(cls):
        return cls("amazonpay")
    
    @schemas.classproperty
    def APPLEPAY(cls):
        return cls("applepay")
    
    @schemas.classproperty
    def APPLEPAY_CN(cls):
        return cls("applepay_cn")
    
    @schemas.classproperty
    def ATONE(cls):
        return cls("atone")
    
    @schemas.classproperty
    def AUPAY(cls):
        return cls("aupay")
    
    @schemas.classproperty
    def CREDITCARD(cls):
        return cls("creditcard")
    
    @schemas.classproperty
    def DANA(cls):
        return cls("dana")
    
    @schemas.classproperty
    def DOCOMOPAY(cls):
        return cls("docomopay")
    
    @schemas.classproperty
    def EZLINK(cls):
        return cls("ezlink")
    
    @schemas.classproperty
    def FELICA_ID(cls):
        return cls("felica_id")
    
    @schemas.classproperty
    def FELICA_QUICKPAY(cls):
        return cls("felica_quickpay")
    
    @schemas.classproperty
    def FELICA_TRANSPORT_IC(cls):
        return cls("felica_transport_ic")
    
    @schemas.classproperty
    def GCASH(cls):
        return cls("gcash")
    
    @schemas.classproperty
    def GINKOPAY(cls):
        return cls("ginkopay")
    
    @schemas.classproperty
    def GOOGLEPAY(cls):
        return cls("googlepay")
    
    @schemas.classproperty
    def JCOINPAY(cls):
        return cls("jcoinpay")
    
    @schemas.classproperty
    def JKOPAY(cls):
        return cls("jkopay")
    
    @schemas.classproperty
    def KAKAOPAY(cls):
        return cls("kakaopay")
    
    @schemas.classproperty
    def LINEPAY(cls):
        return cls("linepay")
    
    @schemas.classproperty
    def MERPAY(cls):
        return cls("merpay")
    
    @schemas.classproperty
    def ORIGAMIPAY(cls):
        return cls("origamipay")
    
    @schemas.classproperty
    def PAIDY(cls):
        return cls("paidy")
    
    @schemas.classproperty
    def PAYPAL(cls):
        return cls("paypal")
    
    @schemas.classproperty
    def PAYPAY(cls):
        return cls("paypay")
    
    @schemas.classproperty
    def RAKUTENPAY(cls):
        return cls("rakutenpay")
    
    @schemas.classproperty
    def TNG(cls):
        return cls("tng")
    
    @schemas.classproperty
    def TRUEMONEY(cls):
        return cls("truemoney")
    
    @schemas.classproperty
    def UNIONPAY(cls):
        return cls("unionpay")
    
    @schemas.classproperty
    def WECHATPAY(cls):
        return cls("wechatpay")
    
    @schemas.classproperty
    def AUTO(cls):
        return cls("auto")
