#![allow(non_camel_case_types)]
#![allow(non_upper_case_globals)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
#[repr(i32)]
pub enum EPaymentMethod {
    None = 0,
    ActivationCode = 1,
    CreditCard = 2,
    Giropay = 3,
    PayPal = 4,
    Ideal = 5,
    PaySafeCard = 6,
    Sofort = 7,
    GuestPass = 8,
    WebMoney = 9,
    MoneyBookers = 10,
    AliPay = 11,
    Yandex = 12,
    Kiosk = 13,
    Qiwi = 14,
    GameStop = 15,
    HardwarePromo = 16,
    MoPay = 17,
    BoletoBancario = 18,
    BoaCompraGold = 19,
    BancoDoBrasilOnline = 20,
    ItauOnline = 21,
    BradescoOnline = 22,
    Pagseguro = 23,
    VisaBrazil = 24,
    AmexBrazil = 25,
    Aura = 26,
    Hipercard = 27,
    MastercardBrazil = 28,
    DinersCardBrazil = 29,
    AuthorizedDevice = 30,
    MOLPoints = 31,
    ClickAndBuy = 32,
    Beeline = 33,
    Konbini = 34,
    EClubPoints = 35,
    CreditCardJapan = 36,
    BankTransferJapan = 37,
    PayEasy = 38,
    Zong = 39,
    CultureVoucher = 40,
    BookVoucher = 41,
    HappymoneyVoucher = 42,
    ConvenientStoreVoucher = 43,
    GameVoucher = 44,
    Multibanco = 45,
    Payshop = 46,
    MaestroBoaCompra = 47,
    OXXO = 48,
    ToditoCash = 49,
    Carnet = 50,
    SPEI = 51,
    ThreePay = 52,
    IsBank = 53,
    Garanti = 54,
    Akbank = 55,
    YapiKredi = 56,
    Halkbank = 57,
    BankAsya = 58,
    Finansbank = 59,
    DenizBank = 60,
    PTT = 61,
    CashU = 62,
    SantanderRio = 63,
    AutoGrant = 64,
    WebMoneyJapan = 65,
    OneCard = 66,
    PSE = 67,
    Exito = 68,
    Efecty = 69,
    Paloto = 70,
    PinValidda = 71,
    MangirKart = 72,
    BancoCreditoDePeru = 73,
    BBVAContinental = 74,
    SafetyPay = 75,
    PagoEfectivo = 76,
    Trustly = 77,
    UnionPay = 78,
    BitCoin = 79,
    LicensedSite = 80,
    BitCash = 81,
    NetCash = 82,
    Nanaco = 83,
    Tenpay = 84,
    WeChat = 85,
    CashonDelivery = 86,
    CreditCardNodwin = 87,
    DebitCardNodwin = 88,
    NetBankingNodwin = 89,
    CashCardNodwin = 90,
    WalletNodwin = 91,
    MobileDegica = 92,
    Naranja = 93,
    Cencosud = 94,
    Cabal = 95,
    PagoFacil = 96,
    Rapipago = 97,
    BancoNacionaldeCostaRica = 98,
    BancoPoplar = 99,
    RedPagos = 100,
    SPE = 101,
    Multicaja = 102,
    RedCompra = 103,
    ZiraatBank = 104,
    VakiflarBank = 105,
    KuveytTurkBank = 106,
    EkonomiBank = 107,
    Pichincha = 108,
    PichinchaCash = 109,
    Przelewy24 = 110,
    Trustpay = 111,
    POLi = 112,
    MercadoPago = 113,
    PayU = 114,
    VTCPayWallet = 115,
    MrCash = 116,
    EPS = 117,
    Interac = 118,
    VTCPayCards = 119,
    VTCPayOnlineBanking = 120,
    VisaElectronBoaCompra = 121,
    CafeFunded = 122,
    OCA = 123,
    Lider = 124,
    WebMoneySteamCardJapan = 125,
    WebMoneySteamCardTopUpJapan = 126,
    Toss = 127,
    Wallet = 128,
    Valve = 129,
    MasterComp = 130,
    Promotional = 131,
    MasterSubscription = 134,
    Payco = 135,
    MobileWalletJapan = 136,
    BoletoFlash = 137,
    PIX = 138,
    GCash = 139,
    KakaoPay = 140,
    Dana = 141,
    TrueMoney = 142,
    TouchnGo = 143,
    LinePay = 144,
    MerPay = 145,
    PayPay = 146,
    AlfaClick = 147,
    Sberbank = 148,
    YooMoney = 149,
    Tinkoff = 150,
    CashInCIS = 151,
    AuPAY = 152,
    AliPayHK = 153,
    NaverPay = 154,
    Linkaja = 155,
    ShopeePay = 156,
    GrabPay = 157,
    PayNow = 158,
    OnlineBankingThailand = 159,
    CashOptionsThailand = 160,
    OEMTicket = 256,
    Split = 512,
    Complimentary = 1024,
    FamilyGroup = 1025,
}

