{-# LANGUAGE ExplicitForAll #-}
{-# 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 different functions to run the operation postDisputesDispute
module StripeAPI.Operations.PostDisputesDispute where

import qualified Control.Monad.Fail
import qualified Control.Monad.Trans.Reader
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.Either
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 Data.Vector
import qualified GHC.Base
import qualified GHC.Classes
import qualified GHC.Int
import qualified GHC.Show
import qualified GHC.Types
import qualified Network.HTTP.Client
import qualified Network.HTTP.Client as Network.HTTP.Client.Request
import qualified Network.HTTP.Client as Network.HTTP.Client.Types
import qualified Network.HTTP.Simple
import qualified Network.HTTP.Types
import qualified Network.HTTP.Types as Network.HTTP.Types.Status
import qualified Network.HTTP.Types as Network.HTTP.Types.URI
import qualified StripeAPI.Common
import StripeAPI.Types
import qualified Prelude as GHC.Integer.Type
import qualified Prelude as GHC.Maybe

-- | > POST /v1/disputes/{dispute}
--
-- \<p>When you get a dispute, contacting your customer is always the best first step. If that doesn’t work, you can submit evidence to help us resolve the dispute in your favor. You can do this in your \<a href=\"https:\/\/dashboard.stripe.com\/disputes\">dashboard\<\/a>, but if you prefer, you can use the API to submit evidence programmatically.\<\/p>
--
-- \<p>Depending on your dispute type, different evidence fields will give you a better chance of winning your dispute. To figure out which evidence fields to provide, see our \<a href=\"\/docs\/disputes\/categories\">guide to dispute types\<\/a>.\<\/p>
postDisputesDispute ::
  forall m.
  StripeAPI.Common.MonadHTTP m =>
  -- | dispute | Constraints: Maximum length of 5000
  Data.Text.Internal.Text ->
  -- | The request body to send
  GHC.Maybe.Maybe PostDisputesDisputeRequestBody ->
  -- | Monadic computation which returns the result of the operation
  StripeAPI.Common.StripeT m (Network.HTTP.Client.Types.Response PostDisputesDisputeResponse)
postDisputesDispute :: Text
-> Maybe PostDisputesDisputeRequestBody
-> StripeT m (Response PostDisputesDisputeResponse)
postDisputesDispute
  Text
dispute
  Maybe PostDisputesDisputeRequestBody
body =
    (Response ByteString -> Response PostDisputesDisputeResponse)
-> StripeT m (Response ByteString)
-> StripeT m (Response PostDisputesDisputeResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
GHC.Base.fmap
      ( \Response ByteString
response_0 ->
          (ByteString -> PostDisputesDisputeResponse)
-> Response ByteString -> Response PostDisputesDisputeResponse
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
GHC.Base.fmap
            ( (String -> PostDisputesDisputeResponse)
-> (PostDisputesDisputeResponse -> PostDisputesDisputeResponse)
-> Either String PostDisputesDisputeResponse
-> PostDisputesDisputeResponse
forall a c b. (a -> c) -> (b -> c) -> Either a b -> c
Data.Either.either String -> PostDisputesDisputeResponse
PostDisputesDisputeResponseError PostDisputesDisputeResponse -> PostDisputesDisputeResponse
forall a. a -> a
GHC.Base.id
                (Either String PostDisputesDisputeResponse
 -> PostDisputesDisputeResponse)
-> (ByteString -> Either String PostDisputesDisputeResponse)
-> ByteString
-> PostDisputesDisputeResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. ( \Response ByteString
response ByteString
body ->
                               if
                                   | (\Status
status_1 -> Status -> Int
Network.HTTP.Types.Status.statusCode Status
status_1 Int -> Int -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Int
200) (Response ByteString -> Status
forall body. Response body -> Status
Network.HTTP.Client.Types.responseStatus Response ByteString
response) ->
                                     Dispute -> PostDisputesDisputeResponse
PostDisputesDisputeResponse200
                                       (Dispute -> PostDisputesDisputeResponse)
-> Either String Dispute
-> Either String PostDisputesDisputeResponse
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> ( ByteString -> Either String Dispute
forall a. FromJSON a => ByteString -> Either String a
Data.Aeson.eitherDecodeStrict ByteString
body ::
                                                            Data.Either.Either
                                                              GHC.Base.String
                                                              Dispute
                                                        )
                                   | Bool -> Status -> Bool
forall a b. a -> b -> a
GHC.Base.const Bool
GHC.Types.True (Response ByteString -> Status
forall body. Response body -> Status
Network.HTTP.Client.Types.responseStatus Response ByteString
response) ->
                                     Error -> PostDisputesDisputeResponse
PostDisputesDisputeResponseDefault
                                       (Error -> PostDisputesDisputeResponse)
-> Either String Error -> Either String PostDisputesDisputeResponse
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> ( ByteString -> Either String Error
forall a. FromJSON a => ByteString -> Either String a
Data.Aeson.eitherDecodeStrict ByteString
body ::
                                                            Data.Either.Either
                                                              GHC.Base.String
                                                              Error
                                                        )
                                   | Bool
GHC.Base.otherwise -> String -> Either String PostDisputesDisputeResponse
forall a b. a -> Either a b
Data.Either.Left String
"Missing default response type"
                           )
                  Response ByteString
response_0
            )
            Response ByteString
response_0
      )
      (Text
-> Text
-> [QueryParameter]
-> Maybe PostDisputesDisputeRequestBody
-> RequestBodyEncoding
-> StripeT m (Response ByteString)
forall (m :: * -> *) body.
(MonadHTTP m, ToJSON body) =>
Text
-> Text
-> [QueryParameter]
-> Maybe body
-> RequestBodyEncoding
-> StripeT m (Response ByteString)
StripeAPI.Common.doBodyCallWithConfigurationM (Text -> Text
Data.Text.toUpper (Text -> Text) -> Text -> Text
forall a b. (a -> b) -> a -> b
GHC.Base.$ String -> Text
Data.Text.pack String
"POST") (String -> Text
Data.Text.pack (String
"/v1/disputes/" String -> String -> String
forall a. [a] -> [a] -> [a]
GHC.Base.++ (ByteString -> String
Data.ByteString.Char8.unpack (Bool -> ByteString -> ByteString
Network.HTTP.Types.URI.urlEncode Bool
GHC.Types.True (ByteString -> ByteString) -> ByteString -> ByteString
forall a b. (a -> b) -> a -> b
GHC.Base.$ (String -> ByteString
Data.ByteString.Char8.pack (String -> ByteString) -> String -> ByteString
forall a b. (a -> b) -> a -> b
GHC.Base.$ Text -> String
forall a. StringifyModel a => a -> String
StripeAPI.Common.stringifyModel Text
dispute)) String -> String -> String
forall a. [a] -> [a] -> [a]
GHC.Base.++ String
""))) [QueryParameter]
forall a. Monoid a => a
GHC.Base.mempty Maybe PostDisputesDisputeRequestBody
body RequestBodyEncoding
StripeAPI.Common.RequestBodyEncodingFormData)

-- | Defines the object schema located at @paths.\/v1\/disputes\/{dispute}.POST.requestBody.content.application\/x-www-form-urlencoded.schema@ in the specification.
data PostDisputesDisputeRequestBody = PostDisputesDisputeRequestBody
  { -- | evidence: Evidence to upload, to respond to a dispute. Updating any field in the hash will submit all fields in the hash for review. The combined character count of all fields is limited to 150,000.
    PostDisputesDisputeRequestBody
-> Maybe PostDisputesDisputeRequestBodyEvidence'
postDisputesDisputeRequestBodyEvidence :: (GHC.Maybe.Maybe PostDisputesDisputeRequestBodyEvidence'),
    -- | expand: Specifies which fields in the response should be expanded.
    PostDisputesDisputeRequestBody -> Maybe [Text]
postDisputesDisputeRequestBodyExpand :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text])),
    -- | metadata: Set of [key-value pairs](https:\/\/stripe.com\/docs\/api\/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to \`metadata\`.
    PostDisputesDisputeRequestBody
-> Maybe PostDisputesDisputeRequestBodyMetadata'Variants
postDisputesDisputeRequestBodyMetadata :: (GHC.Maybe.Maybe PostDisputesDisputeRequestBodyMetadata'Variants),
    -- | submit: Whether to immediately submit evidence to the bank. If \`false\`, evidence is staged on the dispute. Staged evidence is visible in the API and Dashboard, and can be submitted to the bank by making another request with this attribute set to \`true\` (the default).
    PostDisputesDisputeRequestBody -> Maybe Bool
postDisputesDisputeRequestBodySubmit :: (GHC.Maybe.Maybe GHC.Types.Bool)
  }
  deriving
    ( Int -> PostDisputesDisputeRequestBody -> String -> String
[PostDisputesDisputeRequestBody] -> String -> String
PostDisputesDisputeRequestBody -> String
(Int -> PostDisputesDisputeRequestBody -> String -> String)
-> (PostDisputesDisputeRequestBody -> String)
-> ([PostDisputesDisputeRequestBody] -> String -> String)
-> Show PostDisputesDisputeRequestBody
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [PostDisputesDisputeRequestBody] -> String -> String
$cshowList :: [PostDisputesDisputeRequestBody] -> String -> String
show :: PostDisputesDisputeRequestBody -> String
$cshow :: PostDisputesDisputeRequestBody -> String
showsPrec :: Int -> PostDisputesDisputeRequestBody -> String -> String
$cshowsPrec :: Int -> PostDisputesDisputeRequestBody -> String -> String
GHC.Show.Show,
      PostDisputesDisputeRequestBody
-> PostDisputesDisputeRequestBody -> Bool
(PostDisputesDisputeRequestBody
 -> PostDisputesDisputeRequestBody -> Bool)
-> (PostDisputesDisputeRequestBody
    -> PostDisputesDisputeRequestBody -> Bool)
-> Eq PostDisputesDisputeRequestBody
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostDisputesDisputeRequestBody
-> PostDisputesDisputeRequestBody -> Bool
$c/= :: PostDisputesDisputeRequestBody
-> PostDisputesDisputeRequestBody -> Bool
== :: PostDisputesDisputeRequestBody
-> PostDisputesDisputeRequestBody -> Bool
$c== :: PostDisputesDisputeRequestBody
-> PostDisputesDisputeRequestBody -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostDisputesDisputeRequestBody where
  toJSON :: PostDisputesDisputeRequestBody -> Value
toJSON PostDisputesDisputeRequestBody
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"evidence" Text -> Maybe PostDisputesDisputeRequestBodyEvidence' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBody
-> Maybe PostDisputesDisputeRequestBodyEvidence'
postDisputesDisputeRequestBodyEvidence PostDisputesDisputeRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"expand" Text -> Maybe [Text] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBody -> Maybe [Text]
postDisputesDisputeRequestBodyExpand PostDisputesDisputeRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"metadata" Text
-> Maybe PostDisputesDisputeRequestBodyMetadata'Variants -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBody
-> Maybe PostDisputesDisputeRequestBodyMetadata'Variants
postDisputesDisputeRequestBodyMetadata PostDisputesDisputeRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"submit" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBody -> Maybe Bool
postDisputesDisputeRequestBodySubmit PostDisputesDisputeRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostDisputesDisputeRequestBody -> Encoding
toEncoding PostDisputesDisputeRequestBody
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"evidence" Text -> Maybe PostDisputesDisputeRequestBodyEvidence' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBody
-> Maybe PostDisputesDisputeRequestBodyEvidence'
postDisputesDisputeRequestBodyEvidence PostDisputesDisputeRequestBody
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"expand" Text -> Maybe [Text] -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBody -> Maybe [Text]
postDisputesDisputeRequestBodyExpand PostDisputesDisputeRequestBody
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"metadata" Text
-> Maybe PostDisputesDisputeRequestBodyMetadata'Variants -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBody
-> Maybe PostDisputesDisputeRequestBodyMetadata'Variants
postDisputesDisputeRequestBodyMetadata PostDisputesDisputeRequestBody
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"submit" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBody -> Maybe Bool
postDisputesDisputeRequestBodySubmit PostDisputesDisputeRequestBody
obj))))

instance Data.Aeson.Types.FromJSON.FromJSON PostDisputesDisputeRequestBody where
  parseJSON :: Value -> Parser PostDisputesDisputeRequestBody
parseJSON = String
-> (Object -> Parser PostDisputesDisputeRequestBody)
-> Value
-> Parser PostDisputesDisputeRequestBody
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostDisputesDisputeRequestBody" (\Object
obj -> ((((Maybe PostDisputesDisputeRequestBodyEvidence'
 -> Maybe [Text]
 -> Maybe PostDisputesDisputeRequestBodyMetadata'Variants
 -> Maybe Bool
 -> PostDisputesDisputeRequestBody)
-> Parser
     (Maybe PostDisputesDisputeRequestBodyEvidence'
      -> Maybe [Text]
      -> Maybe PostDisputesDisputeRequestBodyMetadata'Variants
      -> Maybe Bool
      -> PostDisputesDisputeRequestBody)
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe PostDisputesDisputeRequestBodyEvidence'
-> Maybe [Text]
-> Maybe PostDisputesDisputeRequestBodyMetadata'Variants
-> Maybe Bool
-> PostDisputesDisputeRequestBody
PostDisputesDisputeRequestBody Parser
  (Maybe PostDisputesDisputeRequestBodyEvidence'
   -> Maybe [Text]
   -> Maybe PostDisputesDisputeRequestBodyMetadata'Variants
   -> Maybe Bool
   -> PostDisputesDisputeRequestBody)
-> Parser (Maybe PostDisputesDisputeRequestBodyEvidence')
-> Parser
     (Maybe [Text]
      -> Maybe PostDisputesDisputeRequestBodyMetadata'Variants
      -> Maybe Bool
      -> PostDisputesDisputeRequestBody)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text -> Parser (Maybe PostDisputesDisputeRequestBodyEvidence')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"evidence")) Parser
  (Maybe [Text]
   -> Maybe PostDisputesDisputeRequestBodyMetadata'Variants
   -> Maybe Bool
   -> PostDisputesDisputeRequestBody)
-> Parser (Maybe [Text])
-> Parser
     (Maybe PostDisputesDisputeRequestBodyMetadata'Variants
      -> Maybe Bool -> PostDisputesDisputeRequestBody)
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
"expand")) Parser
  (Maybe PostDisputesDisputeRequestBodyMetadata'Variants
   -> Maybe Bool -> PostDisputesDisputeRequestBody)
-> Parser (Maybe PostDisputesDisputeRequestBodyMetadata'Variants)
-> Parser (Maybe Bool -> PostDisputesDisputeRequestBody)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser (Maybe PostDisputesDisputeRequestBodyMetadata'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"metadata")) Parser (Maybe Bool -> PostDisputesDisputeRequestBody)
-> Parser (Maybe Bool) -> Parser PostDisputesDisputeRequestBody
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"submit"))

-- | Create a new 'PostDisputesDisputeRequestBody' with all required fields.
mkPostDisputesDisputeRequestBody :: PostDisputesDisputeRequestBody
mkPostDisputesDisputeRequestBody :: PostDisputesDisputeRequestBody
mkPostDisputesDisputeRequestBody =
  PostDisputesDisputeRequestBody :: Maybe PostDisputesDisputeRequestBodyEvidence'
-> Maybe [Text]
-> Maybe PostDisputesDisputeRequestBodyMetadata'Variants
-> Maybe Bool
-> PostDisputesDisputeRequestBody
PostDisputesDisputeRequestBody
    { postDisputesDisputeRequestBodyEvidence :: Maybe PostDisputesDisputeRequestBodyEvidence'
postDisputesDisputeRequestBodyEvidence = Maybe PostDisputesDisputeRequestBodyEvidence'
forall a. Maybe a
GHC.Maybe.Nothing,
      postDisputesDisputeRequestBodyExpand :: Maybe [Text]
postDisputesDisputeRequestBodyExpand = Maybe [Text]
forall a. Maybe a
GHC.Maybe.Nothing,
      postDisputesDisputeRequestBodyMetadata :: Maybe PostDisputesDisputeRequestBodyMetadata'Variants
postDisputesDisputeRequestBodyMetadata = Maybe PostDisputesDisputeRequestBodyMetadata'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      postDisputesDisputeRequestBodySubmit :: Maybe Bool
postDisputesDisputeRequestBodySubmit = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the object schema located at @paths.\/v1\/disputes\/{dispute}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.evidence@ in the specification.
--
-- Evidence to upload, to respond to a dispute. Updating any field in the hash will submit all fields in the hash for review. The combined character count of all fields is limited to 150,000.
data PostDisputesDisputeRequestBodyEvidence' = PostDisputesDisputeRequestBodyEvidence'
  { -- | access_activity_log
    --
    -- Constraints:
    --
    -- * Maximum length of 20000
    PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'AccessActivityLog :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | billing_address
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'BillingAddress :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | cancellation_policy
    PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'CancellationPolicy :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | cancellation_policy_disclosure
    --
    -- Constraints:
    --
    -- * Maximum length of 20000
    PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'CancellationPolicyDisclosure :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | cancellation_rebuttal
    --
    -- Constraints:
    --
    -- * Maximum length of 20000
    PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'CancellationRebuttal :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | customer_communication
    PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'CustomerCommunication :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | customer_email_address
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'CustomerEmailAddress :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | customer_name
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'CustomerName :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | customer_purchase_ip
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'CustomerPurchaseIp :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | customer_signature
    PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'CustomerSignature :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | duplicate_charge_documentation
    PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'DuplicateChargeDocumentation :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | duplicate_charge_explanation
    --
    -- Constraints:
    --
    -- * Maximum length of 20000
    PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'DuplicateChargeExplanation :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | duplicate_charge_id
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'DuplicateChargeId :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | product_description
    --
    -- Constraints:
    --
    -- * Maximum length of 20000
    PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'ProductDescription :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | receipt
    PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'Receipt :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | refund_policy
    PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'RefundPolicy :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | refund_policy_disclosure
    --
    -- Constraints:
    --
    -- * Maximum length of 20000
    PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'RefundPolicyDisclosure :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | refund_refusal_explanation
    --
    -- Constraints:
    --
    -- * Maximum length of 20000
    PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'RefundRefusalExplanation :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | service_date
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'ServiceDate :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | service_documentation
    PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'ServiceDocumentation :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | shipping_address
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'ShippingAddress :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | shipping_carrier
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'ShippingCarrier :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | shipping_date
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'ShippingDate :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | shipping_documentation
    PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'ShippingDocumentation :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | shipping_tracking_number
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'ShippingTrackingNumber :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | uncategorized_file
    PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'UncategorizedFile :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | uncategorized_text
    --
    -- Constraints:
    --
    -- * Maximum length of 20000
    PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'UncategorizedText :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int -> PostDisputesDisputeRequestBodyEvidence' -> String -> String
[PostDisputesDisputeRequestBodyEvidence'] -> String -> String
PostDisputesDisputeRequestBodyEvidence' -> String
(Int
 -> PostDisputesDisputeRequestBodyEvidence' -> String -> String)
-> (PostDisputesDisputeRequestBodyEvidence' -> String)
-> ([PostDisputesDisputeRequestBodyEvidence'] -> String -> String)
-> Show PostDisputesDisputeRequestBodyEvidence'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [PostDisputesDisputeRequestBodyEvidence'] -> String -> String
$cshowList :: [PostDisputesDisputeRequestBodyEvidence'] -> String -> String
show :: PostDisputesDisputeRequestBodyEvidence' -> String
$cshow :: PostDisputesDisputeRequestBodyEvidence' -> String
showsPrec :: Int -> PostDisputesDisputeRequestBodyEvidence' -> String -> String
$cshowsPrec :: Int -> PostDisputesDisputeRequestBodyEvidence' -> String -> String
GHC.Show.Show,
      PostDisputesDisputeRequestBodyEvidence'
-> PostDisputesDisputeRequestBodyEvidence' -> Bool
(PostDisputesDisputeRequestBodyEvidence'
 -> PostDisputesDisputeRequestBodyEvidence' -> Bool)
-> (PostDisputesDisputeRequestBodyEvidence'
    -> PostDisputesDisputeRequestBodyEvidence' -> Bool)
-> Eq PostDisputesDisputeRequestBodyEvidence'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostDisputesDisputeRequestBodyEvidence'
-> PostDisputesDisputeRequestBodyEvidence' -> Bool
$c/= :: PostDisputesDisputeRequestBodyEvidence'
-> PostDisputesDisputeRequestBodyEvidence' -> Bool
== :: PostDisputesDisputeRequestBodyEvidence'
-> PostDisputesDisputeRequestBodyEvidence' -> Bool
$c== :: PostDisputesDisputeRequestBodyEvidence'
-> PostDisputesDisputeRequestBodyEvidence' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostDisputesDisputeRequestBodyEvidence' where
  toJSON :: PostDisputesDisputeRequestBodyEvidence' -> Value
toJSON PostDisputesDisputeRequestBodyEvidence'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"access_activity_log" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'AccessActivityLog PostDisputesDisputeRequestBodyEvidence'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"billing_address" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'BillingAddress PostDisputesDisputeRequestBodyEvidence'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"cancellation_policy" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'CancellationPolicy PostDisputesDisputeRequestBodyEvidence'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"cancellation_policy_disclosure" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'CancellationPolicyDisclosure PostDisputesDisputeRequestBodyEvidence'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"cancellation_rebuttal" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'CancellationRebuttal PostDisputesDisputeRequestBodyEvidence'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"customer_communication" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'CustomerCommunication PostDisputesDisputeRequestBodyEvidence'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"customer_email_address" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'CustomerEmailAddress PostDisputesDisputeRequestBodyEvidence'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"customer_name" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'CustomerName PostDisputesDisputeRequestBodyEvidence'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"customer_purchase_ip" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'CustomerPurchaseIp PostDisputesDisputeRequestBodyEvidence'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"customer_signature" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'CustomerSignature PostDisputesDisputeRequestBodyEvidence'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"duplicate_charge_documentation" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'DuplicateChargeDocumentation PostDisputesDisputeRequestBodyEvidence'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"duplicate_charge_explanation" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'DuplicateChargeExplanation PostDisputesDisputeRequestBodyEvidence'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"duplicate_charge_id" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'DuplicateChargeId PostDisputesDisputeRequestBodyEvidence'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"product_description" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'ProductDescription PostDisputesDisputeRequestBodyEvidence'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"receipt" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'Receipt PostDisputesDisputeRequestBodyEvidence'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"refund_policy" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'RefundPolicy PostDisputesDisputeRequestBodyEvidence'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"refund_policy_disclosure" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'RefundPolicyDisclosure PostDisputesDisputeRequestBodyEvidence'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"refund_refusal_explanation" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'RefundRefusalExplanation PostDisputesDisputeRequestBodyEvidence'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"service_date" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'ServiceDate PostDisputesDisputeRequestBodyEvidence'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"service_documentation" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'ServiceDocumentation PostDisputesDisputeRequestBodyEvidence'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"shipping_address" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'ShippingAddress PostDisputesDisputeRequestBodyEvidence'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"shipping_carrier" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'ShippingCarrier PostDisputesDisputeRequestBodyEvidence'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"shipping_date" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'ShippingDate PostDisputesDisputeRequestBodyEvidence'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"shipping_documentation" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'ShippingDocumentation PostDisputesDisputeRequestBodyEvidence'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"shipping_tracking_number" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'ShippingTrackingNumber PostDisputesDisputeRequestBodyEvidence'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"uncategorized_file" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'UncategorizedFile PostDisputesDisputeRequestBodyEvidence'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"uncategorized_text" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'UncategorizedText PostDisputesDisputeRequestBodyEvidence'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostDisputesDisputeRequestBodyEvidence' -> Encoding
toEncoding PostDisputesDisputeRequestBodyEvidence'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"access_activity_log" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'AccessActivityLog PostDisputesDisputeRequestBodyEvidence'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"billing_address" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'BillingAddress PostDisputesDisputeRequestBodyEvidence'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"cancellation_policy" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'CancellationPolicy PostDisputesDisputeRequestBodyEvidence'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"cancellation_policy_disclosure" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'CancellationPolicyDisclosure PostDisputesDisputeRequestBodyEvidence'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"cancellation_rebuttal" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'CancellationRebuttal PostDisputesDisputeRequestBodyEvidence'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"customer_communication" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'CustomerCommunication PostDisputesDisputeRequestBodyEvidence'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"customer_email_address" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'CustomerEmailAddress PostDisputesDisputeRequestBodyEvidence'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"customer_name" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'CustomerName PostDisputesDisputeRequestBodyEvidence'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"customer_purchase_ip" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'CustomerPurchaseIp PostDisputesDisputeRequestBodyEvidence'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"customer_signature" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'CustomerSignature PostDisputesDisputeRequestBodyEvidence'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"duplicate_charge_documentation" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'DuplicateChargeDocumentation PostDisputesDisputeRequestBodyEvidence'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"duplicate_charge_explanation" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'DuplicateChargeExplanation PostDisputesDisputeRequestBodyEvidence'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"duplicate_charge_id" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'DuplicateChargeId PostDisputesDisputeRequestBodyEvidence'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"product_description" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'ProductDescription PostDisputesDisputeRequestBodyEvidence'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"receipt" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'Receipt PostDisputesDisputeRequestBodyEvidence'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"refund_policy" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'RefundPolicy PostDisputesDisputeRequestBodyEvidence'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"refund_policy_disclosure" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'RefundPolicyDisclosure PostDisputesDisputeRequestBodyEvidence'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"refund_refusal_explanation" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'RefundRefusalExplanation PostDisputesDisputeRequestBodyEvidence'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"service_date" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'ServiceDate PostDisputesDisputeRequestBodyEvidence'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"service_documentation" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'ServiceDocumentation PostDisputesDisputeRequestBodyEvidence'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"shipping_address" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'ShippingAddress PostDisputesDisputeRequestBodyEvidence'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"shipping_carrier" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'ShippingCarrier PostDisputesDisputeRequestBodyEvidence'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"shipping_date" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'ShippingDate PostDisputesDisputeRequestBodyEvidence'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"shipping_documentation" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'ShippingDocumentation PostDisputesDisputeRequestBodyEvidence'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"shipping_tracking_number" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'ShippingTrackingNumber PostDisputesDisputeRequestBodyEvidence'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"uncategorized_file" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'UncategorizedFile PostDisputesDisputeRequestBodyEvidence'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"uncategorized_text" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostDisputesDisputeRequestBodyEvidence' -> Maybe Text
postDisputesDisputeRequestBodyEvidence'UncategorizedText PostDisputesDisputeRequestBodyEvidence'
obj)))))))))))))))))))))))))))

instance Data.Aeson.Types.FromJSON.FromJSON PostDisputesDisputeRequestBodyEvidence' where
  parseJSON :: Value -> Parser PostDisputesDisputeRequestBodyEvidence'
parseJSON = String
-> (Object -> Parser PostDisputesDisputeRequestBodyEvidence')
-> Value
-> Parser PostDisputesDisputeRequestBodyEvidence'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostDisputesDisputeRequestBodyEvidence'" (\Object
obj -> (((((((((((((((((((((((((((Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> PostDisputesDisputeRequestBodyEvidence')
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostDisputesDisputeRequestBodyEvidence')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> PostDisputesDisputeRequestBodyEvidence'
PostDisputesDisputeRequestBodyEvidence' Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> PostDisputesDisputeRequestBodyEvidence')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostDisputesDisputeRequestBodyEvidence')
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
"access_activity_log")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> PostDisputesDisputeRequestBodyEvidence')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostDisputesDisputeRequestBodyEvidence')
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
"billing_address")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> PostDisputesDisputeRequestBodyEvidence')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostDisputesDisputeRequestBodyEvidence')
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
"cancellation_policy")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> PostDisputesDisputeRequestBodyEvidence')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostDisputesDisputeRequestBodyEvidence')
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
"cancellation_policy_disclosure")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> PostDisputesDisputeRequestBodyEvidence')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostDisputesDisputeRequestBodyEvidence')
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
"cancellation_rebuttal")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> PostDisputesDisputeRequestBodyEvidence')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostDisputesDisputeRequestBodyEvidence')
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
"customer_communication")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> PostDisputesDisputeRequestBodyEvidence')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostDisputesDisputeRequestBodyEvidence')
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
"customer_email_address")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> PostDisputesDisputeRequestBodyEvidence')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostDisputesDisputeRequestBodyEvidence')
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
"customer_name")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> PostDisputesDisputeRequestBodyEvidence')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostDisputesDisputeRequestBodyEvidence')
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
"customer_purchase_ip")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> PostDisputesDisputeRequestBodyEvidence')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostDisputesDisputeRequestBodyEvidence')
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
"customer_signature")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> PostDisputesDisputeRequestBodyEvidence')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostDisputesDisputeRequestBodyEvidence')
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
"duplicate_charge_documentation")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> PostDisputesDisputeRequestBodyEvidence')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostDisputesDisputeRequestBodyEvidence')
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
"duplicate_charge_explanation")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> PostDisputesDisputeRequestBodyEvidence')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostDisputesDisputeRequestBodyEvidence')
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
"duplicate_charge_id")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> PostDisputesDisputeRequestBodyEvidence')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostDisputesDisputeRequestBodyEvidence')
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
"product_description")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> PostDisputesDisputeRequestBodyEvidence')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostDisputesDisputeRequestBodyEvidence')
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")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> PostDisputesDisputeRequestBodyEvidence')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostDisputesDisputeRequestBodyEvidence')
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
"refund_policy")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> PostDisputesDisputeRequestBodyEvidence')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostDisputesDisputeRequestBodyEvidence')
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
"refund_policy_disclosure")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> PostDisputesDisputeRequestBodyEvidence')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostDisputesDisputeRequestBodyEvidence')
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
"refund_refusal_explanation")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> PostDisputesDisputeRequestBodyEvidence')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostDisputesDisputeRequestBodyEvidence')
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
"service_date")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> PostDisputesDisputeRequestBodyEvidence')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostDisputesDisputeRequestBodyEvidence')
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
"service_documentation")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> PostDisputesDisputeRequestBodyEvidence')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostDisputesDisputeRequestBodyEvidence')
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
"shipping_address")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> PostDisputesDisputeRequestBodyEvidence')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostDisputesDisputeRequestBodyEvidence')
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
"shipping_carrier")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> PostDisputesDisputeRequestBodyEvidence')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostDisputesDisputeRequestBodyEvidence')
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
"shipping_date")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> PostDisputesDisputeRequestBodyEvidence')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostDisputesDisputeRequestBodyEvidence')
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
"shipping_documentation")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> PostDisputesDisputeRequestBodyEvidence')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text -> PostDisputesDisputeRequestBodyEvidence')
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
"shipping_tracking_number")) Parser
  (Maybe Text
   -> Maybe Text -> PostDisputesDisputeRequestBodyEvidence')
-> Parser (Maybe Text)
-> Parser (Maybe Text -> PostDisputesDisputeRequestBodyEvidence')
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
"uncategorized_file")) Parser (Maybe Text -> PostDisputesDisputeRequestBodyEvidence')
-> Parser (Maybe Text)
-> Parser PostDisputesDisputeRequestBodyEvidence'
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
"uncategorized_text"))

-- | Create a new 'PostDisputesDisputeRequestBodyEvidence'' with all required fields.
mkPostDisputesDisputeRequestBodyEvidence' :: PostDisputesDisputeRequestBodyEvidence'
mkPostDisputesDisputeRequestBodyEvidence' :: PostDisputesDisputeRequestBodyEvidence'
mkPostDisputesDisputeRequestBodyEvidence' =
  PostDisputesDisputeRequestBodyEvidence' :: Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> PostDisputesDisputeRequestBodyEvidence'
PostDisputesDisputeRequestBodyEvidence'
    { postDisputesDisputeRequestBodyEvidence'AccessActivityLog :: Maybe Text
postDisputesDisputeRequestBodyEvidence'AccessActivityLog = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postDisputesDisputeRequestBodyEvidence'BillingAddress :: Maybe Text
postDisputesDisputeRequestBodyEvidence'BillingAddress = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postDisputesDisputeRequestBodyEvidence'CancellationPolicy :: Maybe Text
postDisputesDisputeRequestBodyEvidence'CancellationPolicy = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postDisputesDisputeRequestBodyEvidence'CancellationPolicyDisclosure :: Maybe Text
postDisputesDisputeRequestBodyEvidence'CancellationPolicyDisclosure = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postDisputesDisputeRequestBodyEvidence'CancellationRebuttal :: Maybe Text
postDisputesDisputeRequestBodyEvidence'CancellationRebuttal = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postDisputesDisputeRequestBodyEvidence'CustomerCommunication :: Maybe Text
postDisputesDisputeRequestBodyEvidence'CustomerCommunication = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postDisputesDisputeRequestBodyEvidence'CustomerEmailAddress :: Maybe Text
postDisputesDisputeRequestBodyEvidence'CustomerEmailAddress = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postDisputesDisputeRequestBodyEvidence'CustomerName :: Maybe Text
postDisputesDisputeRequestBodyEvidence'CustomerName = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postDisputesDisputeRequestBodyEvidence'CustomerPurchaseIp :: Maybe Text
postDisputesDisputeRequestBodyEvidence'CustomerPurchaseIp = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postDisputesDisputeRequestBodyEvidence'CustomerSignature :: Maybe Text
postDisputesDisputeRequestBodyEvidence'CustomerSignature = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postDisputesDisputeRequestBodyEvidence'DuplicateChargeDocumentation :: Maybe Text
postDisputesDisputeRequestBodyEvidence'DuplicateChargeDocumentation = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postDisputesDisputeRequestBodyEvidence'DuplicateChargeExplanation :: Maybe Text
postDisputesDisputeRequestBodyEvidence'DuplicateChargeExplanation = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postDisputesDisputeRequestBodyEvidence'DuplicateChargeId :: Maybe Text
postDisputesDisputeRequestBodyEvidence'DuplicateChargeId = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postDisputesDisputeRequestBodyEvidence'ProductDescription :: Maybe Text
postDisputesDisputeRequestBodyEvidence'ProductDescription = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postDisputesDisputeRequestBodyEvidence'Receipt :: Maybe Text
postDisputesDisputeRequestBodyEvidence'Receipt = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postDisputesDisputeRequestBodyEvidence'RefundPolicy :: Maybe Text
postDisputesDisputeRequestBodyEvidence'RefundPolicy = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postDisputesDisputeRequestBodyEvidence'RefundPolicyDisclosure :: Maybe Text
postDisputesDisputeRequestBodyEvidence'RefundPolicyDisclosure = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postDisputesDisputeRequestBodyEvidence'RefundRefusalExplanation :: Maybe Text
postDisputesDisputeRequestBodyEvidence'RefundRefusalExplanation = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postDisputesDisputeRequestBodyEvidence'ServiceDate :: Maybe Text
postDisputesDisputeRequestBodyEvidence'ServiceDate = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postDisputesDisputeRequestBodyEvidence'ServiceDocumentation :: Maybe Text
postDisputesDisputeRequestBodyEvidence'ServiceDocumentation = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postDisputesDisputeRequestBodyEvidence'ShippingAddress :: Maybe Text
postDisputesDisputeRequestBodyEvidence'ShippingAddress = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postDisputesDisputeRequestBodyEvidence'ShippingCarrier :: Maybe Text
postDisputesDisputeRequestBodyEvidence'ShippingCarrier = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postDisputesDisputeRequestBodyEvidence'ShippingDate :: Maybe Text
postDisputesDisputeRequestBodyEvidence'ShippingDate = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postDisputesDisputeRequestBodyEvidence'ShippingDocumentation :: Maybe Text
postDisputesDisputeRequestBodyEvidence'ShippingDocumentation = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postDisputesDisputeRequestBodyEvidence'ShippingTrackingNumber :: Maybe Text
postDisputesDisputeRequestBodyEvidence'ShippingTrackingNumber = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postDisputesDisputeRequestBodyEvidence'UncategorizedFile :: Maybe Text
postDisputesDisputeRequestBodyEvidence'UncategorizedFile = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postDisputesDisputeRequestBodyEvidence'UncategorizedText :: Maybe Text
postDisputesDisputeRequestBodyEvidence'UncategorizedText = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the oneOf schema located at @paths.\/v1\/disputes\/{dispute}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.metadata.anyOf@ in the specification.
--
-- Set of [key-value pairs](https:\/\/stripe.com\/docs\/api\/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to \`metadata\`.
data PostDisputesDisputeRequestBodyMetadata'Variants
  = -- | Represents the JSON value @""@
    PostDisputesDisputeRequestBodyMetadata'EmptyString
  | PostDisputesDisputeRequestBodyMetadata'Object Data.Aeson.Types.Internal.Object
  deriving (Int
-> PostDisputesDisputeRequestBodyMetadata'Variants
-> String
-> String
[PostDisputesDisputeRequestBodyMetadata'Variants]
-> String -> String
PostDisputesDisputeRequestBodyMetadata'Variants -> String
(Int
 -> PostDisputesDisputeRequestBodyMetadata'Variants
 -> String
 -> String)
-> (PostDisputesDisputeRequestBodyMetadata'Variants -> String)
-> ([PostDisputesDisputeRequestBodyMetadata'Variants]
    -> String -> String)
-> Show PostDisputesDisputeRequestBodyMetadata'Variants
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [PostDisputesDisputeRequestBodyMetadata'Variants]
-> String -> String
$cshowList :: [PostDisputesDisputeRequestBodyMetadata'Variants]
-> String -> String
show :: PostDisputesDisputeRequestBodyMetadata'Variants -> String
$cshow :: PostDisputesDisputeRequestBodyMetadata'Variants -> String
showsPrec :: Int
-> PostDisputesDisputeRequestBodyMetadata'Variants
-> String
-> String
$cshowsPrec :: Int
-> PostDisputesDisputeRequestBodyMetadata'Variants
-> String
-> String
GHC.Show.Show, PostDisputesDisputeRequestBodyMetadata'Variants
-> PostDisputesDisputeRequestBodyMetadata'Variants -> Bool
(PostDisputesDisputeRequestBodyMetadata'Variants
 -> PostDisputesDisputeRequestBodyMetadata'Variants -> Bool)
-> (PostDisputesDisputeRequestBodyMetadata'Variants
    -> PostDisputesDisputeRequestBodyMetadata'Variants -> Bool)
-> Eq PostDisputesDisputeRequestBodyMetadata'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostDisputesDisputeRequestBodyMetadata'Variants
-> PostDisputesDisputeRequestBodyMetadata'Variants -> Bool
$c/= :: PostDisputesDisputeRequestBodyMetadata'Variants
-> PostDisputesDisputeRequestBodyMetadata'Variants -> Bool
== :: PostDisputesDisputeRequestBodyMetadata'Variants
-> PostDisputesDisputeRequestBodyMetadata'Variants -> Bool
$c== :: PostDisputesDisputeRequestBodyMetadata'Variants
-> PostDisputesDisputeRequestBodyMetadata'Variants -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON PostDisputesDisputeRequestBodyMetadata'Variants where
  toJSON :: PostDisputesDisputeRequestBodyMetadata'Variants -> Value
toJSON (PostDisputesDisputeRequestBodyMetadata'Object Object
a) = Object -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Object
a
  toJSON (PostDisputesDisputeRequestBodyMetadata'Variants
PostDisputesDisputeRequestBodyMetadata'EmptyString) = Value
""

instance Data.Aeson.Types.FromJSON.FromJSON PostDisputesDisputeRequestBodyMetadata'Variants where
  parseJSON :: Value -> Parser PostDisputesDisputeRequestBodyMetadata'Variants
parseJSON Value
val =
    if
        | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"" -> PostDisputesDisputeRequestBodyMetadata'Variants
-> Parser PostDisputesDisputeRequestBodyMetadata'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure PostDisputesDisputeRequestBodyMetadata'Variants
PostDisputesDisputeRequestBodyMetadata'EmptyString
        | Bool
GHC.Base.otherwise -> case (Object -> PostDisputesDisputeRequestBodyMetadata'Variants
PostDisputesDisputeRequestBodyMetadata'Object (Object -> PostDisputesDisputeRequestBodyMetadata'Variants)
-> Result Object
-> Result PostDisputesDisputeRequestBodyMetadata'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result Object
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result PostDisputesDisputeRequestBodyMetadata'Variants
-> Result PostDisputesDisputeRequestBodyMetadata'Variants
-> Result PostDisputesDisputeRequestBodyMetadata'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String -> Result PostDisputesDisputeRequestBodyMetadata'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched" of
          Data.Aeson.Types.Internal.Success PostDisputesDisputeRequestBodyMetadata'Variants
a -> PostDisputesDisputeRequestBodyMetadata'Variants
-> Parser PostDisputesDisputeRequestBodyMetadata'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure PostDisputesDisputeRequestBodyMetadata'Variants
a
          Data.Aeson.Types.Internal.Error String
a -> String -> Parser PostDisputesDisputeRequestBodyMetadata'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a

-- | Represents a response of the operation 'postDisputesDispute'.
--
-- The response constructor is chosen by the status code of the response. If no case matches (no specific case for the response code, no range case, no default case), 'PostDisputesDisputeResponseError' is used.
data PostDisputesDisputeResponse
  = -- | Means either no matching case available or a parse error
    PostDisputesDisputeResponseError GHC.Base.String
  | -- | Successful response.
    PostDisputesDisputeResponse200 Dispute
  | -- | Error response.
    PostDisputesDisputeResponseDefault Error
  deriving (Int -> PostDisputesDisputeResponse -> String -> String
[PostDisputesDisputeResponse] -> String -> String
PostDisputesDisputeResponse -> String
(Int -> PostDisputesDisputeResponse -> String -> String)
-> (PostDisputesDisputeResponse -> String)
-> ([PostDisputesDisputeResponse] -> String -> String)
-> Show PostDisputesDisputeResponse
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [PostDisputesDisputeResponse] -> String -> String
$cshowList :: [PostDisputesDisputeResponse] -> String -> String
show :: PostDisputesDisputeResponse -> String
$cshow :: PostDisputesDisputeResponse -> String
showsPrec :: Int -> PostDisputesDisputeResponse -> String -> String
$cshowsPrec :: Int -> PostDisputesDisputeResponse -> String -> String
GHC.Show.Show, PostDisputesDisputeResponse -> PostDisputesDisputeResponse -> Bool
(PostDisputesDisputeResponse
 -> PostDisputesDisputeResponse -> Bool)
-> (PostDisputesDisputeResponse
    -> PostDisputesDisputeResponse -> Bool)
-> Eq PostDisputesDisputeResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostDisputesDisputeResponse -> PostDisputesDisputeResponse -> Bool
$c/= :: PostDisputesDisputeResponse -> PostDisputesDisputeResponse -> Bool
== :: PostDisputesDisputeResponse -> PostDisputesDisputeResponse -> Bool
$c== :: PostDisputesDisputeResponse -> PostDisputesDisputeResponse -> Bool
GHC.Classes.Eq)