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

-- | Contains the types generated from the schema DisputeEvidence
module StripeAPI.Types.DisputeEvidence 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.File
import qualified Prelude as GHC.Integer.Type
import qualified Prelude as GHC.Maybe

-- | Defines the object schema located at @components.schemas.dispute_evidence@ in the specification.
data DisputeEvidence = DisputeEvidence
  { -- | access_activity_log: Any server or activity logs showing proof that the customer accessed or downloaded the purchased digital product. This information should include IP addresses, corresponding timestamps, and any detailed recorded activity.
    --
    -- Constraints:
    --
    -- * Maximum length of 150000
    DisputeEvidence -> Maybe Text
disputeEvidenceAccessActivityLog :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | billing_address: The billing address provided by the customer.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DisputeEvidence -> Maybe Text
disputeEvidenceBillingAddress :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | cancellation_policy: (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Your subscription cancellation policy, as shown to the customer.
    DisputeEvidence -> Maybe DisputeEvidenceCancellationPolicy'Variants
disputeEvidenceCancellationPolicy :: (GHC.Maybe.Maybe DisputeEvidenceCancellationPolicy'Variants),
    -- | cancellation_policy_disclosure: An explanation of how and when the customer was shown your refund policy prior to purchase.
    --
    -- Constraints:
    --
    -- * Maximum length of 150000
    DisputeEvidence -> Maybe Text
disputeEvidenceCancellationPolicyDisclosure :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | cancellation_rebuttal: A justification for why the customer\'s subscription was not canceled.
    --
    -- Constraints:
    --
    -- * Maximum length of 150000
    DisputeEvidence -> Maybe Text
disputeEvidenceCancellationRebuttal :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | customer_communication: (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Any communication with the customer that you feel is relevant to your case. Examples include emails proving that the customer received the product or service, or demonstrating their use of or satisfaction with the product or service.
    DisputeEvidence
-> Maybe DisputeEvidenceCustomerCommunication'Variants
disputeEvidenceCustomerCommunication :: (GHC.Maybe.Maybe DisputeEvidenceCustomerCommunication'Variants),
    -- | customer_email_address: The email address of the customer.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DisputeEvidence -> Maybe Text
disputeEvidenceCustomerEmailAddress :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | customer_name: The name of the customer.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DisputeEvidence -> Maybe Text
disputeEvidenceCustomerName :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | customer_purchase_ip: The IP address that the customer used when making the purchase.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DisputeEvidence -> Maybe Text
disputeEvidenceCustomerPurchaseIp :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | customer_signature: (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) A relevant document or contract showing the customer\'s signature.
    DisputeEvidence -> Maybe DisputeEvidenceCustomerSignature'Variants
disputeEvidenceCustomerSignature :: (GHC.Maybe.Maybe DisputeEvidenceCustomerSignature'Variants),
    -- | duplicate_charge_documentation: (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Documentation for the prior charge that can uniquely identify the charge, such as a receipt, shipping label, work order, etc. This document should be paired with a similar document from the disputed payment that proves the two payments are separate.
    DisputeEvidence
-> Maybe DisputeEvidenceDuplicateChargeDocumentation'Variants
disputeEvidenceDuplicateChargeDocumentation :: (GHC.Maybe.Maybe DisputeEvidenceDuplicateChargeDocumentation'Variants),
    -- | duplicate_charge_explanation: An explanation of the difference between the disputed charge versus the prior charge that appears to be a duplicate.
    --
    -- Constraints:
    --
    -- * Maximum length of 150000
    DisputeEvidence -> Maybe Text
disputeEvidenceDuplicateChargeExplanation :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | duplicate_charge_id: The Stripe ID for the prior charge which appears to be a duplicate of the disputed charge.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DisputeEvidence -> Maybe Text
disputeEvidenceDuplicateChargeId :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | product_description: A description of the product or service that was sold.
    --
    -- Constraints:
    --
    -- * Maximum length of 150000
    DisputeEvidence -> Maybe Text
disputeEvidenceProductDescription :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | receipt: (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Any receipt or message sent to the customer notifying them of the charge.
    DisputeEvidence -> Maybe DisputeEvidenceReceipt'Variants
disputeEvidenceReceipt :: (GHC.Maybe.Maybe DisputeEvidenceReceipt'Variants),
    -- | refund_policy: (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Your refund policy, as shown to the customer.
    DisputeEvidence -> Maybe DisputeEvidenceRefundPolicy'Variants
disputeEvidenceRefundPolicy :: (GHC.Maybe.Maybe DisputeEvidenceRefundPolicy'Variants),
    -- | refund_policy_disclosure: Documentation demonstrating that the customer was shown your refund policy prior to purchase.
    --
    -- Constraints:
    --
    -- * Maximum length of 150000
    DisputeEvidence -> Maybe Text
disputeEvidenceRefundPolicyDisclosure :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | refund_refusal_explanation: A justification for why the customer is not entitled to a refund.
    --
    -- Constraints:
    --
    -- * Maximum length of 150000
    DisputeEvidence -> Maybe Text
disputeEvidenceRefundRefusalExplanation :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | service_date: The date on which the customer received or began receiving the purchased service, in a clear human-readable format.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DisputeEvidence -> Maybe Text
disputeEvidenceServiceDate :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | service_documentation: (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Documentation showing proof that a service was provided to the customer. This could include a copy of a signed contract, work order, or other form of written agreement.
    DisputeEvidence
-> Maybe DisputeEvidenceServiceDocumentation'Variants
disputeEvidenceServiceDocumentation :: (GHC.Maybe.Maybe DisputeEvidenceServiceDocumentation'Variants),
    -- | shipping_address: The address to which a physical product was shipped. You should try to include as complete address information as possible.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DisputeEvidence -> Maybe Text
disputeEvidenceShippingAddress :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | shipping_carrier: The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc. If multiple carriers were used for this purchase, please separate them with commas.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DisputeEvidence -> Maybe Text
disputeEvidenceShippingCarrier :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | shipping_date: The date on which a physical product began its route to the shipping address, in a clear human-readable format.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DisputeEvidence -> Maybe Text
disputeEvidenceShippingDate :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | shipping_documentation: (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Documentation showing proof that a product was shipped to the customer at the same address the customer provided to you. This could include a copy of the shipment receipt, shipping label, etc. It should show the customer\'s full shipping address, if possible.
    DisputeEvidence
-> Maybe DisputeEvidenceShippingDocumentation'Variants
disputeEvidenceShippingDocumentation :: (GHC.Maybe.Maybe DisputeEvidenceShippingDocumentation'Variants),
    -- | shipping_tracking_number: The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DisputeEvidence -> Maybe Text
disputeEvidenceShippingTrackingNumber :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | uncategorized_file: (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Any additional evidence or statements.
    DisputeEvidence -> Maybe DisputeEvidenceUncategorizedFile'Variants
disputeEvidenceUncategorizedFile :: (GHC.Maybe.Maybe DisputeEvidenceUncategorizedFile'Variants),
    -- | uncategorized_text: Any additional evidence or statements.
    --
    -- Constraints:
    --
    -- * Maximum length of 150000
    DisputeEvidence -> Maybe Text
disputeEvidenceUncategorizedText :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int -> DisputeEvidence -> ShowS
[DisputeEvidence] -> ShowS
DisputeEvidence -> String
(Int -> DisputeEvidence -> ShowS)
-> (DisputeEvidence -> String)
-> ([DisputeEvidence] -> ShowS)
-> Show DisputeEvidence
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DisputeEvidence] -> ShowS
$cshowList :: [DisputeEvidence] -> ShowS
show :: DisputeEvidence -> String
$cshow :: DisputeEvidence -> String
showsPrec :: Int -> DisputeEvidence -> ShowS
$cshowsPrec :: Int -> DisputeEvidence -> ShowS
GHC.Show.Show,
      DisputeEvidence -> DisputeEvidence -> Bool
(DisputeEvidence -> DisputeEvidence -> Bool)
-> (DisputeEvidence -> DisputeEvidence -> Bool)
-> Eq DisputeEvidence
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DisputeEvidence -> DisputeEvidence -> Bool
$c/= :: DisputeEvidence -> DisputeEvidence -> Bool
== :: DisputeEvidence -> DisputeEvidence -> Bool
$c== :: DisputeEvidence -> DisputeEvidence -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON DisputeEvidence where
  toJSON :: DisputeEvidence -> Value
toJSON DisputeEvidence
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..= DisputeEvidence -> Maybe Text
disputeEvidenceAccessActivityLog DisputeEvidence
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..= DisputeEvidence -> Maybe Text
disputeEvidenceBillingAddress DisputeEvidence
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"cancellation_policy" Text -> Maybe DisputeEvidenceCancellationPolicy'Variants -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DisputeEvidence -> Maybe DisputeEvidenceCancellationPolicy'Variants
disputeEvidenceCancellationPolicy DisputeEvidence
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..= DisputeEvidence -> Maybe Text
disputeEvidenceCancellationPolicyDisclosure DisputeEvidence
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..= DisputeEvidence -> Maybe Text
disputeEvidenceCancellationRebuttal DisputeEvidence
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"customer_communication" Text -> Maybe DisputeEvidenceCustomerCommunication'Variants -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DisputeEvidence
-> Maybe DisputeEvidenceCustomerCommunication'Variants
disputeEvidenceCustomerCommunication DisputeEvidence
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..= DisputeEvidence -> Maybe Text
disputeEvidenceCustomerEmailAddress DisputeEvidence
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..= DisputeEvidence -> Maybe Text
disputeEvidenceCustomerName DisputeEvidence
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..= DisputeEvidence -> Maybe Text
disputeEvidenceCustomerPurchaseIp DisputeEvidence
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"customer_signature" Text -> Maybe DisputeEvidenceCustomerSignature'Variants -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DisputeEvidence -> Maybe DisputeEvidenceCustomerSignature'Variants
disputeEvidenceCustomerSignature DisputeEvidence
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"duplicate_charge_documentation" Text
-> Maybe DisputeEvidenceDuplicateChargeDocumentation'Variants
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DisputeEvidence
-> Maybe DisputeEvidenceDuplicateChargeDocumentation'Variants
disputeEvidenceDuplicateChargeDocumentation DisputeEvidence
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..= DisputeEvidence -> Maybe Text
disputeEvidenceDuplicateChargeExplanation DisputeEvidence
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..= DisputeEvidence -> Maybe Text
disputeEvidenceDuplicateChargeId DisputeEvidence
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..= DisputeEvidence -> Maybe Text
disputeEvidenceProductDescription DisputeEvidence
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"receipt" Text -> Maybe DisputeEvidenceReceipt'Variants -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DisputeEvidence -> Maybe DisputeEvidenceReceipt'Variants
disputeEvidenceReceipt DisputeEvidence
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"refund_policy" Text -> Maybe DisputeEvidenceRefundPolicy'Variants -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DisputeEvidence -> Maybe DisputeEvidenceRefundPolicy'Variants
disputeEvidenceRefundPolicy DisputeEvidence
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..= DisputeEvidence -> Maybe Text
disputeEvidenceRefundPolicyDisclosure DisputeEvidence
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..= DisputeEvidence -> Maybe Text
disputeEvidenceRefundRefusalExplanation DisputeEvidence
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..= DisputeEvidence -> Maybe Text
disputeEvidenceServiceDate DisputeEvidence
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"service_documentation" Text -> Maybe DisputeEvidenceServiceDocumentation'Variants -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DisputeEvidence
-> Maybe DisputeEvidenceServiceDocumentation'Variants
disputeEvidenceServiceDocumentation DisputeEvidence
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..= DisputeEvidence -> Maybe Text
disputeEvidenceShippingAddress DisputeEvidence
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..= DisputeEvidence -> Maybe Text
disputeEvidenceShippingCarrier DisputeEvidence
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..= DisputeEvidence -> Maybe Text
disputeEvidenceShippingDate DisputeEvidence
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"shipping_documentation" Text -> Maybe DisputeEvidenceShippingDocumentation'Variants -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DisputeEvidence
-> Maybe DisputeEvidenceShippingDocumentation'Variants
disputeEvidenceShippingDocumentation DisputeEvidence
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..= DisputeEvidence -> Maybe Text
disputeEvidenceShippingTrackingNumber DisputeEvidence
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"uncategorized_file" Text -> Maybe DisputeEvidenceUncategorizedFile'Variants -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DisputeEvidence -> Maybe DisputeEvidenceUncategorizedFile'Variants
disputeEvidenceUncategorizedFile DisputeEvidence
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..= DisputeEvidence -> Maybe Text
disputeEvidenceUncategorizedText DisputeEvidence
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: DisputeEvidence -> Encoding
toEncoding DisputeEvidence
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..= DisputeEvidence -> Maybe Text
disputeEvidenceAccessActivityLog DisputeEvidence
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..= DisputeEvidence -> Maybe Text
disputeEvidenceBillingAddress DisputeEvidence
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"cancellation_policy" Text -> Maybe DisputeEvidenceCancellationPolicy'Variants -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DisputeEvidence -> Maybe DisputeEvidenceCancellationPolicy'Variants
disputeEvidenceCancellationPolicy DisputeEvidence
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..= DisputeEvidence -> Maybe Text
disputeEvidenceCancellationPolicyDisclosure DisputeEvidence
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..= DisputeEvidence -> Maybe Text
disputeEvidenceCancellationRebuttal DisputeEvidence
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"customer_communication" Text
-> Maybe DisputeEvidenceCustomerCommunication'Variants -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DisputeEvidence
-> Maybe DisputeEvidenceCustomerCommunication'Variants
disputeEvidenceCustomerCommunication DisputeEvidence
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..= DisputeEvidence -> Maybe Text
disputeEvidenceCustomerEmailAddress DisputeEvidence
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..= DisputeEvidence -> Maybe Text
disputeEvidenceCustomerName DisputeEvidence
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..= DisputeEvidence -> Maybe Text
disputeEvidenceCustomerPurchaseIp DisputeEvidence
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"customer_signature" Text -> Maybe DisputeEvidenceCustomerSignature'Variants -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DisputeEvidence -> Maybe DisputeEvidenceCustomerSignature'Variants
disputeEvidenceCustomerSignature DisputeEvidence
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"duplicate_charge_documentation" Text
-> Maybe DisputeEvidenceDuplicateChargeDocumentation'Variants
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DisputeEvidence
-> Maybe DisputeEvidenceDuplicateChargeDocumentation'Variants
disputeEvidenceDuplicateChargeDocumentation DisputeEvidence
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..= DisputeEvidence -> Maybe Text
disputeEvidenceDuplicateChargeExplanation DisputeEvidence
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..= DisputeEvidence -> Maybe Text
disputeEvidenceDuplicateChargeId DisputeEvidence
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..= DisputeEvidence -> Maybe Text
disputeEvidenceProductDescription DisputeEvidence
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"receipt" Text -> Maybe DisputeEvidenceReceipt'Variants -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DisputeEvidence -> Maybe DisputeEvidenceReceipt'Variants
disputeEvidenceReceipt DisputeEvidence
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"refund_policy" Text -> Maybe DisputeEvidenceRefundPolicy'Variants -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DisputeEvidence -> Maybe DisputeEvidenceRefundPolicy'Variants
disputeEvidenceRefundPolicy DisputeEvidence
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..= DisputeEvidence -> Maybe Text
disputeEvidenceRefundPolicyDisclosure DisputeEvidence
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..= DisputeEvidence -> Maybe Text
disputeEvidenceRefundRefusalExplanation DisputeEvidence
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..= DisputeEvidence -> Maybe Text
disputeEvidenceServiceDate DisputeEvidence
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"service_documentation" Text
-> Maybe DisputeEvidenceServiceDocumentation'Variants -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DisputeEvidence
-> Maybe DisputeEvidenceServiceDocumentation'Variants
disputeEvidenceServiceDocumentation DisputeEvidence
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..= DisputeEvidence -> Maybe Text
disputeEvidenceShippingAddress DisputeEvidence
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..= DisputeEvidence -> Maybe Text
disputeEvidenceShippingCarrier DisputeEvidence
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..= DisputeEvidence -> Maybe Text
disputeEvidenceShippingDate DisputeEvidence
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"shipping_documentation" Text
-> Maybe DisputeEvidenceShippingDocumentation'Variants -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DisputeEvidence
-> Maybe DisputeEvidenceShippingDocumentation'Variants
disputeEvidenceShippingDocumentation DisputeEvidence
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..= DisputeEvidence -> Maybe Text
disputeEvidenceShippingTrackingNumber DisputeEvidence
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"uncategorized_file" Text -> Maybe DisputeEvidenceUncategorizedFile'Variants -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DisputeEvidence -> Maybe DisputeEvidenceUncategorizedFile'Variants
disputeEvidenceUncategorizedFile DisputeEvidence
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..= DisputeEvidence -> Maybe Text
disputeEvidenceUncategorizedText DisputeEvidence
obj)))))))))))))))))))))))))))

