{-# LANGUAGE OverloadedStrings #-}
module Mollie.API.Issuers
( issuersPath
, getIssuer
, getIssuers
-- Re-export relevant types
, PaymentMethod (..)
, Issuer (..)
, ListLinks (..)
, List (..)
, ResponseError (..)
) where
import Data.Monoid
import qualified Data.Text as Text
import Mollie.API.Internal
import Mollie.API.Types
{-|
Issuer resource's path, relative to API's versioned url.
-}
issuersPath :: Text.Text
issuersPath = "issuers"
{-|
Handler to get an issuer by its identifier.
For more information see: https://www.mollie.com/en/docs/reference/issuers/get.
-}
getIssuer :: Text.Text -- ^ issuerId
-> Mollie (Either ResponseError Issuer)
getIssuer issuerId = get path
where
path = (Text.intercalate "/" [issuersPath, issuerId])
{-|
Handler to get a list of issuers. Because the list endpoint is paginated this handler requires an offset and a count. The maximum amount of payment methods returned with a single call is 250.
For more information see: https://www.mollie.com/en/docs/reference/issuers/list.
-}
getIssuers :: Int -- ^ offset
-> Int -- ^ count
-> Mollie (Either ResponseError (List Issuer))
getIssuers offset count = get path
where
path = issuersPath <> query
query = "?offset=" <> showT offset <> "&count=" <> showT count