{-# LANGUAGE MultiWayIf #-}
{-# LANGUAGE OverloadedStrings #-}
module StripeAPI.Types.Refund 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.Char8
import qualified Data.ByteString.Char8 as Data.ByteString.Internal
import qualified Data.Functor
import qualified Data.Scientific
import qualified Data.Text
import qualified 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 StripeAPI.Common
import StripeAPI.TypeAlias
import {-# SOURCE #-} StripeAPI.Types.BalanceTransaction
import {-# SOURCE #-} StripeAPI.Types.Charge
import {-# SOURCE #-} StripeAPI.Types.PaymentIntent
import {-# SOURCE #-} StripeAPI.Types.TransferReversal
import qualified Prelude as GHC.Integer.Type
import qualified Prelude as GHC.Maybe
data Refund = Refund
{
Refund -> Int
refundAmount :: GHC.Types.Int,
Refund -> Maybe RefundBalanceTransaction'Variants
refundBalanceTransaction :: (GHC.Maybe.Maybe RefundBalanceTransaction'Variants),
Refund -> Maybe RefundCharge'Variants
refundCharge :: (GHC.Maybe.Maybe RefundCharge'Variants),
Refund -> Int
refundCreated :: GHC.Types.Int,
Refund -> Text
refundCurrency :: Data.Text.Internal.Text,
Refund -> Maybe Text
refundDescription :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
Refund -> Maybe RefundFailureBalanceTransaction'Variants
refundFailureBalanceTransaction :: (GHC.Maybe.Maybe RefundFailureBalanceTransaction'Variants),
Refund -> Maybe Text
refundFailureReason :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
Refund -> Text
refundId :: Data.Text.Internal.Text,
Refund -> Maybe Object
refundMetadata :: (GHC.Maybe.Maybe Data.Aeson.Types.Internal.Object),
Refund -> Maybe RefundPaymentIntent'Variants
refundPaymentIntent :: (GHC.Maybe.Maybe RefundPaymentIntent'Variants),
Refund -> Maybe Text
refundReason :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
Refund -> Maybe Text
refundReceiptNumber :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
Refund -> Maybe RefundSourceTransferReversal'Variants
refundSourceTransferReversal :: (GHC.Maybe.Maybe RefundSourceTransferReversal'Variants),
Refund -> Maybe Text
refundStatus :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
Refund -> Maybe RefundTransferReversal'Variants
refundTransferReversal :: (GHC.Maybe.Maybe RefundTransferReversal'Variants)
}
deriving
( Int -> Refund -> ShowS
[Refund] -> ShowS
Refund -> String
(Int -> Refund -> ShowS)
-> (Refund -> String) -> ([Refund] -> ShowS) -> Show Refund
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Refund] -> ShowS
$cshowList :: [Refund] -> ShowS
show :: Refund -> String
$cshow :: Refund -> String
showsPrec :: Int -> Refund -> ShowS
$cshowsPrec :: Int -> Refund -> ShowS
GHC.Show.Show,
Refund -> Refund -> Bool
(Refund -> Refund -> Bool)
-> (Refund -> Refund -> Bool) -> Eq Refund
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Refund -> Refund -> Bool
$c/= :: Refund -> Refund -> Bool
== :: Refund -> Refund -> Bool
$c== :: Refund -> Refund -> Bool
GHC.Classes.Eq
)
instance Data.Aeson.Types.ToJSON.ToJSON Refund where
toJSON :: Refund -> Value
toJSON Refund
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"amount" Text -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Refund -> Int
refundAmount Refund
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"balance_transaction" Text -> Maybe RefundBalanceTransaction'Variants -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Refund -> Maybe RefundBalanceTransaction'Variants
refundBalanceTransaction Refund
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"charge" Text -> Maybe RefundCharge'Variants -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Refund -> Maybe RefundCharge'Variants
refundCharge Refund
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"created" Text -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Refund -> Int
refundCreated Refund
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"currency" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Refund -> Text
refundCurrency Refund
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"description" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Refund -> Maybe Text
refundDescription Refund
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"failure_balance_transaction" Text -> Maybe RefundFailureBalanceTransaction'Variants -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Refund -> Maybe RefundFailureBalanceTransaction'Variants
refundFailureBalanceTransaction Refund
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"failure_reason" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Refund -> Maybe Text
refundFailureReason Refund
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"id" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Refund -> Text
refundId Refund
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"metadata" Text -> Maybe Object -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Refund -> Maybe Object
refundMetadata Refund
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"payment_intent" Text -> Maybe RefundPaymentIntent'Variants -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Refund -> Maybe RefundPaymentIntent'Variants
refundPaymentIntent Refund
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"reason" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Refund -> Maybe Text
refundReason Refund
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"receipt_number" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Refund -> Maybe Text
refundReceiptNumber Refund
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"source_transfer_reversal" Text -> Maybe RefundSourceTransferReversal'Variants -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Refund -> Maybe RefundSourceTransferReversal'Variants
refundSourceTransferReversal Refund
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"status" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Refund -> Maybe Text
refundStatus Refund
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"transfer_reversal" Text -> Maybe RefundTransferReversal'Variants -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Refund -> Maybe RefundTransferReversal'Variants
refundTransferReversal Refund
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"object" Text -> Value -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Text -> Value
Data.Aeson.Types.Internal.String Text
"refund" Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
toEncoding :: Refund -> Encoding
toEncoding Refund
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"amount" Text -> Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Refund -> Int
refundAmount Refund
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"balance_transaction" Text -> Maybe RefundBalanceTransaction'Variants -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Refund -> Maybe RefundBalanceTransaction'Variants
refundBalanceTransaction Refund
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"charge" Text -> Maybe RefundCharge'Variants -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Refund -> Maybe RefundCharge'Variants
refundCharge Refund
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"created" Text -> Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Refund -> Int
refundCreated Refund
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"currency" Text -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Refund -> Text
refundCurrency Refund
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"description" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Refund -> Maybe Text
refundDescription Refund
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"failure_balance_transaction" Text -> Maybe RefundFailureBalanceTransaction'Variants -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Refund -> Maybe RefundFailureBalanceTransaction'Variants
refundFailureBalanceTransaction Refund
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"failure_reason" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Refund -> Maybe Text
refundFailureReason Refund
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"id" Text -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Refund -> Text
refundId Refund
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"metadata" Text -> Maybe Object -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Refund -> Maybe Object
refundMetadata Refund
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"payment_intent" Text -> Maybe RefundPaymentIntent'Variants -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Refund -> Maybe RefundPaymentIntent'Variants
refundPaymentIntent Refund
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"reason" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Refund -> Maybe Text
refundReason Refund
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"receipt_number" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Refund -> Maybe Text
refundReceiptNumber Refund
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"source_transfer_reversal" Text -> Maybe RefundSourceTransferReversal'Variants -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Refund -> Maybe RefundSourceTransferReversal'Variants
refundSourceTransferReversal Refund
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"status" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Refund -> Maybe Text
refundStatus Refund
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"transfer_reversal" Text -> Maybe RefundTransferReversal'Variants -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Refund -> Maybe RefundTransferReversal'Variants
refundTransferReversal Refund
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"object" Text -> Value -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Text -> Value
Data.Aeson.Types.Internal.String Text
"refund")))))))))))))))))
instance Data.Aeson.Types.FromJSON.FromJSON Refund where
parseJSON :: Value -> Parser Refund
parseJSON = String -> (Object -> Parser Refund) -> Value -> Parser Refund
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"Refund" (\Object
obj -> ((((((((((((((((Int
-> Maybe RefundBalanceTransaction'Variants
-> Maybe RefundCharge'Variants
-> Int
-> Text
-> Maybe Text
-> Maybe RefundFailureBalanceTransaction'Variants
-> Maybe Text
-> Text
-> Maybe Object
-> Maybe RefundPaymentIntent'Variants
-> Maybe Text
-> Maybe Text
-> Maybe RefundSourceTransferReversal'Variants
-> Maybe Text
-> Maybe RefundTransferReversal'Variants
-> Refund)
-> Parser
(Int
-> Maybe RefundBalanceTransaction'Variants
-> Maybe RefundCharge'Variants
-> Int
-> Text
-> Maybe Text
-> Maybe RefundFailureBalanceTransaction'Variants
-> Maybe Text
-> Text
-> Maybe Object
-> Maybe RefundPaymentIntent'Variants
-> Maybe Text
-> Maybe Text
-> Maybe RefundSourceTransferReversal'Variants
-> Maybe Text
-> Maybe RefundTransferReversal'Variants
-> Refund)
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Int
-> Maybe RefundBalanceTransaction'Variants
-> Maybe RefundCharge'Variants
-> Int
-> Text
-> Maybe Text
-> Maybe RefundFailureBalanceTransaction'Variants
-> Maybe Text
-> Text
-> Maybe Object
-> Maybe RefundPaymentIntent'Variants
-> Maybe Text
-> Maybe Text
-> Maybe RefundSourceTransferReversal'Variants
-> Maybe Text
-> Maybe RefundTransferReversal'Variants
-> Refund
Refund Parser
(Int
-> Maybe RefundBalanceTransaction'Variants
-> Maybe RefundCharge'Variants
-> Int
-> Text
-> Maybe Text
-> Maybe RefundFailureBalanceTransaction'Variants
-> Maybe Text
-> Text
-> Maybe Object
-> Maybe RefundPaymentIntent'Variants
-> Maybe Text
-> Maybe Text
-> Maybe RefundSourceTransferReversal'Variants
-> Maybe Text
-> Maybe RefundTransferReversal'Variants
-> Refund)
-> Parser Int
-> Parser
(Maybe RefundBalanceTransaction'Variants
-> Maybe RefundCharge'Variants
-> Int
-> Text
-> Maybe Text
-> Maybe RefundFailureBalanceTransaction'Variants
-> Maybe Text
-> Text
-> Maybe Object
-> Maybe RefundPaymentIntent'Variants
-> Maybe Text
-> Maybe Text
-> Maybe RefundSourceTransferReversal'Variants
-> Maybe Text
-> Maybe RefundTransferReversal'Variants
-> Refund)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser Int
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"amount")) Parser
(Maybe RefundBalanceTransaction'Variants
-> Maybe RefundCharge'Variants
-> Int
-> Text
-> Maybe Text
-> Maybe RefundFailureBalanceTransaction'Variants
-> Maybe Text
-> Text
-> Maybe Object
-> Maybe RefundPaymentIntent'Variants
-> Maybe Text
-> Maybe Text
-> Maybe RefundSourceTransferReversal'Variants
-> Maybe Text
-> Maybe RefundTransferReversal'Variants
-> Refund)
-> Parser (Maybe RefundBalanceTransaction'Variants)
-> Parser
(Maybe RefundCharge'Variants
-> Int
-> Text
-> Maybe Text
-> Maybe RefundFailureBalanceTransaction'Variants
-> Maybe Text
-> Text
-> Maybe Object
-> Maybe RefundPaymentIntent'Variants
-> Maybe Text
-> Maybe Text
-> Maybe RefundSourceTransferReversal'Variants
-> Maybe Text
-> Maybe RefundTransferReversal'Variants
-> Refund)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe RefundBalanceTransaction'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"balance_transaction")) Parser
(Maybe RefundCharge'Variants
-> Int
-> Text
-> Maybe Text
-> Maybe RefundFailureBalanceTransaction'Variants
-> Maybe Text
-> Text
-> Maybe Object
-> Maybe RefundPaymentIntent'Variants
-> Maybe Text
-> Maybe Text
-> Maybe RefundSourceTransferReversal'Variants
-> Maybe Text
-> Maybe RefundTransferReversal'Variants
-> Refund)
-> Parser (Maybe RefundCharge'Variants)
-> Parser
(Int
-> Text
-> Maybe Text
-> Maybe RefundFailureBalanceTransaction'Variants
-> Maybe Text
-> Text
-> Maybe Object
-> Maybe RefundPaymentIntent'Variants
-> Maybe Text
-> Maybe Text
-> Maybe RefundSourceTransferReversal'Variants
-> Maybe Text
-> Maybe RefundTransferReversal'Variants
-> Refund)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe RefundCharge'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"charge")) Parser
(Int
-> Text
-> Maybe Text
-> Maybe RefundFailureBalanceTransaction'Variants
-> Maybe Text
-> Text
-> Maybe Object
-> Maybe RefundPaymentIntent'Variants
-> Maybe Text
-> Maybe Text
-> Maybe RefundSourceTransferReversal'Variants
-> Maybe Text
-> Maybe RefundTransferReversal'Variants
-> Refund)
-> Parser Int
-> Parser
(Text
-> Maybe Text
-> Maybe RefundFailureBalanceTransaction'Variants
-> Maybe Text
-> Text
-> Maybe Object
-> Maybe RefundPaymentIntent'Variants
-> Maybe Text
-> Maybe Text
-> Maybe RefundSourceTransferReversal'Variants
-> Maybe Text
-> Maybe RefundTransferReversal'Variants
-> Refund)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser Int
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"created")) Parser
(Text
-> Maybe Text
-> Maybe RefundFailureBalanceTransaction'Variants
-> Maybe Text
-> Text
-> Maybe Object
-> Maybe RefundPaymentIntent'Variants
-> Maybe Text
-> Maybe Text
-> Maybe RefundSourceTransferReversal'Variants
-> Maybe Text
-> Maybe RefundTransferReversal'Variants
-> Refund)
-> Parser Text
-> Parser
(Maybe Text
-> Maybe RefundFailureBalanceTransaction'Variants
-> Maybe Text
-> Text
-> Maybe Object
-> Maybe RefundPaymentIntent'Variants
-> Maybe Text
-> Maybe Text
-> Maybe RefundSourceTransferReversal'Variants
-> Maybe Text
-> Maybe RefundTransferReversal'Variants
-> Refund)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"currency")) Parser
(Maybe Text
-> Maybe RefundFailureBalanceTransaction'Variants
-> Maybe Text
-> Text
-> Maybe Object
-> Maybe RefundPaymentIntent'Variants
-> Maybe Text
-> Maybe Text
-> Maybe RefundSourceTransferReversal'Variants
-> Maybe Text
-> Maybe RefundTransferReversal'Variants
-> Refund)
-> Parser (Maybe Text)
-> Parser
(Maybe RefundFailureBalanceTransaction'Variants
-> Maybe Text
-> Text
-> Maybe Object
-> Maybe RefundPaymentIntent'Variants
-> Maybe Text
-> Maybe Text
-> Maybe RefundSourceTransferReversal'Variants
-> Maybe Text
-> Maybe RefundTransferReversal'Variants
-> Refund)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"description")) Parser
(Maybe RefundFailureBalanceTransaction'Variants
-> Maybe Text
-> Text
-> Maybe Object
-> Maybe RefundPaymentIntent'Variants
-> Maybe Text
-> Maybe Text
-> Maybe RefundSourceTransferReversal'Variants
-> Maybe Text
-> Maybe RefundTransferReversal'Variants
-> Refund)
-> Parser (Maybe RefundFailureBalanceTransaction'Variants)
-> Parser
(Maybe Text
-> Text
-> Maybe Object
-> Maybe RefundPaymentIntent'Variants
-> Maybe Text
-> Maybe Text
-> Maybe RefundSourceTransferReversal'Variants
-> Maybe Text
-> Maybe RefundTransferReversal'Variants
-> Refund)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text -> Parser (Maybe RefundFailureBalanceTransaction'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"failure_balance_transaction")) Parser
(Maybe Text
-> Text
-> Maybe Object
-> Maybe RefundPaymentIntent'Variants
-> Maybe Text
-> Maybe Text
-> Maybe RefundSourceTransferReversal'Variants
-> Maybe Text
-> Maybe RefundTransferReversal'Variants
-> Refund)
-> Parser (Maybe Text)
-> Parser
(Text
-> Maybe Object
-> Maybe RefundPaymentIntent'Variants
-> Maybe Text
-> Maybe Text
-> Maybe RefundSourceTransferReversal'Variants
-> Maybe Text
-> Maybe RefundTransferReversal'Variants
-> Refund)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"failure_reason")) Parser
(Text
-> Maybe Object
-> Maybe RefundPaymentIntent'Variants
-> Maybe Text
-> Maybe Text
-> Maybe RefundSourceTransferReversal'Variants
-> Maybe Text
-> Maybe RefundTransferReversal'Variants
-> Refund)
-> Parser Text
-> Parser
(Maybe Object
-> Maybe RefundPaymentIntent'Variants
-> Maybe Text
-> Maybe Text
-> Maybe RefundSourceTransferReversal'Variants
-> Maybe Text
-> Maybe RefundTransferReversal'Variants
-> Refund)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"id")) Parser
(Maybe Object
-> Maybe RefundPaymentIntent'Variants
-> Maybe Text
-> Maybe Text
-> Maybe RefundSourceTransferReversal'Variants
-> Maybe Text
-> Maybe RefundTransferReversal'Variants
-> Refund)
-> Parser (Maybe Object)
-> Parser
(Maybe RefundPaymentIntent'Variants
-> Maybe Text
-> Maybe Text
-> Maybe RefundSourceTransferReversal'Variants
-> Maybe Text
-> Maybe RefundTransferReversal'Variants
-> Refund)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Object)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"metadata")) Parser
(Maybe RefundPaymentIntent'Variants
-> Maybe Text
-> Maybe Text
-> Maybe RefundSourceTransferReversal'Variants
-> Maybe Text
-> Maybe RefundTransferReversal'Variants
-> Refund)
-> Parser (Maybe RefundPaymentIntent'Variants)
-> Parser
(Maybe Text
-> Maybe Text
-> Maybe RefundSourceTransferReversal'Variants
-> Maybe Text
-> Maybe RefundTransferReversal'Variants
-> Refund)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe RefundPaymentIntent'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"payment_intent")) Parser
(Maybe Text
-> Maybe Text
-> Maybe RefundSourceTransferReversal'Variants
-> Maybe Text
-> Maybe RefundTransferReversal'Variants
-> Refund)
-> Parser (Maybe Text)
-> Parser
(Maybe Text
-> Maybe RefundSourceTransferReversal'Variants
-> Maybe Text
-> Maybe RefundTransferReversal'Variants
-> Refund)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"reason")) Parser
(Maybe Text
-> Maybe RefundSourceTransferReversal'Variants
-> Maybe Text
-> Maybe RefundTransferReversal'Variants
-> Refund)
-> Parser (Maybe Text)
-> Parser
(Maybe RefundSourceTransferReversal'Variants
-> Maybe Text -> Maybe RefundTransferReversal'Variants -> Refund)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"receipt_number")) Parser
(Maybe RefundSourceTransferReversal'Variants
-> Maybe Text -> Maybe RefundTransferReversal'Variants -> Refund)
-> Parser (Maybe RefundSourceTransferReversal'Variants)
-> Parser
(Maybe Text -> Maybe RefundTransferReversal'Variants -> Refund)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text -> Parser (Maybe RefundSourceTransferReversal'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"source_transfer_reversal")) Parser
(Maybe Text -> Maybe RefundTransferReversal'Variants -> Refund)
-> Parser (Maybe Text)
-> Parser (Maybe RefundTransferReversal'Variants -> Refund)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"status")) Parser (Maybe RefundTransferReversal'Variants -> Refund)
-> Parser (Maybe RefundTransferReversal'Variants) -> Parser Refund
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe RefundTransferReversal'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"transfer_reversal"))
mkRefund ::
GHC.Types.Int ->
GHC.Types.Int ->
Data.Text.Internal.Text ->
Data.Text.Internal.Text ->
Refund
mkRefund :: Int -> Int -> Text -> Text -> Refund
mkRefund Int
refundAmount Int
refundCreated Text
refundCurrency Text
refundId =
Refund :: Int
-> Maybe RefundBalanceTransaction'Variants
-> Maybe RefundCharge'Variants
-> Int
-> Text
-> Maybe Text
-> Maybe RefundFailureBalanceTransaction'Variants
-> Maybe Text
-> Text
-> Maybe Object
-> Maybe RefundPaymentIntent'Variants
-> Maybe Text
-> Maybe Text
-> Maybe RefundSourceTransferReversal'Variants
-> Maybe Text
-> Maybe RefundTransferReversal'Variants
-> Refund
Refund
{ refundAmount :: Int
refundAmount = Int
refundAmount,
refundBalanceTransaction :: Maybe RefundBalanceTransaction'Variants
refundBalanceTransaction = Maybe RefundBalanceTransaction'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
refundCharge :: Maybe RefundCharge'Variants
refundCharge = Maybe RefundCharge'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
refundCreated :: Int
refundCreated = Int
refundCreated,
refundCurrency :: Text
refundCurrency = Text
refundCurrency,
refundDescription :: Maybe Text
refundDescription = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
refundFailureBalanceTransaction :: Maybe RefundFailureBalanceTransaction'Variants
refundFailureBalanceTransaction = Maybe RefundFailureBalanceTransaction'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
refundFailureReason :: Maybe Text
refundFailureReason = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
refundId :: Text
refundId = Text
refundId,
refundMetadata :: Maybe Object
refundMetadata = Maybe Object
forall a. Maybe a
GHC.Maybe.Nothing,
refundPaymentIntent :: Maybe RefundPaymentIntent'Variants
refundPaymentIntent = Maybe RefundPaymentIntent'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
refundReason :: Maybe Text
refundReason = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
refundReceiptNumber :: Maybe Text
refundReceiptNumber = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
refundSourceTransferReversal :: Maybe RefundSourceTransferReversal'Variants
refundSourceTransferReversal = Maybe RefundSourceTransferReversal'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
refundStatus :: Maybe Text
refundStatus = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
refundTransferReversal :: Maybe RefundTransferReversal'Variants
refundTransferReversal = Maybe RefundTransferReversal'Variants
forall a. Maybe a
GHC.Maybe.Nothing
}
data RefundBalanceTransaction'Variants
= RefundBalanceTransaction'Text Data.Text.Internal.Text
| RefundBalanceTransaction'BalanceTransaction BalanceTransaction
deriving (Int -> RefundBalanceTransaction'Variants -> ShowS
[RefundBalanceTransaction'Variants] -> ShowS
RefundBalanceTransaction'Variants -> String
(Int -> RefundBalanceTransaction'Variants -> ShowS)
-> (RefundBalanceTransaction'Variants -> String)
-> ([RefundBalanceTransaction'Variants] -> ShowS)
-> Show RefundBalanceTransaction'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [RefundBalanceTransaction'Variants] -> ShowS
$cshowList :: [RefundBalanceTransaction'Variants] -> ShowS
show :: RefundBalanceTransaction'Variants -> String
$cshow :: RefundBalanceTransaction'Variants -> String
showsPrec :: Int -> RefundBalanceTransaction'Variants -> ShowS
$cshowsPrec :: Int -> RefundBalanceTransaction'Variants -> ShowS
GHC.Show.Show, RefundBalanceTransaction'Variants
-> RefundBalanceTransaction'Variants -> Bool
(RefundBalanceTransaction'Variants
-> RefundBalanceTransaction'Variants -> Bool)
-> (RefundBalanceTransaction'Variants
-> RefundBalanceTransaction'Variants -> Bool)
-> Eq RefundBalanceTransaction'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: RefundBalanceTransaction'Variants
-> RefundBalanceTransaction'Variants -> Bool
$c/= :: RefundBalanceTransaction'Variants
-> RefundBalanceTransaction'Variants -> Bool
== :: RefundBalanceTransaction'Variants
-> RefundBalanceTransaction'Variants -> Bool
$c== :: RefundBalanceTransaction'Variants
-> RefundBalanceTransaction'Variants -> Bool
GHC.Classes.Eq)
instance Data.Aeson.Types.ToJSON.ToJSON RefundBalanceTransaction'Variants where
toJSON :: RefundBalanceTransaction'Variants -> Value
toJSON (RefundBalanceTransaction'Text Text
a) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
a
toJSON (RefundBalanceTransaction'BalanceTransaction BalanceTransaction
a) = BalanceTransaction -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON BalanceTransaction
a
instance Data.Aeson.Types.FromJSON.FromJSON RefundBalanceTransaction'Variants where
parseJSON :: Value -> Parser RefundBalanceTransaction'Variants
parseJSON Value
val = case (Text -> RefundBalanceTransaction'Variants
RefundBalanceTransaction'Text (Text -> RefundBalanceTransaction'Variants)
-> Result Text -> Result RefundBalanceTransaction'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result Text
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result RefundBalanceTransaction'Variants
-> Result RefundBalanceTransaction'Variants
-> Result RefundBalanceTransaction'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((BalanceTransaction -> RefundBalanceTransaction'Variants
RefundBalanceTransaction'BalanceTransaction (BalanceTransaction -> RefundBalanceTransaction'Variants)
-> Result BalanceTransaction
-> Result RefundBalanceTransaction'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result BalanceTransaction
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result RefundBalanceTransaction'Variants
-> Result RefundBalanceTransaction'Variants
-> Result RefundBalanceTransaction'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String -> Result RefundBalanceTransaction'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched") of
Data.Aeson.Types.Internal.Success RefundBalanceTransaction'Variants
a -> RefundBalanceTransaction'Variants
-> Parser RefundBalanceTransaction'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure RefundBalanceTransaction'Variants
a
Data.Aeson.Types.Internal.Error String
a -> String -> Parser RefundBalanceTransaction'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a
data RefundCharge'Variants
= RefundCharge'Text Data.Text.Internal.Text
| RefundCharge'Charge Charge
deriving (Int -> RefundCharge'Variants -> ShowS
[RefundCharge'Variants] -> ShowS
RefundCharge'Variants -> String
(Int -> RefundCharge'Variants -> ShowS)
-> (RefundCharge'Variants -> String)
-> ([RefundCharge'Variants] -> ShowS)
-> Show RefundCharge'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [RefundCharge'Variants] -> ShowS
$cshowList :: [RefundCharge'Variants] -> ShowS
show :: RefundCharge'Variants -> String
$cshow :: RefundCharge'Variants -> String
showsPrec :: Int -> RefundCharge'Variants -> ShowS
$cshowsPrec :: Int -> RefundCharge'Variants -> ShowS
GHC.Show.Show, RefundCharge'Variants -> RefundCharge'Variants -> Bool
(RefundCharge'Variants -> RefundCharge'Variants -> Bool)
-> (RefundCharge'Variants -> RefundCharge'Variants -> Bool)
-> Eq RefundCharge'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: RefundCharge'Variants -> RefundCharge'Variants -> Bool
$c/= :: RefundCharge'Variants -> RefundCharge'Variants -> Bool
== :: RefundCharge'Variants -> RefundCharge'Variants -> Bool
$c== :: RefundCharge'Variants -> RefundCharge'Variants -> Bool
GHC.Classes.Eq)
instance Data.Aeson.Types.ToJSON.ToJSON RefundCharge'Variants where
toJSON :: RefundCharge'Variants -> Value
toJSON (RefundCharge'Text Text
a) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
a
toJSON (RefundCharge'Charge Charge
a) = Charge -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Charge
a
instance Data.Aeson.Types.FromJSON.FromJSON RefundCharge'Variants where
parseJSON :: Value -> Parser RefundCharge'Variants
parseJSON Value
val = case (Text -> RefundCharge'Variants
RefundCharge'Text (Text -> RefundCharge'Variants)
-> Result Text -> Result RefundCharge'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result Text
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result RefundCharge'Variants
-> Result RefundCharge'Variants -> Result RefundCharge'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((Charge -> RefundCharge'Variants
RefundCharge'Charge (Charge -> RefundCharge'Variants)
-> Result Charge -> Result RefundCharge'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result Charge
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result RefundCharge'Variants
-> Result RefundCharge'Variants -> Result RefundCharge'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String -> Result RefundCharge'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched") of
Data.Aeson.Types.Internal.Success RefundCharge'Variants
a -> RefundCharge'Variants -> Parser RefundCharge'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure RefundCharge'Variants
a
Data.Aeson.Types.Internal.Error String
a -> String -> Parser RefundCharge'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a
data RefundFailureBalanceTransaction'Variants
= RefundFailureBalanceTransaction'Text Data.Text.Internal.Text
| RefundFailureBalanceTransaction'BalanceTransaction BalanceTransaction
deriving (Int -> RefundFailureBalanceTransaction'Variants -> ShowS
[RefundFailureBalanceTransaction'Variants] -> ShowS
RefundFailureBalanceTransaction'Variants -> String
(Int -> RefundFailureBalanceTransaction'Variants -> ShowS)
-> (RefundFailureBalanceTransaction'Variants -> String)
-> ([RefundFailureBalanceTransaction'Variants] -> ShowS)
-> Show RefundFailureBalanceTransaction'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [RefundFailureBalanceTransaction'Variants] -> ShowS
$cshowList :: [RefundFailureBalanceTransaction'Variants] -> ShowS
show :: RefundFailureBalanceTransaction'Variants -> String
$cshow :: RefundFailureBalanceTransaction'Variants -> String
showsPrec :: Int -> RefundFailureBalanceTransaction'Variants -> ShowS
$cshowsPrec :: Int -> RefundFailureBalanceTransaction'Variants -> ShowS
GHC.Show.Show, RefundFailureBalanceTransaction'Variants
-> RefundFailureBalanceTransaction'Variants -> Bool
(RefundFailureBalanceTransaction'Variants
-> RefundFailureBalanceTransaction'Variants -> Bool)
-> (RefundFailureBalanceTransaction'Variants
-> RefundFailureBalanceTransaction'Variants -> Bool)
-> Eq RefundFailureBalanceTransaction'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: RefundFailureBalanceTransaction'Variants
-> RefundFailureBalanceTransaction'Variants -> Bool
$c/= :: RefundFailureBalanceTransaction'Variants
-> RefundFailureBalanceTransaction'Variants -> Bool
== :: RefundFailureBalanceTransaction'Variants
-> RefundFailureBalanceTransaction'Variants -> Bool
$c== :: RefundFailureBalanceTransaction'Variants
-> RefundFailureBalanceTransaction'Variants -> Bool
GHC.Classes.Eq)
instance Data.Aeson.Types.ToJSON.ToJSON RefundFailureBalanceTransaction'Variants where
toJSON :: RefundFailureBalanceTransaction'Variants -> Value
toJSON (RefundFailureBalanceTransaction'Text Text
a) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
a
toJSON (RefundFailureBalanceTransaction'BalanceTransaction BalanceTransaction
a) = BalanceTransaction -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON BalanceTransaction
a
instance Data.Aeson.Types.FromJSON.FromJSON RefundFailureBalanceTransaction'Variants where
parseJSON :: Value -> Parser RefundFailureBalanceTransaction'Variants
parseJSON Value
val = case (Text -> RefundFailureBalanceTransaction'Variants
RefundFailureBalanceTransaction'Text (Text -> RefundFailureBalanceTransaction'Variants)
-> Result Text -> Result RefundFailureBalanceTransaction'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result Text
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result RefundFailureBalanceTransaction'Variants
-> Result RefundFailureBalanceTransaction'Variants
-> Result RefundFailureBalanceTransaction'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((BalanceTransaction -> RefundFailureBalanceTransaction'Variants
RefundFailureBalanceTransaction'BalanceTransaction (BalanceTransaction -> RefundFailureBalanceTransaction'Variants)
-> Result BalanceTransaction
-> Result RefundFailureBalanceTransaction'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result BalanceTransaction
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result RefundFailureBalanceTransaction'Variants
-> Result RefundFailureBalanceTransaction'Variants
-> Result RefundFailureBalanceTransaction'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String -> Result RefundFailureBalanceTransaction'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched") of
Data.Aeson.Types.Internal.Success RefundFailureBalanceTransaction'Variants
a -> RefundFailureBalanceTransaction'Variants
-> Parser RefundFailureBalanceTransaction'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure RefundFailureBalanceTransaction'Variants
a
Data.Aeson.Types.Internal.Error String
a -> String -> Parser RefundFailureBalanceTransaction'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a
data RefundPaymentIntent'Variants
= RefundPaymentIntent'Text Data.Text.Internal.Text
| RefundPaymentIntent'PaymentIntent PaymentIntent
deriving (Int -> RefundPaymentIntent'Variants -> ShowS
[RefundPaymentIntent'Variants] -> ShowS
RefundPaymentIntent'Variants -> String
(Int -> RefundPaymentIntent'Variants -> ShowS)
-> (RefundPaymentIntent'Variants -> String)
-> ([RefundPaymentIntent'Variants] -> ShowS)
-> Show RefundPaymentIntent'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [RefundPaymentIntent'Variants] -> ShowS
$cshowList :: [RefundPaymentIntent'Variants] -> ShowS
show :: RefundPaymentIntent'Variants -> String
$cshow :: RefundPaymentIntent'Variants -> String
showsPrec :: Int -> RefundPaymentIntent'Variants -> ShowS
$cshowsPrec :: Int -> RefundPaymentIntent'Variants -> ShowS
GHC.Show.Show, RefundPaymentIntent'Variants
-> RefundPaymentIntent'Variants -> Bool
(RefundPaymentIntent'Variants
-> RefundPaymentIntent'Variants -> Bool)
-> (RefundPaymentIntent'Variants
-> RefundPaymentIntent'Variants -> Bool)
-> Eq RefundPaymentIntent'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: RefundPaymentIntent'Variants
-> RefundPaymentIntent'Variants -> Bool
$c/= :: RefundPaymentIntent'Variants
-> RefundPaymentIntent'Variants -> Bool
== :: RefundPaymentIntent'Variants
-> RefundPaymentIntent'Variants -> Bool
$c== :: RefundPaymentIntent'Variants
-> RefundPaymentIntent'Variants -> Bool
GHC.Classes.Eq)
instance Data.Aeson.Types.ToJSON.ToJSON RefundPaymentIntent'Variants where
toJSON :: RefundPaymentIntent'Variants -> Value
toJSON (RefundPaymentIntent'Text Text
a) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
a
toJSON (RefundPaymentIntent'PaymentIntent PaymentIntent
a) = PaymentIntent -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON PaymentIntent
a
instance Data.Aeson.Types.FromJSON.FromJSON RefundPaymentIntent'Variants where
parseJSON :: Value -> Parser RefundPaymentIntent'Variants
parseJSON Value
val = case (Text -> RefundPaymentIntent'Variants
RefundPaymentIntent'Text (Text -> RefundPaymentIntent'Variants)
-> Result Text -> Result RefundPaymentIntent'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result Text
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result RefundPaymentIntent'Variants
-> Result RefundPaymentIntent'Variants
-> Result RefundPaymentIntent'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((PaymentIntent -> RefundPaymentIntent'Variants
RefundPaymentIntent'PaymentIntent (PaymentIntent -> RefundPaymentIntent'Variants)
-> Result PaymentIntent -> Result RefundPaymentIntent'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result PaymentIntent
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result RefundPaymentIntent'Variants
-> Result RefundPaymentIntent'Variants
-> Result RefundPaymentIntent'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String -> Result RefundPaymentIntent'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched") of
Data.Aeson.Types.Internal.Success RefundPaymentIntent'Variants
a -> RefundPaymentIntent'Variants -> Parser RefundPaymentIntent'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure RefundPaymentIntent'Variants
a
Data.Aeson.Types.Internal.Error String
a -> String -> Parser RefundPaymentIntent'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a
data RefundSourceTransferReversal'Variants
= RefundSourceTransferReversal'Text Data.Text.Internal.Text
| RefundSourceTransferReversal'TransferReversal TransferReversal
deriving (Int -> RefundSourceTransferReversal'Variants -> ShowS
[RefundSourceTransferReversal'Variants] -> ShowS
RefundSourceTransferReversal'Variants -> String
(Int -> RefundSourceTransferReversal'Variants -> ShowS)
-> (RefundSourceTransferReversal'Variants -> String)
-> ([RefundSourceTransferReversal'Variants] -> ShowS)
-> Show RefundSourceTransferReversal'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [RefundSourceTransferReversal'Variants] -> ShowS
$cshowList :: [RefundSourceTransferReversal'Variants] -> ShowS
show :: RefundSourceTransferReversal'Variants -> String
$cshow :: RefundSourceTransferReversal'Variants -> String
showsPrec :: Int -> RefundSourceTransferReversal'Variants -> ShowS
$cshowsPrec :: Int -> RefundSourceTransferReversal'Variants -> ShowS
GHC.Show.Show, RefundSourceTransferReversal'Variants
-> RefundSourceTransferReversal'Variants -> Bool
(RefundSourceTransferReversal'Variants
-> RefundSourceTransferReversal'Variants -> Bool)
-> (RefundSourceTransferReversal'Variants
-> RefundSourceTransferReversal'Variants -> Bool)
-> Eq RefundSourceTransferReversal'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: RefundSourceTransferReversal'Variants
-> RefundSourceTransferReversal'Variants -> Bool
$c/= :: RefundSourceTransferReversal'Variants
-> RefundSourceTransferReversal'Variants -> Bool
== :: RefundSourceTransferReversal'Variants
-> RefundSourceTransferReversal'Variants -> Bool
$c== :: RefundSourceTransferReversal'Variants
-> RefundSourceTransferReversal'Variants -> Bool
GHC.Classes.Eq)
instance Data.Aeson.Types.ToJSON.ToJSON RefundSourceTransferReversal'Variants where
toJSON :: RefundSourceTransferReversal'Variants -> Value
toJSON (RefundSourceTransferReversal'Text Text
a) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
a
toJSON (RefundSourceTransferReversal'TransferReversal TransferReversal
a) = TransferReversal -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON TransferReversal
a
instance Data.Aeson.Types.FromJSON.FromJSON RefundSourceTransferReversal'Variants where
parseJSON :: Value -> Parser RefundSourceTransferReversal'Variants
parseJSON Value
val = case (Text -> RefundSourceTransferReversal'Variants
RefundSourceTransferReversal'Text (Text -> RefundSourceTransferReversal'Variants)
-> Result Text -> Result RefundSourceTransferReversal'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result Text
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result RefundSourceTransferReversal'Variants
-> Result RefundSourceTransferReversal'Variants
-> Result RefundSourceTransferReversal'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((TransferReversal -> RefundSourceTransferReversal'Variants
RefundSourceTransferReversal'TransferReversal (TransferReversal -> RefundSourceTransferReversal'Variants)
-> Result TransferReversal
-> Result RefundSourceTransferReversal'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result TransferReversal
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result RefundSourceTransferReversal'Variants
-> Result RefundSourceTransferReversal'Variants
-> Result RefundSourceTransferReversal'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String -> Result RefundSourceTransferReversal'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched") of
Data.Aeson.Types.Internal.Success RefundSourceTransferReversal'Variants
a -> RefundSourceTransferReversal'Variants
-> Parser RefundSourceTransferReversal'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure RefundSourceTransferReversal'Variants
a
Data.Aeson.Types.Internal.Error String
a -> String -> Parser RefundSourceTransferReversal'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a
data RefundTransferReversal'Variants
= RefundTransferReversal'Text Data.Text.Internal.Text
| RefundTransferReversal'TransferReversal TransferReversal
deriving (Int -> RefundTransferReversal'Variants -> ShowS
[RefundTransferReversal'Variants] -> ShowS
RefundTransferReversal'Variants -> String
(Int -> RefundTransferReversal'Variants -> ShowS)
-> (RefundTransferReversal'Variants -> String)
-> ([RefundTransferReversal'Variants] -> ShowS)
-> Show RefundTransferReversal'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [RefundTransferReversal'Variants] -> ShowS
$cshowList :: [RefundTransferReversal'Variants] -> ShowS
show :: RefundTransferReversal'Variants -> String
$cshow :: RefundTransferReversal'Variants -> String
showsPrec :: Int -> RefundTransferReversal'Variants -> ShowS
$cshowsPrec :: Int -> RefundTransferReversal'Variants -> ShowS
GHC.Show.Show, RefundTransferReversal'Variants
-> RefundTransferReversal'Variants -> Bool
(RefundTransferReversal'Variants
-> RefundTransferReversal'Variants -> Bool)
-> (RefundTransferReversal'Variants
-> RefundTransferReversal'Variants -> Bool)
-> Eq RefundTransferReversal'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: RefundTransferReversal'Variants
-> RefundTransferReversal'Variants -> Bool
$c/= :: RefundTransferReversal'Variants
-> RefundTransferReversal'Variants -> Bool
== :: RefundTransferReversal'Variants
-> RefundTransferReversal'Variants -> Bool
$c== :: RefundTransferReversal'Variants
-> RefundTransferReversal'Variants -> Bool
GHC.Classes.Eq)
instance Data.Aeson.Types.ToJSON.ToJSON RefundTransferReversal'Variants where
toJSON :: RefundTransferReversal'Variants -> Value
toJSON (RefundTransferReversal'Text Text
a) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
a
toJSON (RefundTransferReversal'TransferReversal TransferReversal
a) = TransferReversal -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON TransferReversal
a
instance Data.Aeson.Types.FromJSON.FromJSON RefundTransferReversal'Variants where
parseJSON :: Value -> Parser RefundTransferReversal'Variants
parseJSON Value
val = case (Text -> RefundTransferReversal'Variants
RefundTransferReversal'Text (Text -> RefundTransferReversal'Variants)
-> Result Text -> Result RefundTransferReversal'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result Text
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result RefundTransferReversal'Variants
-> Result RefundTransferReversal'Variants
-> Result RefundTransferReversal'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((TransferReversal -> RefundTransferReversal'Variants
RefundTransferReversal'TransferReversal (TransferReversal -> RefundTransferReversal'Variants)
-> Result TransferReversal
-> Result RefundTransferReversal'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result TransferReversal
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result RefundTransferReversal'Variants
-> Result RefundTransferReversal'Variants
-> Result RefundTransferReversal'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String -> Result RefundTransferReversal'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched") of
Data.Aeson.Types.Internal.Success RefundTransferReversal'Variants
a -> RefundTransferReversal'Variants
-> Parser RefundTransferReversal'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure RefundTransferReversal'Variants
a
Data.Aeson.Types.Internal.Error String
a -> String -> Parser RefundTransferReversal'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a