instance Data.Aeson.Types.FromJSON.FromJSON DisputeEvidence where
  parseJSON :: Value -> Parser DisputeEvidence
parseJSON = String
-> (Object -> Parser DisputeEvidence)
-> Value
-> Parser DisputeEvidence
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"DisputeEvidence" (\Object
obj -> (((((((((((((((((((((((((((Maybe Text
 -> Maybe Text
 -> Maybe DisputeEvidenceCancellationPolicy'Variants
 -> Maybe Text
 -> Maybe Text
 -> Maybe DisputeEvidenceCustomerCommunication'Variants
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe DisputeEvidenceCustomerSignature'Variants
 -> Maybe DisputeEvidenceDuplicateChargeDocumentation'Variants
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe DisputeEvidenceReceipt'Variants
 -> Maybe DisputeEvidenceRefundPolicy'Variants
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe DisputeEvidenceServiceDocumentation'Variants
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe DisputeEvidenceShippingDocumentation'Variants
 -> Maybe Text
 -> Maybe DisputeEvidenceUncategorizedFile'Variants
 -> Maybe Text
 -> DisputeEvidence)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceCancellationPolicy'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceCustomerCommunication'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceCustomerSignature'Variants
      -> Maybe DisputeEvidenceDuplicateChargeDocumentation'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceReceipt'Variants
      -> Maybe DisputeEvidenceRefundPolicy'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceServiceDocumentation'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceShippingDocumentation'Variants
      -> Maybe Text
      -> Maybe DisputeEvidenceUncategorizedFile'Variants
      -> Maybe Text
      -> DisputeEvidence)
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Text
-> Maybe Text
-> Maybe DisputeEvidenceCancellationPolicy'Variants
-> Maybe Text
-> Maybe Text
-> Maybe DisputeEvidenceCustomerCommunication'Variants
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe DisputeEvidenceCustomerSignature'Variants
-> Maybe DisputeEvidenceDuplicateChargeDocumentation'Variants
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe DisputeEvidenceReceipt'Variants
-> Maybe DisputeEvidenceRefundPolicy'Variants
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe DisputeEvidenceServiceDocumentation'Variants
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe DisputeEvidenceShippingDocumentation'Variants
-> Maybe Text
-> Maybe DisputeEvidenceUncategorizedFile'Variants
-> Maybe Text
-> DisputeEvidence
DisputeEvidence Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceCancellationPolicy'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceCustomerCommunication'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceCustomerSignature'Variants
   -> Maybe DisputeEvidenceDuplicateChargeDocumentation'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceReceipt'Variants
   -> Maybe DisputeEvidenceRefundPolicy'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceServiceDocumentation'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceShippingDocumentation'Variants
   -> Maybe Text
   -> Maybe DisputeEvidenceUncategorizedFile'Variants
   -> Maybe Text
   -> DisputeEvidence)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe DisputeEvidenceCancellationPolicy'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceCustomerCommunication'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceCustomerSignature'Variants
      -> Maybe DisputeEvidenceDuplicateChargeDocumentation'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceReceipt'Variants
      -> Maybe DisputeEvidenceRefundPolicy'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceServiceDocumentation'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceShippingDocumentation'Variants
      -> Maybe Text
      -> Maybe DisputeEvidenceUncategorizedFile'Variants
      -> Maybe Text
      -> DisputeEvidence)
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 DisputeEvidenceCancellationPolicy'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceCustomerCommunication'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceCustomerSignature'Variants
   -> Maybe DisputeEvidenceDuplicateChargeDocumentation'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceReceipt'Variants
   -> Maybe DisputeEvidenceRefundPolicy'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceServiceDocumentation'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceShippingDocumentation'Variants
   -> Maybe Text
   -> Maybe DisputeEvidenceUncategorizedFile'Variants
   -> Maybe Text
   -> DisputeEvidence)
-> Parser (Maybe Text)
-> Parser
     (Maybe DisputeEvidenceCancellationPolicy'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceCustomerCommunication'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceCustomerSignature'Variants
      -> Maybe DisputeEvidenceDuplicateChargeDocumentation'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceReceipt'Variants
      -> Maybe DisputeEvidenceRefundPolicy'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceServiceDocumentation'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceShippingDocumentation'Variants
      -> Maybe Text
      -> Maybe DisputeEvidenceUncategorizedFile'Variants
      -> Maybe Text
      -> DisputeEvidence)
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 DisputeEvidenceCancellationPolicy'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceCustomerCommunication'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceCustomerSignature'Variants
   -> Maybe DisputeEvidenceDuplicateChargeDocumentation'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceReceipt'Variants
   -> Maybe DisputeEvidenceRefundPolicy'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceServiceDocumentation'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceShippingDocumentation'Variants
   -> Maybe Text
   -> Maybe DisputeEvidenceUncategorizedFile'Variants
   -> Maybe Text
   -> DisputeEvidence)
-> Parser (Maybe DisputeEvidenceCancellationPolicy'Variants)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceCustomerCommunication'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceCustomerSignature'Variants
      -> Maybe DisputeEvidenceDuplicateChargeDocumentation'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceReceipt'Variants
      -> Maybe DisputeEvidenceRefundPolicy'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceServiceDocumentation'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceShippingDocumentation'Variants
      -> Maybe Text
      -> Maybe DisputeEvidenceUncategorizedFile'Variants
      -> Maybe Text
      -> DisputeEvidence)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser (Maybe DisputeEvidenceCancellationPolicy'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"cancellation_policy")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceCustomerCommunication'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceCustomerSignature'Variants
   -> Maybe DisputeEvidenceDuplicateChargeDocumentation'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceReceipt'Variants
   -> Maybe DisputeEvidenceRefundPolicy'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceServiceDocumentation'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceShippingDocumentation'Variants
   -> Maybe Text
   -> Maybe DisputeEvidenceUncategorizedFile'Variants
   -> Maybe Text
   -> DisputeEvidence)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe DisputeEvidenceCustomerCommunication'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceCustomerSignature'Variants
      -> Maybe DisputeEvidenceDuplicateChargeDocumentation'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceReceipt'Variants
      -> Maybe DisputeEvidenceRefundPolicy'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceServiceDocumentation'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceShippingDocumentation'Variants
      -> Maybe Text
      -> Maybe DisputeEvidenceUncategorizedFile'Variants
      -> Maybe Text
      -> DisputeEvidence)
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 DisputeEvidenceCustomerCommunication'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceCustomerSignature'Variants
   -> Maybe DisputeEvidenceDuplicateChargeDocumentation'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceReceipt'Variants
   -> Maybe DisputeEvidenceRefundPolicy'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceServiceDocumentation'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceShippingDocumentation'Variants
   -> Maybe Text
   -> Maybe DisputeEvidenceUncategorizedFile'Variants
   -> Maybe Text
   -> DisputeEvidence)
-> Parser (Maybe Text)
-> Parser
     (Maybe DisputeEvidenceCustomerCommunication'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceCustomerSignature'Variants
      -> Maybe DisputeEvidenceDuplicateChargeDocumentation'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceReceipt'Variants
      -> Maybe DisputeEvidenceRefundPolicy'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceServiceDocumentation'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceShippingDocumentation'Variants
      -> Maybe Text
      -> Maybe DisputeEvidenceUncategorizedFile'Variants
      -> Maybe Text
      -> DisputeEvidence)
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 DisputeEvidenceCustomerCommunication'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceCustomerSignature'Variants
   -> Maybe DisputeEvidenceDuplicateChargeDocumentation'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceReceipt'Variants
   -> Maybe DisputeEvidenceRefundPolicy'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceServiceDocumentation'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceShippingDocumentation'Variants
   -> Maybe Text
   -> Maybe DisputeEvidenceUncategorizedFile'Variants
   -> Maybe Text
   -> DisputeEvidence)
-> Parser (Maybe DisputeEvidenceCustomerCommunication'Variants)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceCustomerSignature'Variants
      -> Maybe DisputeEvidenceDuplicateChargeDocumentation'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceReceipt'Variants
      -> Maybe DisputeEvidenceRefundPolicy'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceServiceDocumentation'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceShippingDocumentation'Variants
      -> Maybe Text
      -> Maybe DisputeEvidenceUncategorizedFile'Variants
      -> Maybe Text
      -> DisputeEvidence)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser (Maybe DisputeEvidenceCustomerCommunication'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"customer_communication")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceCustomerSignature'Variants
   -> Maybe DisputeEvidenceDuplicateChargeDocumentation'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceReceipt'Variants
   -> Maybe DisputeEvidenceRefundPolicy'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceServiceDocumentation'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceShippingDocumentation'Variants
   -> Maybe Text
   -> Maybe DisputeEvidenceUncategorizedFile'Variants
   -> Maybe Text
   -> DisputeEvidence)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceCustomerSignature'Variants
      -> Maybe DisputeEvidenceDuplicateChargeDocumentation'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceReceipt'Variants
      -> Maybe DisputeEvidenceRefundPolicy'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceServiceDocumentation'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceShippingDocumentation'Variants
      -> Maybe Text
      -> Maybe DisputeEvidenceUncategorizedFile'Variants
      -> Maybe Text
      -> DisputeEvidence)
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 DisputeEvidenceCustomerSignature'Variants
   -> Maybe DisputeEvidenceDuplicateChargeDocumentation'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceReceipt'Variants
   -> Maybe DisputeEvidenceRefundPolicy'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceServiceDocumentation'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceShippingDocumentation'Variants
   -> Maybe Text
   -> Maybe DisputeEvidenceUncategorizedFile'Variants
   -> Maybe Text
   -> DisputeEvidence)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe DisputeEvidenceCustomerSignature'Variants
      -> Maybe DisputeEvidenceDuplicateChargeDocumentation'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceReceipt'Variants
      -> Maybe DisputeEvidenceRefundPolicy'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceServiceDocumentation'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceShippingDocumentation'Variants
      -> Maybe Text
      -> Maybe DisputeEvidenceUncategorizedFile'Variants
      -> Maybe Text
      -> DisputeEvidence)
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 DisputeEvidenceCustomerSignature'Variants
   -> Maybe DisputeEvidenceDuplicateChargeDocumentation'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceReceipt'Variants
   -> Maybe DisputeEvidenceRefundPolicy'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceServiceDocumentation'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceShippingDocumentation'Variants
   -> Maybe Text
   -> Maybe DisputeEvidenceUncategorizedFile'Variants
   -> Maybe Text
   -> DisputeEvidence)
-> Parser (Maybe Text)
-> Parser
     (Maybe DisputeEvidenceCustomerSignature'Variants
      -> Maybe DisputeEvidenceDuplicateChargeDocumentation'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceReceipt'Variants
      -> Maybe DisputeEvidenceRefundPolicy'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceServiceDocumentation'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceShippingDocumentation'Variants
      -> Maybe Text
      -> Maybe DisputeEvidenceUncategorizedFile'Variants
      -> Maybe Text
      -> DisputeEvidence)
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 DisputeEvidenceCustomerSignature'Variants
   -> Maybe DisputeEvidenceDuplicateChargeDocumentation'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceReceipt'Variants
   -> Maybe DisputeEvidenceRefundPolicy'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceServiceDocumentation'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceShippingDocumentation'Variants
   -> Maybe Text
   -> Maybe DisputeEvidenceUncategorizedFile'Variants
   -> Maybe Text
   -> DisputeEvidence)
-> Parser (Maybe DisputeEvidenceCustomerSignature'Variants)
-> Parser
     (Maybe DisputeEvidenceDuplicateChargeDocumentation'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceReceipt'Variants
      -> Maybe DisputeEvidenceRefundPolicy'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceServiceDocumentation'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceShippingDocumentation'Variants
      -> Maybe Text
      -> Maybe DisputeEvidenceUncategorizedFile'Variants
      -> Maybe Text
      -> DisputeEvidence)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text -> Parser (Maybe DisputeEvidenceCustomerSignature'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"customer_signature")) Parser
  (Maybe DisputeEvidenceDuplicateChargeDocumentation'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceReceipt'Variants
   -> Maybe DisputeEvidenceRefundPolicy'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceServiceDocumentation'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceShippingDocumentation'Variants
   -> Maybe Text
   -> Maybe DisputeEvidenceUncategorizedFile'Variants
   -> Maybe Text
   -> DisputeEvidence)
-> Parser
     (Maybe DisputeEvidenceDuplicateChargeDocumentation'Variants)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceReceipt'Variants
      -> Maybe DisputeEvidenceRefundPolicy'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceServiceDocumentation'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceShippingDocumentation'Variants
      -> Maybe Text
      -> Maybe DisputeEvidenceUncategorizedFile'Variants
      -> Maybe Text
      -> DisputeEvidence)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe DisputeEvidenceDuplicateChargeDocumentation'Variants)
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 DisputeEvidenceReceipt'Variants
   -> Maybe DisputeEvidenceRefundPolicy'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceServiceDocumentation'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceShippingDocumentation'Variants
   -> Maybe Text
   -> Maybe DisputeEvidenceUncategorizedFile'Variants
   -> Maybe Text
   -> DisputeEvidence)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceReceipt'Variants
      -> Maybe DisputeEvidenceRefundPolicy'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceServiceDocumentation'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceShippingDocumentation'Variants
      -> Maybe Text
      -> Maybe DisputeEvidenceUncategorizedFile'Variants
      -> Maybe Text
      -> DisputeEvidence)
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 DisputeEvidenceReceipt'Variants
   -> Maybe DisputeEvidenceRefundPolicy'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceServiceDocumentation'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceShippingDocumentation'Variants
   -> Maybe Text
   -> Maybe DisputeEvidenceUncategorizedFile'Variants
   -> Maybe Text
   -> DisputeEvidence)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe DisputeEvidenceReceipt'Variants
      -> Maybe DisputeEvidenceRefundPolicy'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceServiceDocumentation'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceShippingDocumentation'Variants
      -> Maybe Text
      -> Maybe DisputeEvidenceUncategorizedFile'Variants
      -> Maybe Text
      -> DisputeEvidence)
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 DisputeEvidenceReceipt'Variants
   -> Maybe DisputeEvidenceRefundPolicy'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceServiceDocumentation'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceShippingDocumentation'Variants
   -> Maybe Text
   -> Maybe DisputeEvidenceUncategorizedFile'Variants
   -> Maybe Text
   -> DisputeEvidence)
-> Parser (Maybe Text)
-> Parser
     (Maybe DisputeEvidenceReceipt'Variants
      -> Maybe DisputeEvidenceRefundPolicy'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceServiceDocumentation'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceShippingDocumentation'Variants
      -> Maybe Text
      -> Maybe DisputeEvidenceUncategorizedFile'Variants
      -> Maybe Text
      -> DisputeEvidence)
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 DisputeEvidenceReceipt'Variants
   -> Maybe DisputeEvidenceRefundPolicy'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceServiceDocumentation'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceShippingDocumentation'Variants
   -> Maybe Text
   -> Maybe DisputeEvidenceUncategorizedFile'Variants
   -> Maybe Text
   -> DisputeEvidence)
-> Parser (Maybe DisputeEvidenceReceipt'Variants)
-> Parser
     (Maybe DisputeEvidenceRefundPolicy'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceServiceDocumentation'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceShippingDocumentation'Variants
      -> Maybe Text
      -> Maybe DisputeEvidenceUncategorizedFile'Variants
      -> Maybe Text
      -> DisputeEvidence)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe DisputeEvidenceReceipt'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"receipt")) Parser
  (Maybe DisputeEvidenceRefundPolicy'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceServiceDocumentation'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceShippingDocumentation'Variants
   -> Maybe Text
   -> Maybe DisputeEvidenceUncategorizedFile'Variants
   -> Maybe Text
   -> DisputeEvidence)
-> Parser (Maybe DisputeEvidenceRefundPolicy'Variants)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceServiceDocumentation'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceShippingDocumentation'Variants
      -> Maybe Text
      -> Maybe DisputeEvidenceUncategorizedFile'Variants
      -> Maybe Text
      -> DisputeEvidence)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text -> Parser (Maybe DisputeEvidenceRefundPolicy'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"refund_policy")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceServiceDocumentation'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceShippingDocumentation'Variants
   -> Maybe Text
   -> Maybe DisputeEvidenceUncategorizedFile'Variants
   -> Maybe Text
   -> DisputeEvidence)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceServiceDocumentation'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceShippingDocumentation'Variants
      -> Maybe Text
      -> Maybe DisputeEvidenceUncategorizedFile'Variants
      -> Maybe Text
      -> DisputeEvidence)
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 DisputeEvidenceServiceDocumentation'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceShippingDocumentation'Variants
   -> Maybe Text
   -> Maybe DisputeEvidenceUncategorizedFile'Variants
   -> Maybe Text
   -> DisputeEvidence)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe DisputeEvidenceServiceDocumentation'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceShippingDocumentation'Variants
      -> Maybe Text
      -> Maybe DisputeEvidenceUncategorizedFile'Variants
      -> Maybe Text
      -> DisputeEvidence)
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 DisputeEvidenceServiceDocumentation'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceShippingDocumentation'Variants
   -> Maybe Text
   -> Maybe DisputeEvidenceUncategorizedFile'Variants
   -> Maybe Text
   -> DisputeEvidence)
-> Parser (Maybe Text)
-> Parser
     (Maybe DisputeEvidenceServiceDocumentation'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceShippingDocumentation'Variants
      -> Maybe Text
      -> Maybe DisputeEvidenceUncategorizedFile'Variants
      -> Maybe Text
      -> DisputeEvidence)
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 DisputeEvidenceServiceDocumentation'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceShippingDocumentation'Variants
   -> Maybe Text
   -> Maybe DisputeEvidenceUncategorizedFile'Variants
   -> Maybe Text
   -> DisputeEvidence)
-> Parser (Maybe DisputeEvidenceServiceDocumentation'Variants)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceShippingDocumentation'Variants
      -> Maybe Text
      -> Maybe DisputeEvidenceUncategorizedFile'Variants
      -> Maybe Text
      -> DisputeEvidence)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser (Maybe DisputeEvidenceServiceDocumentation'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"service_documentation")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe DisputeEvidenceShippingDocumentation'Variants
   -> Maybe Text
   -> Maybe DisputeEvidenceUncategorizedFile'Variants
   -> Maybe Text
   -> DisputeEvidence)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe DisputeEvidenceShippingDocumentation'Variants
      -> Maybe Text
      -> Maybe DisputeEvidenceUncategorizedFile'Variants
      -> Maybe Text
      -> DisputeEvidence)
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 DisputeEvidenceShippingDocumentation'Variants
   -> Maybe Text
   -> Maybe DisputeEvidenceUncategorizedFile'Variants
   -> Maybe Text
   -> DisputeEvidence)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe DisputeEvidenceShippingDocumentation'Variants
      -> Maybe Text
      -> Maybe DisputeEvidenceUncategorizedFile'Variants
      -> Maybe Text
      -> DisputeEvidence)
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 DisputeEvidenceShippingDocumentation'Variants
   -> Maybe Text
   -> Maybe DisputeEvidenceUncategorizedFile'Variants
   -> Maybe Text
   -> DisputeEvidence)
-> Parser (Maybe Text)
-> Parser
     (Maybe DisputeEvidenceShippingDocumentation'Variants
      -> Maybe Text
      -> Maybe DisputeEvidenceUncategorizedFile'Variants
      -> Maybe Text
      -> DisputeEvidence)
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 DisputeEvidenceShippingDocumentation'Variants
   -> Maybe Text
   -> Maybe DisputeEvidenceUncategorizedFile'Variants
   -> Maybe Text
   -> DisputeEvidence)
-> Parser (Maybe DisputeEvidenceShippingDocumentation'Variants)
-> Parser
     (Maybe Text
      -> Maybe DisputeEvidenceUncategorizedFile'Variants
      -> Maybe Text
      -> DisputeEvidence)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser (Maybe DisputeEvidenceShippingDocumentation'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"shipping_documentation")) Parser
  (Maybe Text
   -> Maybe DisputeEvidenceUncategorizedFile'Variants
   -> Maybe Text
   -> DisputeEvidence)
-> Parser (Maybe Text)
-> Parser
     (Maybe DisputeEvidenceUncategorizedFile'Variants
      -> Maybe Text -> DisputeEvidence)
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 DisputeEvidenceUncategorizedFile'Variants
   -> Maybe Text -> DisputeEvidence)
-> Parser (Maybe DisputeEvidenceUncategorizedFile'Variants)
-> Parser (Maybe Text -> DisputeEvidence)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text -> Parser (Maybe DisputeEvidenceUncategorizedFile'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"uncategorized_file")) Parser (Maybe Text -> DisputeEvidence)
-> Parser (Maybe Text) -> Parser DisputeEvidence
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 'DisputeEvidence' with all required fields.
mkDisputeEvidence :: DisputeEvidence
mkDisputeEvidence :: DisputeEvidence
mkDisputeEvidence =
  DisputeEvidence :: Maybe Text
-> Maybe Text
-> Maybe DisputeEvidenceCancellationPolicy'Variants
-> Maybe Text
-> Maybe Text
-> Maybe DisputeEvidenceCustomerCommunication'Variants
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe DisputeEvidenceCustomerSignature'Variants
-> Maybe DisputeEvidenceDuplicateChargeDocumentation'Variants
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe DisputeEvidenceReceipt'Variants
-> Maybe DisputeEvidenceRefundPolicy'Variants
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe DisputeEvidenceServiceDocumentation'Variants
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe DisputeEvidenceShippingDocumentation'Variants
-> Maybe Text
-> Maybe DisputeEvidenceUncategorizedFile'Variants
-> Maybe Text
-> DisputeEvidence
DisputeEvidence
    { disputeEvidenceAccessActivityLog :: Maybe Text
disputeEvidenceAccessActivityLog = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      disputeEvidenceBillingAddress :: Maybe Text
disputeEvidenceBillingAddress = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      disputeEvidenceCancellationPolicy :: Maybe DisputeEvidenceCancellationPolicy'Variants
disputeEvidenceCancellationPolicy = Maybe DisputeEvidenceCancellationPolicy'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      disputeEvidenceCancellationPolicyDisclosure :: Maybe Text
disputeEvidenceCancellationPolicyDisclosure = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      disputeEvidenceCancellationRebuttal :: Maybe Text
disputeEvidenceCancellationRebuttal = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      disputeEvidenceCustomerCommunication :: Maybe DisputeEvidenceCustomerCommunication'Variants
disputeEvidenceCustomerCommunication = Maybe DisputeEvidenceCustomerCommunication'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      disputeEvidenceCustomerEmailAddress :: Maybe Text
disputeEvidenceCustomerEmailAddress = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      disputeEvidenceCustomerName :: Maybe Text
disputeEvidenceCustomerName = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      disputeEvidenceCustomerPurchaseIp :: Maybe Text
disputeEvidenceCustomerPurchaseIp = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      disputeEvidenceCustomerSignature :: Maybe DisputeEvidenceCustomerSignature'Variants
disputeEvidenceCustomerSignature = Maybe DisputeEvidenceCustomerSignature'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      disputeEvidenceDuplicateChargeDocumentation :: Maybe DisputeEvidenceDuplicateChargeDocumentation'Variants
disputeEvidenceDuplicateChargeDocumentation = Maybe DisputeEvidenceDuplicateChargeDocumentation'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      disputeEvidenceDuplicateChargeExplanation :: Maybe Text
disputeEvidenceDuplicateChargeExplanation = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      disputeEvidenceDuplicateChargeId :: Maybe Text
disputeEvidenceDuplicateChargeId = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      disputeEvidenceProductDescription :: Maybe Text
disputeEvidenceProductDescription = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      disputeEvidenceReceipt :: Maybe DisputeEvidenceReceipt'Variants
disputeEvidenceReceipt = Maybe DisputeEvidenceReceipt'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      disputeEvidenceRefundPolicy :: Maybe DisputeEvidenceRefundPolicy'Variants
disputeEvidenceRefundPolicy = Maybe DisputeEvidenceRefundPolicy'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      disputeEvidenceRefundPolicyDisclosure :: Maybe Text
disputeEvidenceRefundPolicyDisclosure = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      disputeEvidenceRefundRefusalExplanation :: Maybe Text
disputeEvidenceRefundRefusalExplanation = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      disputeEvidenceServiceDate :: Maybe Text
disputeEvidenceServiceDate = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      disputeEvidenceServiceDocumentation :: Maybe DisputeEvidenceServiceDocumentation'Variants
disputeEvidenceServiceDocumentation = Maybe DisputeEvidenceServiceDocumentation'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      disputeEvidenceShippingAddress :: Maybe Text
disputeEvidenceShippingAddress = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      disputeEvidenceShippingCarrier :: Maybe Text
disputeEvidenceShippingCarrier = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      disputeEvidenceShippingDate :: Maybe Text
disputeEvidenceShippingDate = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      disputeEvidenceShippingDocumentation :: Maybe DisputeEvidenceShippingDocumentation'Variants
disputeEvidenceShippingDocumentation = Maybe DisputeEvidenceShippingDocumentation'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      disputeEvidenceShippingTrackingNumber :: Maybe Text
disputeEvidenceShippingTrackingNumber = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      disputeEvidenceUncategorizedFile :: Maybe DisputeEvidenceUncategorizedFile'Variants
disputeEvidenceUncategorizedFile = Maybe DisputeEvidenceUncategorizedFile'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      disputeEvidenceUncategorizedText :: Maybe Text
disputeEvidenceUncategorizedText = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the oneOf schema located at @components.schemas.dispute_evidence.properties.cancellation_policy.anyOf@ in the specification.
--
-- (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Your subscription cancellation policy, as shown to the customer.
data DisputeEvidenceCancellationPolicy'Variants
  = DisputeEvidenceCancellationPolicy'Text Data.Text.Internal.Text
  | DisputeEvidenceCancellationPolicy'File File
  deriving (Int -> DisputeEvidenceCancellationPolicy'Variants -> ShowS
[DisputeEvidenceCancellationPolicy'Variants] -> ShowS
DisputeEvidenceCancellationPolicy'Variants -> String
(Int -> DisputeEvidenceCancellationPolicy'Variants -> ShowS)
-> (DisputeEvidenceCancellationPolicy'Variants -> String)
-> ([DisputeEvidenceCancellationPolicy'Variants] -> ShowS)
-> Show DisputeEvidenceCancellationPolicy'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DisputeEvidenceCancellationPolicy'Variants] -> ShowS
$cshowList :: [DisputeEvidenceCancellationPolicy'Variants] -> ShowS
show :: DisputeEvidenceCancellationPolicy'Variants -> String
$cshow :: DisputeEvidenceCancellationPolicy'Variants -> String
showsPrec :: Int -> DisputeEvidenceCancellationPolicy'Variants -> ShowS
$cshowsPrec :: Int -> DisputeEvidenceCancellationPolicy'Variants -> ShowS
GHC.Show.Show, DisputeEvidenceCancellationPolicy'Variants
-> DisputeEvidenceCancellationPolicy'Variants -> Bool
(DisputeEvidenceCancellationPolicy'Variants
 -> DisputeEvidenceCancellationPolicy'Variants -> Bool)
-> (DisputeEvidenceCancellationPolicy'Variants
    -> DisputeEvidenceCancellationPolicy'Variants -> Bool)
-> Eq DisputeEvidenceCancellationPolicy'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DisputeEvidenceCancellationPolicy'Variants
-> DisputeEvidenceCancellationPolicy'Variants -> Bool
$c/= :: DisputeEvidenceCancellationPolicy'Variants
-> DisputeEvidenceCancellationPolicy'Variants -> Bool
== :: DisputeEvidenceCancellationPolicy'Variants
-> DisputeEvidenceCancellationPolicy'Variants -> Bool
$c== :: DisputeEvidenceCancellationPolicy'Variants
-> DisputeEvidenceCancellationPolicy'Variants -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON DisputeEvidenceCancellationPolicy'Variants where
  toJSON :: DisputeEvidenceCancellationPolicy'Variants -> Value
toJSON (DisputeEvidenceCancellationPolicy'Text Text
a) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
a
  toJSON (DisputeEvidenceCancellationPolicy'File File
a) = File -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON File
a

instance Data.Aeson.Types.FromJSON.FromJSON DisputeEvidenceCancellationPolicy'Variants where
  parseJSON :: Value -> Parser DisputeEvidenceCancellationPolicy'Variants
parseJSON Value
val = case (Text -> DisputeEvidenceCancellationPolicy'Variants
DisputeEvidenceCancellationPolicy'Text (Text -> DisputeEvidenceCancellationPolicy'Variants)
-> Result Text -> Result DisputeEvidenceCancellationPolicy'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 DisputeEvidenceCancellationPolicy'Variants
-> Result DisputeEvidenceCancellationPolicy'Variants
-> Result DisputeEvidenceCancellationPolicy'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((File -> DisputeEvidenceCancellationPolicy'Variants
DisputeEvidenceCancellationPolicy'File (File -> DisputeEvidenceCancellationPolicy'Variants)
-> Result File -> Result DisputeEvidenceCancellationPolicy'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result File
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result DisputeEvidenceCancellationPolicy'Variants
-> Result DisputeEvidenceCancellationPolicy'Variants
-> Result DisputeEvidenceCancellationPolicy'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String -> Result DisputeEvidenceCancellationPolicy'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched") of
    Data.Aeson.Types.Internal.Success DisputeEvidenceCancellationPolicy'Variants
a -> DisputeEvidenceCancellationPolicy'Variants
-> Parser DisputeEvidenceCancellationPolicy'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure DisputeEvidenceCancellationPolicy'Variants
a
    Data.Aeson.Types.Internal.Error String
a -> String -> Parser DisputeEvidenceCancellationPolicy'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a

-- | Defines the oneOf schema located at @components.schemas.dispute_evidence.properties.customer_communication.anyOf@ in the specification.
--
-- (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Any communication with the customer that you feel is relevant to your case. Examples include emails proving that the customer received the product or service, or demonstrating their use of or satisfaction with the product or service.
data DisputeEvidenceCustomerCommunication'Variants
  = DisputeEvidenceCustomerCommunication'Text Data.Text.Internal.Text
  | DisputeEvidenceCustomerCommunication'File File
  deriving (Int -> DisputeEvidenceCustomerCommunication'Variants -> ShowS
[DisputeEvidenceCustomerCommunication'Variants] -> ShowS
DisputeEvidenceCustomerCommunication'Variants -> String
(Int -> DisputeEvidenceCustomerCommunication'Variants -> ShowS)
-> (DisputeEvidenceCustomerCommunication'Variants -> String)
-> ([DisputeEvidenceCustomerCommunication'Variants] -> ShowS)
-> Show DisputeEvidenceCustomerCommunication'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DisputeEvidenceCustomerCommunication'Variants] -> ShowS
$cshowList :: [DisputeEvidenceCustomerCommunication'Variants] -> ShowS
show :: DisputeEvidenceCustomerCommunication'Variants -> String
$cshow :: DisputeEvidenceCustomerCommunication'Variants -> String
showsPrec :: Int -> DisputeEvidenceCustomerCommunication'Variants -> ShowS
$cshowsPrec :: Int -> DisputeEvidenceCustomerCommunication'Variants -> ShowS
GHC.Show.Show, DisputeEvidenceCustomerCommunication'Variants
-> DisputeEvidenceCustomerCommunication'Variants -> Bool
(DisputeEvidenceCustomerCommunication'Variants
 -> DisputeEvidenceCustomerCommunication'Variants -> Bool)
-> (DisputeEvidenceCustomerCommunication'Variants
    -> DisputeEvidenceCustomerCommunication'Variants -> Bool)
-> Eq DisputeEvidenceCustomerCommunication'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DisputeEvidenceCustomerCommunication'Variants
-> DisputeEvidenceCustomerCommunication'Variants -> Bool
$c/= :: DisputeEvidenceCustomerCommunication'Variants
-> DisputeEvidenceCustomerCommunication'Variants -> Bool
== :: DisputeEvidenceCustomerCommunication'Variants
-> DisputeEvidenceCustomerCommunication'Variants -> Bool
$c== :: DisputeEvidenceCustomerCommunication'Variants
-> DisputeEvidenceCustomerCommunication'Variants -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON DisputeEvidenceCustomerCommunication'Variants where
  toJSON :: DisputeEvidenceCustomerCommunication'Variants -> Value
toJSON (DisputeEvidenceCustomerCommunication'Text Text
a) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
a
  toJSON (DisputeEvidenceCustomerCommunication'File File
a) = File -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON File
a

instance Data.Aeson.Types.FromJSON.FromJSON DisputeEvidenceCustomerCommunication'Variants where
  parseJSON :: Value -> Parser DisputeEvidenceCustomerCommunication'Variants
parseJSON Value
val = case (Text -> DisputeEvidenceCustomerCommunication'Variants
DisputeEvidenceCustomerCommunication'Text (Text -> DisputeEvidenceCustomerCommunication'Variants)
-> Result Text
-> Result DisputeEvidenceCustomerCommunication'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 DisputeEvidenceCustomerCommunication'Variants
-> Result DisputeEvidenceCustomerCommunication'Variants
-> Result DisputeEvidenceCustomerCommunication'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((File -> DisputeEvidenceCustomerCommunication'Variants
DisputeEvidenceCustomerCommunication'File (File -> DisputeEvidenceCustomerCommunication'Variants)
-> Result File
-> Result DisputeEvidenceCustomerCommunication'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result File
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result DisputeEvidenceCustomerCommunication'Variants
-> Result DisputeEvidenceCustomerCommunication'Variants
-> Result DisputeEvidenceCustomerCommunication'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String -> Result DisputeEvidenceCustomerCommunication'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched") of
    Data.Aeson.Types.Internal.Success DisputeEvidenceCustomerCommunication'Variants
a -> DisputeEvidenceCustomerCommunication'Variants
-> Parser DisputeEvidenceCustomerCommunication'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure DisputeEvidenceCustomerCommunication'Variants
a
    Data.Aeson.Types.Internal.Error String
a -> String -> Parser DisputeEvidenceCustomerCommunication'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a

-- | Defines the oneOf schema located at @components.schemas.dispute_evidence.properties.customer_signature.anyOf@ in the specification.
--
-- (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) A relevant document or contract showing the customer\'s signature.
data DisputeEvidenceCustomerSignature'Variants
  = DisputeEvidenceCustomerSignature'Text Data.Text.Internal.Text
  | DisputeEvidenceCustomerSignature'File File
  deriving (Int -> DisputeEvidenceCustomerSignature'Variants -> ShowS
[DisputeEvidenceCustomerSignature'Variants] -> ShowS
DisputeEvidenceCustomerSignature'Variants -> String
(Int -> DisputeEvidenceCustomerSignature'Variants -> ShowS)
-> (DisputeEvidenceCustomerSignature'Variants -> String)
-> ([DisputeEvidenceCustomerSignature'Variants] -> ShowS)
-> Show DisputeEvidenceCustomerSignature'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DisputeEvidenceCustomerSignature'Variants] -> ShowS
$cshowList :: [DisputeEvidenceCustomerSignature'Variants] -> ShowS
show :: DisputeEvidenceCustomerSignature'Variants -> String
$cshow :: DisputeEvidenceCustomerSignature'Variants -> String
showsPrec :: Int -> DisputeEvidenceCustomerSignature'Variants -> ShowS
$cshowsPrec :: Int -> DisputeEvidenceCustomerSignature'Variants -> ShowS
GHC.Show.Show, DisputeEvidenceCustomerSignature'Variants
-> DisputeEvidenceCustomerSignature'Variants -> Bool
(DisputeEvidenceCustomerSignature'Variants
 -> DisputeEvidenceCustomerSignature'Variants -> Bool)
-> (DisputeEvidenceCustomerSignature'Variants
    -> DisputeEvidenceCustomerSignature'Variants -> Bool)
-> Eq DisputeEvidenceCustomerSignature'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DisputeEvidenceCustomerSignature'Variants
-> DisputeEvidenceCustomerSignature'Variants -> Bool
$c/= :: DisputeEvidenceCustomerSignature'Variants
-> DisputeEvidenceCustomerSignature'Variants -> Bool
== :: DisputeEvidenceCustomerSignature'Variants
-> DisputeEvidenceCustomerSignature'Variants -> Bool
$c== :: DisputeEvidenceCustomerSignature'Variants
-> DisputeEvidenceCustomerSignature'Variants -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON DisputeEvidenceCustomerSignature'Variants where
  toJSON :: DisputeEvidenceCustomerSignature'Variants -> Value
toJSON (DisputeEvidenceCustomerSignature'Text Text
a) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
a
  toJSON (DisputeEvidenceCustomerSignature'File File
a) = File -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON File
a

instance Data.Aeson.Types.FromJSON.FromJSON DisputeEvidenceCustomerSignature'Variants where
  parseJSON :: Value -> Parser DisputeEvidenceCustomerSignature'Variants
parseJSON Value
val = case (Text -> DisputeEvidenceCustomerSignature'Variants
DisputeEvidenceCustomerSignature'Text (Text -> DisputeEvidenceCustomerSignature'Variants)
-> Result Text -> Result DisputeEvidenceCustomerSignature'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 DisputeEvidenceCustomerSignature'Variants
-> Result DisputeEvidenceCustomerSignature'Variants
-> Result DisputeEvidenceCustomerSignature'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((File -> DisputeEvidenceCustomerSignature'Variants
DisputeEvidenceCustomerSignature'File (File -> DisputeEvidenceCustomerSignature'Variants)
-> Result File -> Result DisputeEvidenceCustomerSignature'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result File
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result DisputeEvidenceCustomerSignature'Variants
-> Result DisputeEvidenceCustomerSignature'Variants
-> Result DisputeEvidenceCustomerSignature'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String -> Result DisputeEvidenceCustomerSignature'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched") of
    Data.Aeson.Types.Internal.Success DisputeEvidenceCustomerSignature'Variants
a -> DisputeEvidenceCustomerSignature'Variants
-> Parser DisputeEvidenceCustomerSignature'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure DisputeEvidenceCustomerSignature'Variants
a
    Data.Aeson.Types.Internal.Error String
a -> String -> Parser DisputeEvidenceCustomerSignature'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a

-- | Defines the oneOf schema located at @components.schemas.dispute_evidence.properties.duplicate_charge_documentation.anyOf@ in the specification.
--
-- (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Documentation for the prior charge that can uniquely identify the charge, such as a receipt, shipping label, work order, etc. This document should be paired with a similar document from the disputed payment that proves the two payments are separate.
data DisputeEvidenceDuplicateChargeDocumentation'Variants
  = DisputeEvidenceDuplicateChargeDocumentation'Text Data.Text.Internal.Text
  | DisputeEvidenceDuplicateChargeDocumentation'File File
  deriving (Int
-> DisputeEvidenceDuplicateChargeDocumentation'Variants -> ShowS
[DisputeEvidenceDuplicateChargeDocumentation'Variants] -> ShowS
DisputeEvidenceDuplicateChargeDocumentation'Variants -> String
(Int
 -> DisputeEvidenceDuplicateChargeDocumentation'Variants -> ShowS)
-> (DisputeEvidenceDuplicateChargeDocumentation'Variants -> String)
-> ([DisputeEvidenceDuplicateChargeDocumentation'Variants]
    -> ShowS)
-> Show DisputeEvidenceDuplicateChargeDocumentation'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DisputeEvidenceDuplicateChargeDocumentation'Variants] -> ShowS
$cshowList :: [DisputeEvidenceDuplicateChargeDocumentation'Variants] -> ShowS
show :: DisputeEvidenceDuplicateChargeDocumentation'Variants -> String
$cshow :: DisputeEvidenceDuplicateChargeDocumentation'Variants -> String
showsPrec :: Int
-> DisputeEvidenceDuplicateChargeDocumentation'Variants -> ShowS
$cshowsPrec :: Int
-> DisputeEvidenceDuplicateChargeDocumentation'Variants -> ShowS
GHC.Show.Show, DisputeEvidenceDuplicateChargeDocumentation'Variants
-> DisputeEvidenceDuplicateChargeDocumentation'Variants -> Bool
(DisputeEvidenceDuplicateChargeDocumentation'Variants
 -> DisputeEvidenceDuplicateChargeDocumentation'Variants -> Bool)
-> (DisputeEvidenceDuplicateChargeDocumentation'Variants
    -> DisputeEvidenceDuplicateChargeDocumentation'Variants -> Bool)
-> Eq DisputeEvidenceDuplicateChargeDocumentation'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DisputeEvidenceDuplicateChargeDocumentation'Variants
-> DisputeEvidenceDuplicateChargeDocumentation'Variants -> Bool
$c/= :: DisputeEvidenceDuplicateChargeDocumentation'Variants
-> DisputeEvidenceDuplicateChargeDocumentation'Variants -> Bool
== :: DisputeEvidenceDuplicateChargeDocumentation'Variants
-> DisputeEvidenceDuplicateChargeDocumentation'Variants -> Bool
$c== :: DisputeEvidenceDuplicateChargeDocumentation'Variants
-> DisputeEvidenceDuplicateChargeDocumentation'Variants -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON DisputeEvidenceDuplicateChargeDocumentation'Variants where
  toJSON :: DisputeEvidenceDuplicateChargeDocumentation'Variants -> Value
toJSON (DisputeEvidenceDuplicateChargeDocumentation'Text Text
a) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
a
  toJSON (DisputeEvidenceDuplicateChargeDocumentation'File File
a) = File -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON File
a

instance Data.Aeson.Types.FromJSON.FromJSON DisputeEvidenceDuplicateChargeDocumentation'Variants where
  parseJSON :: Value
-> Parser DisputeEvidenceDuplicateChargeDocumentation'Variants
parseJSON Value
val = case (Text -> DisputeEvidenceDuplicateChargeDocumentation'Variants
DisputeEvidenceDuplicateChargeDocumentation'Text (Text -> DisputeEvidenceDuplicateChargeDocumentation'Variants)
-> Result Text
-> Result DisputeEvidenceDuplicateChargeDocumentation'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 DisputeEvidenceDuplicateChargeDocumentation'Variants
-> Result DisputeEvidenceDuplicateChargeDocumentation'Variants
-> Result DisputeEvidenceDuplicateChargeDocumentation'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((File -> DisputeEvidenceDuplicateChargeDocumentation'Variants
DisputeEvidenceDuplicateChargeDocumentation'File (File -> DisputeEvidenceDuplicateChargeDocumentation'Variants)
-> Result File
-> Result DisputeEvidenceDuplicateChargeDocumentation'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result File
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result DisputeEvidenceDuplicateChargeDocumentation'Variants
-> Result DisputeEvidenceDuplicateChargeDocumentation'Variants
-> Result DisputeEvidenceDuplicateChargeDocumentation'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String
-> Result DisputeEvidenceDuplicateChargeDocumentation'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched") of
    Data.Aeson.Types.Internal.Success DisputeEvidenceDuplicateChargeDocumentation'Variants
a -> DisputeEvidenceDuplicateChargeDocumentation'Variants
-> Parser DisputeEvidenceDuplicateChargeDocumentation'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure DisputeEvidenceDuplicateChargeDocumentation'Variants
a
    Data.Aeson.Types.Internal.Error String
a -> String
-> Parser DisputeEvidenceDuplicateChargeDocumentation'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a

-- | Defines the oneOf schema located at @components.schemas.dispute_evidence.properties.receipt.anyOf@ in the specification.
--
-- (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Any receipt or message sent to the customer notifying them of the charge.
data DisputeEvidenceReceipt'Variants
  = DisputeEvidenceReceipt'Text Data.Text.Internal.Text
  | DisputeEvidenceReceipt'File File
  deriving (Int -> DisputeEvidenceReceipt'Variants -> ShowS
[DisputeEvidenceReceipt'Variants] -> ShowS
DisputeEvidenceReceipt'Variants -> String
(Int -> DisputeEvidenceReceipt'Variants -> ShowS)
-> (DisputeEvidenceReceipt'Variants -> String)
-> ([DisputeEvidenceReceipt'Variants] -> ShowS)
-> Show DisputeEvidenceReceipt'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DisputeEvidenceReceipt'Variants] -> ShowS
$cshowList :: [DisputeEvidenceReceipt'Variants] -> ShowS
show :: DisputeEvidenceReceipt'Variants -> String
$cshow :: DisputeEvidenceReceipt'Variants -> String
showsPrec :: Int -> DisputeEvidenceReceipt'Variants -> ShowS
$cshowsPrec :: Int -> DisputeEvidenceReceipt'Variants -> ShowS
GHC.Show.Show, DisputeEvidenceReceipt'Variants
-> DisputeEvidenceReceipt'Variants -> Bool
(DisputeEvidenceReceipt'Variants
 -> DisputeEvidenceReceipt'Variants -> Bool)
-> (DisputeEvidenceReceipt'Variants
    -> DisputeEvidenceReceipt'Variants -> Bool)
-> Eq DisputeEvidenceReceipt'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DisputeEvidenceReceipt'Variants
-> DisputeEvidenceReceipt'Variants -> Bool
$c/= :: DisputeEvidenceReceipt'Variants
-> DisputeEvidenceReceipt'Variants -> Bool
== :: DisputeEvidenceReceipt'Variants
-> DisputeEvidenceReceipt'Variants -> Bool
$c== :: DisputeEvidenceReceipt'Variants
-> DisputeEvidenceReceipt'Variants -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON DisputeEvidenceReceipt'Variants where
  toJSON :: DisputeEvidenceReceipt'Variants -> Value
toJSON (DisputeEvidenceReceipt'Text Text
a) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
a
  toJSON (DisputeEvidenceReceipt'File File
a) = File -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON File
a

instance Data.Aeson.Types.FromJSON.FromJSON DisputeEvidenceReceipt'Variants where
  parseJSON :: Value -> Parser DisputeEvidenceReceipt'Variants
parseJSON Value
val = case (Text -> DisputeEvidenceReceipt'Variants
DisputeEvidenceReceipt'Text (Text -> DisputeEvidenceReceipt'Variants)
-> Result Text -> Result DisputeEvidenceReceipt'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 DisputeEvidenceReceipt'Variants
-> Result DisputeEvidenceReceipt'Variants
-> Result DisputeEvidenceReceipt'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((File -> DisputeEvidenceReceipt'Variants
DisputeEvidenceReceipt'File (File -> DisputeEvidenceReceipt'Variants)
-> Result File -> Result DisputeEvidenceReceipt'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result File
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result DisputeEvidenceReceipt'Variants
-> Result DisputeEvidenceReceipt'Variants
-> Result DisputeEvidenceReceipt'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String -> Result DisputeEvidenceReceipt'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched") of
    Data.Aeson.Types.Internal.Success DisputeEvidenceReceipt'Variants
a -> DisputeEvidenceReceipt'Variants
-> Parser DisputeEvidenceReceipt'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure DisputeEvidenceReceipt'Variants
a
    Data.Aeson.Types.Internal.Error String
a -> String -> Parser DisputeEvidenceReceipt'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a

-- | Defines the oneOf schema located at @components.schemas.dispute_evidence.properties.refund_policy.anyOf@ in the specification.
--
-- (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Your refund policy, as shown to the customer.
data DisputeEvidenceRefundPolicy'Variants
  = DisputeEvidenceRefundPolicy'Text Data.Text.Internal.Text
  | DisputeEvidenceRefundPolicy'File File
  deriving (Int -> DisputeEvidenceRefundPolicy'Variants -> ShowS
[DisputeEvidenceRefundPolicy'Variants] -> ShowS
DisputeEvidenceRefundPolicy'Variants -> String
(Int -> DisputeEvidenceRefundPolicy'Variants -> ShowS)
-> (DisputeEvidenceRefundPolicy'Variants -> String)
-> ([DisputeEvidenceRefundPolicy'Variants] -> ShowS)
-> Show DisputeEvidenceRefundPolicy'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DisputeEvidenceRefundPolicy'Variants] -> ShowS
$cshowList :: [DisputeEvidenceRefundPolicy'Variants] -> ShowS
show :: DisputeEvidenceRefundPolicy'Variants -> String
$cshow :: DisputeEvidenceRefundPolicy'Variants -> String
showsPrec :: Int -> DisputeEvidenceRefundPolicy'Variants -> ShowS
$cshowsPrec :: Int -> DisputeEvidenceRefundPolicy'Variants -> ShowS
GHC.Show.Show, DisputeEvidenceRefundPolicy'Variants
-> DisputeEvidenceRefundPolicy'Variants -> Bool
(DisputeEvidenceRefundPolicy'Variants
 -> DisputeEvidenceRefundPolicy'Variants -> Bool)
-> (DisputeEvidenceRefundPolicy'Variants
    -> DisputeEvidenceRefundPolicy'Variants -> Bool)
-> Eq DisputeEvidenceRefundPolicy'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DisputeEvidenceRefundPolicy'Variants
-> DisputeEvidenceRefundPolicy'Variants -> Bool
$c/= :: DisputeEvidenceRefundPolicy'Variants
-> DisputeEvidenceRefundPolicy'Variants -> Bool
== :: DisputeEvidenceRefundPolicy'Variants
-> DisputeEvidenceRefundPolicy'Variants -> Bool
$c== :: DisputeEvidenceRefundPolicy'Variants
-> DisputeEvidenceRefundPolicy'Variants -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON DisputeEvidenceRefundPolicy'Variants where
  toJSON :: DisputeEvidenceRefundPolicy'Variants -> Value
toJSON (DisputeEvidenceRefundPolicy'Text Text
a) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
a
  toJSON (DisputeEvidenceRefundPolicy'File File
a) = File -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON File
a

instance Data.Aeson.Types.FromJSON.FromJSON DisputeEvidenceRefundPolicy'Variants where
  parseJSON :: Value -> Parser DisputeEvidenceRefundPolicy'Variants
parseJSON Value
val = case (Text -> DisputeEvidenceRefundPolicy'Variants
DisputeEvidenceRefundPolicy'Text (Text -> DisputeEvidenceRefundPolicy'Variants)
-> Result Text -> Result DisputeEvidenceRefundPolicy'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 DisputeEvidenceRefundPolicy'Variants
-> Result DisputeEvidenceRefundPolicy'Variants
-> Result DisputeEvidenceRefundPolicy'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((File -> DisputeEvidenceRefundPolicy'Variants
DisputeEvidenceRefundPolicy'File (File -> DisputeEvidenceRefundPolicy'Variants)
-> Result File -> Result DisputeEvidenceRefundPolicy'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result File
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result DisputeEvidenceRefundPolicy'Variants
-> Result DisputeEvidenceRefundPolicy'Variants
-> Result DisputeEvidenceRefundPolicy'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String -> Result DisputeEvidenceRefundPolicy'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched") of
    Data.Aeson.Types.Internal.Success DisputeEvidenceRefundPolicy'Variants
a -> DisputeEvidenceRefundPolicy'Variants
-> Parser DisputeEvidenceRefundPolicy'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure DisputeEvidenceRefundPolicy'Variants
a
    Data.Aeson.Types.Internal.Error String
a -> String -> Parser DisputeEvidenceRefundPolicy'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a

-- | Defines the oneOf schema located at @components.schemas.dispute_evidence.properties.service_documentation.anyOf@ in the specification.
--
-- (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Documentation showing proof that a service was provided to the customer. This could include a copy of a signed contract, work order, or other form of written agreement.
data DisputeEvidenceServiceDocumentation'Variants
  = DisputeEvidenceServiceDocumentation'Text Data.Text.Internal.Text
  | DisputeEvidenceServiceDocumentation'File File
  deriving (Int -> DisputeEvidenceServiceDocumentation'Variants -> ShowS
[DisputeEvidenceServiceDocumentation'Variants] -> ShowS
DisputeEvidenceServiceDocumentation'Variants -> String
(Int -> DisputeEvidenceServiceDocumentation'Variants -> ShowS)
-> (DisputeEvidenceServiceDocumentation'Variants -> String)
-> ([DisputeEvidenceServiceDocumentation'Variants] -> ShowS)
-> Show DisputeEvidenceServiceDocumentation'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DisputeEvidenceServiceDocumentation'Variants] -> ShowS
$cshowList :: [DisputeEvidenceServiceDocumentation'Variants] -> ShowS
show :: DisputeEvidenceServiceDocumentation'Variants -> String
$cshow :: DisputeEvidenceServiceDocumentation'Variants -> String
showsPrec :: Int -> DisputeEvidenceServiceDocumentation'Variants -> ShowS
$cshowsPrec :: Int -> DisputeEvidenceServiceDocumentation'Variants -> ShowS
GHC.Show.Show, DisputeEvidenceServiceDocumentation'Variants
-> DisputeEvidenceServiceDocumentation'Variants -> Bool
(DisputeEvidenceServiceDocumentation'Variants
 -> DisputeEvidenceServiceDocumentation'Variants -> Bool)
-> (DisputeEvidenceServiceDocumentation'Variants
    -> DisputeEvidenceServiceDocumentation'Variants -> Bool)
-> Eq DisputeEvidenceServiceDocumentation'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DisputeEvidenceServiceDocumentation'Variants
-> DisputeEvidenceServiceDocumentation'Variants -> Bool
$c/= :: DisputeEvidenceServiceDocumentation'Variants
-> DisputeEvidenceServiceDocumentation'Variants -> Bool
== :: DisputeEvidenceServiceDocumentation'Variants
-> DisputeEvidenceServiceDocumentation'Variants -> Bool
$c== :: DisputeEvidenceServiceDocumentation'Variants
-> DisputeEvidenceServiceDocumentation'Variants -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON DisputeEvidenceServiceDocumentation'Variants where
  toJSON :: DisputeEvidenceServiceDocumentation'Variants -> Value
toJSON (DisputeEvidenceServiceDocumentation'Text Text
a) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
a
  toJSON (DisputeEvidenceServiceDocumentation'File File
a) = File -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON File
a

instance Data.Aeson.Types.FromJSON.FromJSON DisputeEvidenceServiceDocumentation'Variants where
  parseJSON :: Value -> Parser DisputeEvidenceServiceDocumentation'Variants
parseJSON Value
val = case (Text -> DisputeEvidenceServiceDocumentation'Variants
DisputeEvidenceServiceDocumentation'Text (Text -> DisputeEvidenceServiceDocumentation'Variants)
-> Result Text
-> Result DisputeEvidenceServiceDocumentation'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 DisputeEvidenceServiceDocumentation'Variants
-> Result DisputeEvidenceServiceDocumentation'Variants
-> Result DisputeEvidenceServiceDocumentation'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((File -> DisputeEvidenceServiceDocumentation'Variants
DisputeEvidenceServiceDocumentation'File (File -> DisputeEvidenceServiceDocumentation'Variants)
-> Result File
-> Result DisputeEvidenceServiceDocumentation'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result File
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result DisputeEvidenceServiceDocumentation'Variants
-> Result DisputeEvidenceServiceDocumentation'Variants
-> Result DisputeEvidenceServiceDocumentation'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String -> Result DisputeEvidenceServiceDocumentation'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched") of
    Data.Aeson.Types.Internal.Success DisputeEvidenceServiceDocumentation'Variants
a -> DisputeEvidenceServiceDocumentation'Variants
-> Parser DisputeEvidenceServiceDocumentation'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure DisputeEvidenceServiceDocumentation'Variants
a
    Data.Aeson.Types.Internal.Error String
a -> String -> Parser DisputeEvidenceServiceDocumentation'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a

-- | Defines the oneOf schema located at @components.schemas.dispute_evidence.properties.shipping_documentation.anyOf@ in the specification.
--
-- (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Documentation showing proof that a product was shipped to the customer at the same address the customer provided to you. This could include a copy of the shipment receipt, shipping label, etc. It should show the customer\'s full shipping address, if possible.
data DisputeEvidenceShippingDocumentation'Variants
  = DisputeEvidenceShippingDocumentation'Text Data.Text.Internal.Text
  | DisputeEvidenceShippingDocumentation'File File
  deriving (Int -> DisputeEvidenceShippingDocumentation'Variants -> ShowS
[DisputeEvidenceShippingDocumentation'Variants] -> ShowS
DisputeEvidenceShippingDocumentation'Variants -> String
(Int -> DisputeEvidenceShippingDocumentation'Variants -> ShowS)
-> (DisputeEvidenceShippingDocumentation'Variants -> String)
-> ([DisputeEvidenceShippingDocumentation'Variants] -> ShowS)
-> Show DisputeEvidenceShippingDocumentation'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DisputeEvidenceShippingDocumentation'Variants] -> ShowS
$cshowList :: [DisputeEvidenceShippingDocumentation'Variants] -> ShowS
show :: DisputeEvidenceShippingDocumentation'Variants -> String
$cshow :: DisputeEvidenceShippingDocumentation'Variants -> String
showsPrec :: Int -> DisputeEvidenceShippingDocumentation'Variants -> ShowS
$cshowsPrec :: Int -> DisputeEvidenceShippingDocumentation'Variants -> ShowS
GHC.Show.Show, DisputeEvidenceShippingDocumentation'Variants
-> DisputeEvidenceShippingDocumentation'Variants -> Bool
(DisputeEvidenceShippingDocumentation'Variants
 -> DisputeEvidenceShippingDocumentation'Variants -> Bool)
-> (DisputeEvidenceShippingDocumentation'Variants
    -> DisputeEvidenceShippingDocumentation'Variants -> Bool)
-> Eq DisputeEvidenceShippingDocumentation'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DisputeEvidenceShippingDocumentation'Variants
-> DisputeEvidenceShippingDocumentation'Variants -> Bool
$c/= :: DisputeEvidenceShippingDocumentation'Variants
-> DisputeEvidenceShippingDocumentation'Variants -> Bool
== :: DisputeEvidenceShippingDocumentation'Variants
-> DisputeEvidenceShippingDocumentation'Variants -> Bool
$c== :: DisputeEvidenceShippingDocumentation'Variants
-> DisputeEvidenceShippingDocumentation'Variants -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON DisputeEvidenceShippingDocumentation'Variants where
  toJSON :: DisputeEvidenceShippingDocumentation'Variants -> Value
toJSON (DisputeEvidenceShippingDocumentation'Text Text
a) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
a
  toJSON (DisputeEvidenceShippingDocumentation'File File
a) = File -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON File
a

instance Data.Aeson.Types.FromJSON.FromJSON DisputeEvidenceShippingDocumentation'Variants where
  parseJSON :: Value -> Parser DisputeEvidenceShippingDocumentation'Variants
parseJSON Value
val = case (Text -> DisputeEvidenceShippingDocumentation'Variants
DisputeEvidenceShippingDocumentation'Text (Text -> DisputeEvidenceShippingDocumentation'Variants)
-> Result Text
-> Result DisputeEvidenceShippingDocumentation'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 DisputeEvidenceShippingDocumentation'Variants
-> Result DisputeEvidenceShippingDocumentation'Variants
-> Result DisputeEvidenceShippingDocumentation'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((File -> DisputeEvidenceShippingDocumentation'Variants
DisputeEvidenceShippingDocumentation'File (File -> DisputeEvidenceShippingDocumentation'Variants)
-> Result File
-> Result DisputeEvidenceShippingDocumentation'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result File
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result DisputeEvidenceShippingDocumentation'Variants
-> Result DisputeEvidenceShippingDocumentation'Variants
-> Result DisputeEvidenceShippingDocumentation'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String -> Result DisputeEvidenceShippingDocumentation'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched") of
    Data.Aeson.Types.Internal.Success DisputeEvidenceShippingDocumentation'Variants
a -> DisputeEvidenceShippingDocumentation'Variants
-> Parser DisputeEvidenceShippingDocumentation'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure DisputeEvidenceShippingDocumentation'Variants
a
    Data.Aeson.Types.Internal.Error String
a -> String -> Parser DisputeEvidenceShippingDocumentation'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a

-- | Defines the oneOf schema located at @components.schemas.dispute_evidence.properties.uncategorized_file.anyOf@ in the specification.
--
-- (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Any additional evidence or statements.
data DisputeEvidenceUncategorizedFile'Variants
  = DisputeEvidenceUncategorizedFile'Text Data.Text.Internal.Text
  | DisputeEvidenceUncategorizedFile'File File
  deriving (Int -> DisputeEvidenceUncategorizedFile'Variants -> ShowS
[DisputeEvidenceUncategorizedFile'Variants] -> ShowS
DisputeEvidenceUncategorizedFile'Variants -> String
(Int -> DisputeEvidenceUncategorizedFile'Variants -> ShowS)
-> (DisputeEvidenceUncategorizedFile'Variants -> String)
-> ([DisputeEvidenceUncategorizedFile'Variants] -> ShowS)
-> Show DisputeEvidenceUncategorizedFile'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DisputeEvidenceUncategorizedFile'Variants] -> ShowS
$cshowList :: [DisputeEvidenceUncategorizedFile'Variants] -> ShowS
show :: DisputeEvidenceUncategorizedFile'Variants -> String
$cshow :: DisputeEvidenceUncategorizedFile'Variants -> String
showsPrec :: Int -> DisputeEvidenceUncategorizedFile'Variants -> ShowS
$cshowsPrec :: Int -> DisputeEvidenceUncategorizedFile'Variants -> ShowS
GHC.Show.Show, DisputeEvidenceUncategorizedFile'Variants
-> DisputeEvidenceUncategorizedFile'Variants -> Bool
(DisputeEvidenceUncategorizedFile'Variants
 -> DisputeEvidenceUncategorizedFile'Variants -> Bool)
-> (DisputeEvidenceUncategorizedFile'Variants
    -> DisputeEvidenceUncategorizedFile'Variants -> Bool)
-> Eq DisputeEvidenceUncategorizedFile'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DisputeEvidenceUncategorizedFile'Variants
-> DisputeEvidenceUncategorizedFile'Variants -> Bool
$c/= :: DisputeEvidenceUncategorizedFile'Variants
-> DisputeEvidenceUncategorizedFile'Variants -> Bool
== :: DisputeEvidenceUncategorizedFile'Variants
-> DisputeEvidenceUncategorizedFile'Variants -> Bool
$c== :: DisputeEvidenceUncategorizedFile'Variants
-> DisputeEvidenceUncategorizedFile'Variants -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON DisputeEvidenceUncategorizedFile'Variants where
  toJSON :: DisputeEvidenceUncategorizedFile'Variants -> Value
toJSON (DisputeEvidenceUncategorizedFile'Text Text
a) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
a
  toJSON (DisputeEvidenceUncategorizedFile'File File
a) = File -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON File
a

instance Data.Aeson.Types.FromJSON.FromJSON DisputeEvidenceUncategorizedFile'Variants where
  parseJSON :: Value -> Parser DisputeEvidenceUncategorizedFile'Variants
parseJSON Value
val = case (Text -> DisputeEvidenceUncategorizedFile'Variants
DisputeEvidenceUncategorizedFile'Text (Text -> DisputeEvidenceUncategorizedFile'Variants)
-> Result Text -> Result DisputeEvidenceUncategorizedFile'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 DisputeEvidenceUncategorizedFile'Variants
-> Result DisputeEvidenceUncategorizedFile'Variants
-> Result DisputeEvidenceUncategorizedFile'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((File -> DisputeEvidenceUncategorizedFile'Variants
DisputeEvidenceUncategorizedFile'File (File -> DisputeEvidenceUncategorizedFile'Variants)
-> Result File -> Result DisputeEvidenceUncategorizedFile'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result File
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result DisputeEvidenceUncategorizedFile'Variants
-> Result DisputeEvidenceUncategorizedFile'Variants
-> Result DisputeEvidenceUncategorizedFile'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String -> Result DisputeEvidenceUncategorizedFile'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched") of
    Data.Aeson.Types.Internal.Success DisputeEvidenceUncategorizedFile'Variants
a -> DisputeEvidenceUncategorizedFile'Variants
-> Parser DisputeEvidenceUncategorizedFile'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure DisputeEvidenceUncategorizedFile'Variants
a
    Data.Aeson.Types.Internal.Error String
a -> String -> Parser DisputeEvidenceUncategorizedFile'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a