impl EPaymentMethod {
    pub fn from_i32(val: i32) -> Option<Self> {
        match val {
            x if x == Self::None as i32 => Some(Self::None),
            x if x == Self::ActivationCode as i32 => Some(Self::ActivationCode),
            x if x == Self::CreditCard as i32 => Some(Self::CreditCard),
            x if x == Self::Giropay as i32 => Some(Self::Giropay),
            x if x == Self::PayPal as i32 => Some(Self::PayPal),
            x if x == Self::Ideal as i32 => Some(Self::Ideal),
            x if x == Self::PaySafeCard as i32 => Some(Self::PaySafeCard),
            x if x == Self::Sofort as i32 => Some(Self::Sofort),
            x if x == Self::GuestPass as i32 => Some(Self::GuestPass),
            x if x == Self::WebMoney as i32 => Some(Self::WebMoney),
            x if x == Self::MoneyBookers as i32 => Some(Self::MoneyBookers),
            x if x == Self::AliPay as i32 => Some(Self::AliPay),
            x if x == Self::Yandex as i32 => Some(Self::Yandex),
            x if x == Self::Kiosk as i32 => Some(Self::Kiosk),
            x if x == Self::Qiwi as i32 => Some(Self::Qiwi),
            x if x == Self::GameStop as i32 => Some(Self::GameStop),
            x if x == Self::HardwarePromo as i32 => Some(Self::HardwarePromo),
            x if x == Self::MoPay as i32 => Some(Self::MoPay),
            x if x == Self::BoletoBancario as i32 => Some(Self::BoletoBancario),
            x if x == Self::BoaCompraGold as i32 => Some(Self::BoaCompraGold),
            x if x == Self::BancoDoBrasilOnline as i32 => Some(Self::BancoDoBrasilOnline),
            x if x == Self::ItauOnline as i32 => Some(Self::ItauOnline),
            x if x == Self::BradescoOnline as i32 => Some(Self::BradescoOnline),
            x if x == Self::Pagseguro as i32 => Some(Self::Pagseguro),
            x if x == Self::VisaBrazil as i32 => Some(Self::VisaBrazil),
            x if x == Self::AmexBrazil as i32 => Some(Self::AmexBrazil),
            x if x == Self::Aura as i32 => Some(Self::Aura),
            x if x == Self::Hipercard as i32 => Some(Self::Hipercard),
            x if x == Self::MastercardBrazil as i32 => Some(Self::MastercardBrazil),
            x if x == Self::DinersCardBrazil as i32 => Some(Self::DinersCardBrazil),
            x if x == Self::AuthorizedDevice as i32 => Some(Self::AuthorizedDevice),
            x if x == Self::MOLPoints as i32 => Some(Self::MOLPoints),
            x if x == Self::ClickAndBuy as i32 => Some(Self::ClickAndBuy),
            x if x == Self::Beeline as i32 => Some(Self::Beeline),
            x if x == Self::Konbini as i32 => Some(Self::Konbini),
            x if x == Self::EClubPoints as i32 => Some(Self::EClubPoints),
            x if x == Self::CreditCardJapan as i32 => Some(Self::CreditCardJapan),
            x if x == Self::BankTransferJapan as i32 => Some(Self::BankTransferJapan),
            x if x == Self::PayEasy as i32 => Some(Self::PayEasy),
            x if x == Self::Zong as i32 => Some(Self::Zong),
            x if x == Self::CultureVoucher as i32 => Some(Self::CultureVoucher),
            x if x == Self::BookVoucher as i32 => Some(Self::BookVoucher),
            x if x == Self::HappymoneyVoucher as i32 => Some(Self::HappymoneyVoucher),
            x if x == Self::ConvenientStoreVoucher as i32 => Some(Self::ConvenientStoreVoucher),
            x if x == Self::GameVoucher as i32 => Some(Self::GameVoucher),
            x if x == Self::Multibanco as i32 => Some(Self::Multibanco),
            x if x == Self::Payshop as i32 => Some(Self::Payshop),
            x if x == Self::MaestroBoaCompra as i32 => Some(Self::MaestroBoaCompra),
            x if x == Self::OXXO as i32 => Some(Self::OXXO),
            x if x == Self::ToditoCash as i32 => Some(Self::ToditoCash),
            x if x == Self::Carnet as i32 => Some(Self::Carnet),
            x if x == Self::SPEI as i32 => Some(Self::SPEI),
            x if x == Self::ThreePay as i32 => Some(Self::ThreePay),
            x if x == Self::IsBank as i32 => Some(Self::IsBank),
            x if x == Self::Garanti as i32 => Some(Self::Garanti),
            x if x == Self::Akbank as i32 => Some(Self::Akbank),
            x if x == Self::YapiKredi as i32 => Some(Self::YapiKredi),
            x if x == Self::Halkbank as i32 => Some(Self::Halkbank),
            x if x == Self::BankAsya as i32 => Some(Self::BankAsya),
            x if x == Self::Finansbank as i32 => Some(Self::Finansbank),
            x if x == Self::DenizBank as i32 => Some(Self::DenizBank),
            x if x == Self::PTT as i32 => Some(Self::PTT),
            x if x == Self::CashU as i32 => Some(Self::CashU),
            x if x == Self::SantanderRio as i32 => Some(Self::SantanderRio),
            x if x == Self::AutoGrant as i32 => Some(Self::AutoGrant),
            x if x == Self::WebMoneyJapan as i32 => Some(Self::WebMoneyJapan),
            x if x == Self::OneCard as i32 => Some(Self::OneCard),
            x if x == Self::PSE as i32 => Some(Self::PSE),
            x if x == Self::Exito as i32 => Some(Self::Exito),
            x if x == Self::Efecty as i32 => Some(Self::Efecty),
            x if x == Self::Paloto as i32 => Some(Self::Paloto),
            x if x == Self::PinValidda as i32 => Some(Self::PinValidda),
            x if x == Self::MangirKart as i32 => Some(Self::MangirKart),
            x if x == Self::BancoCreditoDePeru as i32 => Some(Self::BancoCreditoDePeru),
            x if x == Self::BBVAContinental as i32 => Some(Self::BBVAContinental),
            x if x == Self::SafetyPay as i32 => Some(Self::SafetyPay),
            x if x == Self::PagoEfectivo as i32 => Some(Self::PagoEfectivo),
            x if x == Self::Trustly as i32 => Some(Self::Trustly),
            x if x == Self::UnionPay as i32 => Some(Self::UnionPay),
            x if x == Self::BitCoin as i32 => Some(Self::BitCoin),
            x if x == Self::LicensedSite as i32 => Some(Self::LicensedSite),
            x if x == Self::BitCash as i32 => Some(Self::BitCash),
            x if x == Self::NetCash as i32 => Some(Self::NetCash),
            x if x == Self::Nanaco as i32 => Some(Self::Nanaco),
            x if x == Self::Tenpay as i32 => Some(Self::Tenpay),
            x if x == Self::WeChat as i32 => Some(Self::WeChat),
            x if x == Self::CashonDelivery as i32 => Some(Self::CashonDelivery),
            x if x == Self::CreditCardNodwin as i32 => Some(Self::CreditCardNodwin),
            x if x == Self::DebitCardNodwin as i32 => Some(Self::DebitCardNodwin),
            x if x == Self::NetBankingNodwin as i32 => Some(Self::NetBankingNodwin),
            x if x == Self::CashCardNodwin as i32 => Some(Self::CashCardNodwin),
            x if x == Self::WalletNodwin as i32 => Some(Self::WalletNodwin),
            x if x == Self::MobileDegica as i32 => Some(Self::MobileDegica),
            x if x == Self::Naranja as i32 => Some(Self::Naranja),
            x if x == Self::Cencosud as i32 => Some(Self::Cencosud),
            x if x == Self::Cabal as i32 => Some(Self::Cabal),
            x if x == Self::PagoFacil as i32 => Some(Self::PagoFacil),
            x if x == Self::Rapipago as i32 => Some(Self::Rapipago),
            x if x == Self::BancoNacionaldeCostaRica as i32 => Some(Self::BancoNacionaldeCostaRica),
            x if x == Self::BancoPoplar as i32 => Some(Self::BancoPoplar),
            x if x == Self::RedPagos as i32 => Some(Self::RedPagos),
            x if x == Self::SPE as i32 => Some(Self::SPE),
            x if x == Self::Multicaja as i32 => Some(Self::Multicaja),
            x if x == Self::RedCompra as i32 => Some(Self::RedCompra),
            x if x == Self::ZiraatBank as i32 => Some(Self::ZiraatBank),
            x if x == Self::VakiflarBank as i32 => Some(Self::VakiflarBank),
            x if x == Self::KuveytTurkBank as i32 => Some(Self::KuveytTurkBank),
            x if x == Self::EkonomiBank as i32 => Some(Self::EkonomiBank),
            x if x == Self::Pichincha as i32 => Some(Self::Pichincha),
            x if x == Self::PichinchaCash as i32 => Some(Self::PichinchaCash),
            x if x == Self::Przelewy24 as i32 => Some(Self::Przelewy24),
            x if x == Self::Trustpay as i32 => Some(Self::Trustpay),
            x if x == Self::POLi as i32 => Some(Self::POLi),
            x if x == Self::MercadoPago as i32 => Some(Self::MercadoPago),
            x if x == Self::PayU as i32 => Some(Self::PayU),
            x if x == Self::VTCPayWallet as i32 => Some(Self::VTCPayWallet),
            x if x == Self::MrCash as i32 => Some(Self::MrCash),
            x if x == Self::EPS as i32 => Some(Self::EPS),
            x if x == Self::Interac as i32 => Some(Self::Interac),
            x if x == Self::VTCPayCards as i32 => Some(Self::VTCPayCards),
            x if x == Self::VTCPayOnlineBanking as i32 => Some(Self::VTCPayOnlineBanking),
            x if x == Self::VisaElectronBoaCompra as i32 => Some(Self::VisaElectronBoaCompra),
            x if x == Self::CafeFunded as i32 => Some(Self::CafeFunded),
            x if x == Self::OCA as i32 => Some(Self::OCA),
            x if x == Self::Lider as i32 => Some(Self::Lider),
            x if x == Self::WebMoneySteamCardJapan as i32 => Some(Self::WebMoneySteamCardJapan),
            x if x == Self::WebMoneySteamCardTopUpJapan as i32 => Some(Self::WebMoneySteamCardTopUpJapan),
            x if x == Self::Toss as i32 => Some(Self::Toss),
            x if x == Self::Wallet as i32 => Some(Self::Wallet),
            x if x == Self::Valve as i32 => Some(Self::Valve),
            x if x == Self::MasterComp as i32 => Some(Self::MasterComp),
            x if x == Self::Promotional as i32 => Some(Self::Promotional),
            x if x == Self::MasterSubscription as i32 => Some(Self::MasterSubscription),
            x if x == Self::Payco as i32 => Some(Self::Payco),
            x if x == Self::MobileWalletJapan as i32 => Some(Self::MobileWalletJapan),
            x if x == Self::BoletoFlash as i32 => Some(Self::BoletoFlash),
            x if x == Self::PIX as i32 => Some(Self::PIX),
            x if x == Self::GCash as i32 => Some(Self::GCash),
            x if x == Self::KakaoPay as i32 => Some(Self::KakaoPay),
            x if x == Self::Dana as i32 => Some(Self::Dana),
            x if x == Self::TrueMoney as i32 => Some(Self::TrueMoney),
            x if x == Self::TouchnGo as i32 => Some(Self::TouchnGo),
            x if x == Self::LinePay as i32 => Some(Self::LinePay),
            x if x == Self::MerPay as i32 => Some(Self::MerPay),
            x if x == Self::PayPay as i32 => Some(Self::PayPay),
            x if x == Self::AlfaClick as i32 => Some(Self::AlfaClick),
            x if x == Self::Sberbank as i32 => Some(Self::Sberbank),
            x if x == Self::YooMoney as i32 => Some(Self::YooMoney),
            x if x == Self::Tinkoff as i32 => Some(Self::Tinkoff),
            x if x == Self::CashInCIS as i32 => Some(Self::CashInCIS),
            x if x == Self::AuPAY as i32 => Some(Self::AuPAY),
            x if x == Self::AliPayHK as i32 => Some(Self::AliPayHK),
            x if x == Self::NaverPay as i32 => Some(Self::NaverPay),
            x if x == Self::Linkaja as i32 => Some(Self::Linkaja),
            x if x == Self::ShopeePay as i32 => Some(Self::ShopeePay),
            x if x == Self::GrabPay as i32 => Some(Self::GrabPay),
            x if x == Self::PayNow as i32 => Some(Self::PayNow),
            x if x == Self::OnlineBankingThailand as i32 => Some(Self::OnlineBankingThailand),
            x if x == Self::CashOptionsThailand as i32 => Some(Self::CashOptionsThailand),
            x if x == Self::OEMTicket as i32 => Some(Self::OEMTicket),
            x if x == Self::Split as i32 => Some(Self::Split),
            x if x == Self::Complimentary as i32 => Some(Self::Complimentary),
            x if x == Self::FamilyGroup as i32 => Some(Self::FamilyGroup),
            _ => None,
        }
    }
}
