packages feed

stripe-0.3.0.1: README.mkd

This is an unofficial Haskell implementation of the [Stripe API][sapi].

**Note** that this has worked in my tests, but I have not used it in production
yet. Try it thoroughly and let me know if you
[find any bugs](https://github.com/michaelschade/hs-stripe/issues) or
[have any improvements](http://help.github.com/send-pull-requests/).

Installation
============

Installation is simple. If you have [cabal](http://www.haskell.org/cabal/)
installed, just run:

    cabal install stripe

and you'll be on your way!

Example Usage
=============

```haskell
{-# LANGUAGE OverloadedStrings #-}

import Web.Stripe.Charge  ( Charge(..), Amount(..), Count(..), Currency(..)
                          , Offset(..), getCharges
                          )
import Web.Stripe.Client  ( APIKey(..), StripeConfig, defaultConfig, runStripeT )

-- The secret key below is used on the live Stripe API documentation. In
-- practice, you should always store your secret key securely.
conf :: StripeConfig
conf  = defaultConfig $ APIKey "sk_test_mkGsLqEW6SLnZa487HYfJVLf"

main :: IO ()
main  = do
    amounts <- runStripeT conf $ do
        charges <- getCharges Nothing (Just $ Count 5) (Just $ Offset 1)
        return   $ map getAmt charges
    either err (putStrLn . show) amounts
    where
        getAmt c = (unAmount $ chargeAmount c, unCurrency $ chargeCurrency c)
        err _    = putStrLn "Uh-oh! It didn't work :-("
```

Which produces the output along the lines of:
`[(842,"usd"),(2048,"usd"),(1010,"usd"),(4096,"usd"),(4200,"usd")]`.

Limitations
===========

* This package currently does not implement Stripe invoices.

Help
====

First, consult the Haddock and [Stripe API][sapi] docs to be certain you're
using the API correctly. It's a good idea to
[try another library](https://stripe.com/docs/libraries) first to see if it
works there. If you think you might be misunderstanding the API, or having an
issue with Stripe itself, it's best to
[contact them](https://stripe.com/help/contact).

If all of that fails, or if you otherwise think it's an issue with this
implementation of the API, please submit an issue here. Better yet, submit
a pull request with a proposed solution!

Contributors
============

* [Michael Schade](https://twitter.com/sch)
* [Luke Hoersten](https://twitter.com/LukeHoersten)
* [Max Cantor](https://twitter.com/maxcan)

License
=======

We like the MIT license. See `LICENSE`.

[sapi]: https://stripe.com/docs/api "Stripe API"