module Web.Stripe.Balance
(
getBalance
, getBalanceTransaction
, getBalanceTransactionExpandable
, getBalanceTransactionHistory
, Balance (..)
, TransactionId (..)
, StripeList (..)
, EndingBefore
, StartingAfter
, Limit
, BalanceTransaction
, BalanceAmount
) where
import Web.Stripe.Client.Internal (Method (GET), Stripe,
StripeRequest (..), callAPI,
getParams, toExpandable, toText,
(</>))
import Web.Stripe.Types (Balance (..), BalanceAmount,
BalanceTransaction, EndingBefore,
ExpandParams, Limit, StartingAfter,
StripeList (..),
TransactionId (..))
import Web.Stripe.Types.Util (getTransactionId)
getBalance :: Stripe Balance
getBalance = callAPI request
where request = StripeRequest GET url params
url = "balance"
params = []
getBalanceTransaction
:: TransactionId
-> Stripe BalanceTransaction
getBalanceTransaction
transactionid = getBalanceTransactionExpandable transactionid []
getBalanceTransactionExpandable
:: TransactionId
-> ExpandParams
-> Stripe BalanceTransaction
getBalanceTransactionExpandable
transactionid expandParams = callAPI request
where request = StripeRequest GET url params
url = "balance" </> "history" </> getTransactionId transactionid
params = toExpandable expandParams
getBalanceTransactionHistory
:: Limit
-> StartingAfter TransactionId
-> EndingBefore TransactionId
-> Stripe (StripeList BalanceTransaction)
getBalanceTransactionHistory
limit
startingAfter
endingBefore = callAPI request
where request = StripeRequest GET url params
url = "balance" </> "history"
params = getParams [
("limit", toText `fmap` limit )
, ("starting_after", (\(TransactionId x) -> x) `fmap` startingAfter)
, ("ending_before", (\(TransactionId x) -> x) `fmap` endingBefore)
]