mollie-api-haskell-2.0.0.0: src/Mollie/API/Chargebacks.hs
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE FunctionalDependencies #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeOperators #-}
module Mollie.API.Chargebacks
( ChargebackAPI
, getChargebacks
, getChargebacksPaginated
, getChargeback
) where
import GHC.Generics (Generic)
import Mollie.API.Internal (HalJSON)
import Mollie.API.Types
import Servant.API
import Servant.API.Generic
data ChargebackAPI route = ChargebackAPI
{ getChargebacksPaginated :: route :- "chargebacks"
:> QueryParam "limit" Int
:> QueryParam "from" ChargebackId
:> Get '[HalJSON] (List Chargeback)
-- ^Handler to get a paginated list of chargebacks. Offset the results by passing the last chargeback ID in the `from` query param. The chargeback with this ID is included in the result set as well. See https://docs.mollie.com/reference/v2/chargebacks-api/list-chargebacks
--
-- Example for fetching the last chargeback:
--
-- @
-- import Mollie.API
-- import Mollie.API.Chargebacks
--
-- env <- createEnv "test_mollieapikeyexample"
-- let chargebacksResult = runMollie env (getChargebacksPaginated chargebackClient (Just 1) Nothing)
-- @
, getChargebacks :: route :- "chargebacks"
:> Get '[HalJSON] (List Chargeback)
-- ^Handler to get a paginated list of chargebacks. Applies default pagination for newest 250 chargebacks. See https://docs.mollie.com/reference/v2/chargebacks-api/list-chargebacks
, getChargeback :: route :- "payments"
:> Capture "paymentId" PaymentId
:> "chargebacks"
:> Capture "id" ChargebackId
:> Get '[HalJSON] Chargeback
-- ^Handler to get a specific chargeback for a specific payment. See https://docs.mollie.com/reference/v2/chargebacks-api/get-chargeback
} deriving Generic