Copyright | (c) David Johnson, 2014 |
---|---|
Maintainer | djohnson.m@gmail.com |
Stability | experimental |
Portability | POSIX |
Safe Haskell | None |
Language | Haskell2010 |
https://stripe.com/docs/api#invoices
import Web.Stripe import Web.Stripe.Customer import Web.Stripe.Invoice import Web.Stripe.InvoiceItem import Web.Stripe.Plan main :: IO () main = do let config = SecretKey "secret_key" result <- stripe config $ do Customer { customerId = cid } <- createEmptyCustomer Plan { } <- createPlan (PlanId "planid") 20 USD Day "testplan" [] InvoiceItem { } <- createInvoiceItem cid 100 USD Nothing Nothing Nothing [] createInvoice cid [] case result of Right invoice -> print invoice Left stripeError -> print stripeError
- createInvoice :: CustomerId -> MetaData -> Stripe Invoice
- getInvoice :: InvoiceId -> Stripe Invoice
- getInvoiceExpandable :: InvoiceId -> ExpandParams -> Stripe Invoice
- getInvoices :: Maybe Limit -> StartingAfter InvoiceItemId -> EndingBefore InvoiceItemId -> Stripe (StripeList Invoice)
- getInvoicesExpandable :: Maybe Limit -> StartingAfter InvoiceItemId -> EndingBefore InvoiceItemId -> ExpandParams -> Stripe (StripeList Invoice)
- getInvoiceLineItems :: InvoiceId -> Limit -> StartingAfter InvoiceLineItemId -> EndingBefore InvoiceLineItemId -> Stripe (StripeList InvoiceLineItem)
- getUpcomingInvoice :: CustomerId -> Stripe Invoice
- getUpcomingInvoices :: CustomerId -> Stripe (StripeList Invoice)
- updateInvoice :: InvoiceId -> MetaData -> Stripe Invoice
- payInvoice :: InvoiceId -> Stripe Invoice
- data Invoice = Invoice {
- invoiceDate :: UTCTime
- invoiceId :: Maybe InvoiceId
- invoicePeriodStart :: UTCTime
- invoicePeriodEnd :: UTCTime
- invoiceLineItems :: StripeList InvoiceLineItem
- invoiceSubTotal :: Int
- invoiceTotal :: Int
- invoiceCustomer :: CustomerId
- invoiceObject :: Text
- invoiceAttempted :: Bool
- invoiceClosed :: Bool
- invoiceForgiven :: Bool
- invoicePaid :: Bool
- invoiceLiveMode :: Bool
- invoiceAttemptCount :: Int
- invoiceAmountDue :: Int
- invoiceCurrency :: Currency
- invoiceStartingBalance :: Int
- invoiceEndingBalance :: Maybe Int
- invoiceNextPaymentAttempt :: Maybe UTCTime
- invoiceWebHooksDeliveredAt :: Maybe UTCTime
- invoiceCharge :: Maybe ChargeId
- invoiceDiscount :: Maybe Discount
- invoiceApplicateFee :: Maybe FeeId
- invoiceSubscription :: Maybe SubscriptionId
- invoiceStatementDescription :: Maybe Description
- invoiceDescription :: Maybe Description
- invoiceMetaData :: MetaData
- data InvoiceId
- data InvoiceLineItem = InvoiceLineItem {
- invoiceLineItemId :: InvoiceLineItemId
- invoiceLineItemObject :: Text
- invoiceLineItemType :: InvoiceLineItemType
- invoiceLineItemLiveMode :: Bool
- invoiceLineItemAmount :: Int
- invoiceLineItemCurrency :: Currency
- invoiceLineItemProration :: Bool
- invoiceLineItemPeriod :: Period
- invoiceLineItemQuantity :: Maybe Quantity
- invoiceLineItemPlan :: Maybe Plan
- invoiceLineItemDescription :: Maybe Description
- invoiceLineItemMetaData :: MetaData
- newtype InvoiceLineItemId = InvoiceLineItemId Text
- data InvoiceLineItemType
- data Discount = Discount {}
- data Period = Period {}
API
:: CustomerId |
|
-> MetaData | |
-> Stripe Invoice |
:: InvoiceId | |
-> ExpandParams |
|
-> Stripe Invoice |
Retrieve an Invoice
by InvoiceId
with ExpandParams
:: Maybe Limit | Defaults to 10 if |
-> StartingAfter InvoiceItemId | Paginate starting after the following |
-> EndingBefore InvoiceItemId | Paginate ending before the following |
-> Stripe (StripeList Invoice) |
Retrieve a StripeList
of Invoice
s
:: Maybe Limit | Defaults to 10 if |
-> StartingAfter InvoiceItemId | Paginate starting after the following |
-> EndingBefore InvoiceItemId | Paginate ending before the following |
-> ExpandParams |
|
-> Stripe (StripeList Invoice) |
Retrieve a StripeList
of Invoice
s with ExpandParams
:: InvoiceId | |
-> Limit | Defaults to 10 if |
-> StartingAfter InvoiceLineItemId | Paginate starting after the following |
-> EndingBefore InvoiceLineItemId | Paginate ending before the following |
-> Stripe (StripeList InvoiceLineItem) |
:: CustomerId | |
-> Stripe Invoice |
Retrieve an upcoming Invoice
for a Customer
by CustomerId
:: CustomerId | |
-> Stripe (StripeList Invoice) |
Retrieve a StripeList
of Invoice
s
Types
Invoice
Object
data InvoiceLineItem Source
InvoiceLineItem
Object
Eq InvoiceLineItem | |
Show InvoiceLineItem | |
FromJSON InvoiceLineItem | JSON Instance for |
newtype InvoiceLineItemId Source
InvoiceLineItemId
for an InvoiceLineItem
data InvoiceLineItemType Source
Type of InvoiceItem
Eq InvoiceLineItemType | |
Show InvoiceLineItemType | |
FromJSON InvoiceLineItemType | JSON Instance for |