use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum ErrorCode {
  AlreadyProcessedPayment,
  ProviderError,
  ExceedMaxCardInstallmentPlan,
  InvalidRequest,
  NotAllowedPointUse,
  InvalidApiKey,
  InvalidRejectCard,
  BelowMinimumAmount,
  InvalidCardExpiration,
  InvalidStoppedCard,
  ExceedMaxDailyPaymentCount,
  NotSupportedInstallmentPlanCardOrMerchant,
  InvalidCardInstallmentPlan,
  NotSupportedMonthlyInstallmentPlan,
  ExceedMaxPaymentAmount,
  NotFoundTerminalId,
  InvalidAuthorizeAuth,
  InvalidCardLostOrStolen,
  RestrictedTransferAccount,
  InvalidCardNumber,
  InvalidRegisteredSubmall,
  NotRegisteredBusiness,
  ExceedMaxOneDayWithdrawAmount,
  ExceedMaxOneTimeWithdrawAmount,
  CardProcessingError,
  ExceedMaxAmount,
  InvalidAccountInfoReRegister,
  NotAvailablePayment,
  UnapprovedOrderId,
  UnauthorizedKey,
  RejectAccountPayment,
  RejectCardPayment,
  RejectCardCompany,
  ForbiddenRequest,
  RejectTosspayInvalidAccount,
  ExceedMaxAuthCount,
  ExceedMaxOneDayAmount,
  NotAvailableBank,
  InvalidPassword,
  IncorrectBasicAuthFormat,
  FdsError,
  NotFound,
  NotFoundBilling,
  NotFoundPayment,
  NotFoundPaymentSession,
  FailedPaymentInternalSystemProcessing,
  FailedInternalSystemProcessing,
  UnknownPaymentError,
  AlreadyCanceledPayment,
  InvalidRefundAccountInfo,
  ExceedCancelAmountDiscountAmount,
  InvalidRefundAccountNumber,
  InvalidBank,
  NotMatchesRefundableAmount,
  RefundRejected,
  AlreadyRefundPayment,
  NotCancelableAmount,
  ForbiddenConsecutiveRequest,
  NotCancelablePayment,
  ExceedMaxRefundDue,
  NotAllowedPartialRefundWaitingDeposit,
  NotAllowedPartialRefund,
  NotCancelablePaymentForDormantUser,
  FailedRefundProcess,
  FailedMethodHandlingCancel,
  FailedPartialRefund,
  CommonError,
  NotSupportedCardType,
  InvalidCardPassword,
  InvalidCardIdentity,
  InvalidBirthDayFormat,
  NotRegisteredCardCompany,
  InvalidEmail,
  NotSupportedMethod,
  InvalidBillKeyRequest,
  DuplicatedOrderId,
  NotMatchesCustomerKey,
  FailedDbProcessing,
  FailedCardCompanyResponse,
  IdempotentRequestProcessing,
}