stripe-core-2.0.0: src/Web/Stripe/ApplicationFee.hs
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TypeFamilies #-}
-------------------------------------------
-- |
-- Module : Web.Stripe.AppplicationFee
-- Copyright : (c) David Johnson, 2014
-- Maintainer : djohnson.m@gmail.com
-- Stability : experimental
-- Portability : POSIX
--
-- < https:/\/\stripe.com/docs/api#application_fees >
--
-- @
-- {-\# LANGUAGE OverloadedStrings \#-}
-- import Web.Stripe
-- import Web.Stripe.ApplicationFee
--
-- main :: IO ()
-- main = do
-- let config = StripeConfig (StripeKey "secret_key")
-- result <- stripe config $ getApplicationFee (FeeId "fee_4xtEGZhPNDEt3w")
-- case result of
-- Right applicationFee -> print applicationFee
-- Left stripeError -> print stripeError
-- @
module Web.Stripe.ApplicationFee
( -- * API
GetApplicationFee
, getApplicationFee
, GetApplicationFees
, getApplicationFees
-- * Types
, ApplicationId (..)
, ApplicationFee (..)
, ApplicationFeeId (..)
, ChargeId (..)
, ConnectApp (..)
, Created (..)
, EndingBefore (..)
, FeeId (..)
, Limit (..)
, StartingAfter (..)
, StripeList (..)
, ExpandParams (..)
) where
import Web.Stripe.StripeRequest (Method (GET), StripeHasParam,
StripeRequest (..), StripeReturn,
mkStripeRequest)
import Web.Stripe.Util ((</>))
import Web.Stripe.Types (ApplicationFee (..),
ApplicationFeeId (..),
ApplicationId (..), ChargeId(..),
ConnectApp (..), Created(..),
EndingBefore(..), ExpandParams(..),
FeeId (..), Limit(..),
StartingAfter(..), ExpandParams(..),
StripeList (..))
------------------------------------------------------------------------------
-- | 'ApplicationFee' retrieval
getApplicationFee
:: FeeId -- ^ The `FeeId` associated with the Application
-> StripeRequest GetApplicationFee
getApplicationFee
(FeeId feeid) = request
where request = mkStripeRequest GET url params
url = "application_fees" </> feeid
params = []
data GetApplicationFee
type instance StripeReturn GetApplicationFee = ApplicationFee
instance StripeHasParam GetApplicationFee ExpandParams
------------------------------------------------------------------------------
-- | 'ApplicationFee's retrieval
getApplicationFees
:: StripeRequest GetApplicationFees
getApplicationFees
= request
where request = mkStripeRequest GET url params
url = "application_fees"
params = []
data GetApplicationFees
type instance StripeReturn GetApplicationFees = (StripeList ApplicationFee)
instance StripeHasParam GetApplicationFees ExpandParams
instance StripeHasParam GetApplicationFees ChargeId
instance StripeHasParam GetApplicationFees Created
instance StripeHasParam GetApplicationFees (EndingBefore ApplicationFeeId)
instance StripeHasParam GetApplicationFees Limit
instance StripeHasParam GetApplicationFees (StartingAfter ApplicationFeeId)