{-# LANGUAGE MultiWayIf #-}
-- CHANGE WITH CAUTION: This is a generated code file generated by https://github.com/Haskell-OpenAPI-Code-Generator/Haskell-OpenAPI-Client-Code-Generator.
{-# LANGUAGE OverloadedStrings #-}

-- | Contains the types generated from the schema ErrorMayHaveTransaction
module RecurlyClient.Types.ErrorMayHaveTransaction where

import qualified Control.Monad.Fail
import qualified Data.Aeson
import qualified Data.Aeson as Data.Aeson.Encoding.Internal
import qualified Data.Aeson as Data.Aeson.Types
import qualified Data.Aeson as Data.Aeson.Types.FromJSON
import qualified Data.Aeson as Data.Aeson.Types.Internal
import qualified Data.Aeson as Data.Aeson.Types.ToJSON
import qualified Data.ByteString
import qualified Data.ByteString as Data.ByteString.Internal
import qualified Data.Foldable
import qualified Data.Functor
import qualified Data.Maybe
import qualified Data.Scientific
import qualified Data.Text
import qualified Data.Text as Data.Text.Internal
import qualified Data.Time.Calendar as Data.Time.Calendar.Days
import qualified Data.Time.LocalTime as Data.Time.LocalTime.Internal.ZonedTime
import qualified GHC.Base
import qualified GHC.Classes
import qualified GHC.Int
import qualified GHC.Show
import qualified GHC.Types
import qualified RecurlyClient.Common
import RecurlyClient.TypeAlias
import {-# SOURCE #-} RecurlyClient.Types.Error
import {-# SOURCE #-} RecurlyClient.Types.TransactionFraudInfo
import qualified Prelude as GHC.Integer.Type
import qualified Prelude as GHC.Maybe

-- | Defines the object schema located at @components.schemas.ErrorMayHaveTransaction.allOf@ in the specification.
data ErrorMayHaveTransaction = ErrorMayHaveTransaction
    { ErrorMayHaveTransaction -> Maybe Text
errorMayHaveTransactionMessage :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
    -- ^ message
    , ErrorMayHaveTransaction -> Maybe [ErrorMayHaveTransactionParams]
errorMayHaveTransactionParams :: (GHC.Maybe.Maybe [ErrorMayHaveTransactionParams])
    -- ^ params
    , ErrorMayHaveTransaction
-> Maybe ErrorMayHaveTransactionTransaction_error
errorMayHaveTransactionTransaction_error :: (GHC.Maybe.Maybe ErrorMayHaveTransactionTransaction_error)
    -- ^ transaction_error: This is only included on errors with \`type=transaction\`.
    , ErrorMayHaveTransaction -> Maybe ErrorMayHaveTransactionType
errorMayHaveTransactionType :: (GHC.Maybe.Maybe ErrorMayHaveTransactionType)
    -- ^ type
    }
    deriving
        ( Int -> ErrorMayHaveTransaction -> ShowS
[ErrorMayHaveTransaction] -> ShowS
ErrorMayHaveTransaction -> String
(Int -> ErrorMayHaveTransaction -> ShowS)
-> (ErrorMayHaveTransaction -> String)
-> ([ErrorMayHaveTransaction] -> ShowS)
-> Show ErrorMayHaveTransaction
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ErrorMayHaveTransaction -> ShowS
showsPrec :: Int -> ErrorMayHaveTransaction -> ShowS
$cshow :: ErrorMayHaveTransaction -> String
show :: ErrorMayHaveTransaction -> String
$cshowList :: [ErrorMayHaveTransaction] -> ShowS
showList :: [ErrorMayHaveTransaction] -> ShowS
GHC.Show.Show
        , ErrorMayHaveTransaction -> ErrorMayHaveTransaction -> Bool
(ErrorMayHaveTransaction -> ErrorMayHaveTransaction -> Bool)
-> (ErrorMayHaveTransaction -> ErrorMayHaveTransaction -> Bool)
-> Eq ErrorMayHaveTransaction
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ErrorMayHaveTransaction -> ErrorMayHaveTransaction -> Bool
== :: ErrorMayHaveTransaction -> ErrorMayHaveTransaction -> Bool
$c/= :: ErrorMayHaveTransaction -> ErrorMayHaveTransaction -> Bool
/= :: ErrorMayHaveTransaction -> ErrorMayHaveTransaction -> Bool
GHC.Classes.Eq
        )

instance Data.Aeson.Types.ToJSON.ToJSON ErrorMayHaveTransaction where
    toJSON :: ErrorMayHaveTransaction -> Value
toJSON ErrorMayHaveTransaction
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object ([[Pair]] -> [Pair]
forall (t :: * -> *) a. Foldable t => t [a] -> [a]
Data.Foldable.concat ([Pair] -> (Text -> [Pair]) -> Maybe Text -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair]) -> (Text -> Pair) -> Text -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"message" Key -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (ErrorMayHaveTransaction -> Maybe Text
errorMayHaveTransactionMessage ErrorMayHaveTransaction
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair]
-> ([ErrorMayHaveTransactionParams] -> [Pair])
-> Maybe [ErrorMayHaveTransactionParams]
-> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair])
-> ([ErrorMayHaveTransactionParams] -> Pair)
-> [ErrorMayHaveTransactionParams]
-> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"params" Key -> [ErrorMayHaveTransactionParams] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (ErrorMayHaveTransaction -> Maybe [ErrorMayHaveTransactionParams]
errorMayHaveTransactionParams ErrorMayHaveTransaction
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair]
-> (ErrorMayHaveTransactionTransaction_error -> [Pair])
-> Maybe ErrorMayHaveTransactionTransaction_error
-> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair])
-> (ErrorMayHaveTransactionTransaction_error -> Pair)
-> ErrorMayHaveTransactionTransaction_error
-> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"transaction_error" Key -> ErrorMayHaveTransactionTransaction_error -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (ErrorMayHaveTransaction
-> Maybe ErrorMayHaveTransactionTransaction_error
errorMayHaveTransactionTransaction_error ErrorMayHaveTransaction
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair]
-> (ErrorMayHaveTransactionType -> [Pair])
-> Maybe ErrorMayHaveTransactionType
-> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair])
-> (ErrorMayHaveTransactionType -> Pair)
-> ErrorMayHaveTransactionType
-> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"type" Key -> ErrorMayHaveTransactionType -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (ErrorMayHaveTransaction -> Maybe ErrorMayHaveTransactionType
errorMayHaveTransactionType ErrorMayHaveTransaction
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [[Pair]]
forall a. Monoid a => a
GHC.Base.mempty))
    toEncoding :: ErrorMayHaveTransaction -> Encoding
toEncoding ErrorMayHaveTransaction
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ([Series] -> Series
forall a. Monoid a => [a] -> a
GHC.Base.mconcat ([[Series]] -> [Series]
forall (t :: * -> *) a. Foldable t => t [a] -> [a]
Data.Foldable.concat ([Series] -> (Text -> [Series]) -> Maybe Text -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series]) -> (Text -> Series) -> Text -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"message" Key -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (ErrorMayHaveTransaction -> Maybe Text
errorMayHaveTransactionMessage ErrorMayHaveTransaction
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series]
-> ([ErrorMayHaveTransactionParams] -> [Series])
-> Maybe [ErrorMayHaveTransactionParams]
-> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series])
-> ([ErrorMayHaveTransactionParams] -> Series)
-> [ErrorMayHaveTransactionParams]
-> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"params" Key -> [ErrorMayHaveTransactionParams] -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (ErrorMayHaveTransaction -> Maybe [ErrorMayHaveTransactionParams]
errorMayHaveTransactionParams ErrorMayHaveTransaction
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series]
-> (ErrorMayHaveTransactionTransaction_error -> [Series])
-> Maybe ErrorMayHaveTransactionTransaction_error
-> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series])
-> (ErrorMayHaveTransactionTransaction_error -> Series)
-> ErrorMayHaveTransactionTransaction_error
-> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"transaction_error" Key -> ErrorMayHaveTransactionTransaction_error -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (ErrorMayHaveTransaction
-> Maybe ErrorMayHaveTransactionTransaction_error
errorMayHaveTransactionTransaction_error ErrorMayHaveTransaction
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series]
-> (ErrorMayHaveTransactionType -> [Series])
-> Maybe ErrorMayHaveTransactionType
-> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series])
-> (ErrorMayHaveTransactionType -> Series)
-> ErrorMayHaveTransactionType
-> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"type" Key -> ErrorMayHaveTransactionType -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (ErrorMayHaveTransaction -> Maybe ErrorMayHaveTransactionType
errorMayHaveTransactionType ErrorMayHaveTransaction
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [[Series]]
forall a. Monoid a => a
GHC.Base.mempty)))
instance Data.Aeson.Types.FromJSON.FromJSON ErrorMayHaveTransaction where
    parseJSON :: Value -> Parser ErrorMayHaveTransaction
parseJSON = String
-> (Object -> Parser ErrorMayHaveTransaction)
-> Value
-> Parser ErrorMayHaveTransaction
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"ErrorMayHaveTransaction" (\Object
obj -> ((((Maybe Text
 -> Maybe [ErrorMayHaveTransactionParams]
 -> Maybe ErrorMayHaveTransactionTransaction_error
 -> Maybe ErrorMayHaveTransactionType
 -> ErrorMayHaveTransaction)
-> Parser
     (Maybe Text
      -> Maybe [ErrorMayHaveTransactionParams]
      -> Maybe ErrorMayHaveTransactionTransaction_error
      -> Maybe ErrorMayHaveTransactionType
      -> ErrorMayHaveTransaction)
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Text
-> Maybe [ErrorMayHaveTransactionParams]
-> Maybe ErrorMayHaveTransactionTransaction_error
-> Maybe ErrorMayHaveTransactionType
-> ErrorMayHaveTransaction
ErrorMayHaveTransaction Parser
  (Maybe Text
   -> Maybe [ErrorMayHaveTransactionParams]
   -> Maybe ErrorMayHaveTransactionTransaction_error
   -> Maybe ErrorMayHaveTransactionType
   -> ErrorMayHaveTransaction)
-> Parser (Maybe Text)
-> Parser
     (Maybe [ErrorMayHaveTransactionParams]
      -> Maybe ErrorMayHaveTransactionTransaction_error
      -> Maybe ErrorMayHaveTransactionType
      -> ErrorMayHaveTransaction)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"message")) Parser
  (Maybe [ErrorMayHaveTransactionParams]
   -> Maybe ErrorMayHaveTransactionTransaction_error
   -> Maybe ErrorMayHaveTransactionType
   -> ErrorMayHaveTransaction)
-> Parser (Maybe [ErrorMayHaveTransactionParams])
-> Parser
     (Maybe ErrorMayHaveTransactionTransaction_error
      -> Maybe ErrorMayHaveTransactionType -> ErrorMayHaveTransaction)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe [ErrorMayHaveTransactionParams])
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"params")) Parser
  (Maybe ErrorMayHaveTransactionTransaction_error
   -> Maybe ErrorMayHaveTransactionType -> ErrorMayHaveTransaction)
-> Parser (Maybe ErrorMayHaveTransactionTransaction_error)
-> Parser
     (Maybe ErrorMayHaveTransactionType -> ErrorMayHaveTransaction)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Key -> Parser (Maybe ErrorMayHaveTransactionTransaction_error)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"transaction_error")) Parser
  (Maybe ErrorMayHaveTransactionType -> ErrorMayHaveTransaction)
-> Parser (Maybe ErrorMayHaveTransactionType)
-> Parser ErrorMayHaveTransaction
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe ErrorMayHaveTransactionType)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"type"))

-- | Create a new 'ErrorMayHaveTransaction' with all required fields.
mkErrorMayHaveTransaction :: ErrorMayHaveTransaction
mkErrorMayHaveTransaction :: ErrorMayHaveTransaction
mkErrorMayHaveTransaction =
    ErrorMayHaveTransaction
        { errorMayHaveTransactionMessage :: Maybe Text
errorMayHaveTransactionMessage = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
        , errorMayHaveTransactionParams :: Maybe [ErrorMayHaveTransactionParams]
errorMayHaveTransactionParams = Maybe [ErrorMayHaveTransactionParams]
forall a. Maybe a
GHC.Maybe.Nothing
        , errorMayHaveTransactionTransaction_error :: Maybe ErrorMayHaveTransactionTransaction_error
errorMayHaveTransactionTransaction_error = Maybe ErrorMayHaveTransactionTransaction_error
forall a. Maybe a
GHC.Maybe.Nothing
        , errorMayHaveTransactionType :: Maybe ErrorMayHaveTransactionType
errorMayHaveTransactionType = Maybe ErrorMayHaveTransactionType
forall a. Maybe a
GHC.Maybe.Nothing
        }

-- | Defines the object schema located at @components.schemas.ErrorMayHaveTransaction.allOf.properties.params.items@ in the specification.
data ErrorMayHaveTransactionParams = ErrorMayHaveTransactionParams
    { ErrorMayHaveTransactionParams -> Maybe Text
errorMayHaveTransactionParamsParam :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
    -- ^ param
    }
    deriving
        ( Int -> ErrorMayHaveTransactionParams -> ShowS
[ErrorMayHaveTransactionParams] -> ShowS
ErrorMayHaveTransactionParams -> String
(Int -> ErrorMayHaveTransactionParams -> ShowS)
-> (ErrorMayHaveTransactionParams -> String)
-> ([ErrorMayHaveTransactionParams] -> ShowS)
-> Show ErrorMayHaveTransactionParams
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ErrorMayHaveTransactionParams -> ShowS
showsPrec :: Int -> ErrorMayHaveTransactionParams -> ShowS
$cshow :: ErrorMayHaveTransactionParams -> String
show :: ErrorMayHaveTransactionParams -> String
$cshowList :: [ErrorMayHaveTransactionParams] -> ShowS
showList :: [ErrorMayHaveTransactionParams] -> ShowS
GHC.Show.Show
        , ErrorMayHaveTransactionParams
-> ErrorMayHaveTransactionParams -> Bool
(ErrorMayHaveTransactionParams
 -> ErrorMayHaveTransactionParams -> Bool)
-> (ErrorMayHaveTransactionParams
    -> ErrorMayHaveTransactionParams -> Bool)
-> Eq ErrorMayHaveTransactionParams
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ErrorMayHaveTransactionParams
-> ErrorMayHaveTransactionParams -> Bool
== :: ErrorMayHaveTransactionParams
-> ErrorMayHaveTransactionParams -> Bool
$c/= :: ErrorMayHaveTransactionParams
-> ErrorMayHaveTransactionParams -> Bool
/= :: ErrorMayHaveTransactionParams
-> ErrorMayHaveTransactionParams -> Bool
GHC.Classes.Eq
        )

instance Data.Aeson.Types.ToJSON.ToJSON ErrorMayHaveTransactionParams where
    toJSON :: ErrorMayHaveTransactionParams -> Value
toJSON ErrorMayHaveTransactionParams
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object ([[Pair]] -> [Pair]
forall (t :: * -> *) a. Foldable t => t [a] -> [a]
Data.Foldable.concat ([Pair] -> (Text -> [Pair]) -> Maybe Text -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair]) -> (Text -> Pair) -> Text -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"param" Key -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (ErrorMayHaveTransactionParams -> Maybe Text
errorMayHaveTransactionParamsParam ErrorMayHaveTransactionParams
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [[Pair]]
forall a. Monoid a => a
GHC.Base.mempty))
    toEncoding :: ErrorMayHaveTransactionParams -> Encoding
toEncoding ErrorMayHaveTransactionParams
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ([Series] -> Series
forall a. Monoid a => [a] -> a
GHC.Base.mconcat ([[Series]] -> [Series]
forall (t :: * -> *) a. Foldable t => t [a] -> [a]
Data.Foldable.concat ([Series] -> (Text -> [Series]) -> Maybe Text -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series]) -> (Text -> Series) -> Text -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"param" Key -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (ErrorMayHaveTransactionParams -> Maybe Text
errorMayHaveTransactionParamsParam ErrorMayHaveTransactionParams
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [[Series]]
forall a. Monoid a => a
GHC.Base.mempty)))
instance Data.Aeson.Types.FromJSON.FromJSON ErrorMayHaveTransactionParams where
    parseJSON :: Value -> Parser ErrorMayHaveTransactionParams
parseJSON = String
-> (Object -> Parser ErrorMayHaveTransactionParams)
-> Value
-> Parser ErrorMayHaveTransactionParams
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"ErrorMayHaveTransactionParams" (\Object
obj -> (Maybe Text -> ErrorMayHaveTransactionParams)
-> Parser (Maybe Text -> ErrorMayHaveTransactionParams)
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Text -> ErrorMayHaveTransactionParams
ErrorMayHaveTransactionParams Parser (Maybe Text -> ErrorMayHaveTransactionParams)
-> Parser (Maybe Text) -> Parser ErrorMayHaveTransactionParams
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"param"))

-- | Create a new 'ErrorMayHaveTransactionParams' with all required fields.
mkErrorMayHaveTransactionParams :: ErrorMayHaveTransactionParams
mkErrorMayHaveTransactionParams :: ErrorMayHaveTransactionParams
mkErrorMayHaveTransactionParams = ErrorMayHaveTransactionParams{errorMayHaveTransactionParamsParam :: Maybe Text
errorMayHaveTransactionParamsParam = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing}

{- | Defines the object schema located at @components.schemas.ErrorMayHaveTransaction.allOf.properties.transaction_error@ in the specification.

This is only included on errors with \`type=transaction\`.
-}
data ErrorMayHaveTransactionTransaction_error = ErrorMayHaveTransactionTransaction_error
    { ErrorMayHaveTransactionTransaction_error
-> Maybe ErrorMayHaveTransactionTransaction_errorCategory
errorMayHaveTransactionTransaction_errorCategory :: (GHC.Maybe.Maybe ErrorMayHaveTransactionTransaction_errorCategory)
    -- ^ category
    , ErrorMayHaveTransactionTransaction_error
-> Maybe ErrorMayHaveTransactionTransaction_errorCode
errorMayHaveTransactionTransaction_errorCode :: (GHC.Maybe.Maybe ErrorMayHaveTransactionTransaction_errorCode)
    -- ^ code
    , ErrorMayHaveTransactionTransaction_error
-> Maybe ErrorMayHaveTransactionTransaction_errorDecline_code
errorMayHaveTransactionTransaction_errorDecline_code :: (GHC.Maybe.Maybe ErrorMayHaveTransactionTransaction_errorDecline_code)
    -- ^ decline_code
    , ErrorMayHaveTransactionTransaction_error
-> Maybe TransactionFraudInfo
errorMayHaveTransactionTransaction_errorFraud_info :: (GHC.Maybe.Maybe TransactionFraudInfo)
    -- ^ fraud_info
    , ErrorMayHaveTransactionTransaction_error -> Maybe Text
errorMayHaveTransactionTransaction_errorMerchant_advice :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
    -- ^ merchant_advice
    , ErrorMayHaveTransactionTransaction_error -> Maybe Text
errorMayHaveTransactionTransaction_errorMessage :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
    -- ^ message
    , ErrorMayHaveTransactionTransaction_error -> Maybe Text
errorMayHaveTransactionTransaction_errorObject :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
    -- ^ object
    , ErrorMayHaveTransactionTransaction_error -> Maybe Text
errorMayHaveTransactionTransaction_errorThree_d_secure_action_token_id :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
    -- ^ three_d_secure_action_token_id: Returned when 3-D Secure authentication is required for a transaction. Pass this value to Recurly.js so it can continue the challenge flow.
    --
    -- Constraints:
    --
    -- * Maximum length of 22
    , ErrorMayHaveTransactionTransaction_error -> Maybe Text
errorMayHaveTransactionTransaction_errorTransaction_id :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
    -- ^ transaction_id
    --
    -- Constraints:
    --
    -- * Maximum length of 13
    }
    deriving
        ( Int -> ErrorMayHaveTransactionTransaction_error -> ShowS
[ErrorMayHaveTransactionTransaction_error] -> ShowS
ErrorMayHaveTransactionTransaction_error -> String
(Int -> ErrorMayHaveTransactionTransaction_error -> ShowS)
-> (ErrorMayHaveTransactionTransaction_error -> String)
-> ([ErrorMayHaveTransactionTransaction_error] -> ShowS)
-> Show ErrorMayHaveTransactionTransaction_error
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ErrorMayHaveTransactionTransaction_error -> ShowS
showsPrec :: Int -> ErrorMayHaveTransactionTransaction_error -> ShowS
$cshow :: ErrorMayHaveTransactionTransaction_error -> String
show :: ErrorMayHaveTransactionTransaction_error -> String
$cshowList :: [ErrorMayHaveTransactionTransaction_error] -> ShowS
showList :: [ErrorMayHaveTransactionTransaction_error] -> ShowS
GHC.Show.Show
        , ErrorMayHaveTransactionTransaction_error
-> ErrorMayHaveTransactionTransaction_error -> Bool
(ErrorMayHaveTransactionTransaction_error
 -> ErrorMayHaveTransactionTransaction_error -> Bool)
-> (ErrorMayHaveTransactionTransaction_error
    -> ErrorMayHaveTransactionTransaction_error -> Bool)
-> Eq ErrorMayHaveTransactionTransaction_error
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ErrorMayHaveTransactionTransaction_error
-> ErrorMayHaveTransactionTransaction_error -> Bool
== :: ErrorMayHaveTransactionTransaction_error
-> ErrorMayHaveTransactionTransaction_error -> Bool
$c/= :: ErrorMayHaveTransactionTransaction_error
-> ErrorMayHaveTransactionTransaction_error -> Bool
/= :: ErrorMayHaveTransactionTransaction_error
-> ErrorMayHaveTransactionTransaction_error -> Bool
GHC.Classes.Eq
        )

instance Data.Aeson.Types.ToJSON.ToJSON ErrorMayHaveTransactionTransaction_error where
    toJSON :: ErrorMayHaveTransactionTransaction_error -> Value
toJSON ErrorMayHaveTransactionTransaction_error
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object ([[Pair]] -> [Pair]
forall (t :: * -> *) a. Foldable t => t [a] -> [a]
Data.Foldable.concat ([Pair]
-> (ErrorMayHaveTransactionTransaction_errorCategory -> [Pair])
-> Maybe ErrorMayHaveTransactionTransaction_errorCategory
-> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair])
-> (ErrorMayHaveTransactionTransaction_errorCategory -> Pair)
-> ErrorMayHaveTransactionTransaction_errorCategory
-> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"category" Key -> ErrorMayHaveTransactionTransaction_errorCategory -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (ErrorMayHaveTransactionTransaction_error
-> Maybe ErrorMayHaveTransactionTransaction_errorCategory
errorMayHaveTransactionTransaction_errorCategory ErrorMayHaveTransactionTransaction_error
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair]
-> (ErrorMayHaveTransactionTransaction_errorCode -> [Pair])
-> Maybe ErrorMayHaveTransactionTransaction_errorCode
-> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair])
-> (ErrorMayHaveTransactionTransaction_errorCode -> Pair)
-> ErrorMayHaveTransactionTransaction_errorCode
-> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"code" Key -> ErrorMayHaveTransactionTransaction_errorCode -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (ErrorMayHaveTransactionTransaction_error
-> Maybe ErrorMayHaveTransactionTransaction_errorCode
errorMayHaveTransactionTransaction_errorCode ErrorMayHaveTransactionTransaction_error
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair]
-> (ErrorMayHaveTransactionTransaction_errorDecline_code -> [Pair])
-> Maybe ErrorMayHaveTransactionTransaction_errorDecline_code
-> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair])
-> (ErrorMayHaveTransactionTransaction_errorDecline_code -> Pair)
-> ErrorMayHaveTransactionTransaction_errorDecline_code
-> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"decline_code" Key -> ErrorMayHaveTransactionTransaction_errorDecline_code -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (ErrorMayHaveTransactionTransaction_error
-> Maybe ErrorMayHaveTransactionTransaction_errorDecline_code
errorMayHaveTransactionTransaction_errorDecline_code ErrorMayHaveTransactionTransaction_error
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair]
-> (TransactionFraudInfo -> [Pair])
-> Maybe TransactionFraudInfo
-> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair])
-> (TransactionFraudInfo -> Pair) -> TransactionFraudInfo -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"fraud_info" Key -> TransactionFraudInfo -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (ErrorMayHaveTransactionTransaction_error
-> Maybe TransactionFraudInfo
errorMayHaveTransactionTransaction_errorFraud_info ErrorMayHaveTransactionTransaction_error
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair] -> (Text -> [Pair]) -> Maybe Text -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair]) -> (Text -> Pair) -> Text -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"merchant_advice" Key -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (ErrorMayHaveTransactionTransaction_error -> Maybe Text
errorMayHaveTransactionTransaction_errorMerchant_advice ErrorMayHaveTransactionTransaction_error
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair] -> (Text -> [Pair]) -> Maybe Text -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair]) -> (Text -> Pair) -> Text -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"message" Key -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (ErrorMayHaveTransactionTransaction_error -> Maybe Text
errorMayHaveTransactionTransaction_errorMessage ErrorMayHaveTransactionTransaction_error
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair] -> (Text -> [Pair]) -> Maybe Text -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair]) -> (Text -> Pair) -> Text -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"object" Key -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (ErrorMayHaveTransactionTransaction_error -> Maybe Text
errorMayHaveTransactionTransaction_errorObject ErrorMayHaveTransactionTransaction_error
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair] -> (Text -> [Pair]) -> Maybe Text -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair]) -> (Text -> Pair) -> Text -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"three_d_secure_action_token_id" Key -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (ErrorMayHaveTransactionTransaction_error -> Maybe Text
errorMayHaveTransactionTransaction_errorThree_d_secure_action_token_id ErrorMayHaveTransactionTransaction_error
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair] -> (Text -> [Pair]) -> Maybe Text -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair]) -> (Text -> Pair) -> Text -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"transaction_id" Key -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (ErrorMayHaveTransactionTransaction_error -> Maybe Text
errorMayHaveTransactionTransaction_errorTransaction_id ErrorMayHaveTransactionTransaction_error
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [[Pair]]
forall a. Monoid a => a
GHC.Base.mempty))
    toEncoding :: ErrorMayHaveTransactionTransaction_error -> Encoding
toEncoding ErrorMayHaveTransactionTransaction_error
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ([Series] -> Series
forall a. Monoid a => [a] -> a
GHC.Base.mconcat ([[Series]] -> [Series]
forall (t :: * -> *) a. Foldable t => t [a] -> [a]
Data.Foldable.concat ([Series]
-> (ErrorMayHaveTransactionTransaction_errorCategory -> [Series])
-> Maybe ErrorMayHaveTransactionTransaction_errorCategory
-> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series])
-> (ErrorMayHaveTransactionTransaction_errorCategory -> Series)
-> ErrorMayHaveTransactionTransaction_errorCategory
-> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"category" Key -> ErrorMayHaveTransactionTransaction_errorCategory -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (ErrorMayHaveTransactionTransaction_error
-> Maybe ErrorMayHaveTransactionTransaction_errorCategory
errorMayHaveTransactionTransaction_errorCategory ErrorMayHaveTransactionTransaction_error
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series]
-> (ErrorMayHaveTransactionTransaction_errorCode -> [Series])
-> Maybe ErrorMayHaveTransactionTransaction_errorCode
-> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series])
-> (ErrorMayHaveTransactionTransaction_errorCode -> Series)
-> ErrorMayHaveTransactionTransaction_errorCode
-> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"code" Key -> ErrorMayHaveTransactionTransaction_errorCode -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (ErrorMayHaveTransactionTransaction_error
-> Maybe ErrorMayHaveTransactionTransaction_errorCode
errorMayHaveTransactionTransaction_errorCode ErrorMayHaveTransactionTransaction_error
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series]
-> (ErrorMayHaveTransactionTransaction_errorDecline_code
    -> [Series])
-> Maybe ErrorMayHaveTransactionTransaction_errorDecline_code
-> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series])
-> (ErrorMayHaveTransactionTransaction_errorDecline_code -> Series)
-> ErrorMayHaveTransactionTransaction_errorDecline_code
-> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"decline_code" Key
-> ErrorMayHaveTransactionTransaction_errorDecline_code -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (ErrorMayHaveTransactionTransaction_error
-> Maybe ErrorMayHaveTransactionTransaction_errorDecline_code
errorMayHaveTransactionTransaction_errorDecline_code ErrorMayHaveTransactionTransaction_error
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series]
-> (TransactionFraudInfo -> [Series])
-> Maybe TransactionFraudInfo
-> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series])
-> (TransactionFraudInfo -> Series)
-> TransactionFraudInfo
-> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"fraud_info" Key -> TransactionFraudInfo -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (ErrorMayHaveTransactionTransaction_error
-> Maybe TransactionFraudInfo
errorMayHaveTransactionTransaction_errorFraud_info ErrorMayHaveTransactionTransaction_error
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series] -> (Text -> [Series]) -> Maybe Text -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series]) -> (Text -> Series) -> Text -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"merchant_advice" Key -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (ErrorMayHaveTransactionTransaction_error -> Maybe Text
errorMayHaveTransactionTransaction_errorMerchant_advice ErrorMayHaveTransactionTransaction_error
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series] -> (Text -> [Series]) -> Maybe Text -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series]) -> (Text -> Series) -> Text -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"message" Key -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (ErrorMayHaveTransactionTransaction_error -> Maybe Text
errorMayHaveTransactionTransaction_errorMessage ErrorMayHaveTransactionTransaction_error
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series] -> (Text -> [Series]) -> Maybe Text -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series]) -> (Text -> Series) -> Text -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"object" Key -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (ErrorMayHaveTransactionTransaction_error -> Maybe Text
errorMayHaveTransactionTransaction_errorObject ErrorMayHaveTransactionTransaction_error
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series] -> (Text -> [Series]) -> Maybe Text -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series]) -> (Text -> Series) -> Text -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"three_d_secure_action_token_id" Key -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (ErrorMayHaveTransactionTransaction_error -> Maybe Text
errorMayHaveTransactionTransaction_errorThree_d_secure_action_token_id ErrorMayHaveTransactionTransaction_error
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series] -> (Text -> [Series]) -> Maybe Text -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series]) -> (Text -> Series) -> Text -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"transaction_id" Key -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (ErrorMayHaveTransactionTransaction_error -> Maybe Text
errorMayHaveTransactionTransaction_errorTransaction_id ErrorMayHaveTransactionTransaction_error
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [[Series]]
forall a. Monoid a => a
GHC.Base.mempty)))
instance Data.Aeson.Types.FromJSON.FromJSON ErrorMayHaveTransactionTransaction_error where
    parseJSON :: Value -> Parser ErrorMayHaveTransactionTransaction_error
parseJSON = String
-> (Object -> Parser ErrorMayHaveTransactionTransaction_error)
-> Value
-> Parser ErrorMayHaveTransactionTransaction_error
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"ErrorMayHaveTransactionTransaction_error" (\Object
obj -> (((((((((Maybe ErrorMayHaveTransactionTransaction_errorCategory
 -> Maybe ErrorMayHaveTransactionTransaction_errorCode
 -> Maybe ErrorMayHaveTransactionTransaction_errorDecline_code
 -> Maybe TransactionFraudInfo
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> ErrorMayHaveTransactionTransaction_error)
-> Parser
     (Maybe ErrorMayHaveTransactionTransaction_errorCategory
      -> Maybe ErrorMayHaveTransactionTransaction_errorCode
      -> Maybe ErrorMayHaveTransactionTransaction_errorDecline_code
      -> Maybe TransactionFraudInfo
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> ErrorMayHaveTransactionTransaction_error)
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe ErrorMayHaveTransactionTransaction_errorCategory
-> Maybe ErrorMayHaveTransactionTransaction_errorCode
-> Maybe ErrorMayHaveTransactionTransaction_errorDecline_code
-> Maybe TransactionFraudInfo
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> ErrorMayHaveTransactionTransaction_error
ErrorMayHaveTransactionTransaction_error Parser
  (Maybe ErrorMayHaveTransactionTransaction_errorCategory
   -> Maybe ErrorMayHaveTransactionTransaction_errorCode
   -> Maybe ErrorMayHaveTransactionTransaction_errorDecline_code
   -> Maybe TransactionFraudInfo
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> ErrorMayHaveTransactionTransaction_error)
-> Parser (Maybe ErrorMayHaveTransactionTransaction_errorCategory)
-> Parser
     (Maybe ErrorMayHaveTransactionTransaction_errorCode
      -> Maybe ErrorMayHaveTransactionTransaction_errorDecline_code
      -> Maybe TransactionFraudInfo
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> ErrorMayHaveTransactionTransaction_error)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Key
-> Parser (Maybe ErrorMayHaveTransactionTransaction_errorCategory)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"category")) Parser
  (Maybe ErrorMayHaveTransactionTransaction_errorCode
   -> Maybe ErrorMayHaveTransactionTransaction_errorDecline_code
   -> Maybe TransactionFraudInfo
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> ErrorMayHaveTransactionTransaction_error)
-> Parser (Maybe ErrorMayHaveTransactionTransaction_errorCode)
-> Parser
     (Maybe ErrorMayHaveTransactionTransaction_errorDecline_code
      -> Maybe TransactionFraudInfo
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> ErrorMayHaveTransactionTransaction_error)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Key
-> Parser (Maybe ErrorMayHaveTransactionTransaction_errorCode)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"code")) Parser
  (Maybe ErrorMayHaveTransactionTransaction_errorDecline_code
   -> Maybe TransactionFraudInfo
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> ErrorMayHaveTransactionTransaction_error)
-> Parser
     (Maybe ErrorMayHaveTransactionTransaction_errorDecline_code)
-> Parser
     (Maybe TransactionFraudInfo
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> ErrorMayHaveTransactionTransaction_error)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Key
-> Parser
     (Maybe ErrorMayHaveTransactionTransaction_errorDecline_code)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"decline_code")) Parser
  (Maybe TransactionFraudInfo
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> ErrorMayHaveTransactionTransaction_error)
-> Parser (Maybe TransactionFraudInfo)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> ErrorMayHaveTransactionTransaction_error)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe TransactionFraudInfo)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"fraud_info")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> ErrorMayHaveTransactionTransaction_error)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> ErrorMayHaveTransactionTransaction_error)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"merchant_advice")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> ErrorMayHaveTransactionTransaction_error)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> ErrorMayHaveTransactionTransaction_error)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"message")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> ErrorMayHaveTransactionTransaction_error)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text -> ErrorMayHaveTransactionTransaction_error)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"object")) Parser
  (Maybe Text
   -> Maybe Text -> ErrorMayHaveTransactionTransaction_error)
-> Parser (Maybe Text)
-> Parser (Maybe Text -> ErrorMayHaveTransactionTransaction_error)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"three_d_secure_action_token_id")) Parser (Maybe Text -> ErrorMayHaveTransactionTransaction_error)
-> Parser (Maybe Text)
-> Parser ErrorMayHaveTransactionTransaction_error
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"transaction_id"))

-- | Create a new 'ErrorMayHaveTransactionTransaction_error' with all required fields.
mkErrorMayHaveTransactionTransaction_error :: ErrorMayHaveTransactionTransaction_error
mkErrorMayHaveTransactionTransaction_error :: ErrorMayHaveTransactionTransaction_error
mkErrorMayHaveTransactionTransaction_error =
    ErrorMayHaveTransactionTransaction_error
        { errorMayHaveTransactionTransaction_errorCategory :: Maybe ErrorMayHaveTransactionTransaction_errorCategory
errorMayHaveTransactionTransaction_errorCategory = Maybe ErrorMayHaveTransactionTransaction_errorCategory
forall a. Maybe a
GHC.Maybe.Nothing
        , errorMayHaveTransactionTransaction_errorCode :: Maybe ErrorMayHaveTransactionTransaction_errorCode
errorMayHaveTransactionTransaction_errorCode = Maybe ErrorMayHaveTransactionTransaction_errorCode
forall a. Maybe a
GHC.Maybe.Nothing
        , errorMayHaveTransactionTransaction_errorDecline_code :: Maybe ErrorMayHaveTransactionTransaction_errorDecline_code
errorMayHaveTransactionTransaction_errorDecline_code = Maybe ErrorMayHaveTransactionTransaction_errorDecline_code
forall a. Maybe a
GHC.Maybe.Nothing
        , errorMayHaveTransactionTransaction_errorFraud_info :: Maybe TransactionFraudInfo
errorMayHaveTransactionTransaction_errorFraud_info = Maybe TransactionFraudInfo
forall a. Maybe a
GHC.Maybe.Nothing
        , errorMayHaveTransactionTransaction_errorMerchant_advice :: Maybe Text
errorMayHaveTransactionTransaction_errorMerchant_advice = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
        , errorMayHaveTransactionTransaction_errorMessage :: Maybe Text
errorMayHaveTransactionTransaction_errorMessage = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
        , errorMayHaveTransactionTransaction_errorObject :: Maybe Text
errorMayHaveTransactionTransaction_errorObject = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
        , errorMayHaveTransactionTransaction_errorThree_d_secure_action_token_id :: Maybe Text
errorMayHaveTransactionTransaction_errorThree_d_secure_action_token_id = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
        , errorMayHaveTransactionTransaction_errorTransaction_id :: Maybe Text
errorMayHaveTransactionTransaction_errorTransaction_id = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
        }

-- | Defines the enum schema located at @components.schemas.ErrorMayHaveTransaction.allOf.properties.transaction_error.properties.category@ in the specification.
data ErrorMayHaveTransactionTransaction_errorCategory
    = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
      ErrorMayHaveTransactionTransaction_errorCategoryOther Data.Aeson.Types.Internal.Value
    | -- | This constructor can be used to send values to the server which are not present in the specification yet.
      ErrorMayHaveTransactionTransaction_errorCategoryTyped Data.Text.Internal.Text
    | -- | Represents the JSON value @"three_d_secure_required"@
      ErrorMayHaveTransactionTransaction_errorCategoryEnumThree_d_secure_required
    | -- | Represents the JSON value @"three_d_secure_action_required"@
      ErrorMayHaveTransactionTransaction_errorCategoryEnumThree_d_secure_action_required
    | -- | Represents the JSON value @"amazon"@
      ErrorMayHaveTransactionTransaction_errorCategoryEnumAmazon
    | -- | Represents the JSON value @"api_error"@
      ErrorMayHaveTransactionTransaction_errorCategoryEnumApi_error
    | -- | Represents the JSON value @"approved"@
      ErrorMayHaveTransactionTransaction_errorCategoryEnumApproved
    | -- | Represents the JSON value @"communication"@
      ErrorMayHaveTransactionTransaction_errorCategoryEnumCommunication
    | -- | Represents the JSON value @"configuration"@
      ErrorMayHaveTransactionTransaction_errorCategoryEnumConfiguration
    | -- | Represents the JSON value @"duplicate"@
      ErrorMayHaveTransactionTransaction_errorCategoryEnumDuplicate
    | -- | Represents the JSON value @"fraud"@
      ErrorMayHaveTransactionTransaction_errorCategoryEnumFraud
    | -- | Represents the JSON value @"hard"@
      ErrorMayHaveTransactionTransaction_errorCategoryEnumHard
    | -- | Represents the JSON value @"invalid"@
      ErrorMayHaveTransactionTransaction_errorCategoryEnumInvalid
    | -- | Represents the JSON value @"not_enabled"@
      ErrorMayHaveTransactionTransaction_errorCategoryEnumNot_enabled
    | -- | Represents the JSON value @"not_supported"@
      ErrorMayHaveTransactionTransaction_errorCategoryEnumNot_supported
    | -- | Represents the JSON value @"recurly"@
      ErrorMayHaveTransactionTransaction_errorCategoryEnumRecurly
    | -- | Represents the JSON value @"referral"@
      ErrorMayHaveTransactionTransaction_errorCategoryEnumReferral
    | -- | Represents the JSON value @"skles"@
      ErrorMayHaveTransactionTransaction_errorCategoryEnumSkles
    | -- | Represents the JSON value @"soft"@
      ErrorMayHaveTransactionTransaction_errorCategoryEnumSoft
    | -- | Represents the JSON value @"unknown"@
      ErrorMayHaveTransactionTransaction_errorCategoryEnumUnknown
    deriving (Int -> ErrorMayHaveTransactionTransaction_errorCategory -> ShowS
[ErrorMayHaveTransactionTransaction_errorCategory] -> ShowS
ErrorMayHaveTransactionTransaction_errorCategory -> String
(Int -> ErrorMayHaveTransactionTransaction_errorCategory -> ShowS)
-> (ErrorMayHaveTransactionTransaction_errorCategory -> String)
-> ([ErrorMayHaveTransactionTransaction_errorCategory] -> ShowS)
-> Show ErrorMayHaveTransactionTransaction_errorCategory
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ErrorMayHaveTransactionTransaction_errorCategory -> ShowS
showsPrec :: Int -> ErrorMayHaveTransactionTransaction_errorCategory -> ShowS
$cshow :: ErrorMayHaveTransactionTransaction_errorCategory -> String
show :: ErrorMayHaveTransactionTransaction_errorCategory -> String
$cshowList :: [ErrorMayHaveTransactionTransaction_errorCategory] -> ShowS
showList :: [ErrorMayHaveTransactionTransaction_errorCategory] -> ShowS
GHC.Show.Show, ErrorMayHaveTransactionTransaction_errorCategory
-> ErrorMayHaveTransactionTransaction_errorCategory -> Bool
(ErrorMayHaveTransactionTransaction_errorCategory
 -> ErrorMayHaveTransactionTransaction_errorCategory -> Bool)
-> (ErrorMayHaveTransactionTransaction_errorCategory
    -> ErrorMayHaveTransactionTransaction_errorCategory -> Bool)
-> Eq ErrorMayHaveTransactionTransaction_errorCategory
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ErrorMayHaveTransactionTransaction_errorCategory
-> ErrorMayHaveTransactionTransaction_errorCategory -> Bool
== :: ErrorMayHaveTransactionTransaction_errorCategory
-> ErrorMayHaveTransactionTransaction_errorCategory -> Bool
$c/= :: ErrorMayHaveTransactionTransaction_errorCategory
-> ErrorMayHaveTransactionTransaction_errorCategory -> Bool
/= :: ErrorMayHaveTransactionTransaction_errorCategory
-> ErrorMayHaveTransactionTransaction_errorCategory -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON ErrorMayHaveTransactionTransaction_errorCategory where
    toJSON :: ErrorMayHaveTransactionTransaction_errorCategory -> Value
toJSON (ErrorMayHaveTransactionTransaction_errorCategoryOther Value
val) = Value
val
    toJSON (ErrorMayHaveTransactionTransaction_errorCategoryTyped Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
    toJSON (ErrorMayHaveTransactionTransaction_errorCategory
ErrorMayHaveTransactionTransaction_errorCategoryEnumThree_d_secure_required) = Value
"three_d_secure_required"
    toJSON (ErrorMayHaveTransactionTransaction_errorCategory
ErrorMayHaveTransactionTransaction_errorCategoryEnumThree_d_secure_action_required) = Value
"three_d_secure_action_required"
    toJSON (ErrorMayHaveTransactionTransaction_errorCategory
ErrorMayHaveTransactionTransaction_errorCategoryEnumAmazon) = Value
"amazon"
    toJSON (ErrorMayHaveTransactionTransaction_errorCategory
ErrorMayHaveTransactionTransaction_errorCategoryEnumApi_error) = Value
"api_error"
    toJSON (ErrorMayHaveTransactionTransaction_errorCategory
ErrorMayHaveTransactionTransaction_errorCategoryEnumApproved) = Value
"approved"
    toJSON (ErrorMayHaveTransactionTransaction_errorCategory
ErrorMayHaveTransactionTransaction_errorCategoryEnumCommunication) = Value
"communication"
    toJSON (ErrorMayHaveTransactionTransaction_errorCategory
ErrorMayHaveTransactionTransaction_errorCategoryEnumConfiguration) = Value
"configuration"
    toJSON (ErrorMayHaveTransactionTransaction_errorCategory
ErrorMayHaveTransactionTransaction_errorCategoryEnumDuplicate) = Value
"duplicate"
    toJSON (ErrorMayHaveTransactionTransaction_errorCategory
ErrorMayHaveTransactionTransaction_errorCategoryEnumFraud) = Value
"fraud"
    toJSON (ErrorMayHaveTransactionTransaction_errorCategory
ErrorMayHaveTransactionTransaction_errorCategoryEnumHard) = Value
"hard"
    toJSON (ErrorMayHaveTransactionTransaction_errorCategory
ErrorMayHaveTransactionTransaction_errorCategoryEnumInvalid) = Value
"invalid"
    toJSON (ErrorMayHaveTransactionTransaction_errorCategory
ErrorMayHaveTransactionTransaction_errorCategoryEnumNot_enabled) = Value
"not_enabled"
    toJSON (ErrorMayHaveTransactionTransaction_errorCategory
ErrorMayHaveTransactionTransaction_errorCategoryEnumNot_supported) = Value
"not_supported"
    toJSON (ErrorMayHaveTransactionTransaction_errorCategory
ErrorMayHaveTransactionTransaction_errorCategoryEnumRecurly) = Value
"recurly"
    toJSON (ErrorMayHaveTransactionTransaction_errorCategory
ErrorMayHaveTransactionTransaction_errorCategoryEnumReferral) = Value
"referral"
    toJSON (ErrorMayHaveTransactionTransaction_errorCategory
ErrorMayHaveTransactionTransaction_errorCategoryEnumSkles) = Value
"skles"
    toJSON (ErrorMayHaveTransactionTransaction_errorCategory
ErrorMayHaveTransactionTransaction_errorCategoryEnumSoft) = Value
"soft"
    toJSON (ErrorMayHaveTransactionTransaction_errorCategory
ErrorMayHaveTransactionTransaction_errorCategoryEnumUnknown) = Value
"unknown"
instance Data.Aeson.Types.FromJSON.FromJSON ErrorMayHaveTransactionTransaction_errorCategory where
    parseJSON :: Value -> Parser ErrorMayHaveTransactionTransaction_errorCategory
parseJSON Value
val =
        ErrorMayHaveTransactionTransaction_errorCategory
-> Parser ErrorMayHaveTransactionTransaction_errorCategory
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure
            ( if
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"three_d_secure_required" -> ErrorMayHaveTransactionTransaction_errorCategory
ErrorMayHaveTransactionTransaction_errorCategoryEnumThree_d_secure_required
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"three_d_secure_action_required" -> ErrorMayHaveTransactionTransaction_errorCategory
ErrorMayHaveTransactionTransaction_errorCategoryEnumThree_d_secure_action_required
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"amazon" -> ErrorMayHaveTransactionTransaction_errorCategory
ErrorMayHaveTransactionTransaction_errorCategoryEnumAmazon
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"api_error" -> ErrorMayHaveTransactionTransaction_errorCategory
ErrorMayHaveTransactionTransaction_errorCategoryEnumApi_error
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"approved" -> ErrorMayHaveTransactionTransaction_errorCategory
ErrorMayHaveTransactionTransaction_errorCategoryEnumApproved
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"communication" -> ErrorMayHaveTransactionTransaction_errorCategory
ErrorMayHaveTransactionTransaction_errorCategoryEnumCommunication
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"configuration" -> ErrorMayHaveTransactionTransaction_errorCategory
ErrorMayHaveTransactionTransaction_errorCategoryEnumConfiguration
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"duplicate" -> ErrorMayHaveTransactionTransaction_errorCategory
ErrorMayHaveTransactionTransaction_errorCategoryEnumDuplicate
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"fraud" -> ErrorMayHaveTransactionTransaction_errorCategory
ErrorMayHaveTransactionTransaction_errorCategoryEnumFraud
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"hard" -> ErrorMayHaveTransactionTransaction_errorCategory
ErrorMayHaveTransactionTransaction_errorCategoryEnumHard
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"invalid" -> ErrorMayHaveTransactionTransaction_errorCategory
ErrorMayHaveTransactionTransaction_errorCategoryEnumInvalid
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"not_enabled" -> ErrorMayHaveTransactionTransaction_errorCategory
ErrorMayHaveTransactionTransaction_errorCategoryEnumNot_enabled
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"not_supported" -> ErrorMayHaveTransactionTransaction_errorCategory
ErrorMayHaveTransactionTransaction_errorCategoryEnumNot_supported
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"recurly" -> ErrorMayHaveTransactionTransaction_errorCategory
ErrorMayHaveTransactionTransaction_errorCategoryEnumRecurly
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"referral" -> ErrorMayHaveTransactionTransaction_errorCategory
ErrorMayHaveTransactionTransaction_errorCategoryEnumReferral
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"skles" -> ErrorMayHaveTransactionTransaction_errorCategory
ErrorMayHaveTransactionTransaction_errorCategoryEnumSkles
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"soft" -> ErrorMayHaveTransactionTransaction_errorCategory
ErrorMayHaveTransactionTransaction_errorCategoryEnumSoft
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"unknown" -> ErrorMayHaveTransactionTransaction_errorCategory
ErrorMayHaveTransactionTransaction_errorCategoryEnumUnknown
                | Bool
GHC.Base.otherwise -> Value -> ErrorMayHaveTransactionTransaction_errorCategory
ErrorMayHaveTransactionTransaction_errorCategoryOther Value
val
            )

-- | Defines the enum schema located at @components.schemas.ErrorMayHaveTransaction.allOf.properties.transaction_error.properties.code@ in the specification.
data ErrorMayHaveTransactionTransaction_errorCode
    = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
      ErrorMayHaveTransactionTransaction_errorCodeOther Data.Aeson.Types.Internal.Value
    | -- | This constructor can be used to send values to the server which are not present in the specification yet.
      ErrorMayHaveTransactionTransaction_errorCodeTyped Data.Text.Internal.Text
    | -- | Represents the JSON value @"ach_cancel"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumAch_cancel
    | -- | Represents the JSON value @"ach_chargeback"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumAch_chargeback
    | -- | Represents the JSON value @"ach_credit_return"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumAch_credit_return
    | -- | Represents the JSON value @"ach_exception"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumAch_exception
    | -- | Represents the JSON value @"ach_return"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumAch_return
    | -- | Represents the JSON value @"ach_transactions_not_supported"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumAch_transactions_not_supported
    | -- | Represents the JSON value @"ach_validation_exception"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumAch_validation_exception
    | -- | Represents the JSON value @"amazon_amount_exceeded"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumAmazon_amount_exceeded
    | -- | Represents the JSON value @"amazon_declined_review"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumAmazon_declined_review
    | -- | Represents the JSON value @"amazon_invalid_authorization_status"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumAmazon_invalid_authorization_status
    | -- | Represents the JSON value @"amazon_invalid_close_attempt"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumAmazon_invalid_close_attempt
    | -- | Represents the JSON value @"amazon_invalid_create_order_reference"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumAmazon_invalid_create_order_reference
    | -- | Represents the JSON value @"amazon_invalid_order_status"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumAmazon_invalid_order_status
    | -- | Represents the JSON value @"amazon_not_authorized"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumAmazon_not_authorized
    | -- | Represents the JSON value @"amazon_order_not_modifiable"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumAmazon_order_not_modifiable
    | -- | Represents the JSON value @"amazon_transaction_count_exceeded"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumAmazon_transaction_count_exceeded
    | -- | Represents the JSON value @"api_error"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumApi_error
    | -- | Represents the JSON value @"approved"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumApproved
    | -- | Represents the JSON value @"approved_fraud_review"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumApproved_fraud_review
    | -- | Represents the JSON value @"authorization_already_captured"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumAuthorization_already_captured
    | -- | Represents the JSON value @"authorization_amount_depleted"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumAuthorization_amount_depleted
    | -- | Represents the JSON value @"authorization_expired"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumAuthorization_expired
    | -- | Represents the JSON value @"batch_processing_error"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumBatch_processing_error
    | -- | Represents the JSON value @"billing_agreement_already_accepted"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumBilling_agreement_already_accepted
    | -- | Represents the JSON value @"billing_agreement_not_accepted"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumBilling_agreement_not_accepted
    | -- | Represents the JSON value @"billing_agreement_not_found"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumBilling_agreement_not_found
    | -- | Represents the JSON value @"billing_agreement_replaced"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumBilling_agreement_replaced
    | -- | Represents the JSON value @"call_issuer"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumCall_issuer
    | -- | Represents the JSON value @"call_issuer_update_cardholder_data"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumCall_issuer_update_cardholder_data
    | -- | Represents the JSON value @"cancelled"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumCancelled
    | -- | Represents the JSON value @"cannot_refund_unsettled_transactions"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumCannot_refund_unsettled_transactions
    | -- | Represents the JSON value @"card_not_activated"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumCard_not_activated
    | -- | Represents the JSON value @"card_type_not_accepted"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumCard_type_not_accepted
    | -- | Represents the JSON value @"cardholder_requested_stop"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumCardholder_requested_stop
    | -- | Represents the JSON value @"contact_gateway"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumContact_gateway
    | -- | Represents the JSON value @"contract_not_found"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumContract_not_found
    | -- | Represents the JSON value @"currency_not_supported"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumCurrency_not_supported
    | -- | Represents the JSON value @"customer_canceled_transaction"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumCustomer_canceled_transaction
    | -- | Represents the JSON value @"cvv_required"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumCvv_required
    | -- | Represents the JSON value @"declined"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumDeclined
    | -- | Represents the JSON value @"declined_card_number"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumDeclined_card_number
    | -- | Represents the JSON value @"declined_exception"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumDeclined_exception
    | -- | Represents the JSON value @"declined_expiration_date"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumDeclined_expiration_date
    | -- | Represents the JSON value @"declined_missing_data"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumDeclined_missing_data
    | -- | Represents the JSON value @"declined_saveable"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumDeclined_saveable
    | -- | Represents the JSON value @"declined_security_code"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumDeclined_security_code
    | -- | Represents the JSON value @"deposit_referenced_chargeback"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumDeposit_referenced_chargeback
    | -- | Represents the JSON value @"direct_debit_type_not_accepted"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumDirect_debit_type_not_accepted
    | -- | Represents the JSON value @"duplicate_transaction"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumDuplicate_transaction
    | -- | Represents the JSON value @"exceeds_daily_limit"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumExceeds_daily_limit
    | -- | Represents the JSON value @"exceeds_max_amount"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumExceeds_max_amount
    | -- | Represents the JSON value @"expired_card"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumExpired_card
    | -- | Represents the JSON value @"finbot_disconnect"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumFinbot_disconnect
    | -- | Represents the JSON value @"finbot_unavailable"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumFinbot_unavailable
    | -- | Represents the JSON value @"fraud_address"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumFraud_address
    | -- | Represents the JSON value @"fraud_address_recurly"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumFraud_address_recurly
    | -- | Represents the JSON value @"fraud_advanced_verification"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumFraud_advanced_verification
    | -- | Represents the JSON value @"fraud_gateway"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumFraud_gateway
    | -- | Represents the JSON value @"fraud_generic"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumFraud_generic
    | -- | Represents the JSON value @"fraud_ip_address"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumFraud_ip_address
    | -- | Represents the JSON value @"fraud_manual_decision"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumFraud_manual_decision
    | -- | Represents the JSON value @"fraud_risk_check"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumFraud_risk_check
    | -- | Represents the JSON value @"fraud_security_code"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumFraud_security_code
    | -- | Represents the JSON value @"fraud_stolen_card"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumFraud_stolen_card
    | -- | Represents the JSON value @"fraud_too_many_attempts"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumFraud_too_many_attempts
    | -- | Represents the JSON value @"fraud_velocity"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumFraud_velocity
    | -- | Represents the JSON value @"gateway_account_setup_incomplete"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumGateway_account_setup_incomplete
    | -- | Represents the JSON value @"gateway_error"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumGateway_error
    | -- | Represents the JSON value @"gateway_rate_limited"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumGateway_rate_limited
    | -- | Represents the JSON value @"gateway_timeout"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumGateway_timeout
    | -- | Represents the JSON value @"gateway_token_not_found"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumGateway_token_not_found
    | -- | Represents the JSON value @"gateway_unavailable"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumGateway_unavailable
    | -- | Represents the JSON value @"gateway_validation_exception"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumGateway_validation_exception
    | -- | Represents the JSON value @"insufficient_funds"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumInsufficient_funds
    | -- | Represents the JSON value @"invalid_account_number"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumInvalid_account_number
    | -- | Represents the JSON value @"invalid_amount"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumInvalid_amount
    | -- | Represents the JSON value @"invalid_billing_agreement_status"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumInvalid_billing_agreement_status
    | -- | Represents the JSON value @"invalid_card_number"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumInvalid_card_number
    | -- | Represents the JSON value @"invalid_data"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumInvalid_data
    | -- | Represents the JSON value @"invalid_email"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumInvalid_email
    | -- | Represents the JSON value @"invalid_gateway_access_token"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumInvalid_gateway_access_token
    | -- | Represents the JSON value @"invalid_gateway_configuration"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumInvalid_gateway_configuration
    | -- | Represents the JSON value @"invalid_issuer"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumInvalid_issuer
    | -- | Represents the JSON value @"invalid_login"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumInvalid_login
    | -- | Represents the JSON value @"invalid_merchant_type"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumInvalid_merchant_type
    | -- | Represents the JSON value @"invalid_name"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumInvalid_name
    | -- | Represents the JSON value @"invalid_payment_method"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumInvalid_payment_method
    | -- | Represents the JSON value @"invalid_payment_method_hard"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumInvalid_payment_method_hard
    | -- | Represents the JSON value @"invalid_transaction"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumInvalid_transaction
    | -- | Represents the JSON value @"issuer_unavailable"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumIssuer_unavailable
    | -- | Represents the JSON value @"lifecycle_decline"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumLifecycle_decline
    | -- | Represents the JSON value @"merch_max_transaction_limit_exceeded"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumMerch_max_transaction_limit_exceeded
    | -- | Represents the JSON value @"moneybot_disconnect"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumMoneybot_disconnect
    | -- | Represents the JSON value @"moneybot_unavailable"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumMoneybot_unavailable
    | -- | Represents the JSON value @"no_billing_information"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumNo_billing_information
    | -- | Represents the JSON value @"no_gateway"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumNo_gateway
    | -- | Represents the JSON value @"no_gateway_found_for_transaction_amount"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumNo_gateway_found_for_transaction_amount
    | -- | Represents the JSON value @"partial_approval"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumPartial_approval
    | -- | Represents the JSON value @"partial_credits_not_supported"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumPartial_credits_not_supported
    | -- | Represents the JSON value @"payer_authentication_rejected"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumPayer_authentication_rejected
    | -- | Represents the JSON value @"payment_cannot_void_authorization"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumPayment_cannot_void_authorization
    | -- | Represents the JSON value @"payment_not_accepted"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumPayment_not_accepted
    | -- | Represents the JSON value @"paypal_account_issue"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumPaypal_account_issue
    | -- | Represents the JSON value @"paypal_cannot_pay_self"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumPaypal_cannot_pay_self
    | -- | Represents the JSON value @"paypal_declined_use_alternate"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumPaypal_declined_use_alternate
    | -- | Represents the JSON value @"paypal_expired_reference_id"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumPaypal_expired_reference_id
    | -- | Represents the JSON value @"paypal_hard_decline"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumPaypal_hard_decline
    | -- | Represents the JSON value @"paypal_invalid_billing_agreement"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumPaypal_invalid_billing_agreement
    | -- | Represents the JSON value @"paypal_primary_declined"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumPaypal_primary_declined
    | -- | Represents the JSON value @"processor_not_available"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumProcessor_not_available
    | -- | Represents the JSON value @"processor_unavailable"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumProcessor_unavailable
    | -- | Represents the JSON value @"recurly_credentials_not_found"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumRecurly_credentials_not_found
    | -- | Represents the JSON value @"recurly_error"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumRecurly_error
    | -- | Represents the JSON value @"recurly_failed_to_get_token"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumRecurly_failed_to_get_token
    | -- | Represents the JSON value @"recurly_token_mismatch"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumRecurly_token_mismatch
    | -- | Represents the JSON value @"recurly_token_not_found"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumRecurly_token_not_found
    | -- | Represents the JSON value @"reference_transactions_not_enabled"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumReference_transactions_not_enabled
    | -- | Represents the JSON value @"restricted_card"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumRestricted_card
    | -- | Represents the JSON value @"restricted_card_chargeback"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumRestricted_card_chargeback
    | -- | Represents the JSON value @"rjs_token_expired"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumRjs_token_expired
    | -- | Represents the JSON value @"roku_invalid_card_number"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumRoku_invalid_card_number
    | -- | Represents the JSON value @"roku_invalid_cib"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumRoku_invalid_cib
    | -- | Represents the JSON value @"roku_invalid_payment_method"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumRoku_invalid_payment_method
    | -- | Represents the JSON value @"roku_zip_code_mismatch"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumRoku_zip_code_mismatch
    | -- | Represents the JSON value @"simultaneous"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumSimultaneous
    | -- | Represents the JSON value @"ssl_error"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumSsl_error
    | -- | Represents the JSON value @"temporary_hold"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumTemporary_hold
    | -- | Represents the JSON value @"three_d_secure_action_required"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumThree_d_secure_action_required
    | -- | Represents the JSON value @"three_d_secure_action_result_token_mismatch"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumThree_d_secure_action_result_token_mismatch
    | -- | Represents the JSON value @"three_d_secure_authentication"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumThree_d_secure_authentication
    | -- | Represents the JSON value @"three_d_secure_connection_error"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumThree_d_secure_connection_error
    | -- | Represents the JSON value @"three_d_secure_credential_error"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumThree_d_secure_credential_error
    | -- | Represents the JSON value @"three_d_secure_not_supported"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumThree_d_secure_not_supported
    | -- | Represents the JSON value @"too_busy"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumToo_busy
    | -- | Represents the JSON value @"too_many_attempts"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumToo_many_attempts
    | -- | Represents the JSON value @"total_credit_exceeds_capture"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumTotal_credit_exceeds_capture
    | -- | Represents the JSON value @"transaction_already_refunded"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumTransaction_already_refunded
    | -- | Represents the JSON value @"transaction_already_voided"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumTransaction_already_voided
    | -- | Represents the JSON value @"transaction_cannot_be_authorized"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumTransaction_cannot_be_authorized
    | -- | Represents the JSON value @"transaction_cannot_be_refunded"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumTransaction_cannot_be_refunded
    | -- | Represents the JSON value @"transaction_cannot_be_refunded_currently"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumTransaction_cannot_be_refunded_currently
    | -- | Represents the JSON value @"transaction_cannot_be_voided"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumTransaction_cannot_be_voided
    | -- | Represents the JSON value @"transaction_failed_to_settle"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumTransaction_failed_to_settle
    | -- | Represents the JSON value @"transaction_not_found"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumTransaction_not_found
    | -- | Represents the JSON value @"transaction_service_v2_disconnect"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumTransaction_service_v2_disconnect
    | -- | Represents the JSON value @"transaction_service_v2_unavailable"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumTransaction_service_v2_unavailable
    | -- | Represents the JSON value @"transaction_settled"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumTransaction_settled
    | -- | Represents the JSON value @"transaction_stale_at_gateway"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumTransaction_stale_at_gateway
    | -- | Represents the JSON value @"try_again"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumTry_again
    | -- | Represents the JSON value @"unknown"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumUnknown
    | -- | Represents the JSON value @"unmapped_partner_error"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumUnmapped_partner_error
    | -- | Represents the JSON value @"vaultly_service_unavailable"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumVaultly_service_unavailable
    | -- | Represents the JSON value @"zero_dollar_auth_not_supported"@
      ErrorMayHaveTransactionTransaction_errorCodeEnumZero_dollar_auth_not_supported
    deriving (Int -> ErrorMayHaveTransactionTransaction_errorCode -> ShowS
[ErrorMayHaveTransactionTransaction_errorCode] -> ShowS
ErrorMayHaveTransactionTransaction_errorCode -> String
(Int -> ErrorMayHaveTransactionTransaction_errorCode -> ShowS)
-> (ErrorMayHaveTransactionTransaction_errorCode -> String)
-> ([ErrorMayHaveTransactionTransaction_errorCode] -> ShowS)
-> Show ErrorMayHaveTransactionTransaction_errorCode
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ErrorMayHaveTransactionTransaction_errorCode -> ShowS
showsPrec :: Int -> ErrorMayHaveTransactionTransaction_errorCode -> ShowS
$cshow :: ErrorMayHaveTransactionTransaction_errorCode -> String
show :: ErrorMayHaveTransactionTransaction_errorCode -> String
$cshowList :: [ErrorMayHaveTransactionTransaction_errorCode] -> ShowS
showList :: [ErrorMayHaveTransactionTransaction_errorCode] -> ShowS
GHC.Show.Show, ErrorMayHaveTransactionTransaction_errorCode
-> ErrorMayHaveTransactionTransaction_errorCode -> Bool
(ErrorMayHaveTransactionTransaction_errorCode
 -> ErrorMayHaveTransactionTransaction_errorCode -> Bool)
-> (ErrorMayHaveTransactionTransaction_errorCode
    -> ErrorMayHaveTransactionTransaction_errorCode -> Bool)
-> Eq ErrorMayHaveTransactionTransaction_errorCode
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ErrorMayHaveTransactionTransaction_errorCode
-> ErrorMayHaveTransactionTransaction_errorCode -> Bool
== :: ErrorMayHaveTransactionTransaction_errorCode
-> ErrorMayHaveTransactionTransaction_errorCode -> Bool
$c/= :: ErrorMayHaveTransactionTransaction_errorCode
-> ErrorMayHaveTransactionTransaction_errorCode -> Bool
/= :: ErrorMayHaveTransactionTransaction_errorCode
-> ErrorMayHaveTransactionTransaction_errorCode -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON ErrorMayHaveTransactionTransaction_errorCode where
    toJSON :: ErrorMayHaveTransactionTransaction_errorCode -> Value
toJSON (ErrorMayHaveTransactionTransaction_errorCodeOther Value
val) = Value
val
    toJSON (ErrorMayHaveTransactionTransaction_errorCodeTyped Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumAch_cancel) = Value
"ach_cancel"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumAch_chargeback) = Value
"ach_chargeback"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumAch_credit_return) = Value
"ach_credit_return"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumAch_exception) = Value
"ach_exception"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumAch_return) = Value
"ach_return"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumAch_transactions_not_supported) = Value
"ach_transactions_not_supported"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumAch_validation_exception) = Value
"ach_validation_exception"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumAmazon_amount_exceeded) = Value
"amazon_amount_exceeded"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumAmazon_declined_review) = Value
"amazon_declined_review"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumAmazon_invalid_authorization_status) = Value
"amazon_invalid_authorization_status"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumAmazon_invalid_close_attempt) = Value
"amazon_invalid_close_attempt"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumAmazon_invalid_create_order_reference) = Value
"amazon_invalid_create_order_reference"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumAmazon_invalid_order_status) = Value
"amazon_invalid_order_status"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumAmazon_not_authorized) = Value
"amazon_not_authorized"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumAmazon_order_not_modifiable) = Value
"amazon_order_not_modifiable"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumAmazon_transaction_count_exceeded) = Value
"amazon_transaction_count_exceeded"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumApi_error) = Value
"api_error"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumApproved) = Value
"approved"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumApproved_fraud_review) = Value
"approved_fraud_review"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumAuthorization_already_captured) = Value
"authorization_already_captured"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumAuthorization_amount_depleted) = Value
"authorization_amount_depleted"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumAuthorization_expired) = Value
"authorization_expired"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumBatch_processing_error) = Value
"batch_processing_error"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumBilling_agreement_already_accepted) = Value
"billing_agreement_already_accepted"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumBilling_agreement_not_accepted) = Value
"billing_agreement_not_accepted"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumBilling_agreement_not_found) = Value
"billing_agreement_not_found"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumBilling_agreement_replaced) = Value
"billing_agreement_replaced"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumCall_issuer) = Value
"call_issuer"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumCall_issuer_update_cardholder_data) = Value
"call_issuer_update_cardholder_data"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumCancelled) = Value
"cancelled"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumCannot_refund_unsettled_transactions) = Value
"cannot_refund_unsettled_transactions"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumCard_not_activated) = Value
"card_not_activated"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumCard_type_not_accepted) = Value
"card_type_not_accepted"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumCardholder_requested_stop) = Value
"cardholder_requested_stop"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumContact_gateway) = Value
"contact_gateway"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumContract_not_found) = Value
"contract_not_found"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumCurrency_not_supported) = Value
"currency_not_supported"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumCustomer_canceled_transaction) = Value
"customer_canceled_transaction"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumCvv_required) = Value
"cvv_required"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumDeclined) = Value
"declined"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumDeclined_card_number) = Value
"declined_card_number"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumDeclined_exception) = Value
"declined_exception"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumDeclined_expiration_date) = Value
"declined_expiration_date"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumDeclined_missing_data) = Value
"declined_missing_data"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumDeclined_saveable) = Value
"declined_saveable"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumDeclined_security_code) = Value
"declined_security_code"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumDeposit_referenced_chargeback) = Value
"deposit_referenced_chargeback"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumDirect_debit_type_not_accepted) = Value
"direct_debit_type_not_accepted"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumDuplicate_transaction) = Value
"duplicate_transaction"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumExceeds_daily_limit) = Value
"exceeds_daily_limit"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumExceeds_max_amount) = Value
"exceeds_max_amount"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumExpired_card) = Value
"expired_card"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumFinbot_disconnect) = Value
"finbot_disconnect"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumFinbot_unavailable) = Value
"finbot_unavailable"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumFraud_address) = Value
"fraud_address"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumFraud_address_recurly) = Value
"fraud_address_recurly"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumFraud_advanced_verification) = Value
"fraud_advanced_verification"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumFraud_gateway) = Value
"fraud_gateway"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumFraud_generic) = Value
"fraud_generic"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumFraud_ip_address) = Value
"fraud_ip_address"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumFraud_manual_decision) = Value
"fraud_manual_decision"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumFraud_risk_check) = Value
"fraud_risk_check"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumFraud_security_code) = Value
"fraud_security_code"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumFraud_stolen_card) = Value
"fraud_stolen_card"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumFraud_too_many_attempts) = Value
"fraud_too_many_attempts"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumFraud_velocity) = Value
"fraud_velocity"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumGateway_account_setup_incomplete) = Value
"gateway_account_setup_incomplete"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumGateway_error) = Value
"gateway_error"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumGateway_rate_limited) = Value
"gateway_rate_limited"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumGateway_timeout) = Value
"gateway_timeout"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumGateway_token_not_found) = Value
"gateway_token_not_found"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumGateway_unavailable) = Value
"gateway_unavailable"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumGateway_validation_exception) = Value
"gateway_validation_exception"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumInsufficient_funds) = Value
"insufficient_funds"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumInvalid_account_number) = Value
"invalid_account_number"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumInvalid_amount) = Value
"invalid_amount"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumInvalid_billing_agreement_status) = Value
"invalid_billing_agreement_status"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumInvalid_card_number) = Value
"invalid_card_number"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumInvalid_data) = Value
"invalid_data"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumInvalid_email) = Value
"invalid_email"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumInvalid_gateway_access_token) = Value
"invalid_gateway_access_token"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumInvalid_gateway_configuration) = Value
"invalid_gateway_configuration"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumInvalid_issuer) = Value
"invalid_issuer"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumInvalid_login) = Value
"invalid_login"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumInvalid_merchant_type) = Value
"invalid_merchant_type"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumInvalid_name) = Value
"invalid_name"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumInvalid_payment_method) = Value
"invalid_payment_method"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumInvalid_payment_method_hard) = Value
"invalid_payment_method_hard"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumInvalid_transaction) = Value
"invalid_transaction"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumIssuer_unavailable) = Value
"issuer_unavailable"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumLifecycle_decline) = Value
"lifecycle_decline"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumMerch_max_transaction_limit_exceeded) = Value
"merch_max_transaction_limit_exceeded"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumMoneybot_disconnect) = Value
"moneybot_disconnect"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumMoneybot_unavailable) = Value
"moneybot_unavailable"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumNo_billing_information) = Value
"no_billing_information"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumNo_gateway) = Value
"no_gateway"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumNo_gateway_found_for_transaction_amount) = Value
"no_gateway_found_for_transaction_amount"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumPartial_approval) = Value
"partial_approval"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumPartial_credits_not_supported) = Value
"partial_credits_not_supported"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumPayer_authentication_rejected) = Value
"payer_authentication_rejected"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumPayment_cannot_void_authorization) = Value
"payment_cannot_void_authorization"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumPayment_not_accepted) = Value
"payment_not_accepted"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumPaypal_account_issue) = Value
"paypal_account_issue"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumPaypal_cannot_pay_self) = Value
"paypal_cannot_pay_self"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumPaypal_declined_use_alternate) = Value
"paypal_declined_use_alternate"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumPaypal_expired_reference_id) = Value
"paypal_expired_reference_id"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumPaypal_hard_decline) = Value
"paypal_hard_decline"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumPaypal_invalid_billing_agreement) = Value
"paypal_invalid_billing_agreement"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumPaypal_primary_declined) = Value
"paypal_primary_declined"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumProcessor_not_available) = Value
"processor_not_available"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumProcessor_unavailable) = Value
"processor_unavailable"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumRecurly_credentials_not_found) = Value
"recurly_credentials_not_found"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumRecurly_error) = Value
"recurly_error"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumRecurly_failed_to_get_token) = Value
"recurly_failed_to_get_token"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumRecurly_token_mismatch) = Value
"recurly_token_mismatch"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumRecurly_token_not_found) = Value
"recurly_token_not_found"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumReference_transactions_not_enabled) = Value
"reference_transactions_not_enabled"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumRestricted_card) = Value
"restricted_card"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumRestricted_card_chargeback) = Value
"restricted_card_chargeback"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumRjs_token_expired) = Value
"rjs_token_expired"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumRoku_invalid_card_number) = Value
"roku_invalid_card_number"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumRoku_invalid_cib) = Value
"roku_invalid_cib"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumRoku_invalid_payment_method) = Value
"roku_invalid_payment_method"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumRoku_zip_code_mismatch) = Value
"roku_zip_code_mismatch"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumSimultaneous) = Value
"simultaneous"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumSsl_error) = Value
"ssl_error"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumTemporary_hold) = Value
"temporary_hold"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumThree_d_secure_action_required) = Value
"three_d_secure_action_required"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumThree_d_secure_action_result_token_mismatch) = Value
"three_d_secure_action_result_token_mismatch"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumThree_d_secure_authentication) = Value
"three_d_secure_authentication"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumThree_d_secure_connection_error) = Value
"three_d_secure_connection_error"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumThree_d_secure_credential_error) = Value
"three_d_secure_credential_error"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumThree_d_secure_not_supported) = Value
"three_d_secure_not_supported"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumToo_busy) = Value
"too_busy"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumToo_many_attempts) = Value
"too_many_attempts"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumTotal_credit_exceeds_capture) = Value
"total_credit_exceeds_capture"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumTransaction_already_refunded) = Value
"transaction_already_refunded"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumTransaction_already_voided) = Value
"transaction_already_voided"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumTransaction_cannot_be_authorized) = Value
"transaction_cannot_be_authorized"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumTransaction_cannot_be_refunded) = Value
"transaction_cannot_be_refunded"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumTransaction_cannot_be_refunded_currently) = Value
"transaction_cannot_be_refunded_currently"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumTransaction_cannot_be_voided) = Value
"transaction_cannot_be_voided"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumTransaction_failed_to_settle) = Value
"transaction_failed_to_settle"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumTransaction_not_found) = Value
"transaction_not_found"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumTransaction_service_v2_disconnect) = Value
"transaction_service_v2_disconnect"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumTransaction_service_v2_unavailable) = Value
"transaction_service_v2_unavailable"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumTransaction_settled) = Value
"transaction_settled"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumTransaction_stale_at_gateway) = Value
"transaction_stale_at_gateway"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumTry_again) = Value
"try_again"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumUnknown) = Value
"unknown"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumUnmapped_partner_error) = Value
"unmapped_partner_error"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumVaultly_service_unavailable) = Value
"vaultly_service_unavailable"
    toJSON (ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumZero_dollar_auth_not_supported) = Value
"zero_dollar_auth_not_supported"
instance Data.Aeson.Types.FromJSON.FromJSON ErrorMayHaveTransactionTransaction_errorCode where
    parseJSON :: Value -> Parser ErrorMayHaveTransactionTransaction_errorCode
parseJSON Value
val =
        ErrorMayHaveTransactionTransaction_errorCode
-> Parser ErrorMayHaveTransactionTransaction_errorCode
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure
            ( if
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"ach_cancel" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumAch_cancel
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"ach_chargeback" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumAch_chargeback
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"ach_credit_return" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumAch_credit_return
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"ach_exception" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumAch_exception
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"ach_return" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumAch_return
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"ach_transactions_not_supported" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumAch_transactions_not_supported
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"ach_validation_exception" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumAch_validation_exception
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"amazon_amount_exceeded" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumAmazon_amount_exceeded
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"amazon_declined_review" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumAmazon_declined_review
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"amazon_invalid_authorization_status" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumAmazon_invalid_authorization_status
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"amazon_invalid_close_attempt" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumAmazon_invalid_close_attempt
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"amazon_invalid_create_order_reference" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumAmazon_invalid_create_order_reference
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"amazon_invalid_order_status" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumAmazon_invalid_order_status
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"amazon_not_authorized" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumAmazon_not_authorized
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"amazon_order_not_modifiable" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumAmazon_order_not_modifiable
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"amazon_transaction_count_exceeded" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumAmazon_transaction_count_exceeded
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"api_error" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumApi_error
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"approved" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumApproved
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"approved_fraud_review" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumApproved_fraud_review
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"authorization_already_captured" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumAuthorization_already_captured
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"authorization_amount_depleted" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumAuthorization_amount_depleted
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"authorization_expired" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumAuthorization_expired
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"batch_processing_error" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumBatch_processing_error
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"billing_agreement_already_accepted" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumBilling_agreement_already_accepted
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"billing_agreement_not_accepted" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumBilling_agreement_not_accepted
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"billing_agreement_not_found" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumBilling_agreement_not_found
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"billing_agreement_replaced" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumBilling_agreement_replaced
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"call_issuer" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumCall_issuer
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"call_issuer_update_cardholder_data" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumCall_issuer_update_cardholder_data
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"cancelled" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumCancelled
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"cannot_refund_unsettled_transactions" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumCannot_refund_unsettled_transactions
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"card_not_activated" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumCard_not_activated
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"card_type_not_accepted" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumCard_type_not_accepted
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"cardholder_requested_stop" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumCardholder_requested_stop
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"contact_gateway" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumContact_gateway
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"contract_not_found" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumContract_not_found
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"currency_not_supported" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumCurrency_not_supported
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"customer_canceled_transaction" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumCustomer_canceled_transaction
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"cvv_required" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumCvv_required
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"declined" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumDeclined
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"declined_card_number" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumDeclined_card_number
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"declined_exception" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumDeclined_exception
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"declined_expiration_date" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumDeclined_expiration_date
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"declined_missing_data" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumDeclined_missing_data
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"declined_saveable" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumDeclined_saveable
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"declined_security_code" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumDeclined_security_code
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"deposit_referenced_chargeback" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumDeposit_referenced_chargeback
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"direct_debit_type_not_accepted" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumDirect_debit_type_not_accepted
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"duplicate_transaction" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumDuplicate_transaction
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"exceeds_daily_limit" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumExceeds_daily_limit
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"exceeds_max_amount" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumExceeds_max_amount
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"expired_card" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumExpired_card
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"finbot_disconnect" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumFinbot_disconnect
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"finbot_unavailable" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumFinbot_unavailable
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"fraud_address" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumFraud_address
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"fraud_address_recurly" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumFraud_address_recurly
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"fraud_advanced_verification" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumFraud_advanced_verification
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"fraud_gateway" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumFraud_gateway
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"fraud_generic" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumFraud_generic
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"fraud_ip_address" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumFraud_ip_address
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"fraud_manual_decision" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumFraud_manual_decision
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"fraud_risk_check" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumFraud_risk_check
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"fraud_security_code" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumFraud_security_code
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"fraud_stolen_card" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumFraud_stolen_card
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"fraud_too_many_attempts" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumFraud_too_many_attempts
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"fraud_velocity" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumFraud_velocity
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"gateway_account_setup_incomplete" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumGateway_account_setup_incomplete
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"gateway_error" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumGateway_error
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"gateway_rate_limited" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumGateway_rate_limited
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"gateway_timeout" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumGateway_timeout
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"gateway_token_not_found" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumGateway_token_not_found
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"gateway_unavailable" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumGateway_unavailable
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"gateway_validation_exception" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumGateway_validation_exception
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"insufficient_funds" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumInsufficient_funds
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"invalid_account_number" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumInvalid_account_number
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"invalid_amount" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumInvalid_amount
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"invalid_billing_agreement_status" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumInvalid_billing_agreement_status
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"invalid_card_number" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumInvalid_card_number
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"invalid_data" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumInvalid_data
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"invalid_email" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumInvalid_email
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"invalid_gateway_access_token" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumInvalid_gateway_access_token
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"invalid_gateway_configuration" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumInvalid_gateway_configuration
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"invalid_issuer" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumInvalid_issuer
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"invalid_login" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumInvalid_login
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"invalid_merchant_type" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumInvalid_merchant_type
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"invalid_name" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumInvalid_name
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"invalid_payment_method" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumInvalid_payment_method
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"invalid_payment_method_hard" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumInvalid_payment_method_hard
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"invalid_transaction" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumInvalid_transaction
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"issuer_unavailable" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumIssuer_unavailable
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"lifecycle_decline" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumLifecycle_decline
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"merch_max_transaction_limit_exceeded" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumMerch_max_transaction_limit_exceeded
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"moneybot_disconnect" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumMoneybot_disconnect
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"moneybot_unavailable" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumMoneybot_unavailable
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"no_billing_information" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumNo_billing_information
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"no_gateway" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumNo_gateway
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"no_gateway_found_for_transaction_amount" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumNo_gateway_found_for_transaction_amount
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"partial_approval" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumPartial_approval
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"partial_credits_not_supported" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumPartial_credits_not_supported
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"payer_authentication_rejected" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumPayer_authentication_rejected
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"payment_cannot_void_authorization" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumPayment_cannot_void_authorization
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"payment_not_accepted" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumPayment_not_accepted
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"paypal_account_issue" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumPaypal_account_issue
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"paypal_cannot_pay_self" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumPaypal_cannot_pay_self
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"paypal_declined_use_alternate" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumPaypal_declined_use_alternate
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"paypal_expired_reference_id" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumPaypal_expired_reference_id
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"paypal_hard_decline" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumPaypal_hard_decline
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"paypal_invalid_billing_agreement" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumPaypal_invalid_billing_agreement
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"paypal_primary_declined" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumPaypal_primary_declined
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"processor_not_available" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumProcessor_not_available
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"processor_unavailable" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumProcessor_unavailable
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"recurly_credentials_not_found" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumRecurly_credentials_not_found
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"recurly_error" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumRecurly_error
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"recurly_failed_to_get_token" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumRecurly_failed_to_get_token
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"recurly_token_mismatch" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumRecurly_token_mismatch
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"recurly_token_not_found" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumRecurly_token_not_found
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"reference_transactions_not_enabled" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumReference_transactions_not_enabled
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"restricted_card" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumRestricted_card
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"restricted_card_chargeback" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumRestricted_card_chargeback
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"rjs_token_expired" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumRjs_token_expired
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"roku_invalid_card_number" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumRoku_invalid_card_number
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"roku_invalid_cib" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumRoku_invalid_cib
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"roku_invalid_payment_method" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumRoku_invalid_payment_method
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"roku_zip_code_mismatch" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumRoku_zip_code_mismatch
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"simultaneous" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumSimultaneous
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"ssl_error" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumSsl_error
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"temporary_hold" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumTemporary_hold
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"three_d_secure_action_required" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumThree_d_secure_action_required
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"three_d_secure_action_result_token_mismatch" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumThree_d_secure_action_result_token_mismatch
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"three_d_secure_authentication" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumThree_d_secure_authentication
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"three_d_secure_connection_error" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumThree_d_secure_connection_error
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"three_d_secure_credential_error" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumThree_d_secure_credential_error
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"three_d_secure_not_supported" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumThree_d_secure_not_supported
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"too_busy" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumToo_busy
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"too_many_attempts" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumToo_many_attempts
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"total_credit_exceeds_capture" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumTotal_credit_exceeds_capture
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"transaction_already_refunded" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumTransaction_already_refunded
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"transaction_already_voided" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumTransaction_already_voided
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"transaction_cannot_be_authorized" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumTransaction_cannot_be_authorized
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"transaction_cannot_be_refunded" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumTransaction_cannot_be_refunded
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"transaction_cannot_be_refunded_currently" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumTransaction_cannot_be_refunded_currently
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"transaction_cannot_be_voided" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumTransaction_cannot_be_voided
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"transaction_failed_to_settle" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumTransaction_failed_to_settle
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"transaction_not_found" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumTransaction_not_found
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"transaction_service_v2_disconnect" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumTransaction_service_v2_disconnect
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"transaction_service_v2_unavailable" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumTransaction_service_v2_unavailable
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"transaction_settled" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumTransaction_settled
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"transaction_stale_at_gateway" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumTransaction_stale_at_gateway
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"try_again" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumTry_again
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"unknown" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumUnknown
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"unmapped_partner_error" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumUnmapped_partner_error
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"vaultly_service_unavailable" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumVaultly_service_unavailable
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"zero_dollar_auth_not_supported" -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeEnumZero_dollar_auth_not_supported
                | Bool
GHC.Base.otherwise -> Value -> ErrorMayHaveTransactionTransaction_errorCode
ErrorMayHaveTransactionTransaction_errorCodeOther Value
val
            )

-- | Defines the enum schema located at @components.schemas.ErrorMayHaveTransaction.allOf.properties.transaction_error.properties.decline_code@ in the specification.
data ErrorMayHaveTransactionTransaction_errorDecline_code
    = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
      ErrorMayHaveTransactionTransaction_errorDecline_codeOther Data.Aeson.Types.Internal.Value
    | -- | This constructor can be used to send values to the server which are not present in the specification yet.
      ErrorMayHaveTransactionTransaction_errorDecline_codeTyped Data.Text.Internal.Text
    | -- | Represents the JSON value @"account_closed"@
      ErrorMayHaveTransactionTransaction_errorDecline_codeEnumAccount_closed
    | -- | Represents the JSON value @"call_issuer"@
      ErrorMayHaveTransactionTransaction_errorDecline_codeEnumCall_issuer
    | -- | Represents the JSON value @"card_not_activated"@
      ErrorMayHaveTransactionTransaction_errorDecline_codeEnumCard_not_activated
    | -- | Represents the JSON value @"card_not_supported"@
      ErrorMayHaveTransactionTransaction_errorDecline_codeEnumCard_not_supported
    | -- | Represents the JSON value @"cardholder_requested_stop"@
      ErrorMayHaveTransactionTransaction_errorDecline_codeEnumCardholder_requested_stop
    | -- | Represents the JSON value @"do_not_honor"@
      ErrorMayHaveTransactionTransaction_errorDecline_codeEnumDo_not_honor
    | -- | Represents the JSON value @"do_not_try_again"@
      ErrorMayHaveTransactionTransaction_errorDecline_codeEnumDo_not_try_again
    | -- | Represents the JSON value @"exceeds_daily_limit"@
      ErrorMayHaveTransactionTransaction_errorDecline_codeEnumExceeds_daily_limit
    | -- | Represents the JSON value @"generic_decline"@
      ErrorMayHaveTransactionTransaction_errorDecline_codeEnumGeneric_decline
    | -- | Represents the JSON value @"expired_card"@
      ErrorMayHaveTransactionTransaction_errorDecline_codeEnumExpired_card
    | -- | Represents the JSON value @"fraudulent"@
      ErrorMayHaveTransactionTransaction_errorDecline_codeEnumFraudulent
    | -- | Represents the JSON value @"insufficient_funds"@
      ErrorMayHaveTransactionTransaction_errorDecline_codeEnumInsufficient_funds
    | -- | Represents the JSON value @"incorrect_address"@
      ErrorMayHaveTransactionTransaction_errorDecline_codeEnumIncorrect_address
    | -- | Represents the JSON value @"incorrect_security_code"@
      ErrorMayHaveTransactionTransaction_errorDecline_codeEnumIncorrect_security_code
    | -- | Represents the JSON value @"invalid_amount"@
      ErrorMayHaveTransactionTransaction_errorDecline_codeEnumInvalid_amount
    | -- | Represents the JSON value @"invalid_number"@
      ErrorMayHaveTransactionTransaction_errorDecline_codeEnumInvalid_number
    | -- | Represents the JSON value @"invalid_transaction"@
      ErrorMayHaveTransactionTransaction_errorDecline_codeEnumInvalid_transaction
    | -- | Represents the JSON value @"issuer_unavailable"@
      ErrorMayHaveTransactionTransaction_errorDecline_codeEnumIssuer_unavailable
    | -- | Represents the JSON value @"lifecycle_decline"@
      ErrorMayHaveTransactionTransaction_errorDecline_codeEnumLifecycle_decline
    | -- | Represents the JSON value @"lost_card"@
      ErrorMayHaveTransactionTransaction_errorDecline_codeEnumLost_card
    | -- | Represents the JSON value @"pickup_card"@
      ErrorMayHaveTransactionTransaction_errorDecline_codeEnumPickup_card
    | -- | Represents the JSON value @"policy_decline"@
      ErrorMayHaveTransactionTransaction_errorDecline_codeEnumPolicy_decline
    | -- | Represents the JSON value @"restricted_card"@
      ErrorMayHaveTransactionTransaction_errorDecline_codeEnumRestricted_card
    | -- | Represents the JSON value @"restricted_card_chargeback"@
      ErrorMayHaveTransactionTransaction_errorDecline_codeEnumRestricted_card_chargeback
    | -- | Represents the JSON value @"security_decline"@
      ErrorMayHaveTransactionTransaction_errorDecline_codeEnumSecurity_decline
    | -- | Represents the JSON value @"stolen_card"@
      ErrorMayHaveTransactionTransaction_errorDecline_codeEnumStolen_card
    | -- | Represents the JSON value @"try_again"@
      ErrorMayHaveTransactionTransaction_errorDecline_codeEnumTry_again
    | -- | Represents the JSON value @"update_cardholder_data"@
      ErrorMayHaveTransactionTransaction_errorDecline_codeEnumUpdate_cardholder_data
    | -- | Represents the JSON value @"requires_3d_secure"@
      ErrorMayHaveTransactionTransaction_errorDecline_codeEnumRequires_3d_secure
    deriving (Int
-> ErrorMayHaveTransactionTransaction_errorDecline_code -> ShowS
[ErrorMayHaveTransactionTransaction_errorDecline_code] -> ShowS
ErrorMayHaveTransactionTransaction_errorDecline_code -> String
(Int
 -> ErrorMayHaveTransactionTransaction_errorDecline_code -> ShowS)
-> (ErrorMayHaveTransactionTransaction_errorDecline_code -> String)
-> ([ErrorMayHaveTransactionTransaction_errorDecline_code]
    -> ShowS)
-> Show ErrorMayHaveTransactionTransaction_errorDecline_code
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int
-> ErrorMayHaveTransactionTransaction_errorDecline_code -> ShowS
showsPrec :: Int
-> ErrorMayHaveTransactionTransaction_errorDecline_code -> ShowS
$cshow :: ErrorMayHaveTransactionTransaction_errorDecline_code -> String
show :: ErrorMayHaveTransactionTransaction_errorDecline_code -> String
$cshowList :: [ErrorMayHaveTransactionTransaction_errorDecline_code] -> ShowS
showList :: [ErrorMayHaveTransactionTransaction_errorDecline_code] -> ShowS
GHC.Show.Show, ErrorMayHaveTransactionTransaction_errorDecline_code
-> ErrorMayHaveTransactionTransaction_errorDecline_code -> Bool
(ErrorMayHaveTransactionTransaction_errorDecline_code
 -> ErrorMayHaveTransactionTransaction_errorDecline_code -> Bool)
-> (ErrorMayHaveTransactionTransaction_errorDecline_code
    -> ErrorMayHaveTransactionTransaction_errorDecline_code -> Bool)
-> Eq ErrorMayHaveTransactionTransaction_errorDecline_code
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ErrorMayHaveTransactionTransaction_errorDecline_code
-> ErrorMayHaveTransactionTransaction_errorDecline_code -> Bool
== :: ErrorMayHaveTransactionTransaction_errorDecline_code
-> ErrorMayHaveTransactionTransaction_errorDecline_code -> Bool
$c/= :: ErrorMayHaveTransactionTransaction_errorDecline_code
-> ErrorMayHaveTransactionTransaction_errorDecline_code -> Bool
/= :: ErrorMayHaveTransactionTransaction_errorDecline_code
-> ErrorMayHaveTransactionTransaction_errorDecline_code -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON ErrorMayHaveTransactionTransaction_errorDecline_code where
    toJSON :: ErrorMayHaveTransactionTransaction_errorDecline_code -> Value
toJSON (ErrorMayHaveTransactionTransaction_errorDecline_codeOther Value
val) = Value
val
    toJSON (ErrorMayHaveTransactionTransaction_errorDecline_codeTyped Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
    toJSON (ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumAccount_closed) = Value
"account_closed"
    toJSON (ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumCall_issuer) = Value
"call_issuer"
    toJSON (ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumCard_not_activated) = Value
"card_not_activated"
    toJSON (ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumCard_not_supported) = Value
"card_not_supported"
    toJSON (ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumCardholder_requested_stop) = Value
"cardholder_requested_stop"
    toJSON (ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumDo_not_honor) = Value
"do_not_honor"
    toJSON (ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumDo_not_try_again) = Value
"do_not_try_again"
    toJSON (ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumExceeds_daily_limit) = Value
"exceeds_daily_limit"
    toJSON (ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumGeneric_decline) = Value
"generic_decline"
    toJSON (ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumExpired_card) = Value
"expired_card"
    toJSON (ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumFraudulent) = Value
"fraudulent"
    toJSON (ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumInsufficient_funds) = Value
"insufficient_funds"
    toJSON (ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumIncorrect_address) = Value
"incorrect_address"
    toJSON (ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumIncorrect_security_code) = Value
"incorrect_security_code"
    toJSON (ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumInvalid_amount) = Value
"invalid_amount"
    toJSON (ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumInvalid_number) = Value
"invalid_number"
    toJSON (ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumInvalid_transaction) = Value
"invalid_transaction"
    toJSON (ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumIssuer_unavailable) = Value
"issuer_unavailable"
    toJSON (ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumLifecycle_decline) = Value
"lifecycle_decline"
    toJSON (ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumLost_card) = Value
"lost_card"
    toJSON (ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumPickup_card) = Value
"pickup_card"
    toJSON (ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumPolicy_decline) = Value
"policy_decline"
    toJSON (ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumRestricted_card) = Value
"restricted_card"
    toJSON (ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumRestricted_card_chargeback) = Value
"restricted_card_chargeback"
    toJSON (ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumSecurity_decline) = Value
"security_decline"
    toJSON (ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumStolen_card) = Value
"stolen_card"
    toJSON (ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumTry_again) = Value
"try_again"
    toJSON (ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumUpdate_cardholder_data) = Value
"update_cardholder_data"
    toJSON (ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumRequires_3d_secure) = Value
"requires_3d_secure"
instance Data.Aeson.Types.FromJSON.FromJSON ErrorMayHaveTransactionTransaction_errorDecline_code where
    parseJSON :: Value
-> Parser ErrorMayHaveTransactionTransaction_errorDecline_code
parseJSON Value
val =
        ErrorMayHaveTransactionTransaction_errorDecline_code
-> Parser ErrorMayHaveTransactionTransaction_errorDecline_code
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure
            ( if
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"account_closed" -> ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumAccount_closed
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"call_issuer" -> ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumCall_issuer
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"card_not_activated" -> ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumCard_not_activated
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"card_not_supported" -> ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumCard_not_supported
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"cardholder_requested_stop" -> ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumCardholder_requested_stop
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"do_not_honor" -> ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumDo_not_honor
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"do_not_try_again" -> ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumDo_not_try_again
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"exceeds_daily_limit" -> ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumExceeds_daily_limit
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"generic_decline" -> ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumGeneric_decline
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"expired_card" -> ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumExpired_card
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"fraudulent" -> ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumFraudulent
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"insufficient_funds" -> ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumInsufficient_funds
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"incorrect_address" -> ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumIncorrect_address
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"incorrect_security_code" -> ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumIncorrect_security_code
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"invalid_amount" -> ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumInvalid_amount
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"invalid_number" -> ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumInvalid_number
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"invalid_transaction" -> ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumInvalid_transaction
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"issuer_unavailable" -> ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumIssuer_unavailable
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"lifecycle_decline" -> ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumLifecycle_decline
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"lost_card" -> ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumLost_card
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"pickup_card" -> ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumPickup_card
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"policy_decline" -> ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumPolicy_decline
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"restricted_card" -> ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumRestricted_card
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"restricted_card_chargeback" -> ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumRestricted_card_chargeback
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"security_decline" -> ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumSecurity_decline
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"stolen_card" -> ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumStolen_card
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"try_again" -> ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumTry_again
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"update_cardholder_data" -> ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumUpdate_cardholder_data
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"requires_3d_secure" -> ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeEnumRequires_3d_secure
                | Bool
GHC.Base.otherwise -> Value -> ErrorMayHaveTransactionTransaction_errorDecline_code
ErrorMayHaveTransactionTransaction_errorDecline_codeOther Value
val
            )

-- | Defines the enum schema located at @components.schemas.ErrorMayHaveTransaction.allOf.properties.type@ in the specification.
data ErrorMayHaveTransactionType
    = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
      ErrorMayHaveTransactionTypeOther Data.Aeson.Types.Internal.Value
    | -- | This constructor can be used to send values to the server which are not present in the specification yet.
      ErrorMayHaveTransactionTypeTyped Data.Text.Internal.Text
    | -- | Represents the JSON value @"bad_request"@
      ErrorMayHaveTransactionTypeEnumBad_request
    | -- | Represents the JSON value @"immutable_subscription"@
      ErrorMayHaveTransactionTypeEnumImmutable_subscription
    | -- | Represents the JSON value @"internal_server_error"@
      ErrorMayHaveTransactionTypeEnumInternal_server_error
    | -- | Represents the JSON value @"invalid_api_key"@
      ErrorMayHaveTransactionTypeEnumInvalid_api_key
    | -- | Represents the JSON value @"invalid_api_version"@
      ErrorMayHaveTransactionTypeEnumInvalid_api_version
    | -- | Represents the JSON value @"invalid_content_type"@
      ErrorMayHaveTransactionTypeEnumInvalid_content_type
    | -- | Represents the JSON value @"invalid_permissions"@
      ErrorMayHaveTransactionTypeEnumInvalid_permissions
    | -- | Represents the JSON value @"invalid_token"@
      ErrorMayHaveTransactionTypeEnumInvalid_token
    | -- | Represents the JSON value @"missing_feature"@
      ErrorMayHaveTransactionTypeEnumMissing_feature
    | -- | Represents the JSON value @"not_found"@
      ErrorMayHaveTransactionTypeEnumNot_found
    | -- | Represents the JSON value @"rate_limited"@
      ErrorMayHaveTransactionTypeEnumRate_limited
    | -- | Represents the JSON value @"service_not_available"@
      ErrorMayHaveTransactionTypeEnumService_not_available
    | -- | Represents the JSON value @"simultaneous_request"@
      ErrorMayHaveTransactionTypeEnumSimultaneous_request
    | -- | Represents the JSON value @"tax_service_error"@
      ErrorMayHaveTransactionTypeEnumTax_service_error
    | -- | Represents the JSON value @"transaction"@
      ErrorMayHaveTransactionTypeEnumTransaction
    | -- | Represents the JSON value @"unauthorized"@
      ErrorMayHaveTransactionTypeEnumUnauthorized
    | -- | Represents the JSON value @"unavailable_in_api_version"@
      ErrorMayHaveTransactionTypeEnumUnavailable_in_api_version
    | -- | Represents the JSON value @"unknown_api_version"@
      ErrorMayHaveTransactionTypeEnumUnknown_api_version
    | -- | Represents the JSON value @"validation"@
      ErrorMayHaveTransactionTypeEnumValidation
    deriving (Int -> ErrorMayHaveTransactionType -> ShowS
[ErrorMayHaveTransactionType] -> ShowS
ErrorMayHaveTransactionType -> String
(Int -> ErrorMayHaveTransactionType -> ShowS)
-> (ErrorMayHaveTransactionType -> String)
-> ([ErrorMayHaveTransactionType] -> ShowS)
-> Show ErrorMayHaveTransactionType
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ErrorMayHaveTransactionType -> ShowS
showsPrec :: Int -> ErrorMayHaveTransactionType -> ShowS
$cshow :: ErrorMayHaveTransactionType -> String
show :: ErrorMayHaveTransactionType -> String
$cshowList :: [ErrorMayHaveTransactionType] -> ShowS
showList :: [ErrorMayHaveTransactionType] -> ShowS
GHC.Show.Show, ErrorMayHaveTransactionType -> ErrorMayHaveTransactionType -> Bool
(ErrorMayHaveTransactionType
 -> ErrorMayHaveTransactionType -> Bool)
-> (ErrorMayHaveTransactionType
    -> ErrorMayHaveTransactionType -> Bool)
-> Eq ErrorMayHaveTransactionType
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ErrorMayHaveTransactionType -> ErrorMayHaveTransactionType -> Bool
== :: ErrorMayHaveTransactionType -> ErrorMayHaveTransactionType -> Bool
$c/= :: ErrorMayHaveTransactionType -> ErrorMayHaveTransactionType -> Bool
/= :: ErrorMayHaveTransactionType -> ErrorMayHaveTransactionType -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON ErrorMayHaveTransactionType where
    toJSON :: ErrorMayHaveTransactionType -> Value
toJSON (ErrorMayHaveTransactionTypeOther Value
val) = Value
val
    toJSON (ErrorMayHaveTransactionTypeTyped Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
    toJSON (ErrorMayHaveTransactionType
ErrorMayHaveTransactionTypeEnumBad_request) = Value
"bad_request"
    toJSON (ErrorMayHaveTransactionType
ErrorMayHaveTransactionTypeEnumImmutable_subscription) = Value
"immutable_subscription"
    toJSON (ErrorMayHaveTransactionType
ErrorMayHaveTransactionTypeEnumInternal_server_error) = Value
"internal_server_error"
    toJSON (ErrorMayHaveTransactionType
ErrorMayHaveTransactionTypeEnumInvalid_api_key) = Value
"invalid_api_key"
    toJSON (ErrorMayHaveTransactionType
ErrorMayHaveTransactionTypeEnumInvalid_api_version) = Value
"invalid_api_version"
    toJSON (ErrorMayHaveTransactionType
ErrorMayHaveTransactionTypeEnumInvalid_content_type) = Value
"invalid_content_type"
    toJSON (ErrorMayHaveTransactionType
ErrorMayHaveTransactionTypeEnumInvalid_permissions) = Value
"invalid_permissions"
    toJSON (ErrorMayHaveTransactionType
ErrorMayHaveTransactionTypeEnumInvalid_token) = Value
"invalid_token"
    toJSON (ErrorMayHaveTransactionType
ErrorMayHaveTransactionTypeEnumMissing_feature) = Value
"missing_feature"
    toJSON (ErrorMayHaveTransactionType
ErrorMayHaveTransactionTypeEnumNot_found) = Value
"not_found"
    toJSON (ErrorMayHaveTransactionType
ErrorMayHaveTransactionTypeEnumRate_limited) = Value
"rate_limited"
    toJSON (ErrorMayHaveTransactionType
ErrorMayHaveTransactionTypeEnumService_not_available) = Value
"service_not_available"
    toJSON (ErrorMayHaveTransactionType
ErrorMayHaveTransactionTypeEnumSimultaneous_request) = Value
"simultaneous_request"
    toJSON (ErrorMayHaveTransactionType
ErrorMayHaveTransactionTypeEnumTax_service_error) = Value
"tax_service_error"
    toJSON (ErrorMayHaveTransactionType
ErrorMayHaveTransactionTypeEnumTransaction) = Value
"transaction"
    toJSON (ErrorMayHaveTransactionType
ErrorMayHaveTransactionTypeEnumUnauthorized) = Value
"unauthorized"
    toJSON (ErrorMayHaveTransactionType
ErrorMayHaveTransactionTypeEnumUnavailable_in_api_version) = Value
"unavailable_in_api_version"
    toJSON (ErrorMayHaveTransactionType
ErrorMayHaveTransactionTypeEnumUnknown_api_version) = Value
"unknown_api_version"
    toJSON (ErrorMayHaveTransactionType
ErrorMayHaveTransactionTypeEnumValidation) = Value
"validation"
instance Data.Aeson.Types.FromJSON.FromJSON ErrorMayHaveTransactionType where
    parseJSON :: Value -> Parser ErrorMayHaveTransactionType
parseJSON Value
val =
        ErrorMayHaveTransactionType -> Parser ErrorMayHaveTransactionType
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure
            ( if
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"bad_request" -> ErrorMayHaveTransactionType
ErrorMayHaveTransactionTypeEnumBad_request
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"immutable_subscription" -> ErrorMayHaveTransactionType
ErrorMayHaveTransactionTypeEnumImmutable_subscription
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"internal_server_error" -> ErrorMayHaveTransactionType
ErrorMayHaveTransactionTypeEnumInternal_server_error
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"invalid_api_key" -> ErrorMayHaveTransactionType
ErrorMayHaveTransactionTypeEnumInvalid_api_key
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"invalid_api_version" -> ErrorMayHaveTransactionType
ErrorMayHaveTransactionTypeEnumInvalid_api_version
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"invalid_content_type" -> ErrorMayHaveTransactionType
ErrorMayHaveTransactionTypeEnumInvalid_content_type
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"invalid_permissions" -> ErrorMayHaveTransactionType
ErrorMayHaveTransactionTypeEnumInvalid_permissions
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"invalid_token" -> ErrorMayHaveTransactionType
ErrorMayHaveTransactionTypeEnumInvalid_token
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"missing_feature" -> ErrorMayHaveTransactionType
ErrorMayHaveTransactionTypeEnumMissing_feature
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"not_found" -> ErrorMayHaveTransactionType
ErrorMayHaveTransactionTypeEnumNot_found
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"rate_limited" -> ErrorMayHaveTransactionType
ErrorMayHaveTransactionTypeEnumRate_limited
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"service_not_available" -> ErrorMayHaveTransactionType
ErrorMayHaveTransactionTypeEnumService_not_available
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"simultaneous_request" -> ErrorMayHaveTransactionType
ErrorMayHaveTransactionTypeEnumSimultaneous_request
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"tax_service_error" -> ErrorMayHaveTransactionType
ErrorMayHaveTransactionTypeEnumTax_service_error
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"transaction" -> ErrorMayHaveTransactionType
ErrorMayHaveTransactionTypeEnumTransaction
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"unauthorized" -> ErrorMayHaveTransactionType
ErrorMayHaveTransactionTypeEnumUnauthorized
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"unavailable_in_api_version" -> ErrorMayHaveTransactionType
ErrorMayHaveTransactionTypeEnumUnavailable_in_api_version
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"unknown_api_version" -> ErrorMayHaveTransactionType
ErrorMayHaveTransactionTypeEnumUnknown_api_version
                | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"validation" -> ErrorMayHaveTransactionType
ErrorMayHaveTransactionTypeEnumValidation
                | Bool
GHC.Base.otherwise -> Value -> ErrorMayHaveTransactionType
ErrorMayHaveTransactionTypeOther Value
val
            )